From: steven Date: Fri, 28 May 2010 23:13:18 +0000 (+0000) Subject: gcc/ChangeLog: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ad8abad783af88a9591b967932a810347637b4e;p=thirdparty%2Fgcc.git 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160006 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8d7edc720d3..be57481b0c35 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 77026faf64b0..328634728e84 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 039edbee9744..3056cae3aa1e 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 a49694007d24..82632d99345e 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 7b3445bbf99f..d9164d2e4dd5 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 d5ccd65a7900..9a5ee0fb2d81 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