diff options
author | jules <jules@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-25 15:43:04 +0000 |
---|---|---|
committer | jules <jules@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-25 15:43:04 +0000 |
commit | eddcdde1c8527beb465e468f37673a0c358d5018 (patch) | |
tree | 0134a32da12d27e340838fbc13221a2c4fe20a54 /gcc/config/ia64 | |
parent | 53974ec6f7a3c2ac1afe37e853d0fde4e168da69 (diff) | |
download | gcc-eddcdde1c8527beb465e468f37673a0c358d5018.tar.gz |
gcc/
* config/alpha/alpha.c (alpha_mangle_fundamental_type): Rename to...
(alpha_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/arm/arm-protos.h (arm_mangle_type): Add prototype.
* config/arm/arm.c (TARGET_MANGLE_TYPE): Define target hook.
(arm_init_neon_builtins): Fix comment.
(arm_mangle_map_entry): New.
(arm_mangle_map): New.
(arm_mangle_type): New.
* config/i386/i386.c (ix86_mangle_fundamental_type): Rename to...
(ix86_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/ia64/ia64.c (ia64_mangle_fundamental_type): Rename to...
(ia64_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Rename
to...
(rs6000_mangle_type): This. Use TYPE_MAIN_VARIANT.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/s390/s390.c (s390_mangle_fundamental_type): Rename to...
(s390_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/sparc/sparc.c (sparc_mangle_fundamental_type): Rename to...
(sparc_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* cp/mangle.c (write_type): Call mangle_type target hook on all
types before mangling. Use original type, not main variant, as
argument.
* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename hook to...
(TARGET_MANGLE_TYPE): This.
* target.h (gcc_target): Rename mangle_fundamental_type to
mangle_type.
* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename section to...
(TARGET_MANGLE_TYPE): This. Note slightly different semantics.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126917 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64')
-rw-r--r-- | gcc/config/ia64/ia64.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 9a5bcd95ea9..a07374b1fa9 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -279,7 +279,7 @@ static tree ia64_gimplify_va_arg (tree, tree, tree *, tree *); static bool ia64_scalar_mode_supported_p (enum machine_mode mode); static bool ia64_vector_mode_supported_p (enum machine_mode mode); static bool ia64_cannot_force_const_mem (rtx); -static const char *ia64_mangle_fundamental_type (tree); +static const char *ia64_mangle_type (tree); static const char *ia64_invalid_conversion (tree, tree); static const char *ia64_invalid_unary_op (int, tree); static const char *ia64_invalid_binary_op (int, tree, tree); @@ -476,8 +476,8 @@ static const struct attribute_spec ia64_attribute_table[] = #undef TARGET_CANNOT_FORCE_CONST_MEM #define TARGET_CANNOT_FORCE_CONST_MEM ia64_cannot_force_const_mem -#undef TARGET_MANGLE_FUNDAMENTAL_TYPE -#define TARGET_MANGLE_FUNDAMENTAL_TYPE ia64_mangle_fundamental_type +#undef TARGET_MANGLE_TYPE +#define TARGET_MANGLE_TYPE ia64_mangle_type #undef TARGET_INVALID_CONVERSION #define TARGET_INVALID_CONVERSION ia64_invalid_conversion @@ -9739,8 +9739,14 @@ ia64_profile_hook (int labelno) /* Return the mangling of TYPE if it is an extended fundamental type. */ static const char * -ia64_mangle_fundamental_type (tree type) +ia64_mangle_type (tree type) { + type = TYPE_MAIN_VARIANT (type); + + if (TREE_CODE (type) != VOID_TYPE && TREE_CODE (type) != BOOLEAN_TYPE + && TREE_CODE (type) != INTEGER_TYPE && TREE_CODE (type) != REAL_TYPE) + return NULL; + /* On HP-UX, "long double" is mangled as "e" so __float128 is mangled as "e". */ if (!TARGET_HPUX && TYPE_MODE (type) == TFmode) |