diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a560131e2a63f8360dc38661ce7ece842cced050..55a77b43d4f8b9cd9eeefa2a83c3cdbc6daead4b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2006-09-22  Mike Stump  <mrs@apple.com>
+
+	* obj-c++.dg/encode-3.mm: Fix for 64-bit support.
+
 2006-09-22  Zdenek Dvorak <dvorakz@suse.cz>
 
 	PR tree-optimization/28888
diff --git a/gcc/testsuite/obj-c++.dg/encode-3.mm b/gcc/testsuite/obj-c++.dg/encode-3.mm
index c67a972ddceea0c0f3a30731d5b2bdc760848a83..842a0bf37e588fb0d4a89b34579a09e79e24bc4d 100644
--- a/gcc/testsuite/obj-c++.dg/encode-3.mm
+++ b/gcc/testsuite/obj-c++.dg/encode-3.mm
@@ -14,16 +14,22 @@ Vec<double> dd;
 const char *enc = @encode(Vec<float>);
 const char *enc2 = @encode(Vec<double>);
 
+#ifdef __LP64__
+#define L "q"
+#else
+#define L "l"
+#endif
+
 int main(void) {
-  char *encode = @encode(long);
+  const char *encode = @encode(long);
 
-  if (strcmp (encode, "l"))
+  if (strcmp (encode, L))
     abort();
 
-  if (strcmp (enc, "{Vec<float>=fflq}"))
+  if (strcmp (enc, "{Vec<float>=ff" L "q}"))
     abort();
 
-  if (strcmp (enc2, "{Vec<double>=ddlq}"))
+  if (strcmp (enc2, "{Vec<double>=dd" L "q}"))
     abort();
 
   return 0;