Commit fab701da by Mark Mitchell Committed by Mark Mitchell

* tree.c (mark_local_for_remap_r): Handle CASE_LABELs.

From-SVN: r36553
parent 155b14a8
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
// 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;
}
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