// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix -analyzer-output=plist-multi-file -analyzer-config report-in-main-source-file=true %s -o %t.plist
// RUN: %normalize_plist <%t.plist | diff -ub %S/Inputs/expected-plists/report-issues-within-main-file.cpp.plist -
#include "Inputs/include/report-issues-within-main-file.h"
void mainPlusHeader() {
auto_ptr<int> B (new int[5]);
}
void auxInMain() {
int j = 0;
j++;
cause_div_by_zero_in_header(j);
j--;
}
void mainPlusMainPlusHeader() {
int i = 0;
i++;
auxInMain();
i++;
}
void causeDivByZeroInMain(int in) {
int m = 0;
m = in/m;
m++;
}
void mainPlusMain() {
int i = 0;
i++;
causeDivByZeroInMain(i);
i++;
}
void causeDivByZeroInMain2(int in) {
int m2 = 0;
m2 = in/m2;
m2++;
}
void mainPlustHeaderCallAndReturnPlusMain() {
int i = 0;
i++;
do_something(i);
causeDivByZeroInMain2(i);
i++;
}
void callInMacro() {
int j = 0;
j++;
CALLS_BUGGY_FUNCTION2;
j--;
}
void callInMacro3() {
int j = 0;
j++;
CALLS_BUGGY_FUNCTION3;
j--;
}
void callCallInMacro3() {
callInMacro3();
}
void callInMacroArg() {
int j = 0;
j++;
TAKE_CALL_AS_ARG(cause_div_by_zero_in_header4(5));
j--;
}