no-prune-paths.c revision aeca2cc3a6f486abff3fdfb4e82903cd3ca4267e
1// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-output=text -verify %s
2// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-output=text -analyzer-config prune-paths=false -DNPRUNE=1 -verify %s
3
4// "prune-paths" is a debug option only; this is just a simple test to see that
5// it's being honored.
6
7void helper() {
8  extern void foo();
9  foo();
10}
11
12void test() {
13  helper();
14#if NPRUNE
15  // expected-note@-2 {{Calling 'helper'}}
16  // expected-note@-3 {{Returning from 'helper'}}
17#endif
18
19  *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
20  // expected-note@-1 {{Dereference of null pointer}}
21}
22