llvm-project/clang/lib
JF Bastien 7f0a05ada5 Make atomic non-member functions as nonnull
Summary:
As a companion to libc++ patch https://reviews.llvm.org/D47225, mark builtin atomic non-member functions which accept pointers as nonnull.

The atomic non-member functions accept pointers to std::atomic / std::atomic_flag as well as to the non-atomic value. These are all dereferenced unconditionally when lowered, and therefore will fault if null. It's a tiny gotcha for new users, especially when they pass in NULL as expected value (instead of passing a pointer to a NULL value).

<rdar://problem/18473124>

Reviewers: arphaman

Subscribers: aheejin, cfe-commits

Differential Revision: https://reviews.llvm.org/D47229

llvm-svn: 333246
2018-05-25 00:07:09 +00:00
..
ARCMigrate Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
AST Rework __builtin_classify_type support to better match GCC and to not assert on 2018-05-23 21:18:00 +00:00
ASTMatchers [ASTMatchers] Introduce a blockDecl matcher for matching block declarations 2018-05-16 22:47:03 +00:00
Analysis [analyzer] Do not crash on callback for call_once passed by value 2018-05-16 00:29:13 +00:00
Basic [VFS] Implement getRealPath in InMemoryFileSystem. 2018-05-24 11:17:00 +00:00
CodeGen Use zeroinitializer for (trailing zero portion of) large array initializers 2018-05-23 23:41:38 +00:00
CrossTU [CrossTU] Fix handling of Cross Translation Unit directory path 2017-10-27 12:53:37 +00:00
Driver [Sparc] Use the leon arch for Leon3's when using an external assembler 2018-05-24 06:16:02 +00:00
Edit Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
Format [clang-format] Fix putting ObjC message arguments in one line for multiline receiver 2018-05-24 10:50:36 +00:00
Frontend Improve diagnostics for config mismatches with -fmodule-file. 2018-05-24 20:03:51 +00:00
FrontendTool Make a build bot happy. 2018-02-10 14:26:53 +00:00
Headers [X86] Fix a bad cast in _mm512_mask_abs_epi32 and _mm512_maskz_abs_epi32. 2018-05-24 17:32:49 +00:00
Index Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
Lex Reland '[clang] Adding CharacteristicKind to PPCallbacks::InclusionDirective' 2018-05-10 19:05:36 +00:00
Parse Improve diagonstic for braced-init-list as operand to ?: expression. 2018-05-24 22:02:52 +00:00
Rewrite Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
Sema Make atomic non-member functions as nonnull 2018-05-25 00:07:09 +00:00
Serialization Fix unaligned memory access when reading INPUT_FILE_OFFSETS data 2018-05-23 09:02:40 +00:00
StaticAnalyzer [analyzer] Move RangeSet related declarations into the RangedConstraintManager header. 2018-05-24 12:16:35 +00:00
Tooling Revert "Move #include manipulation code to new lib/Tooling/Inclusions." 2018-05-18 18:33:08 +00:00
CMakeLists.txt Add Cross Translation Unit support library 2017-09-22 11:11:01 +00:00