Make wording for certain invalid unary expressions more consistent.

An invalid decltype expression like 'decltype int' gives:
error: expected '(' after 'decltype'

This makes it so 'sizeof int' gives a similar one:
error: expected parentheses around type name in sizeof expression

llvm-svn: 192258
This commit is contained in:
David Majnemer 2013-10-09 00:22:23 +00:00
parent e4e12d0455
commit 767c1f8428
5 changed files with 9 additions and 9 deletions

View File

@ -310,8 +310,8 @@ def err_unspecified_vla_size_with_static : Error<
def warn_deprecated_register : Warning<
"'register' storage class specifier is deprecated">,
InGroup<DeprecatedRegister>;
def err_missed_parentheses_around_typename : Error<
"missed parentheses around type name in %0">;
def err_expected_parentheses_around_typename : Error<
"expected parentheses around type name in %0 expression">;
def err_expected_case_before_expression: Error<
"expected 'case' keyword before expression">;

View File

@ -1602,7 +1602,7 @@ Parser::ParseExprAfterUnaryExprOrTypeTrait(const Token &OpTok,
SourceLocation LParenLoc = PP.getLocForEndOfToken(OpTok.getLocation());
SourceLocation RParenLoc = PP.getLocForEndOfToken(PrevTokLocation);
Diag(LParenLoc, diag::err_missed_parentheses_around_typename)
Diag(LParenLoc, diag::err_expected_parentheses_around_typename)
<< OpTok.getName()
<< FixItHint::CreateInsertion(LParenLoc, "(")
<< FixItHint::CreateInsertion(RParenLoc, ")");

View File

@ -16,5 +16,5 @@ static_assert(alignof(Y<char, int, sizeof(int)>) == alignof(int), "");
static_assert(alignof(Y<int, char, 1>) == alignof(int), ""); // expected-note {{in instantiation of}}
void pr16992 () {
int x = alignof int; // expected-error{{missed parentheses around type name in alignof}}
int x = alignof int; // expected-error {{expected parentheses around type name in alignof expression}}
}

View File

@ -31,7 +31,7 @@ namespace pr16992 {
template<typename T> struct ABC {
int func () {
return sizeof T; //expected-error{{missed parentheses around type name in sizeof}}
return sizeof T; // expected-error {{expected parentheses around type name in sizeof expression}}
}
};

View File

@ -62,8 +62,8 @@ void test7() {
struct pr16992 { int x; };
void func_16992 () {
int x1 = sizeof int; // expected-error{{missed parentheses around type name in sizeof}}
int x2 = sizeof struct pr16992; // expected-error{{missed parentheses around type name in sizeof}}
int x3 = __alignof int; // expected-error{{missed parentheses around type name in __alignof}}
int x4 = _Alignof int; // expected-error{{missed parentheses around type name in _Alignof}}
int x1 = sizeof int; // expected-error {{expected parentheses around type name in sizeof expression}}
int x2 = sizeof struct pr16992; // expected-error {{expected parentheses around type name in sizeof expression}}
int x3 = __alignof int; // expected-error {{expected parentheses around type name in __alignof expression}}
int x4 = _Alignof int; // expected-error {{expected parentheses around type name in _Alignof expression}}
}