reduce the amount of 'C++ magic' this code depends on :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49489 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Parse/DeclSpec.h b/include/clang/Parse/DeclSpec.h
index b0efc18..4de4628 100644
--- a/include/clang/Parse/DeclSpec.h
+++ b/include/clang/Parse/DeclSpec.h
@@ -670,7 +670,7 @@
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 1d41248..804fffb 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -677,7 +677,7 @@
}
// 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 @@
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))