Revert r298491 and r298494 which changed Clang's handling of 'nonnull'
authorChandler Carruth <chandlerc@gmail.com>
Fri, 24 Mar 2017 09:11:57 +0000 (09:11 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 24 Mar 2017 09:11:57 +0000 (09:11 +0000)
commit45bbe0117bee932c967de6d44984ea7dab8f36b5
treef138defe1ddbfab8edbad2265af359e6339f6289
parent0387364c4c00277be875e1544d99492b0ea7820b
Revert r298491 and r298494 which changed Clang's handling of 'nonnull'
attributes.

These patches don't work because we can't currently access the parameter
information in a reliable way when building attributes. I thought this
would be relatively straightforward to fix, but it seems not to be the
case. Fixing this will requrie a substantial re-plumbing of machinery to
allow attributes to be handled in this location, and several other fixes
to the attribute machinery should probably be made at the same time. All
of this will make the patch .... substantially more complicated.

Reverting for now as there are active miscompiles caused by the current
version.

llvm-svn: 298695
clang/include/clang/AST/ASTContext.h
clang/include/clang/Basic/Builtins.def
clang/lib/AST/ASTContext.cpp
clang/lib/CodeGen/CGCall.cpp
clang/test/CodeGen/function-attributes.c
clang/test/CodeGen/nonnull.c