diff options
| author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-11-15 11:59:07 +0000 |
|---|---|---|
| committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-11-15 11:59:07 +0000 |
| commit | c7e700dffc2c5edd254411c2ece935cb9cad1cf9 (patch) | |
| tree | b6ff16dc9d8af462973b8cea045e7c79c3d7b84a | |
| parent | 9df8b75472bb75c516b942b54c990993d82303fe (diff) | |
| download | ppe42-gcc-c7e700dffc2c5edd254411c2ece935cb9cad1cf9.tar.gz ppe42-gcc-c7e700dffc2c5edd254411c2ece935cb9cad1cf9.zip | |
cp/
* typeck.c (lookup_anon_field): Cope with qv qualifiers.
testsuite/
* g++.old-deja/g++.other/anon5.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37478 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/cp/typeck.c | 2 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/anon5.C | 17 |
4 files changed, 26 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6589da1d997..881ad2b4fad 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2000-11-15 Nathan Sidwell <nathan@codesourcery.com> + + * typeck.c (lookup_anon_field): Cope with qv qualifiers. + 2000-11-14 Mark Mitchell <mark@codesourcery.com> * class.c (build_vtbl_initializer): Fix typo in comment. diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index eca1c292515..d0ca2bbcb28 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -1994,7 +1994,7 @@ lookup_anon_field (t, type) /* If we find it directly, return the field. */ if (DECL_NAME (field) == NULL_TREE - && type == TREE_TYPE (field)) + && type == TYPE_MAIN_VARIANT (TREE_TYPE (field))) { return field; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 730bb0da6ec..6a01b9243a1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-11-15 Nathan Sidwell <nathan@codesourcery.com> + + * g++.old-deja/g++.other/anon5.C: New test. + 2000-11-14 Joseph S. Myers <jsm28@cam.ac.uk> * gcc.dg/c90-const-expr-2.c, gcc.dg/c99-const-expr-2.c: Add more diff --git a/gcc/testsuite/g++.old-deja/g++.other/anon5.C b/gcc/testsuite/g++.old-deja/g++.other/anon5.C new file mode 100644 index 00000000000..69fafdae182 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/anon5.C @@ -0,0 +1,17 @@ +// Build don't link: +// Copyright (C) 2000 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 14 Nov 2000 <nathan@codesourcery.com> + +// Bug 649. A cv qualified anonymous union would cause confusion. + +struct X +{ + int fn () const + { + return member; + } + const union + { + int member; + }; +}; |

