1 // RUN: %clang_analyze_cc1 -verify %s \
2 // RUN: -analyzer-checker core,debug.ExprInspection
4 // Stuff that used to hang.
6 extern void __assert_fail(__const
char *__assertion
, __const
char *__file
,
7 unsigned int __line
, __const
char *__function
)
8 __attribute__((__noreturn__
));
10 ((expr) ? (void)(0) : __assert_fail(#expr, __FILE__, __LINE__, __func__))
12 void clang_analyzer_eval(int);
20 int produce_a_very_large_symbol(int x
) {
21 return f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
22 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(x
))))))))))))))))))))))))))))))));
25 void produce_an_exponentially_exploding_symbol(int x
, int y
) {
39 void produce_an_exponentially_exploding_symbol_2(int x
, int y
) {
84 void produce_an_exponentially_exploding_symbol_3(int x
, int y
) {
85 assert(0 < x
&& x
< 10);
218 clang_analyzer_eval(0 < x
&& x
< 10); // expected-warning{{TRUE}}
219 // expected-warning@-1{{FALSE}}