summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-16 15:25:23 +0000
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-16 15:25:23 +0000
commit3308cb8ba51c9e5db7e21179576493e7e38c7939 (patch)
treebca6b2aa07208d54d251dfb4c6cece4f10c223e7 /gcc
parent11e0f6d778bc8d0655130342a36cbb9488f9bb69 (diff)
downloadppe42-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/ChangeLog5
-rw-r--r--gcc/gengtype-parse.c11
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 ();
OpenPOWER on IntegriCloud