aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.ibm.com>2018-10-23 21:59:51 +0000
committerMichael Meissner <meissner@linux.ibm.com>2018-10-23 21:59:51 +0000
commit11784be231f16f3d017a8e69ed89501d927d1c0e (patch)
treec1b8d0d743467ef8792dd9387d53773e582e83b3
parent7703564f11636849473287d2f8529d958108e0c2 (diff)
Segher changesibm/ieee
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/ieee@265443 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.meissner5
-rw-r--r--gcc/config/rs6000/rs6000.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index a62aa43fa21..95be06dece2 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,5 +1,10 @@
2018-10-23 Michael Meissner <meissner@linux.ibm.com>
+ * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name):
+ Segher changes.
+
+2018-10-23 Michael Meissner <meissner@linux.ibm.com>
+
* config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Only
change the name if the long double default changed.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 01da3db0b30..a5da539ce18 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -38986,14 +38986,14 @@ rs6000_mangle_decl_assembler_name (tree decl, tree id)
size_t len = IDENTIFIER_LENGTH (id);
const char *name = IDENTIFIER_POINTER (id);
- if (name[len-1] == 'l')
+ if (name[len - 1] == 'l')
{
bool has_long_double_p = false;
tree type = TREE_TYPE (decl);
machine_mode ret_mode = TYPE_MODE (type);
- /* See if the function returns long double or long double
- complex. */
+ /* See if the function returns a IEEE 128-bit floating point type or
+ complex type. */
if (ret_mode == TFmode || ret_mode == TCmode)
has_long_double_p = true;
else
@@ -39001,8 +39001,8 @@ rs6000_mangle_decl_assembler_name (tree decl, tree id)
function_args_iterator args_iter;
tree arg;
- /* See if we have a long double or long double complex
- argument. */
+ /* See if the function passes a IEEE 128-bit floating point type
+ or complex type. */
FOREACH_FUNCTION_ARGS (type, arg, args_iter)
{
machine_mode arg_mode = TYPE_MODE (arg);
@@ -39018,7 +39018,7 @@ rs6000_mangle_decl_assembler_name (tree decl, tree id)
if (has_long_double_p)
{
char *name2 = (char *) alloca (len + 4);
- memcpy (name2, name, len-1);
+ memcpy (name2, name, len - 1);
strcpy (name2 + len - 1, "f128");
id = get_identifier (name2);
}