aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2006-02-08 19:13:15 +0000
committerMike Stump <mrs@apple.com>2006-02-08 19:13:15 +0000
commit5c5bf6b20f6bf794e2b1bcd04903094b5a4035be (patch)
tree3d8e6c4b33dd8c9daf4d56926775363a045e8c62
parent7f6fd222add2ee0e4793dbfbacf3c850e69a9872 (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-ppc6
-rw-r--r--gcc/c-lex.c4
-rw-r--r--gcc/cp/ChangeLog.apple-ppc6
-rw-r--r--gcc/cp/parser.c1
-rw-r--r--gcc/testsuite/ChangeLog.apple-ppc6
-rw-r--r--gcc/testsuite/g++.dg/asm-block-40.C10
-rw-r--r--gcc/testsuite/gcc.apple/asm-block-40.c10
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
+ }
+}