OSDN Git Service

* mangle.c (write_type): Add target-specific manglings for
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Aug 2008 22:19:24 +0000 (22:19 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Aug 2008 22:19:24 +0000 (22:19 +0000)
non-fundamental types to the substitution table.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139791 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 0020274..4318d60 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 0703d0a..dea92b9 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 7cae5e9..41185be 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 9f88f8b..a3fa65c 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_:" } }