Commit 74b0ec7c by Joseph Myers Committed by Joseph Myers

c-decl.c (merge_decls): Use !current_function_decl to check for extern declaration of C99 inline...

	* c-decl.c (merge_decls): Use !current_function_decl to check for
	extern declaration of C99 inline function being at file scope.

testsuite:
	* gcc.dg/inline-32.c, gcc.dg/inline-32a.c: New tests.

From-SVN: r137149
parent 30551d99
2008-06-26 Joseph Myers <joseph@codesourcery.com>
* c-decl.c (merge_decls): Use !current_function_decl to check for
extern declaration of C99 inline function being at file scope.
2008-06-25 John David Anglin <dave.anglin@gcc-cnrc.gc.ca>
* config.gcc (hppa[12]*-*-hpux10*): Don't use fixproto.
......
......@@ -1764,8 +1764,7 @@ merge_decls (tree newdecl, tree olddecl, tree newtype, tree oldtype)
|| !DECL_EXTERNAL (olddecl))
&& DECL_EXTERNAL (newdecl)
&& !lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (newdecl))
&& (DECL_CONTEXT (newdecl) == NULL_TREE
|| TREE_CODE (DECL_CONTEXT (newdecl)) != FUNCTION_DECL))
&& !current_function_decl)
DECL_EXTERNAL (newdecl) = 0;
if (DECL_EXTERNAL (newdecl))
......
2008-06-26 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/inline-32.c, gcc.dg/inline-32a.c: New tests.
2008-06-26 Ira Rosen <irar@il.ibm.com>
* testsuite/lib/target-supports.exp
......
/* { dg-do link } */
/* { dg-options "-std=c99 -pedantic-errors" } */
/* { dg-additional-sources inline-32a.c } */
inline int f (void) { return 0; }
int
main (void)
{
extern int f();
return f ();
}
/* { dg-do compile } */
/* { dg-options "-std=c99 -pedantic-errors" } */
int f (void) { return 0; }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment