mirror of
https://github.com/intel/llvm.git
synced 2026-01-22 06:19:46 +08:00
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 eighth batch of tests being updated (there are a significant number of other tests left to be updated).
17 lines
452 B
C
17 lines
452 B
C
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
// RUN: %clang_cc1 -E %s | FileCheck %s
|
|
|
|
// CHECK: #pragma clang assume_nonnull begin
|
|
#pragma clang assume_nonnull begin
|
|
|
|
int bar(int * ip) { return *ip; }
|
|
|
|
// CHECK: #pragma clang assume_nonnull end
|
|
#pragma clang assume_nonnull end
|
|
|
|
int foo(int * _Nonnull ip) { return *ip; }
|
|
|
|
int main(void) {
|
|
return bar(0) + foo(0); // expected-warning 2 {{null passed to a callee that requires a non-null argument}}
|
|
}
|