Commit 337bde91 by David Edelsohn Committed by David Edelsohn

rs6000.c (rs6000_mangle_fundamental_type): Mangle IBM extended float format long…

rs6000.c (rs6000_mangle_fundamental_type): Mangle IBM extended float format long double as "g" on powerpc*-linux.

        * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
        IBM extended float format long double as "g" on powerpc*-linux.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r110589
parent eef5c0ca
2006-02-04 David Edelsohn <edelsohn@gnu.org>
Jakub Jelinek <jakub@redhat.com>
* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
IBM extended float format long double as "g" on powerpc*-linux.
2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/25926 PR target/25926
......
/* Subroutines used for code generation on IBM RS/6000. /* Subroutines used for code generation on IBM RS/6000.
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Inc. Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC. This file is part of GCC.
...@@ -17410,6 +17410,14 @@ rs6000_mangle_fundamental_type (tree type) ...@@ -17410,6 +17410,14 @@ rs6000_mangle_fundamental_type (tree type)
if (type == pixel_type_node) return "u7__pixel"; if (type == pixel_type_node) return "u7__pixel";
if (type == bool_int_type_node) return "U6__booli"; if (type == bool_int_type_node) return "U6__booli";
/* Mangle IBM extended float long double as `g' (__float128) on
powerpc*-linux where long-double-64 previously was the default. */
if (TYPE_MAIN_VARIANT (type) == long_double_type_node
&& TARGET_ELF
&& TARGET_LONG_DOUBLE_128
&& !TARGET_IEEEQUAD)
return "g";
/* For all other types, use normal C++ mangling. */ /* For all other types, use normal C++ mangling. */
return NULL; return NULL;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment