pretty. In particular this makes it much easier for me to read messages
such as:
x.cc:42: ?: has lower ...
Where I'm inclined to associate the third ':' with a missing column
number, but in fact column numbers have been turned off. Similar
punctuation collisions happened elsewhere as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133121
91177308-0d34-0410-b5e6-
96231b3b80d8
"place parentheses around the %0 expression to silence this warning">;
def warn_precedence_conditional : Warning<
- "?: has lower precedence than %0; %0 will be evaluated first">,
+ "operator '?:' has lower precedence than '%0'; '%0' will be evaluated first">,
InGroup<Parentheses>;
def note_precedence_conditional_first : Note<
- "place parentheses around the ?: expression to evaluate it first">;
+ "place parentheses around the '?:' expression to evaluate it first">;
def note_precedence_conditional_silence : Note<
- "place parentheses around the %0 expression to silence this warning">;
+ "place parentheses around the '%0' expression to silence this warning">;
def warn_logical_instead_of_bitwise : Warning<
"use of logical %0 with constant operand; switch to bitwise %1 or "
_Bool someConditionFunc();
void conditional_op(int x, int y, _Bool b) {
- (void)(x + someConditionFunc() ? 1 : 2); // expected-warning {{?: has lower precedence than +}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the + expression to silence this warning}}
+ (void)(x + someConditionFunc() ? 1 : 2); // expected-warning {{operator '?:' has lower precedence than '+'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '+' expression to silence this warning}}
- (void)(x - b ? 1 : 2); // expected-warning {{?: has lower precedence than -}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the - expression to silence this warning}}
+ (void)(x - b ? 1 : 2); // expected-warning {{operator '?:' has lower precedence than '-'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '-' expression to silence this warning}}
- (void)(x * (x == y) ? 1 : 2); // expected-warning {{?: has lower precedence than *}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the * expression to silence this warning}}
+ (void)(x * (x == y) ? 1 : 2); // expected-warning {{operator '?:' has lower precedence than '*'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '*' expression to silence this warning}}
- (void)(x / !x ? 1 : 2); // expected-warning {{?: has lower precedence than /}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the / expression to silence this warning}}
+ (void)(x / !x ? 1 : 2); // expected-warning {{operator '?:' has lower precedence than '/'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '/' expression to silence this warning}}
(void)(x % 2 ? 1 : 2); // no warning
bool someConditionFunc();
void conditional_op(int x, int y, bool b) {
- (void)(x + someConditionFunc() ? 1 : 2); // expected-warning {{?: has lower precedence than +}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the + expression to silence this warning}}
+ (void)(x + someConditionFunc() ? 1 : 2); // expected-warning {{operator '?:' has lower precedence than '+'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '+' expression to silence this warning}}
- (void)(x - b ? 1 : 2); // expected-warning {{?: has lower precedence than -}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the - expression to silence this warning}}
+ (void)(x - b ? 1 : 2); // expected-warning {{operator '?:' has lower precedence than '-'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '-' expression to silence this warning}}
- (void)(x * (x == y) ? 1 : 2); // expected-warning {{?: has lower precedence than *}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the * expression to silence this warning}}
+ (void)(x * (x == y) ? 1 : 2); // expected-warning {{operator '?:' has lower precedence than '*'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '*' expression to silence this warning}}
}
class Stream {
};
void f(Stream& s, bool b) {
- (void)(s << b ? "foo" : "bar"); // expected-warning {{?: has lower precedence than <<}} \
- // expected-note {{place parentheses around the ?: expression to evaluate it first}} \
- // expected-note {{place parentheses around the << expression to silence this warning}}
+ (void)(s << b ? "foo" : "bar"); // expected-warning {{operator '?:' has lower precedence than '<<'}} \
+ // expected-note {{place parentheses around the '?:' expression to evaluate it first}} \
+ // expected-note {{place parentheses around the '<<' expression to silence this warning}}
}