mangle.c (write_builtin_type): Handle 128-bit integers even if they are not a standar...
authorRichard Sandiford <rsandifo@redhat.com>
Wed, 13 Mar 2002 17:18:16 +0000 (17:18 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 13 Mar 2002 17:18:16 +0000 (17:18 +0000)
* mangle.c (write_builtin_type): Handle 128-bit integers even if
they are not a standard integer type.

From-SVN: r50743

gcc/cp/ChangeLog
gcc/cp/mangle.c

index a6617a21e2cc7597e48c828b9a833945c154401a..b97a1a443109aa947a3a212a0b4b2b8c58f5c94b 100644 (file)
@@ -1,3 +1,8 @@
+2002-03-12  Richard Sandiford  <rsandifo@redhat.com>
+
+       * mangle.c (write_builtin_type): Handle 128-bit integers even if
+       they are not a standard integer type.
+
 2002-03-12  Richard Sandiford  <rsandifo@redhat.com>
 
        * cp-tree.h (init_init_processing): Remove declaration.
index 360e1fc759db456c941453b1588e2ed98aff626f..239714d77d15397a6aac808049ea6a5a55f0fee6 100644 (file)
@@ -1506,8 +1506,8 @@ write_CV_qualifiers_for_type (type)
                     ::= m   # unsigned long
                     ::= x   # long long, __int64
                     ::= y   # unsigned long long, __int64  
-                    ::= n   # __int128            [not supported]
-                    ::= o   # unsigned __int128   [not supported] 
+                    ::= n   # __int128
+                    ::= o   # unsigned __int128
                     ::= f   # float
                     ::= d   # double
                     ::= e   # long double, __float80 
@@ -1552,13 +1552,18 @@ write_builtin_type (type)
                write_char (integer_type_codes[itk]);
                break;
              }
-         
+
          if (itk == itk_none)
            {
              tree t = type_for_mode (TYPE_MODE (type), TREE_UNSIGNED (type));
              if (type == t)
-               /* Couldn't find this type.  */
-               abort ();
+               {
+                 if (TYPE_PRECISION (type) == 128)
+                   write_char (TREE_UNSIGNED (type) ? 'o' : 'n');
+                 else
+                   /* Couldn't find this type.  */
+                   abort ();
+               }
              type = t;
              goto iagain;
            }