decl.c (pushtag): Don't put out debugging information for compiler-generated typedefs.
* decl.c (pushtag): Don't put out debugging information for compiler-generated typedefs. From-SVN: r21285
This commit is contained in:
parent
3df095e2f1
commit
d92e4d8cba
3 changed files with 24 additions and 0 deletions
|
@ -1,5 +1,8 @@
|
|||
1998-07-19 Mark Mitchell <mark@markmitchell.com>
|
||||
|
||||
* decl.c (pushtag): Don't put out debugging information for
|
||||
compiler-generated typedefs.
|
||||
|
||||
* error.c (dump_type_real): Don't crash when presented with
|
||||
intQI_type_node or the like.
|
||||
|
||||
|
|
|
@ -2287,6 +2287,14 @@ pushtag (name, type, globalize)
|
|||
if (current_lang_name == lang_name_java)
|
||||
TYPE_FOR_JAVA (type) = 1;
|
||||
SET_DECL_ARTIFICIAL (d);
|
||||
/* There's no reason to put out debugging information
|
||||
for these declarations since they are
|
||||
compiler-generated. Furthermore, if the type makes
|
||||
use of template parameters, the code that generates
|
||||
debugging information will get confused. It is safe
|
||||
to put these out in the non-template case, just
|
||||
useless. */
|
||||
DECL_IGNORED_P (d) = 1;
|
||||
if (! in_class)
|
||||
set_identifier_type_value_with_scope (name, type, b);
|
||||
}
|
||||
|
|
13
gcc/testsuite/g++.old-deja/g++.pt/crash12.C
Normal file
13
gcc/testsuite/g++.old-deja/g++.pt/crash12.C
Normal file
|
@ -0,0 +1,13 @@
|
|||
// Build don't link:
|
||||
// Special g++ Options: -g
|
||||
|
||||
template <class C>
|
||||
class CenteringTag {
|
||||
};
|
||||
|
||||
struct S {
|
||||
template <class B, class C>
|
||||
static void f() {
|
||||
CenteringTag<C> ctag;
|
||||
}
|
||||
};
|
Loading…
Add table
Reference in a new issue