forked from OSchip/llvm-project
Assert that Parser::MaybeParseOperatorFunctionId is called when token is kw_operator, and replace ExpectAndConsume for the 'operator' token with a ConsumeToken.
llvm-svn: 58855
This commit is contained in:
parent
450c75a15f
commit
56fa31bc87
|
@ -1291,8 +1291,6 @@ DIAG(err_ambiguous_derived_to_base_conv, ERROR,
|
|||
"ambiguous conversion from derived class '%0' to base class '%1':%2")
|
||||
|
||||
// C++ operator overloading
|
||||
DIAG(err_expected_operator, ERROR,
|
||||
"expected 'operator' keyword")
|
||||
DIAG(err_operator_overload_needs_class_or_enum, ERROR,
|
||||
"non-member overloaded operator '%0' must have at least one parameter of class or enumeration type (or reference thereof)")
|
||||
DIAG(err_operator_overload_variadic, ERROR,
|
||||
|
|
|
@ -308,8 +308,7 @@ void Parser::ParseCXXSimpleTypeSpecifier(DeclSpec &DS) {
|
|||
/// <= >= && || ++ -- , ->* ->
|
||||
/// () []
|
||||
IdentifierInfo *Parser::MaybeParseOperatorFunctionId() {
|
||||
if (Tok.isNot(tok::kw_operator))
|
||||
return 0;
|
||||
assert(Tok.is(tok::kw_operator) && "Expected 'operator' keyword");
|
||||
|
||||
OverloadedOperatorKind Op = OO_None;
|
||||
switch (NextToken().getKind()) {
|
||||
|
@ -361,7 +360,7 @@ IdentifierInfo *Parser::MaybeParseOperatorFunctionId() {
|
|||
if (Op == OO_None)
|
||||
return 0;
|
||||
else {
|
||||
ExpectAndConsume(tok::kw_operator, diag::err_expected_operator);
|
||||
ConsumeToken(); // 'operator'
|
||||
ConsumeAnyToken(); // the operator itself
|
||||
return &PP.getIdentifierTable().getOverloadedOperator(Op);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue