diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-02-05 17:15:33 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-02-05 17:15:33 +0000 |
commit | 518fed76bc0e6ae59759d248e1717117921427e6 (patch) | |
tree | 3ae0aeabb60e689e7a2cf37cdb0110e08cba20ae | |
parent | 480cd7780df68117dfe6d7fa194932e75575a397 (diff) | |
download | gcc-518fed76bc0e6ae59759d248e1717117921427e6.zip gcc-518fed76bc0e6ae59759d248e1717117921427e6.tar.gz gcc-518fed76bc0e6ae59759d248e1717117921427e6.tar.bz2 |
method.c (build_mangled_name): Protect flush_repeats() from error_mark_node.
* method.c (build_mangled_name) [old abi]: Protect flush_repeats()
from error_mark_node.
From-SVN: r39460
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/method.c | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 04d64a0..72bc2f0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2001-02-05 Alexandre Oliva <aoliva@redhat.com> + + * method.c (build_mangled_name) [old abi]: Protect flush_repeats() + from error_mark_node. + 2001-02-05 Nathan Sidwell <nathan@codesourcery.com> Fix specification and implementation bugs in V3 ABI diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 51e0c5c..30ede1b 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1213,6 +1213,16 @@ build_mangled_name (parmtypes, begin, end) nrepeats = 0; } + /* Insead of protecting flush_repeats() against + error_mark_node, we can do it here. Since we wouldn't + add anything for an ERROR_MARK anyway, it's ok to skip + the mangling for this type. */ + if (old_style_repeats && parmtype == error_mark_node) + { + last_type = NULL_TREE; + continue; + } + last_type = parmtype; /* Note that for bug-compatibility with 2.7.2, we can't build up |