From bffad7f1cf127cbc4b103db2f30317e9f59422fd Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Fri, 28 May 2010 23:13:18 +0000 Subject: [PATCH] c-common.h: Add FIXME for awkward split of c_register_addr_space. 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 | 6 ++++++ gcc/c-common.c | 20 -------------------- gcc/c-common.h | 3 +++ gcc/c-decl.c | 19 +++++++++++++++++++ gcc/cp/ChangeLog | 4 ++++ gcc/cp/tree.c | 10 ++++++++++ 6 files changed, 42 insertions(+), 20 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8d7edc..be57481 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-05-29 Steven Bosscher + + * 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 * config/darwin-c.c: Remove c-tree.h include. diff --git a/gcc/c-common.c b/gcc/c-common.c index 77026fa..3286347 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -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 * diff --git a/gcc/c-common.h b/gcc/c-common.h index 039edbe..3056cae 100644 --- a/gcc/c-common.h +++ b/gcc/c-common.h @@ -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); diff --git a/gcc/c-decl.c b/gcc/c-decl.c index a496940..82632d9 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -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" diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7b3445b..d9164d2 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2010-05-29 Steven Bosscher + + * tree.c (c_register_addr_space): Add stub. + 2010-05-28 Joseph Myers * g++spec.c (lang_specific_driver): Use fatal_error instead of diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index d5ccd65..9a5ee0f 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -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) +{ +} + #if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007) /* Complain that some language-specific thing hanging off a tree -- 2.7.4