diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-01-05 01:52:57 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2004-01-05 01:52:57 +0000 |
commit | 955d023464779c437ce4e573682ace01d6d6c9fb (patch) | |
tree | 0cfc59acd015e0add3034b578bc0eee165a96f6c | |
parent | 643aee72b356e174bf47a45bcba466e586039858 (diff) | |
download | gcc-955d023464779c437ce4e573682ace01d6d6c9fb.zip gcc-955d023464779c437ce4e573682ace01d6d6c9fb.tar.gz gcc-955d023464779c437ce4e573682ace01d6d6c9fb.tar.bz2 |
re PR c++/13529 (offsetof() with member-designator containing member access broken)
PR c++/13529
* parser.c (cp_parser_postfix_expression): Allow "." to appear in
an offsetof expression.
PR c++/13529
* g++.dg/parse/offsetof3.C: New test.
From-SVN: r75410
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/offsetof3.C | 11 |
3 files changed, 18 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c5d10d8..aac96ee 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2004-01-04 Mark Mitchell <mark@codesourcery.com> + PR c++/13529 + * parser.c (cp_parser_postfix_expression): Allow "." to appear in + an offsetof expression. + * parser.c (cp_parser_parameter_declaration): Fix comment. PR c++/12226 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1a5f9a3..2586047 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2004-01-04 Mark Mitchell <mark@codesourcery.com> + PR c++/13529 + * g++.dg/parse/offsetof3.C: New test. + * g++.dg/init/copy7.C: Add missing dg-error markers. PR c++/12226 diff --git a/gcc/testsuite/g++.dg/parse/offsetof3.C b/gcc/testsuite/g++.dg/parse/offsetof3.C new file mode 100644 index 0000000..905e5f5 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/offsetof3.C @@ -0,0 +1,11 @@ +// PR c++/13529 + +#include <cstddef> + +struct A { int i; }; +struct B { A a; }; + +int main() +{ + return offsetof(B,a.i) != 0; +} |