aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/mangle.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2008-08-29 22:19:24 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2008-08-29 22:19:24 +0000
commit3852d2bef61369090fbf7cdab2980b36e281f2b8 (patch)
tree6a9ef8288afb39bb82c46f49130ebd160ae316d0 /gcc/cp/mangle.c
parente71197053782c0b874871d546f82ce91e0ca981b (diff)
downloadgcc-3852d2bef61369090fbf7cdab2980b36e281f2b8.zip
gcc-3852d2bef61369090fbf7cdab2980b36e281f2b8.tar.gz
gcc-3852d2bef61369090fbf7cdab2980b36e281f2b8.tar.bz2
mangle.c (write_type): Add target-specific manglings for non-fundamental types to the substitution table.
* 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
Diffstat (limited to 'gcc/cp/mangle.c')
-rw-r--r--gcc/cp/mangle.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 0703d0a..dea92b9 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -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;
}