Aaron Ballman 1ea584377e A significant number of our tests in C accidentally use functions
without prototypes. This patch converts the function signatures to have
a prototype for the situations where the test is not specific to K&R C
declarations. e.g.,

  void func();

becomes

  void func(void);

This is the ninth batch of tests being updated (there are a
significant number of other tests left to be updated).
2022-02-13 08:03:40 -05:00

29 lines
772 B
C

// RUN: rm -fR %t
// RUN: mkdir %t
// RUN: %clang_analyze_cc1 -analyzer-checker=core \
// RUN: -analyzer-output=html -o %t -verify %s
// RUN: cat %t/report-*.html | FileCheck %s
void bar(int);
#define MACRO if (b)
void foo2(void) {
int a;
int b = 1;
MACRO
bar(a); // expected-warning{{1st function call argument is an uninitialized value}}
}
// For now we don't emit popups inside macros due to UI limitations.
// Once we do, we should test it thoroughly.
// CHECK-LABEL: <tr class="codeline" data-linenumber="14">
// CHECK-NOT: <span class='variable'>
// CHECK-SAME: <span class='macro'>
// CHECK-SAME: MACRO
// CHECK-SAME: <span class='macro_popup'>
// CHECK-SAME: if (b)
// CHECK-SAME: </span>
// CHECK-SAME: </span>