aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2013-10-16 15:25:23 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2013-10-16 15:25:23 +0000
commitc22df64f91c2f4fcd22eb94ed55af08095e3ad78 (patch)
treebca6b2aa07208d54d251dfb4c6cece4f10c223e7 /gcc
parentf24bb0805d785777be011a48296b4b47d1370063 (diff)
downloadgcc-c22df64f91c2f4fcd22eb94ed55af08095e3ad78.zip
gcc-c22df64f91c2f4fcd22eb94ed55af08095e3ad78.tar.gz
gcc-c22df64f91c2f4fcd22eb94ed55af08095e3ad78.tar.bz2
gengtype: Ignore access-control keywords when parsing fields
* gengtype-parse.c (struct_field_seq): Ignore access-control keywords ("public:" etc). From-SVN: r203708
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gengtype-parse.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6fad912..c1617d4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-16 David Malcolm <dmalcolm@redhat.com>
+
+ * gengtype-parse.c (struct_field_seq): Ignore access-control
+ keywords ("public:" etc).
+
2013-10-16 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/aarch64.c (aarch64_regno_regclass): Classify
diff --git a/gcc/gengtype-parse.c b/gcc/gengtype-parse.c
index 68d372e..e5204c1 100644
--- a/gcc/gengtype-parse.c
+++ b/gcc/gengtype-parse.c
@@ -733,6 +733,17 @@ struct_field_seq (void)
{
ty = type (&opts, true);
+ /* Ignore access-control keywords ("public:" etc). */
+ while (!ty && token () == IGNORABLE_CXX_KEYWORD)
+ {
+ const char *keyword = advance ();
+ if (strcmp (keyword, "public:") != 0
+ && strcmp (keyword, "private:") != 0
+ && strcmp (keyword, "protected:") != 0)
+ break;
+ ty = type (&opts, true);
+ }
+
if (!ty || token () == ':')
{
consume_until_eos ();