diff options
author | Mark Mitchell <mark@markmitchell.com> | 1998-07-19 18:55:38 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1998-07-19 18:55:38 +0000 |
commit | 077e7015e088e0f0ccbd442af857047c5dc10072 (patch) | |
tree | 1784b581656814670be930e3132f8d4930bd2704 | |
parent | d92e4d8cba0e14bed08bbbc35d7229e4b5b4c369 (diff) | |
download | gcc-077e7015e088e0f0ccbd442af857047c5dc10072.zip gcc-077e7015e088e0f0ccbd442af857047c5dc10072.tar.gz gcc-077e7015e088e0f0ccbd442af857047c5dc10072.tar.bz2 |
decl.c (pushtag): Revert previous change.
* decl.c (pushtag): Revert previous change.
* pt.c (lookup_template_class): Don't put out debugging
information for types that use template parameters.
From-SVN: r21286
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/decl.c | 8 | ||||
-rw-r--r-- | gcc/cp/pt.c | 5 |
3 files changed, 9 insertions, 8 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0e8a75a..09a9b4b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 1998-07-19 Mark Mitchell <mark@markmitchell.com> + * decl.c (pushtag): Revert previous change. + * pt.c (lookup_template_class): Don't put out debugging + information for types that use template parameters. + * decl.c (pushtag): Don't put out debugging information for compiler-generated typedefs. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index a55b28c..913b9ab 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -2287,14 +2287,6 @@ 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); } diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index ed23223..0f1dbdd 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -3212,6 +3212,11 @@ lookup_template_class (d1, arglist, in_decl, context) && CLASSTYPE_INTERFACE_KNOWN (TREE_TYPE (template)) && ! CLASSTYPE_INTERFACE_ONLY (TREE_TYPE (template))) add_pending_template (t); + + if (uses_template_parms (arglist)) + /* If the type makes use of template parameters, the + code that generates debugging information will crash. */ + DECL_IGNORED_P (TYPE_STUB_DECL (t)) = 1; } return t; |