summaryrefslogtreecommitdiffstats
path: root/lib/Parse/ParseExpr.cpp
diff options
context:
space:
mode:
authorFaisal Vali <faisalv@yahoo.com>2018-01-01 18:23:28 +0000
committerFaisal Vali <faisalv@yahoo.com>2018-01-01 18:23:28 +0000
commit1ae65827b5b1c280e1db04f7d609a92ddf40e0a9 (patch)
tree530a1e50551df595ab705b45a0f28fa51bc790c6 /lib/Parse/ParseExpr.cpp
parent5f6d6d73da77174428971d53d68524da45e467c3 (diff)
Again reverting an attempt to convert the DeclSpec enums into scoped enums.
- reverts r321622, r321625, and r321626. - the use of bit-fields is still resulting in warnings - even though we can use static-asserts to harden the code and ensure the bit-fields are wide enough. The bots still complain of warnings being seen. - to silence the warnings requires specifying the bit-fields with the underlying enum type (as opposed to the enum type itself), which then requires lots of unnecessary static casts of each enumerator within DeclSpec to the underlying-type, which even though could be seen as implementation details, it does hamper readability - and given the additional litterings, makes me question the value of the change. So in short - I give up (for now at least). Sorry about the noise. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@321628 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseExpr.cpp')
-rw-r--r--lib/Parse/ParseExpr.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp
index 057b4e6cd5..1b8865edb7 100644
--- a/lib/Parse/ParseExpr.cpp
+++ b/lib/Parse/ParseExpr.cpp
@@ -997,10 +997,9 @@ ExprResult Parser::ParseCastExpression(bool isUnaryExpression,
DS.SetRangeEnd(ILoc);
const char *PrevSpec = nullptr;
unsigned DiagID;
- DS.SetTypeSpecType(TypeSpecifierType::TST_typename, ILoc, PrevSpec,
- DiagID, Typ,
+ DS.SetTypeSpecType(TST_typename, ILoc, PrevSpec, DiagID, Typ,
Actions.getASTContext().getPrintingPolicy());
-
+
Declarator DeclaratorInfo(DS, DeclaratorContext::TypeNameContext);
TypeResult Ty = Actions.ActOnTypeName(getCurScope(),
DeclaratorInfo);
@@ -1206,8 +1205,8 @@ ExprResult Parser::ParseCastExpression(bool isUnaryExpression,
const char *PrevSpec = nullptr;
unsigned DiagID;
- DS.SetTypeSpecType(TypeSpecifierType::TST_typename,
- Tok.getAnnotationEndLoc(), PrevSpec, DiagID, Type,
+ DS.SetTypeSpecType(TST_typename, Tok.getAnnotationEndLoc(),
+ PrevSpec, DiagID, Type,
Actions.getASTContext().getPrintingPolicy());
Declarator DeclaratorInfo(DS, DeclaratorContext::TypeNameContext);