diff options
author | Mike Stump <mrs@apple.com> | 2006-02-08 19:13:15 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2006-02-08 19:13:15 +0000 |
commit | 5c5bf6b20f6bf794e2b1bcd04903094b5a4035be (patch) | |
tree | 3d8e6c4b33dd8c9daf4d56926775363a045e8c62 | |
parent | 7f6fd222add2ee0e4793dbfbacf3c850e69a9872 (diff) |
Radar 4407059
* c-lex.c (c_lex_with_flags): Only recognize "offset" when doing
x86 assembly.
* parser.c (cp_parser_unary_operator): Only recognize "offset"
when doing x86 assembly.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@110762 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.apple-ppc | 6 | ||||
-rw-r--r-- | gcc/c-lex.c | 4 | ||||
-rw-r--r-- | gcc/cp/ChangeLog.apple-ppc | 6 | ||||
-rw-r--r-- | gcc/cp/parser.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog.apple-ppc | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/asm-block-40.C | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.apple/asm-block-40.c | 10 |
7 files changed, 42 insertions, 1 deletions
diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc index 3a6f11f9bf9..d319bc7862f 100644 --- a/gcc/ChangeLog.apple-ppc +++ b/gcc/ChangeLog.apple-ppc @@ -1,3 +1,9 @@ +2006-02-08 Mike Stump <mrs@apple.com> + + Radar 4407059 + * c-lex.c (c_lex_with_flags): Only recognize "offset" when doing + x86 assembly. + 2006-02-03 Mike Stump <mrs@apple.com> Radar 4432782 diff --git a/gcc/c-lex.c b/gcc/c-lex.c index e4c8afdbd74..45bf3893d1a 100644 --- a/gcc/c-lex.c +++ b/gcc/c-lex.c @@ -507,7 +507,9 @@ c_lex_with_flags (tree *value, unsigned char *cpp_flags) *value = HT_IDENT_TO_GCC_IDENT (HT_NODE (tok->val.node)); /* APPLE LOCAL begin CW asm blocks */ if (cw_asm_state >= cw_asm_decls - && strcasecmp (IDENTIFIER_POINTER (HT_IDENT_TO_GCC_IDENT (HT_NODE (tok->val.node))), "offset") == 0) + && flag_ms_asms + && strcasecmp (IDENTIFIER_POINTER (HT_IDENT_TO_GCC_IDENT (HT_NODE (tok->val.node))), + "offset") == 0) { type = CPP_AND; *value = NULL_TREE; diff --git a/gcc/cp/ChangeLog.apple-ppc b/gcc/cp/ChangeLog.apple-ppc index 096f561677c..e6bf8f0c560 100644 --- a/gcc/cp/ChangeLog.apple-ppc +++ b/gcc/cp/ChangeLog.apple-ppc @@ -1,3 +1,9 @@ +2006-02-08 Mike Stump <mrs@apple.com> + + Radar 4407059 + * parser.c (cp_parser_unary_operator): Only recognize "offset" + when doing x86 assembly. + 2006-01-20 Mike Stump <mrs@apple.com> Radar 4381918 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 4fd29fc5793..eb4dc84ae54 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -5349,6 +5349,7 @@ cp_parser_unary_operator (cp_token* token) /* APPLE LOCAL begin CW asm blocks */ case CPP_NAME: if (cw_asm_state >= cw_asm_decls + && flag_ms_asms && strcasecmp (IDENTIFIER_POINTER (token->value), "offset") == 0) return ADDR_EXPR; /* APPLE LOCAL end CW asm blocks */ diff --git a/gcc/testsuite/ChangeLog.apple-ppc b/gcc/testsuite/ChangeLog.apple-ppc index ef69501664e..af464ab9345 100644 --- a/gcc/testsuite/ChangeLog.apple-ppc +++ b/gcc/testsuite/ChangeLog.apple-ppc @@ -1,3 +1,9 @@ +2006-02-08 Mike Stump <mrs@apple.com> + + Radar 4407059 + * gcc.apple/asm-block-40.c: Add. + * g++.dg/asm-block-40.C: Add. + 2005-02-07 Fariborz Jahanian <fjahanian@apple.com> Radar 4219590 diff --git a/gcc/testsuite/g++.dg/asm-block-40.C b/gcc/testsuite/g++.dg/asm-block-40.C new file mode 100644 index 00000000000..c6cacda22be --- /dev/null +++ b/gcc/testsuite/g++.dg/asm-block-40.C @@ -0,0 +1,10 @@ +/* APPLE LOCAL file CW asm blocks */ +/* { dg-do assemble { target powerpc*-*-darwin* } } */ +/* { dg-options "-fasm-blocks" } */ +/* Radar 4407059 */ + +inline void foo(int offset) { + asm { + add r3,r3,offset + } +} diff --git a/gcc/testsuite/gcc.apple/asm-block-40.c b/gcc/testsuite/gcc.apple/asm-block-40.c new file mode 100644 index 00000000000..c6cacda22be --- /dev/null +++ b/gcc/testsuite/gcc.apple/asm-block-40.c @@ -0,0 +1,10 @@ +/* APPLE LOCAL file CW asm blocks */ +/* { dg-do assemble { target powerpc*-*-darwin* } } */ +/* { dg-options "-fasm-blocks" } */ +/* Radar 4407059 */ + +inline void foo(int offset) { + asm { + add r3,r3,offset + } +} |