Make the presentation of the warnings on 'x + y ? 1 : 0' a bit more

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
This commit is contained in:
Chandler Carruth 2011-06-16 01:05:12 +00:00
Родитель 43bc78dd44
Коммит 9d4562445d
3 изменённых файлов: 27 добавлений и 27 удалений

Просмотреть файл

@ -2757,12 +2757,12 @@ def note_precedence_bitwise_silence : Note<
"place parentheses around the %0 expression to silence this warning">; "place parentheses around the %0 expression to silence this warning">;
def warn_precedence_conditional : 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>; InGroup<Parentheses>;
def note_precedence_conditional_first : Note< 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< 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< def warn_logical_instead_of_bitwise : Warning<
"use of logical %0 with constant operand; switch to bitwise %1 or " "use of logical %0 with constant operand; switch to bitwise %1 or "

Просмотреть файл

@ -42,21 +42,21 @@ void bitwise_rel(unsigned i) {
_Bool someConditionFunc(); _Bool someConditionFunc();
void conditional_op(int x, int y, _Bool b) { void conditional_op(int x, int y, _Bool b) {
(void)(x + someConditionFunc() ? 1 : 2); // expected-warning {{?: has lower precedence than +}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the + expression to silence this warning}} // expected-note {{place parentheses around the '+' expression to silence this warning}}
(void)(x - b ? 1 : 2); // expected-warning {{?: has lower precedence than -}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the - expression to silence this warning}} // expected-note {{place parentheses around the '-' expression to silence this warning}}
(void)(x * (x == y) ? 1 : 2); // expected-warning {{?: has lower precedence than *}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the * expression to silence this warning}} // expected-note {{place parentheses around the '*' expression to silence this warning}}
(void)(x / !x ? 1 : 2); // expected-warning {{?: has lower precedence than /}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the / expression to silence this warning}} // expected-note {{place parentheses around the '/' expression to silence this warning}}
(void)(x % 2 ? 1 : 2); // no warning (void)(x % 2 ? 1 : 2); // no warning

Просмотреть файл

@ -4,17 +4,17 @@
bool someConditionFunc(); bool someConditionFunc();
void conditional_op(int x, int y, bool b) { void conditional_op(int x, int y, bool b) {
(void)(x + someConditionFunc() ? 1 : 2); // expected-warning {{?: has lower precedence than +}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the + expression to silence this warning}} // expected-note {{place parentheses around the '+' expression to silence this warning}}
(void)(x - b ? 1 : 2); // expected-warning {{?: has lower precedence than -}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the - expression to silence this warning}} // expected-note {{place parentheses around the '-' expression to silence this warning}}
(void)(x * (x == y) ? 1 : 2); // expected-warning {{?: has lower precedence than *}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the * expression to silence this warning}} // expected-note {{place parentheses around the '*' expression to silence this warning}}
} }
class Stream { class Stream {
@ -25,7 +25,7 @@ public:
}; };
void f(Stream& s, bool b) { void f(Stream& s, bool b) {
(void)(s << b ? "foo" : "bar"); // expected-warning {{?: has lower precedence than <<}} \ (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 evaluate it first}} \
// expected-note {{place parentheses around the << expression to silence this warning}} // expected-note {{place parentheses around the '<<' expression to silence this warning}}
} }