From 4df09c64219da093dcf4ac0459a2732f7f510393 Mon Sep 17 00:00:00 2001 From: meissner Date: Fri, 19 Oct 2012 19:10:03 +0000 Subject: [gcc] 2012-10-19 Michael Meissner Dominique Dhumieres * 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 * 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 --- libobjc/ChangeLog | 8 ++++++++ libobjc/encoding.c | 26 ++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) (limited to 'libobjc') 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 + + * 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 * 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 -- cgit v1.2.1