diff options
author | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-19 19:10:03 +0000 |
---|---|---|
committer | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-19 19:10:03 +0000 |
commit | 4df09c64219da093dcf4ac0459a2732f7f510393 (patch) | |
tree | b1169cdb2e369d59a4fdc2661831f4a810066dbe /libobjc | |
parent | aed2dee8de2adc0ba5edc46b369c234b88ea688e (diff) | |
download | gcc-4df09c64219da093dcf4ac0459a2732f7f510393.tar.gz |
[gcc]
2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com>
Dominique Dhumieres <dominiq@lps.ens.fr>
* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
OPTION_MASK_STRICT_ALIGN is defined.
(MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined,
define this to 0 for the 3 ports that use it.
* config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
check for ports not having -mstrict-align here, move test to
rs6000-cpus.def.
(MASK_STRICT_ALIGN): Likewise.
(rs6000_debug_reg_global): Print out correct target flag words if
-mdebug=reg.
[libobjc]
2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com>
* encoding.c (TARGET_VSX): Provide definitions based on the
current compilation options, and not based off the target options
structure.
(TARGET_ALTIVEC): Likewise.
(TARGET_64BIT): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192623 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r-- | libobjc/ChangeLog | 8 | ||||
-rw-r--r-- | libobjc/encoding.c | 26 |
2 files changed, 34 insertions, 0 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 9bccceaab89..53ceee35fcc 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,11 @@ +2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com> + + * encoding.c (TARGET_VSX): Provide definitions based on the + current compilation options, and not based off the target options + structure. + (TARGET_ALTIVEC): Likewise. + (TARGET_64BIT): Likewise. + 2012-09-14 David Edelsohn <dje.gcc@gmail.com> * configure: Regenerated. diff --git a/libobjc/encoding.c b/libobjc/encoding.c index bd8b67e0e8b..7e33e738bb9 100644 --- a/libobjc/encoding.c +++ b/libobjc/encoding.c @@ -112,6 +112,32 @@ static int __attribute__ ((__unused__)) not_target_flags = 0; #undef ALTIVEC_VECTOR_MODE #define ALTIVEC_VECTOR_MODE(MODE) (0) +/* Replace TARGET_VSX, TARGET_ALTIVEC, and TARGET_64BIT with constants based on + the current switches, rather than looking in the options structure. */ +#ifdef _ARCH_PPC +#undef TARGET_VSX +#undef TARGET_ALTIVEC +#undef TARGET_64BIT + +#ifdef __VSX__ +#define TARGET_VSX 1 +#else +#define TARGET_VSX 0 +#endif + +#ifdef __ALTIVEC__ +#define TARGET_ALTIVEC 1 +#else +#define TARGET_ALTIVEC 0 +#endif + +#ifdef _ARCH_PPC64 +#define TARGET_64BIT 1 +#else +#define TARGET_64BIT 0 +#endif +#endif + /* Furthermore, some (powerpc) targets also use TARGET_ALIGN_NATURAL in their alignment macros. Currently[4.5/6], rs6000.h points this to a static variable, initialized by target overrides. This is reset |