c-common.h: Add FIXME for awkward split of c_register_addr_space.
authorSteven Bosscher <steven@gcc.gnu.org>
Fri, 28 May 2010 23:13:18 +0000 (23:13 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Fri, 28 May 2010 23:13:18 +0000 (23:13 +0000)
gcc/ChangeLog:
* c-common.h: Add FIXME for awkward split of c_register_addr_space.
* c-common.c (c_register_addr_space): Remove here.
* c-decl.c (c_register_addr_space): Re-add here.

cp/ChangeLog:
* tree.c (c_register_addr_space): Add stub.

From-SVN: r160006

gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-decl.c
gcc/cp/ChangeLog
gcc/cp/tree.c

index a8d7edc..be57481 100644 (file)
@@ -1,3 +1,9 @@
+2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * c-common.h: Add FIXME for awkward split of c_register_addr_space.
+       * c-common.c (c_register_addr_space): Remove here.
+       * c-decl.c (c_register_addr_space): Re-add here.
+
 2010-05-28  Mike Stump  <mikestump@comcast.net>
 
        * config/darwin-c.c: Remove c-tree.h include.
index 77026fa..3286347 100644 (file)
@@ -853,26 +853,6 @@ const struct attribute_spec c_common_format_attribute_table[] =
   { NULL,                     0, 0, false, false, false, NULL }
 };
 
-
-/* Register reserved keyword WORD as qualifier for address space AS.  */
-
-void
-c_register_addr_space (const char *word, addr_space_t as)
-{
-  int rid = RID_FIRST_ADDR_SPACE + as;
-  tree id;
-
-  /* Address space qualifiers are only supported
-     in C with GNU extensions enabled.  */
-  if (c_dialect_cxx () || c_dialect_objc () || flag_no_asm)
-    return;
-
-  id = get_identifier (word);
-  C_SET_RID_CODE (id, rid);
-  C_IS_RESERVED_WORD (id) = 1;
-  ridpointers [rid] = id;
-}
-
 /* Return identifier for address space AS.  */
 
 const char *
index 039edbe..3056cae 100644 (file)
@@ -799,7 +799,10 @@ extern const struct attribute_spec c_common_format_attribute_table[];
 
 extern tree (*make_fname_decl) (location_t, tree, int);
 
+/* In c-decl.c and cp/tree.c.  FIXME.  */
 extern void c_register_addr_space (const char *str, addr_space_t as);
+
+/* In c-common.c.  */
 extern const char *c_addr_space_name (addr_space_t as);
 extern tree identifier_global_value (tree);
 extern void record_builtin_type (enum rid, const char *, tree);
index a496940..82632d9 100644 (file)
@@ -9672,4 +9672,23 @@ c_write_global_declarations (void)
   ext_block = NULL;
 }
 
+/* Register reserved keyword WORD as qualifier for address space AS.  */
+
+void
+c_register_addr_space (const char *word, addr_space_t as)
+{
+  int rid = RID_FIRST_ADDR_SPACE + as;
+  tree id;
+
+  /* Address space qualifiers are only supported
+     in C with GNU extensions enabled.  */
+  if (c_dialect_objc () || flag_no_asm)
+    return;
+
+  id = get_identifier (word);
+  C_SET_RID_CODE (id, rid);
+  C_IS_RESERVED_WORD (id) = 1;
+  ridpointers [rid] = id;
+}
+
 #include "gt-c-decl.h"
index 7b3445b..d9164d2 100644 (file)
@@ -1,3 +1,7 @@
+2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * tree.c (c_register_addr_space): Add stub.
+
 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
 
        * g++spec.c (lang_specific_driver): Use fatal_error instead of
index d5ccd65..9a5ee0f 100644 (file)
@@ -3199,6 +3199,16 @@ cp_free_lang_data (tree t)
     }
 }
 
+/* Stub for c-common.  Please keep in sync with c-decl.c.
+   FIXME: If address space support is target specific, then this
+   should be a C target hook.  But currently this is not possible,
+   because this function is called via REGISTER_TARGET_PRAGMAS.  */
+void
+c_register_addr_space (const char *word ATTRIBUTE_UNUSED,
+                      addr_space_t as ATTRIBUTE_UNUSED)
+{
+}
+
 \f
 #if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007)
 /* Complain that some language-specific thing hanging off a tree