Skip to content

Commit cc50469

Browse files
committed
[clang][Sema] Update diagnostic tests for object-like macros in initializer list tests
1 parent e4d2186 commit cc50469

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10858,7 +10858,7 @@ def err_undeclared_use_suggest : Error<
1085810858
def err_undeclared_var_use_suggest : Error<
1085910859
"use of undeclared identifier %0; did you mean %1?">;
1086010860
def err_undeclared_var_use_suggest_func_like_macro : Error<
10861-
"%0 is defined as an object-like macro; did you mean '%0(...)'?">;
10861+
"'%0' is defined as an object-like macro; did you mean '%0(...)'?">;
1086210862
def err_no_template : Error<"no template named %0">;
1086310863
def err_no_template_suggest : Error<"no template named %0; did you mean %1?">;
1086410864
def err_no_member_template : Error<"no template named %0 in %1">;

clang/lib/Sema/SemaExpr.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2358,7 +2358,7 @@ static bool diagnoseFunctionLikeMacro(Sema &SemaRef, DeclarationName Name,
23582358
if (MI && MI->isFunctionLike()) {
23592359
SemaRef.Diag(TypoLoc,
23602360
diag::err_undeclared_var_use_suggest_func_like_macro)
2361-
<< II;
2361+
<< II ->getName();
23622362
SemaRef.Diag(MI->getDefinitionLoc(),
23632363
diag::note_function_like_macro_requires_parens)
23642364
<< II->getName();

clang/test/Preprocessor/macro_with_initializer_list.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,13 @@ void test() {
150150
// Can't be fixed by parentheses.
151151
INIT(e, {1, 2, 3});
152152
// expected-error@-1 {{too many arguments provided}}
153-
// expected-error@-2 {{use of undeclared identifier}}
153+
// expected-error@-2 {{'INIT' is defined as an object-like macro; did you mean 'INIT(...)'?}}
154154
// expected-note@-3 {{cannot use initializer list at the beginning of a macro argument}}
155155

156156
// Can't be fixed by parentheses.
157157
INIT(e, {1, 2, 3} + {1, 2, 3});
158158
// expected-error@-1 {{too many arguments provided}}
159-
// expected-error@-2 {{use of undeclared identifier}}
159+
// expected-error@-2 {{'INIT' is defined as an object-like macro; did you mean 'INIT(...)'?}}
160160
// expected-note@-3 {{cannot use initializer list at the beginning of a macro argument}}
161161
}
162162

@@ -179,6 +179,6 @@ void test2() {
179179
M(F3, {1,2,3}, {1,2,3}, {1,2,3}, {1,2,3}, {1,2,3}, {1,2,3},
180180
{1,2,3}, {1,2,3}, {1,2,3}, {1,2,3}, {1,2,3}, {1,2,3});
181181
// expected-error@-2 {{too many arguments provided}}
182-
// expected-error@-3 {{use of undeclared identifier}}
182+
// expected-error@-3 {{'M' is defined as an object-like macro; did you mean 'M(...)'?}}
183183
// expected-note@-4 {{cannot use initializer list at the beginning of a macro argument}}
184184
}

clang/test/Sema/typo-correction.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,11 @@ void PR40286_4(int the_value) { // expected-note {{'the_value' declared here}}
118118
#define FOO1() 10
119119
// expected-note@-1 4 {{'FOO1' defined here as a function-like macro}}
120120

121-
int x = FOO1; // expected-error {{use of undeclared identifier FOO1; did you mean FOO1(...)?}}
121+
int x = FOO1; // expected-error {{'FOO1' is defined as an object-like macro; did you mean 'FOO1(...)'?}}
122122

123123
void test3() {
124124
int iter = FOO1;
125-
// expected-error@-1 {{use of undeclared identifier FOO1; did you mean FOO1(...)?}}
125+
// expected-error@-1 {{'FOO1' is defined as an object-like macro; did you mean 'FOO1(...)'?}}
126126
}
127127

128128
void bar(int);
@@ -133,6 +133,6 @@ void test4() {
133133
}
134134

135135
void test5() {
136-
FOO1 + 1; // expected-error {{use of undeclared identifier FOO1; did you mean FOO1(...)?}}
137-
bar(FOO1); // expected-error {{use of undeclared identifier FOO1; did you mean FOO1(...)?}}
136+
FOO1 + 1; // expected-error {{'FOO1' is defined as an object-like macro; did you mean 'FOO1(...)'?}}
137+
bar(FOO1); // expected-error {{'FOO1' is defined as an object-like macro; did you mean 'FOO1'(...)'?}}
138138
}

0 commit comments

Comments
 (0)