Commit 741f2839 by Andrew MacLeod Committed by Andrew Macleod

decl.c (grokvardecl): Don't build external assembler names for TYPENAMEs in…

decl.c (grokvardecl): Don't build external assembler names for TYPENAMEs in other namespaces as there...

1998-06-16  Andrew MacLeod  <amacleod@cygnus.com>
	* decl.c (grokvardecl): Don't build external assembler names for
	TYPENAMEs in other namespaces as there is no declarator.
	* error.c (cp_file_of, cp_line_of): Don't extract file or line number
	info from DECL_CONTEXT if it is NULL.

From-SVN: r20524
parent 6f6074ea
1998-06-16 Andrew MacLeod <amacleod@cygnus.com>
* decl.c (grokvardecl): Don't build external assembler names for
TYPENAMEs in other namespaces as there is no declarator.
* error.c (cp_file_of, cp_line_of): Don't extract file or line number
info from DECL_CONTEXT if it is NULL.
1998-06-16 Jason Merrill <jason@yorick.cygnus.com>
* call.c (check_dtor_name): Split out.
......
......@@ -7848,7 +7848,7 @@ grokvardecl (type, declarator, specbits_in, initialized, constp, in_namespace)
{
tree context = in_namespace ? in_namespace : current_namespace;
decl = build_decl (VAR_DECL, declarator, complete_type (type));
if (context != global_namespace)
if (context != global_namespace && declarator)
DECL_ASSEMBLER_NAME (decl) = build_static_name (context,
declarator);
}
......
......@@ -1811,7 +1811,7 @@ char *
cp_file_of (t)
tree t;
{
if (TREE_CODE (t) == PARM_DECL)
if (TREE_CODE (t) == PARM_DECL && DECL_CONTEXT (t))
return DECL_SOURCE_FILE (DECL_CONTEXT (t));
else if (TREE_CODE_CLASS (TREE_CODE (t)) == 't')
return DECL_SOURCE_FILE (TYPE_MAIN_DECL (t));
......@@ -1824,7 +1824,7 @@ cp_line_of (t)
tree t;
{
int line = 0;
if (TREE_CODE (t) == PARM_DECL)
if (TREE_CODE (t) == PARM_DECL && DECL_CONTEXT (t))
line = DECL_SOURCE_LINE (DECL_CONTEXT (t));
if (TREE_CODE (t) == TYPE_DECL && DECL_ARTIFICIAL (t))
t = TREE_TYPE (t);
......
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