Commit f0adc637 by Mark Mitchell Committed by Mark Mitchell

pt.c (tsubst_decl): Copy TREE_ASM_WRITTEN for VAR_DECLs.

	* pt.c (tsubst_decl): Copy TREE_ASM_WRITTEN for VAR_DECLs.

	* decl2.c (finish_vtable_vardecl): Don't prune vtables here.

From-SVN: r30656
parent 93d45562
1999-11-24 Mark Mitchell <mark@codesourcery.com>
* pt.c (tsubst_decl): Copy TREE_ASM_WRITTEN for VAR_DECLs.
* decl2.c (finish_vtable_vardecl): Don't prune vtables here.
1999-11-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* decl.c (pushdecl, grokdeclarator): Don't call a variadic
......
......@@ -2608,7 +2608,6 @@ finish_vtable_vardecl (t, data)
/* We don't know what to do with this one yet. */
return 0;
*t = TREE_CHAIN (vars);
return 0;
}
......
......@@ -5913,6 +5913,11 @@ tsubst_decl (t, args, type, in_decl)
TREE_TYPE (r) = TREE_TYPE (DECL_INITIAL (r));
}
/* If the template variable was marked TREE_ASM_WRITTEN, that
means we don't need to write out any of the instantiations
either. (__FUNCTION__ and its ilk are marked thusly.) */
TREE_ASM_WRITTEN (r) = TREE_ASM_WRITTEN (t);
/* Even if the original location is out of scope, the newly
substituted one is not. */
if (TREE_CODE (r) == VAR_DECL)
......
// Build don't link:
// Special g++ Options: -O2 -Winline
// Origin: Mark Mitchell <mark@codesourcery.com>
template <class T>
inline void f ()
{
}
void g ()
{
f<int> ();
}
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