diff options
author | dmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-16 15:25:23 +0000 |
---|---|---|
committer | dmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-16 15:25:23 +0000 |
commit | 3308cb8ba51c9e5db7e21179576493e7e38c7939 (patch) | |
tree | bca6b2aa07208d54d251dfb4c6cece4f10c223e7 /gcc | |
parent | 11e0f6d778bc8d0655130342a36cbb9488f9bb69 (diff) | |
download | ppe42-gcc-3308cb8ba51c9e5db7e21179576493e7e38c7939.tar.gz ppe42-gcc-3308cb8ba51c9e5db7e21179576493e7e38c7939.zip |
gengtype: Ignore access-control keywords when parsing fields
* gengtype-parse.c (struct_field_seq): Ignore access-control
keywords ("public:" etc).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203708 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/gengtype-parse.c | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6fad912561c..c1617d4ba24 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 68d372eb684..e5204c1a71d 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 (); |