diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-08-27 04:59:42 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-08-27 04:59:42 +0000 |
commit | 588bd9b7f869578e80c4359694425a5fd20e3ebd (patch) | |
tree | a128c29aad9b61368c5b0f12d776a2cbb5a29fa6 /llvm/lib/Support/StringRef.cpp | |
parent | 88d786eab827ca485e31f256e4b5a2cf93fc6b50 (diff) | |
download | llvm-588bd9b7f869578e80c4359694425a5fd20e3ebd.zip llvm-588bd9b7f869578e80c4359694425a5fd20e3ebd.tar.gz llvm-588bd9b7f869578e80c4359694425a5fd20e3ebd.tar.bz2 |
Fix representation of __attribute__((nonnull)) to support correctly modeling
the no-arguments case. Don't expand this to an __attribute__((nonnull(A, B,
C))) attribute, since that does the wrong thing for function templates and
varargs functions.
In passing, fix a grammar error in the diagnostic, a crash if
__attribute__((nonnull(N))) is applied to a varargs function,
a bug where the same null argument could be diagnosed multiple
times if there were multiple nonnull attributes referring to it,
and a bug where nonnull attributes would not be accumulated correctly
across redeclarations.
llvm-svn: 216520
Diffstat (limited to 'llvm/lib/Support/StringRef.cpp')
0 files changed, 0 insertions, 0 deletions