- warn about nonnull being applied to functions with no pointer arguments - continue processing argument list in the attribute when we encounter a non-pointer parameter being marked as nonnull - when no argument list is specified, only mark pointers as nonnull. This fixes PR 2732 and radar 6188814. llvm-svn: 55610
9 lines
445 B
C
9 lines
445 B
C
// RUN: clang -fsyntax-only -verify %s
|
|
|
|
int f1(int x) __attribute__((nonnull)); // expected-warning{{'nonnull' attribute applied to function with no pointer arguments}}
|
|
int f2(int *x) __attribute__ ((nonnull (1)));
|
|
int f3(int *x) __attribute__ ((nonnull (0))); // expected-error {{'nonnull' attribute parameter 1 is out of bounds}}
|
|
int f4(int *x, int *y) __attribute__ ((nonnull (1,2)));
|
|
int f5(int *x, int *y) __attribute__ ((nonnull (2,1)));
|
|
|