mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 19:11:18 +08:00
cp-tree.h (DECL_ANTICIPATED): Don't require a FUNCTION_DECL.
* cp-tree.h (DECL_ANTICIPATED): Don't require a FUNCTION_DECL. * decl.c (select_decl): Don't return declarations that are DECL_ANTICIPATED. From-SVN: r36953
This commit is contained in:
parent
3cf3728197
commit
97ba1e3c39
@ -1,3 +1,9 @@
|
||||
2000-10-19 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* cp-tree.h (DECL_ANTICIPATED): Don't require a FUNCTION_DECL.
|
||||
* decl.c (select_decl): Don't return declarations that are
|
||||
DECL_ANTICIPATED.
|
||||
|
||||
2000-10-18 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* cp-tree.h (cp_tree_index): Add CPTI_FAKE_STD.
|
||||
|
@ -2481,7 +2481,7 @@ extern int flag_new_for_scope;
|
||||
/* Nonzero if NODE is a FUNCTION_DECL for a built-in function, and we have
|
||||
not yet seen a prototype for that function. */
|
||||
#define DECL_ANTICIPATED(NODE) \
|
||||
(DECL_LANG_SPECIFIC (FUNCTION_DECL_CHECK (NODE))->decl_flags.anticipated_p)
|
||||
(DECL_LANG_SPECIFIC (DECL_CHECK (NODE))->decl_flags.anticipated_p)
|
||||
|
||||
/* Record whether a typedef for type `int' was actually `signed int'. */
|
||||
#define C_TYPEDEF_EXPLICITLY_SIGNED(exp) DECL_LANG_FLAG_1 ((exp))
|
||||
|
@ -5693,6 +5693,15 @@ select_decl (binding, flags)
|
||||
{
|
||||
tree val;
|
||||
val = BINDING_VALUE (binding);
|
||||
|
||||
/* When we implicitly declare some builtin entity, we mark it
|
||||
DECL_ANTICIPATED, so that we know to ignore it until it is
|
||||
really declared. */
|
||||
if (val && DECL_P (val)
|
||||
&& DECL_LANG_SPECIFIC (val)
|
||||
&& DECL_ANTICIPATED (val))
|
||||
return NULL_TREE;
|
||||
|
||||
if (LOOKUP_NAMESPACES_ONLY (flags))
|
||||
{
|
||||
/* We are not interested in types. */
|
||||
|
13
gcc/testsuite/g++.old-deja/g++.other/std1.C
Normal file
13
gcc/testsuite/g++.old-deja/g++.other/std1.C
Normal file
@ -0,0 +1,13 @@
|
||||
// Build don't link:
|
||||
// Special g++ Options: -fhonor-std
|
||||
// Origin: Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
extern "C" int memcmp (const void * __s1,
|
||||
const void * __s2,
|
||||
__SIZE_TYPE__ __n) throw ();
|
||||
|
||||
namespace std {
|
||||
void f () {
|
||||
memcmp (0, 0, 0);
|
||||
}
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user