From 955d023464779c437ce4e573682ace01d6d6c9fb Mon Sep 17 00:00:00 2001 From: Mark Mitchell <mark@codesourcery.com> Date: Mon, 5 Jan 2004 01:52:57 +0000 Subject: [PATCH] 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 --- gcc/cp/ChangeLog | 4 ++++ gcc/testsuite/ChangeLog | 3 +++ gcc/testsuite/g++.dg/parse/offsetof3.C | 11 +++++++++++ 3 files changed, 18 insertions(+) create mode 100644 gcc/testsuite/g++.dg/parse/offsetof3.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c5d10d870780..aac96ee5af44 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 1a5f9a383961..258604725b10 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 000000000000..905e5f58a1f4 --- /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; +} -- GitLab