diff options
| author | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-07 22:06:25 +0000 |
|---|---|---|
| committer | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-07 22:06:25 +0000 |
| commit | acf1cb58ccac493119aaaeea0b14e8b23f49e116 (patch) | |
| tree | f5f8aa5f9fb0fa5c3f539acb0ccb158a924f56e0 | |
| parent | 7ad772658a981df7810089d273432e6a3519adeb (diff) | |
| download | ppe42-gcc-acf1cb58ccac493119aaaeea0b14e8b23f49e116.tar.gz ppe42-gcc-acf1cb58ccac493119aaaeea0b14e8b23f49e116.zip | |
PR target/52503
* config/sh/sh.opt (msoft-atomic): Use Var instead of Mask.
* config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC.
(SUBTARGET_OVERRIDE_OPTIONS): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185081 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/config/sh/linux.h | 15 | ||||
| -rw-r--r-- | gcc/config/sh/sh.opt | 2 |
3 files changed, 22 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f240c15c2f3..397ad1042b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-03-07 Oleg Endo <olegendo@gcc.gnu.org> + Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/52503 + * config/sh/sh.opt (msoft-atomic): Use Var instead of Mask. + * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC. + (SUBTARGET_OVERRIDE_OPTIONS): Define. + 2012-03-07 Uros Bizjak <ubizjak@gmail.com> * config/i386/predicates.md (x86_64_zext_general_operand): New. diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h index a5c2734214b..904a7823bf2 100644 --- a/gcc/config/sh/linux.h +++ b/gcc/config/sh/linux.h @@ -1,5 +1,6 @@ /* Definitions for SH running Linux-based GNU systems using ELF - Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011 + Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011, + 2012 Free Software Foundation, Inc. Contributed by Kazumoto Kojima <kkojima@rr.iij4u.or.jp> @@ -41,7 +42,7 @@ along with GCC; see the file COPYING3. If not see #undef TARGET_DEFAULT #define TARGET_DEFAULT \ (TARGET_CPU_DEFAULT | MASK_USERMODE | TARGET_ENDIAN_DEFAULT \ - | TARGET_OPT_DEFAULT | MASK_SOFT_ATOMIC) + | TARGET_OPT_DEFAULT) #define TARGET_ASM_FILE_END file_end_indicate_exec_stack @@ -135,3 +136,13 @@ along with GCC; see the file COPYING3. If not see /* Install the __sync libcalls. */ #undef TARGET_INIT_LIBFUNCS #define TARGET_INIT_LIBFUNCS sh_init_sync_libfuncs + +#undef SUBTARGET_OVERRIDE_OPTIONS +#define SUBTARGET_OVERRIDE_OPTIONS \ + do \ + { \ + /* Defaulting to -msoft-atomic. */ \ + if (global_options_set.x_TARGET_SOFT_ATOMIC == 0) \ + TARGET_SOFT_ATOMIC = 1; \ + } \ + while (0) diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt index 37b99904a0b..de23d5eb0b8 100644 --- a/gcc/config/sh/sh.opt +++ b/gcc/config/sh/sh.opt @@ -320,7 +320,7 @@ Target Mask(HITACHI) MaskExists Follow Renesas (formerly Hitachi) / SuperH calling conventions msoft-atomic -Target Report Mask(SOFT_ATOMIC) +Target Report Var(TARGET_SOFT_ATOMIC) Use software atomic sequences supported by kernel menable-tas |

