llvm-project/clang/lib
Ted Kremenek 9aedc159ef Enhance attribute 'nonnull' to be applicable to parameters directly (infix).
This allows the following syntax:

  void baz(__attribute__((nonnull)) const char *str);

instead of:

  void baz(const char *str) __attribute__((nonnull(1)));

This also extends to Objective-C methods.

The checking logic in Sema is not as clean as I would like.  Effectively
now we need to check both the FunctionDecl/ObjCMethodDecl and the parameters,
so the point of truth is spread in two places, but the logic isn't that
cumbersome.

Implements <rdar://problem/14691443>.

llvm-svn: 199467
2014-01-17 06:24:56 +00:00
..
ARCMigrate Use the simpler version of llvm::sys::fs::remove when possible. 2014-01-10 21:32:14 +00:00
AST Issue a warning if a throwing operator new or operator new[] returns a null 2014-01-17 02:09:33 +00:00
ASTMatchers Sort all the #include lines with LLVM's utils/sort_includes.py which 2014-01-07 11:51:46 +00:00
Analysis Consumed analysis: bugfix for operator calls. Also fixes some formatting 2014-01-16 23:07:16 +00:00
Basic SPARCv9 implements long double as an IEEE quad. 2014-01-16 16:43:19 +00:00
CodeGen Debug info: Refactor NoLocation and ArtificialLocation to use a common base 2014-01-17 00:15:10 +00:00
Driver Driver: Stub -Wa,-compress-debug-sections support for integrated-as with a suppressable warning 2014-01-17 03:17:40 +00:00
Edit Add front-end infrastructure now address space casts are in LLVM IR. 2013-12-11 13:39:46 +00:00
Format clang-format: Improve formatting of ObjC Blocks with return type. 2014-01-16 19:14:34 +00:00
Frontend [asan] Remove -fsanitize-address-zero-base-shadow command line 2014-01-16 10:19:31 +00:00
FrontendTool Bury leaked pointers in a global array to silence a leak detector in --disable-free mode 2013-12-27 08:11:08 +00:00
Headers Add implementations of _cpuid and _xgetbv to Intrin.h 2014-01-16 23:39:35 +00:00
Index Sort all the #include lines with LLVM's utils/sort_includes.py which 2014-01-07 11:51:46 +00:00
Lex Fix cxx_variable_templates feature check and documentation 2014-01-15 04:11:24 +00:00
Parse PR18477: Create a function scope representing the constructor call when 2014-01-17 03:11:34 +00:00
Rewrite Use the simpler version of llvm::sys::fs::remove when possible. 2014-01-10 21:32:14 +00:00
Sema Enhance attribute 'nonnull' to be applicable to parameters directly (infix). 2014-01-17 06:24:56 +00:00
Serialization Improve the error message when a PCH dependency is modified 2014-01-17 00:19:09 +00:00
StaticAnalyzer [analyzer] Shitfing a constant value by its bit width is undefined. 2014-01-16 18:02:23 +00:00
Tooling Sort all the #include lines with LLVM's utils/sort_includes.py which 2014-01-07 11:51:46 +00:00
CMakeLists.txt Fix dependencies now that the ARC migrator depends on the static analyzer. 2013-08-22 15:50:02 +00:00
Makefile Fix dependencies now that the ARC migrator depends on the static analyzer. 2013-08-22 15:50:02 +00:00