mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-10 19:49:50 +08:00
* tree.c (mark_local_for_remap_r): Handle CASE_LABELs.
From-SVN: r36553
This commit is contained in:
parent
155b14a87e
commit
fab701dab0
@ -1,3 +1,7 @@
|
||||
2000-09-20 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* tree.c (mark_local_for_remap_r): Handle CASE_LABELs.
|
||||
|
||||
2000-09-20 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* except.c: Delete #if 0:d EXCEPTION_SECTION_ASM_OP-default and
|
||||
|
@ -2465,6 +2465,8 @@ mark_local_for_remap_r (tp, walk_subtrees, data)
|
||||
else if (TREE_CODE (t) == TARGET_EXPR
|
||||
&& nonstatic_local_decl_p (TREE_OPERAND (t, 0)))
|
||||
decl = TREE_OPERAND (t, 0);
|
||||
else if (TREE_CODE (t) == CASE_LABEL)
|
||||
decl = CASE_LABEL_DECL (t);
|
||||
else
|
||||
decl = NULL_TREE;
|
||||
|
||||
|
@ -3,5 +3,5 @@
|
||||
|
||||
class T;
|
||||
inline void operator<(T&, T&) { }
|
||||
inline void operator<(T&, T&) { }
|
||||
inline void operator<(T&, T&) { } // ERROR - duplicate definition
|
||||
|
||||
|
49
gcc/testsuite/g++.old-deja/g++.other/inline14.C
Normal file
49
gcc/testsuite/g++.old-deja/g++.other/inline14.C
Normal file
@ -0,0 +1,49 @@
|
||||
// Build don't link:
|
||||
// Origin: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
struct IDENT
|
||||
{
|
||||
enum TYPE { Variable, Constant } type;
|
||||
|
||||
ostream& printTo(ostream& out) const
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case Variable:
|
||||
out << '_';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
template <class T>
|
||||
struct TC
|
||||
{
|
||||
IDENT i;
|
||||
|
||||
const IDENT& getIdent() const
|
||||
{
|
||||
return i;
|
||||
}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
inline ostream& operator<< (ostream& out, const TC<T> &c)
|
||||
{
|
||||
c.getIdent().printTo(out);
|
||||
return out;
|
||||
}
|
||||
|
||||
void foo(const TC<IDENT> &c)
|
||||
{
|
||||
cerr << c
|
||||
<< ": " // This line is crucial!
|
||||
<< c
|
||||
<< endl;
|
||||
}
|
Loading…
Reference in New Issue
Block a user