]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
method.c (is_back_referenceable_type): Back-reference bools when not squangling.
authorMark Mitchell <mmitchel@gcc.gnu.org>
Sun, 6 Jun 1999 11:06:53 +0000 (11:06 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sun, 6 Jun 1999 11:06:53 +0000 (11:06 +0000)
* method.c (is_back_referenceable_type): Back-reference bools when
not squangling.

[[Split portion of a mixed commit.]]

From-SVN: r27382.2

gcc/cp/method.c
gcc/testsuite/g++.old-deja/g++.other/mangle1.C

index 873ccd411d28d653695f2895cbc12cfa92384400..cf030137056d56acca8cb870c5b513da5e37cd8c 100644 (file)
@@ -372,10 +372,16 @@ is_back_referenceable_type (type)
 
   switch (TREE_CODE (type)) 
     {
+    case BOOLEAN_TYPE:
+      if (!flag_do_squangling)
+       /* Even though the mangling of this is just `b', we did
+          historically generate back-references for it.  */
+       return 1;
+      /* Fall through.  */
+      
     case INTEGER_TYPE:
     case REAL_TYPE:
     case VOID_TYPE:
-    case BOOLEAN_TYPE:
       /* These types have single-character manglings, so there's no
         point in generating back-references.  */
       return 0;         
index 0ffc5d1a2629c9d653a7d46eb1ec41d1321b03d5..d5b36a7b0cc82fbf2318a995033d22c0409e7482 100644 (file)
@@ -40,3 +40,6 @@ int f__FRC1AiT0N20RiN25 = 0; // ERROR - name clash
 void f(const A2&, int, const A2&, const A2&, const A2&, int, int,
        int) { } // ERROR - name clash
 int f__FRC1AiT0N20iii = 0; // ERROR - name clash
+
+void f(bool, bool) {} // ERROR - name clash
+int f__FbT0 = 0; // ERROR - name clash