+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
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;
class T;
inline void operator<(T&, T&) { }
-inline void operator<(T&, T&) { }
+inline void operator<(T&, T&) { } // ERROR - duplicate definition
--- /dev/null
+// 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;
+ }