c-decl.c (implicitly_declare): Call maybe_apply_renaming_pragma.
* c-decl.c (implicitly_declare): Call maybe_apply_renaming_pragma. (finish_decl): Likewise. From-SVN: r87840
This commit is contained in:
parent
ad9f20cbce
commit
1ae57298f9
@ -1,3 +1,8 @@
|
||||
2004-09-21 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
|
||||
(finish_decl): Likewise.
|
||||
|
||||
2004-09-21 Devang Patel <dpatel@apple.com>
|
||||
|
||||
* tree.def (VEC_COND_EXPR): New tree node.
|
||||
|
@ -2159,6 +2159,8 @@ implicitly_declare (tree functionid)
|
||||
{
|
||||
struct c_binding *b;
|
||||
tree decl = 0;
|
||||
tree asmspec_tree;
|
||||
|
||||
for (b = I_SYMBOL_BINDING (functionid); b; b = b->shadowed)
|
||||
{
|
||||
if (B_IN_SCOPE (b, external_scope))
|
||||
@ -2230,6 +2232,9 @@ implicitly_declare (tree functionid)
|
||||
TREE_PUBLIC (decl) = 1;
|
||||
C_DECL_IMPLICIT (decl) = 1;
|
||||
implicit_decl_warning (functionid, 0);
|
||||
asmspec_tree = maybe_apply_renaming_pragma (decl, /*asmname=*/NULL);
|
||||
if (asmspec_tree)
|
||||
set_user_assembler_name (decl, TREE_STRING_POINTER (asmspec_tree));
|
||||
|
||||
/* C89 says implicit declarations are in the innermost block.
|
||||
So we record the decl in the standard fashion. */
|
||||
@ -3064,7 +3069,8 @@ finish_decl (tree decl, tree init, tree asmspec_tree)
|
||||
const char *asmspec = 0;
|
||||
|
||||
/* If a name was specified, get the string. */
|
||||
if (current_scope == file_scope)
|
||||
if ((TREE_CODE (decl) == FUNCTION_DECL || TREE_CODE (decl) == VAR_DECL)
|
||||
&& DECL_FILE_SCOPE_P (decl))
|
||||
asmspec_tree = maybe_apply_renaming_pragma (decl, asmspec_tree);
|
||||
if (asmspec_tree)
|
||||
asmspec = TREE_STRING_POINTER (asmspec_tree);
|
||||
|
@ -1,4 +1,8 @@
|
||||
2004-09-17 Matt Austern <austern@apple.com>
|
||||
2004-09-21 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* gcc.dg/pragma-re-3.c: New test.
|
||||
|
||||
2004-09-17 Matt Austern <austern@apple.com>
|
||||
|
||||
PR c++/15049
|
||||
* g++.dg/other/anon3.C: New.
|
||||
|
18
gcc/testsuite/gcc.dg/pragma-re-3.c
Normal file
18
gcc/testsuite/gcc.dg/pragma-re-3.c
Normal file
@ -0,0 +1,18 @@
|
||||
/* { dg-do link { target *-*-solaris* } } */
|
||||
|
||||
#pragma redefine_extname f1 f
|
||||
#pragma redefine_extname g1 g
|
||||
|
||||
void f() {
|
||||
extern int f1();
|
||||
f1();
|
||||
}
|
||||
|
||||
void g() {
|
||||
g1();
|
||||
}
|
||||
|
||||
int main () {
|
||||
f();
|
||||
g();
|
||||
}
|
Loading…
Reference in New Issue
Block a user