1// RUN: %clang_cc1 -analyze -analyzer-checker=core -verify %s
2
3#include "test-include.h"
4#define DIVYX(X,Y) Y/X
5
6void test_01(int *data) {
7  data = 0;
8  *data = 1; // expected-warning{{Dereference of null pointer}}
9}
10
11int test_02() {
12  int res = DIVXY(1,0); // expected-warning{{Division by zero}}
13                        // expected-warning@-1{{division by zero is undefined}}
14  return res;
15}
16
17int test_03() {
18  int res = DIVYX(0,1); // expected-warning{{Division by zero}}
19                        // expected-warning@-1{{division by zero is undefined}}
20  return res;
21}