mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 11:35:51 -04:00

Found via codespell -q 3 -I ../clang-whitelist.txt Where whitelist consists of: archtype cas classs checkk compres definit frome iff inteval ith lod methode nd optin ot pres statics te thru Patch by luzpaz! (This is a subset of D44188 that applies cleanly with a few files that have dubious fixes reverted.) Differential revision: https://reviews.llvm.org/D44188 llvm-svn: 329399
35 lines
1011 B
C
35 lines
1011 B
C
// RUN: %clang_cc1 -verify -fsyntax-only -Wstring-conversion %s
|
|
|
|
void do_nothing();
|
|
void assert_error();
|
|
|
|
#define assert1(expr) \
|
|
if (expr) \
|
|
do_nothing(); \
|
|
else \
|
|
assert_error()
|
|
|
|
#define assert2(expr) \
|
|
((expr) ? do_nothing() : assert_error())
|
|
|
|
// Exception for common assert form.
|
|
void test1() {
|
|
assert1(0 && "foo");
|
|
assert1("foo" && 0);
|
|
assert1(0 || "foo"); // expected-warning {{string literal}}
|
|
assert1("foo"); // expected-warning {{string literal}}
|
|
|
|
assert2(0 && "foo");
|
|
assert2("foo" && 0);
|
|
assert2(0 || "foo"); // expected-warning {{string literal}}
|
|
assert2("foo"); // expected-warning {{string literal}}
|
|
}
|
|
|
|
void test2() {
|
|
if ("hi") {} // expected-warning {{string literal}}
|
|
while ("hello") {} // expected-warning {{string literal}}
|
|
for (;"howdy";) {} // expected-warning {{string literal}}
|
|
do { } while ("hey"); // expected-warning {{string literal}}
|
|
int x = "hey" ? 1 : 2; // expected-warning {{string literal}}
|
|
}
|