]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
mangle.c (write_type): Add target-specific manglings for non-fundamental types to...
authorMark Mitchell <mark@codesourcery.com>
Fri, 29 Aug 2008 22:19:24 +0000 (22:19 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Fri, 29 Aug 2008 22:19:24 +0000 (22:19 +0000)
* mangle.c (write_type): Add target-specific manglings for
non-fundamental types to the substitution table.

* g++.dg/abi/mangle-neon.C: Add substitution test.

From-SVN: r139791

gcc/cp/ChangeLog
gcc/cp/mangle.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/mangle-neon.C

index 00202745f381dd3dff075630916b8e4011c39c1b..4318d60a788090f9c14aba35e49a65c095784082 100644 (file)
@@ -1,3 +1,9 @@
+2008-08-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * mangle.c (write_type): Add target-specific manglings for
+       non-fundamental types to the substitution table.
+       gcc/testsuite/
+
 2008-08-29  Jakub Jelinek  <jakub@redhat.com>
 
        PR fortran/29635
index 0703d0a96f7ca4bf71565061adc2d5d3d4893349..dea92b9c9ea4c8ec671743b331e97a93ea9a81ce 100644 (file)
@@ -1549,6 +1549,13 @@ write_type (tree type)
          if (target_mangling)
            {
              write_string (target_mangling);
+             /* Add substitutions for types other than fundamental
+                types.  */
+             if (TREE_CODE (type) != VOID_TYPE
+                 && TREE_CODE (type) != INTEGER_TYPE
+                 && TREE_CODE (type) != REAL_TYPE
+                 && TREE_CODE (type) != BOOLEAN_TYPE)
+               add_substitution (type);
              return;
            }
 
index 7cae5e979d26c1b1aa413c8667d8b695e269d88c..41185be0180cf13fbeae1285e38c58d891ae73a7 100644 (file)
@@ -1,3 +1,7 @@
+2008-08-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * g++.dg/abi/mangle-neon.C: Add substitution test.
+
 2008-08-29  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/37261
index 9f88f8baba389ee6783331473758c17633a301cc..a3fa65c104ff48f602a8cc06cf378de7c2e666c9 100644 (file)
@@ -26,6 +26,8 @@ void f15 (float32x4_t a) {}
 void f16 (poly8x16_t a) {}
 void f17 (poly16x8_t a) {}
 
+void f18 (int8x16_t, int8x16_t) {}
+
 // { dg-final { scan-assembler "_Z2f015__simd64_int8_t:" } }
 // { dg-final { scan-assembler "_Z2f116__simd64_int16_t:" } }
 // { dg-final { scan-assembler "_Z2f216__simd64_int32_t:" } }
@@ -44,4 +46,4 @@ void f17 (poly16x8_t a) {}
 // { dg-final { scan-assembler "_Z3f1519__simd128_float32_t:" } }
 // { dg-final { scan-assembler "_Z3f1617__simd128_poly8_t:" } }
 // { dg-final { scan-assembler "_Z3f1718__simd128_poly16_t:" } }
-
+// { dg-final { scan-assembler "_Z3f1816__simd128_int8_tS_:" } }