diff options
-rw-r--r-- | include/clang/Parse/DeclSpec.h | 2 | ||||
-rw-r--r-- | lib/Parse/ParseDecl.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/include/clang/Parse/DeclSpec.h b/include/clang/Parse/DeclSpec.h index b0efc188ef..4de4628950 100644 --- a/include/clang/Parse/DeclSpec.h +++ b/include/clang/Parse/DeclSpec.h @@ -670,7 +670,7 @@ public: struct FieldDeclarator { Declarator D; Action::ExprTy *BitfieldSize; - FieldDeclarator(DeclSpec &DS) : D(DS, Declarator::MemberContext) { + explicit FieldDeclarator(DeclSpec &DS) : D(DS, Declarator::MemberContext) { BitfieldSize = 0; } }; diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp index 1d412482ea..804fffb9f1 100644 --- a/lib/Parse/ParseDecl.cpp +++ b/lib/Parse/ParseDecl.cpp @@ -677,7 +677,7 @@ ParseStructDeclaration(DeclSpec &DS, } // Read struct-declarators until we find the semicolon. - Fields.push_back(DS); + Fields.push_back(FieldDeclarator(DS)); while (1) { FieldDeclarator &DeclaratorInfo = Fields.back(); @@ -708,7 +708,7 @@ ParseStructDeclaration(DeclSpec &DS, ConsumeToken(); // Parse the next declarator. - Fields.push_back(DS); + Fields.push_back(FieldDeclarator(DS)); // Attributes are only allowed on the second declarator. if (Tok.is(tok::kw___attribute)) |