]> granicus.if.org Git - clang/log
clang
8 years agoReapply "[Modules] Fix regression when an elaborated-type-specifier mentions a hidden...
Ben Langmuir [Fri, 11 Dec 2015 22:05:13 +0000 (22:05 +0000)]
Reapply "[Modules] Fix regression when an elaborated-type-specifier mentions a hidden tag"

Now not trying to use a C++ lookup mechanism in C (d'oh).  Unqualified
lookup is actually fine for this case in C.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255377 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUnify diagnostics for type defintitions in bad contexts
Reid Kleckner [Fri, 11 Dec 2015 21:39:12 +0000 (21:39 +0000)]
Unify diagnostics for type defintitions in bad contexts

The message for a type definition in an "if" condition was different
from the other three for no particular reason.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255372 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoError on redeclaring with a conflicting asm label and on redeclaring with an asm...
Nick Lewycky [Fri, 11 Dec 2015 21:28:55 +0000 (21:28 +0000)]
Error on redeclaring with a conflicting asm label and on redeclaring with an asm label after the first ODR-use. Detects problems like the one in PR22830 where gcc and clang both compiled the file but with different behaviour.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255371 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PGO] Revert r255366: solution incomplete, not handling lambda yet
Xinliang David Li [Fri, 11 Dec 2015 20:23:12 +0000 (20:23 +0000)]
[PGO] Revert r255366: solution incomplete, not handling lambda yet

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255368 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PGO] Stop using invalid char in instr variable names.
Xinliang David Li [Fri, 11 Dec 2015 19:53:35 +0000 (19:53 +0000)]
[PGO] Stop using invalid char in instr variable names.

(This is part-2 of the patch -- fixing test cases)

Before the patch, -fprofile-instr-generate compile will fail
if no integrated-as is specified when the file contains
any static functions (the -S output is also invalid).

This patch fixed the issue. With the change, the index format
version will be bumped up by 1. Backward compatibility is
preserved with this change.

Differential Revision: http://reviews.llvm.org/D15243

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255366 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OpenCL 2.0] In OpenCL v2.0 s6.5 all pointers are implicitly in generic
Anastasia Stulova [Fri, 11 Dec 2015 17:41:19 +0000 (17:41 +0000)]
[OpenCL 2.0] In OpenCL v2.0 s6.5 all pointers are implicitly in generic
address space unless address space is explicitly specified.

Correct the behavior of NULL constant detection -
generic AS void pointer should be accepted as a valid NULL constant.

http://reviews.llvm.org/D15293

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255346 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoReverting r255337 as it seems to kill bots. Needs investigation.
Anastasia Stulova [Fri, 11 Dec 2015 15:23:00 +0000 (15:23 +0000)]
Reverting r255337 as it seems to kill bots. Needs investigation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255339 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OpenCL 2.0] In OpenCL v2.0 s6.5 all pointers are implicitly in generic
Anastasia Stulova [Fri, 11 Dec 2015 13:49:15 +0000 (13:49 +0000)]
[OpenCL 2.0] In OpenCL v2.0 s6.5 all pointers are implicitly in generic
address space unless address space is explicitly specified.

Correct the behavior of NULL constant detection -
generic AS void pointer should be accepted as a valid NULL constant.

http://reviews.llvm.org/D15293

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255337 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDriver: add multilibs for ARM EB
Saleem Abdulrasool [Fri, 11 Dec 2015 06:20:59 +0000 (06:20 +0000)]
Driver: add multilibs for ARM EB

This improves the coverage for the multilib directories used for ARM.  Also add
tests covering the internal triple (thumbv7-*).  The Juno board can be run in
this configuration.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255328 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PGO] Add a test case to cover version-3 format
Xinliang David Li [Fri, 11 Dec 2015 04:02:57 +0000 (04:02 +0000)]
[PGO] Add a test case to cover version-3 format

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255326 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoCorrectly type-check the default arguments of local functions
John McCall [Fri, 11 Dec 2015 01:56:36 +0000 (01:56 +0000)]
Correctly type-check the default arguments of local functions
when eagerly instantiating them.

rdar://23721638

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255325 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "[Modules] Fix regression when an elaborated-type-specifier mentions a hidden...
Ben Langmuir [Fri, 11 Dec 2015 01:44:43 +0000 (01:44 +0000)]
Revert "[Modules] Fix regression when an elaborated-type-specifier mentions a hidden tag"

This is causing assertion failures; reverting until I can fix.

This reverts commit r255267

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255324 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd some more tests for initializer lists related to CWG1591
Faisal Vali [Fri, 11 Dec 2015 01:04:30 +0000 (01:04 +0000)]
Add some more tests for initializer lists related to CWG1591

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255323 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoClean ExprConstant/CGExprConstant up a bit. NFC.
George Burgess IV [Fri, 11 Dec 2015 00:23:35 +0000 (00:23 +0000)]
Clean ExprConstant/CGExprConstant up a bit. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255314 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[VFS] Fix status() of opened redirected file
Ben Langmuir [Thu, 10 Dec 2015 23:41:39 +0000 (23:41 +0000)]
[VFS] Fix status() of opened redirected file

Make RedirectedFileSystem::openFilForRead(path)->status() the same as
RedirectedFileSystem::status(path). Previously we would just get the
status of the underlying real file, which would not have the IsVFSMapped
bit set.

This fixes rebuilding a module that has an include that is relative to
the includer where we will lookup the real path of that file before we
lookup the VFS location.

rdar://problem/23640339

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255312 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoIn Objective-C, ignore attempts to redefine the ARC/GC qualifier macros.
John McCall [Thu, 10 Dec 2015 23:31:01 +0000 (23:31 +0000)]
In Objective-C, ignore attempts to redefine the ARC/GC qualifier macros.

This works around existing system headers which unconditionally
redefine these macros.

This is reasonably safe to do because we used to warn about it anyway
(outside of system headers).  Continue to warn if the redefinition
would have changed the expansion.  Still permit redefinition if the
macro is explicitly #undef'ed first.

rdar://23788307

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255311 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoObjective-C properties: merge attributes when redeclaring 'readonly' as 'readwrite...
Douglas Gregor [Thu, 10 Dec 2015 23:02:09 +0000 (23:02 +0000)]
Objective-C properties: merge attributes when redeclaring 'readonly' as 'readwrite' in an extension.

r251874 stopped back-patching the AST when an Objective-C 'readonly'
property is redeclared in a class extension as 'readwrite'. However,
it did not properly handle merging of Objective-C property attributes
(e.g., getter name, ownership, atomicity) to the redeclaration,
leading to bad metadata. Merge (and check!) those property attributes
so we get the right metadata and reasonable ASTs. Fixes
rdar://problem/23823989.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255309 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agowww: Mention -DGCC_INSTALL_PREFIX instead of --with-gcc-toolchain
Justin Bogner [Thu, 10 Dec 2015 20:52:59 +0000 (20:52 +0000)]
www: Mention -DGCC_INSTALL_PREFIX instead of --with-gcc-toolchain

Since the instructions use cmake, we should probably refer to the
cmake flags and not the configure ones.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255297 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Sema] Replace pointer-to-map with a map. NFC.
George Burgess IV [Thu, 10 Dec 2015 19:25:21 +0000 (19:25 +0000)]
[Sema] Replace pointer-to-map with a map. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255288 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDo not generate DW_TAG_imported_module for anonymous namespaces (even nested) for...
Ekaterina Romanova [Thu, 10 Dec 2015 18:52:50 +0000 (18:52 +0000)]
Do not generate DW_TAG_imported_module for anonymous namespaces (even nested) for all the platforms except PS4.
For PS4, generate explicit import for anonymous namespaces and mark it by DW_AT_artificial attribute.

Differential Revision: http://reviews.llvm.org/D12624

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255281 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agolibclang: expose dllexport, dllimport attributes
Saleem Abdulrasool [Thu, 10 Dec 2015 18:45:18 +0000 (18:45 +0000)]
libclang: expose dllexport, dllimport attributes

These attributes were previously unexposed.  Expose them through the libclang
interfaces.  Add tests that cover both the MSVC spelling and the GNU spelling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255273 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Modules] Fix regression when an elaborated-type-specifier mentions a hidden tag
Ben Langmuir [Thu, 10 Dec 2015 17:28:51 +0000 (17:28 +0000)]
[Modules] Fix regression when an elaborated-type-specifier mentions a hidden tag

This makes non-C++ languages find the same decl as C++ does to
workaround a regression introduced in r252960.

rdar://problem/23784203

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255267 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[NFC] Improve a comment from my previous commit (r255221)
Faisal Vali [Thu, 10 Dec 2015 12:29:11 +0000 (12:29 +0000)]
[NFC] Improve a comment from my previous commit (r255221)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255244 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[analyzer] Fix symbolic element index lifetime.
Artem Dergachev [Thu, 10 Dec 2015 09:28:06 +0000 (09:28 +0000)]
[analyzer] Fix symbolic element index lifetime.

SymbolReaper was destroying the symbol too early when it was referenced only
from an index SVal of a live ElementRegion.

In order to test certain aspects of this patch, extend the debug.ExprInspection
checker to allow testing SymbolReaper in a direct manner.

Differential Revision: http://reviews.llvm.org/D12726

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255236 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Sema] Use UnaryOperatorKind and BinaryOperatorKind in parameter lists instead of...
Craig Topper [Thu, 10 Dec 2015 08:51:49 +0000 (08:51 +0000)]
[Sema] Use UnaryOperatorKind and BinaryOperatorKind in parameter lists instead of just unsigned. Removes a few explicit casts. NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255232 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd parentheses to suppress a -Wparentheses warning.
Craig Topper [Thu, 10 Dec 2015 08:49:55 +0000 (08:49 +0000)]
Add parentheses to suppress a -Wparentheses warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255231 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP] Fixed processing of predetermined data-sharing attributes
Alexey Bataev [Thu, 10 Dec 2015 08:20:58 +0000 (08:20 +0000)]
[OPENMP] Fixed processing of predetermined data-sharing attributes
Predetermined data-shared attributes for local variables are now considered as implicit. Also, patch prohibits changin of DSA for static memebers of classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255229 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agolibclang: correct inverted logic
Saleem Abdulrasool [Thu, 10 Dec 2015 06:30:23 +0000 (06:30 +0000)]
libclang: correct inverted logic

The complete dtor is only emitted when there is a virtual destructor.  The test
itself was incorrect, so the issue in the code was not noticed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255225 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP] Make -fopenmp to turn on OpenMP support by default, clang part
Alexey Bataev [Thu, 10 Dec 2015 05:47:10 +0000 (05:47 +0000)]
[OPENMP] Make -fopenmp to turn on OpenMP support by default, clang part
Patch turns on OpenMP support in clang by default after fixing OpenMP buildbots.
Differential Revision: http://reviews.llvm.org/D13803

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255223 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix PR24694 (CWG1591): Deducing array bound and element type from initializer list
Faisal Vali [Thu, 10 Dec 2015 05:36:39 +0000 (05:36 +0000)]
Fix PR24694 (CWG1591): Deducing array bound and element type from initializer list
https://llvm.org/bugs/show_bug.cgi?id=24694
http://wg21.link/cwg1591

Teach DeduceFromInitializerList in SemaTemplateDeduction.cpp to deduce against array (constant and dependent sized) parameters (really, reference to arrays since they don't decay to pointers), by checking if the template parameter is either one of those kinds of arrays, and if so, deducing each initializer list element against the element type, and then deducing the array bound if needed.

In brief, this patch enables the following code:
template<class T, int N> int *f(T (&&)[N]);
int *ip = f({1, 2, 3});

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255221 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[MSVC] Fix for http://llvm.org/PR25636: indexed accessor property not supported corre...
Alexey Bataev [Thu, 10 Dec 2015 04:38:18 +0000 (04:38 +0000)]
[MSVC] Fix for http://llvm.org/PR25636: indexed accessor property not supported correctly.
All problems described in http://llvm.org/PR25636 are implemented except for return value of the 'put' property. This patch fixes this problem with the indexed properties
Differential Revision: http://reviews.llvm.org/D15174

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255218 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoMark MS inline ASM 'nodplicate' it it has labels (PR23715)
Hans Wennborg [Thu, 10 Dec 2015 01:38:04 +0000 (01:38 +0000)]
Mark MS inline ASM 'nodplicate' it it has labels (PR23715)

Duplicating it can lead to labels being defined twice.

Differential revision: http://reviews.llvm.org/D15399

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255201 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix a typo in the clang user manual.
Yunzhong Gao [Thu, 10 Dec 2015 01:37:18 +0000 (01:37 +0000)]
Fix a typo in the clang user manual.
-fmax-unknown-pointer-align => -fmax-type-align

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255200 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoPR25416: Improve performance of processing inline assembly consisting of many
Richard Smith [Thu, 10 Dec 2015 01:11:47 +0000 (01:11 +0000)]
PR25416: Improve performance of processing inline assembly consisting of many
implicitly-concatenated string literals. When looking for the start of a token
in the inline assembly, start from the end of the previous token, not the start
of the entire string.

Patch by Yunlian Jiang!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255198 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Lit Test] Updated 20 Lit tests to be C++11 compatible.
Charles Li [Thu, 10 Dec 2015 01:07:17 +0000 (01:07 +0000)]
[Lit Test] Updated 20 Lit tests to be C++11 compatible.

This is the 5th Lit test patch.
Expanded expected diagnostics to vary by C++ dialect.
Expanded RUN line to: default, C++98/03 and C++11.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255196 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix crash on invalid initialization with std::initializer_list
Reid Kleckner [Wed, 9 Dec 2015 23:18:38 +0000 (23:18 +0000)]
Fix crash on invalid initialization with std::initializer_list

It is possible for CheckListElementTypes to fail without filling in any
initializer list elements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255176 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoObjective-C properties: loosen 'atomic' checking for readonly properties.
Douglas Gregor [Wed, 9 Dec 2015 22:57:32 +0000 (22:57 +0000)]
Objective-C properties: loosen 'atomic' checking for readonly properties.

r251874 reworked the way we handle properties declared within
Objective-C class extensions, which had the effective of tightening up
property checking in a number of places. In this particular class of
cases, we end up complaining about "atomic" mismatches between an
implicitly-atomic, readonly property and a nonatomic, readwrite
property, which doesn't make sense because "atomic" is essentially
irrelevant to readonly properties.

Therefore, suppress this diagnostic when the readonly property is
implicitly atomic. Fixes rdar://problem/23803109.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255174 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CMake] Pass CMAKE_MAKE_PROGRAM through to compiler-rt build.
Chris Bieneman [Wed, 9 Dec 2015 22:46:25 +0000 (22:46 +0000)]
[CMake] Pass CMAKE_MAKE_PROGRAM through to compiler-rt build.

This is needed if your make tool is overridden.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255172 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agofix typos; NFC
Sanjay Patel [Wed, 9 Dec 2015 22:16:07 +0000 (22:16 +0000)]
fix typos; NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255163 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agounique_ptrify some collections in FileManager
David Blaikie [Wed, 9 Dec 2015 17:23:13 +0000 (17:23 +0000)]
unique_ptrify some collections in FileManager

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255129 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Hexagon] Use integrated assembler by default
Krzysztof Parzyszek [Wed, 9 Dec 2015 16:34:24 +0000 (16:34 +0000)]
[Hexagon] Use integrated assembler by default

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255127 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoclang-format: Improve documentation of AlignOperands.
Daniel Jasper [Wed, 9 Dec 2015 07:56:52 +0000 (07:56 +0000)]
clang-format: Improve documentation of AlignOperands.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255099 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoReformat linefeeds.
NAKAMURA Takumi [Wed, 9 Dec 2015 07:52:46 +0000 (07:52 +0000)]
Reformat linefeeds.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255098 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert r255001, "Add parse and sema for OpenMP distribute directive and all its claus...
NAKAMURA Takumi [Wed, 9 Dec 2015 04:35:57 +0000 (04:35 +0000)]
Revert r255001, "Add parse and sema for OpenMP distribute directive and all its clauses excluding dist_schedule."

It causes memory leak. Some tests in test/OpenMP would fail.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255094 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Basic] Rangify two for loops. NFC.
Vedant Kumar [Wed, 9 Dec 2015 01:44:02 +0000 (01:44 +0000)]
[Basic] Rangify two for loops. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255091 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PPC64, TSAN] Enable thread sanitizer for PPC64
Bill Schmidt [Tue, 8 Dec 2015 22:48:02 +0000 (22:48 +0000)]
[PPC64, TSAN] Enable thread sanitizer for PPC64

Patch by Simone Atzeni.

This enables the -fsanitize=thread flag for PPC64 and PPC64LE.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255067 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoObjective-C properties: fix bogus use of "isa<>" on a QualType.
Douglas Gregor [Tue, 8 Dec 2015 22:45:17 +0000 (22:45 +0000)]
Objective-C properties: fix bogus use of "isa<>" on a QualType.

The code used "isa" to check the type and then "getAs" to look through
sugar; we need to look through the sugar when checking, too, otherwise
any kind of sugar (nullability qualifiers in the example; or a
typedef) will thwart this semantic check. Fixes rdar://problem/23804250.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255066 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoModule file extensions: pass a Sema through to the extension writer.
Douglas Gregor [Tue, 8 Dec 2015 22:43:32 +0000 (22:43 +0000)]
Module file extensions: pass a Sema through to the extension writer.

Module file extensions are likely to need access to
Sema/Preprocessor/ASTContext, and cannot get it through other
sources.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255065 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Sema] Add warning when comparing nonnull and null
George Burgess IV [Tue, 8 Dec 2015 22:02:00 +0000 (22:02 +0000)]
[Sema] Add warning when comparing nonnull and null

Currently, we emit warnings in some cases where nonnull function
parameters are compared against null. This patch extends this support
to warn when comparing the result of `returns_nonnull` functions
against null.

More specifically, we will now warn cases like:

int *foo() __attribute__((returns_nonnull));
int main() {
  if (foo() == NULL) {} // warning: will always evaluate to false
}

Differential Revision: http://reviews.llvm.org/D15324

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255058 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][AVX2] Stripped backend codegen tests
Simon Pilgrim [Tue, 8 Dec 2015 21:16:45 +0000 (21:16 +0000)]
[X86][AVX2] Stripped backend codegen tests

As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible.

The llvm tests will (re)added in a future commit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255050 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUse range loops and autos in utils/TableGen/ClangAttrEmitter.cpp and generated code.
Eugene Zelenko [Tue, 8 Dec 2015 18:49:01 +0000 (18:49 +0000)]
Use range loops and autos in utils/TableGen/ClangAttrEmitter.cpp and generated code.

Differential revision: http://reviews.llvm.org/D15313

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255042 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUse range loops and autos in lib/Serialization/ASTWriter.cpp.
Eugene Zelenko [Tue, 8 Dec 2015 18:00:11 +0000 (18:00 +0000)]
Use range loops and autos in lib/Serialization/ASTWriter.cpp.

Differential revision: http://reviews.llvm.org/D15311

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255033 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdate clang-format-vs README
Hans Wennborg [Tue, 8 Dec 2015 17:54:27 +0000 (17:54 +0000)]
Update clang-format-vs README

VS2013 is requried after r231084.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255029 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[x86][avx512] more changes in intrinsics to be align with gcc format
Asaf Badouh [Tue, 8 Dec 2015 12:34:38 +0000 (12:34 +0000)]
[x86][avx512] more changes in intrinsics to be align with gcc format

Differential Revision: http://reviews.llvm.org/D15328

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255012 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP 4.5] Parsing/sema for 'num_tasks' clause.
Alexey Bataev [Tue, 8 Dec 2015 12:06:20 +0000 (12:06 +0000)]
[OPENMP 4.5] Parsing/sema for 'num_tasks' clause.
OpenMP 4.5 adds directives 'taskloop' and 'taskloop simd'. These directives support clause 'num_tasks'. Patch adds parsing/semantic analysis for this clause.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255008 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoReplace bitwise AND with logical AND in an expression that already had another logica...
Craig Topper [Tue, 8 Dec 2015 06:49:15 +0000 (06:49 +0000)]
Replace bitwise AND with logical AND in an expression that already had another logical AND. NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255006 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Sema] Remove tab characters. NFC
Craig Topper [Tue, 8 Dec 2015 04:33:04 +0000 (04:33 +0000)]
[Sema] Remove tab characters. NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255004 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd parse and sema for OpenMP distribute directive and all its clauses excluding...
Carlo Bertolli [Tue, 8 Dec 2015 04:21:03 +0000 (04:21 +0000)]
Add parse and sema for OpenMP distribute directive and all its clauses excluding dist_schedule.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255001 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoExplicitly permit undefined behavior in constant initializers for global
Richard Smith [Tue, 8 Dec 2015 03:21:47 +0000 (03:21 +0000)]
Explicitly permit undefined behavior in constant initializers for global
variables in C, in the cases where we can constant-fold it to a value
regardless (such as floating-point division by zero and signed integer
overflow). Strictly enforcing this rule breaks too much code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254992 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoReplace a bunch of duplicate conditions with the call from types::.
Eric Christopher [Tue, 8 Dec 2015 02:10:19 +0000 (02:10 +0000)]
Replace a bunch of duplicate conditions with the call from types::.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254986 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRemove name from FIXME.
Eric Christopher [Tue, 8 Dec 2015 01:59:51 +0000 (01:59 +0000)]
Remove name from FIXME.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254985 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdate comment to reflect that we use other tools via the toolchain to
Eric Christopher [Tue, 8 Dec 2015 01:59:47 +0000 (01:59 +0000)]
Update comment to reflect that we use other tools via the toolchain to
handle more than just C.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254984 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[diagnostics] Avoid crashes while printing macro backtraces
Reid Kleckner [Tue, 8 Dec 2015 01:08:09 +0000 (01:08 +0000)]
[diagnostics] Avoid crashes while printing macro backtraces

When attempting to map a source into a given level of macro expansion,
this code was ignoring the possibility that the start and end of the
range might take wildly different paths through the tree of macro
expansions. It was assuming that the begin spelling location would
always precede the end spelling location, which is false. A macro can
easily transpose its arguments.

This also fixes a related issue where there are extra macro arguments
between the begin location and the end location. In this situation, we
now highlight the entire macro invocation.

Pair programmed with Richard Smith.

Fixes PR12818.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254981 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago80-column fixup.
Eric Christopher [Tue, 8 Dec 2015 00:10:13 +0000 (00:10 +0000)]
80-column fixup.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254973 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdate comment.
Eric Christopher [Tue, 8 Dec 2015 00:10:10 +0000 (00:10 +0000)]
Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254972 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[analyzer] Fix crash when lambda captures a variable-length array.
Devin Coughlin [Mon, 7 Dec 2015 23:01:53 +0000 (23:01 +0000)]
[analyzer] Fix crash when lambda captures a variable-length array.

When a C++ lambda captures a variable-length array, it creates a capture
field to store the size of the array. The initialization expression for this
capture is null, which led the analyzer to crash when initializing the field.
To avoid this, use the size expression from the VLA type to determine the
initialization value.

rdar://problem/23748072

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254962 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd llvm-objdump to compiler-rt test deps.
Alexey Samsonov [Mon, 7 Dec 2015 22:45:36 +0000 (22:45 +0000)]
Add llvm-objdump to compiler-rt test deps.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254961 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago80-col and whitespace fixups.
Eric Christopher [Mon, 7 Dec 2015 22:43:05 +0000 (22:43 +0000)]
80-col and whitespace fixups.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254958 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRemove target specifier from new tests
Teresa Johnson [Mon, 7 Dec 2015 20:40:36 +0000 (20:40 +0000)]
Remove target specifier from new tests

Hopefully fix the remaining bot failure from r254927. Remove
target specification since it shouldn't be needed, and this causes
an error when trying to check the pass execution structure in
test/CodeGen/thinlto_backend.c on non-x86 arches.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254940 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdjust test to fix bot error from r254927.
Teresa Johnson [Mon, 7 Dec 2015 20:26:57 +0000 (20:26 +0000)]
Adjust test to fix bot error from r254927.

Remove the part of the error message that may vary across systems.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254938 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAST: defer to TypeLoc::copy in TypeLoc::initializeFullCopy
Justin Bogner [Mon, 7 Dec 2015 20:04:57 +0000 (20:04 +0000)]
AST: defer to TypeLoc::copy in TypeLoc::initializeFullCopy

If we're initializing a TypeLoc from one that's been allocated with
different alignment, memcpy will get the padding wrong. The `copy`
method already checks and handles this case, so we should just defer
to it.

This also drops the `const` off of the `initializeFullCopy`
declarations, since it isn't even remotely true (and the compiler
notices when we try to call copy() instead of tricking it with
memcpy).

Fixes llvm.org/pr23516.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254935 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoclang-format: Make wrapping after "./->" cheaper, even if the element
Daniel Jasper [Mon, 7 Dec 2015 19:50:48 +0000 (19:50 +0000)]
clang-format: Make wrapping after "./->" cheaper, even if the element
before it is not a closing parenthesis.

Otherwise, this frequently leads to "hanging" indents that users
perceive as "weird".

Before:
  return !soooooooooooooome_map.insert(
                                   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
              .second;

After:
  return !soooooooooooooome_map
              .insert(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
              .second;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254933 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ThinLTO] Option to invoke ThinLTO backend passes and importing
Teresa Johnson [Mon, 7 Dec 2015 19:21:34 +0000 (19:21 +0000)]
[ThinLTO] Option to invoke ThinLTO backend passes and importing

Summary:
Adds new option -fthinlto-index=<file> to invoke the LTO pipeline
along with function importing via clang using the supplied function
summary index file. This supports invoking the parallel ThinLTO
backend processes in a distributed build environment via clang.

Additionally, this causes the module linker to be invoked on the bitcode
file being compiled to perform any necessary promotion and renaming of
locals that are exported via the function summary index file.

Add a couple tests that confirm we get expected errors when we try to
use the new option on a file that isn't bitcode, or specify an invalid
index file. The tests also confirm that we trigger the expected function
import pass.

Depends on D15024

Reviewers: joker.eph, dexonsmith

Subscribers: joker.eph, davidxl, cfe-commits

Differential Revision: http://reviews.llvm.org/D15025

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254927 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[avx512] rename gcc intrinsics to be align with gcc format
Asaf Badouh [Mon, 7 Dec 2015 13:14:22 +0000 (13:14 +0000)]
[avx512] rename gcc intrinsics to be align with gcc format
rename the gcc intrinsics suffix : _mask ->_round

Differential Revision: http://reviews.llvm.org/D15284

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254906 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP 4.5] parsing/sema support for 'grainsize' clause.
Alexey Bataev [Mon, 7 Dec 2015 12:52:51 +0000 (12:52 +0000)]
[OPENMP 4.5] parsing/sema support for 'grainsize' clause.
OpenMP 4.5 adds 'taksloop' and 'taskloop simd' directives, which have 'grainsize' clause. Patch adds parsing/sema analysis of this clause.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254903 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP 4.5] parsing/sema support for 'nogroup' clause.
Alexey Bataev [Mon, 7 Dec 2015 10:51:44 +0000 (10:51 +0000)]
[OPENMP 4.5] parsing/sema support for 'nogroup' clause.
OpenMP 4.5 adds 'taskloop' and 'taskloop simd' directives. These directives have new 'nogroup' clause. Patch adds basic parsing/sema support for this clause.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254899 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix PR20334: invalid assertion while diagnosing list initialization failure
Faisal Vali [Mon, 7 Dec 2015 02:37:44 +0000 (02:37 +0000)]
Fix PR20334: invalid assertion while diagnosing list initialization failure

https://llvm.org/bugs/show_bug.cgi?id=20334

Unfortunately, clang currently checks for a certain brokenness of implementations of std::initializer_list in CodeGen (void
AggExprEmitter::VisitCXXStdInitializerListExpr), not in SemaInit.  Until that is fixed, make sure we don't let broken attempts that are aggregates leak through into sema, which allows maintenance of expected invariants, and avoids triggering an assertion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254889 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PGO] Instrument only base constructors and destructors.
Serge Pavlov [Sun, 6 Dec 2015 14:32:39 +0000 (14:32 +0000)]
[PGO] Instrument only base constructors and destructors.

Constructors and destructors may be represented by several functions
in IR. Only base structors correspond to source code, others are
small pieces of code and eventually call the base variant. In this
case instrumentation of non-base structors has little sense, this
fix remove it. Now profile data of a declaration corresponds to
exactly one function in IR, it agrees with the current logic of the
profile data loading.

This change fixes PR24996.

Differential Revision: http://reviews.llvm.org/D15158

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254876 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUse llvm::make_range to reduce mentions of iterator type. NFC
Craig Topper [Sun, 6 Dec 2015 05:07:12 +0000 (05:07 +0000)]
Use llvm::make_range to reduce mentions of iterator type. NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254870 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix crash in ASTDumper when dumping NamedDecl with NULL getQualifier().
Dawn Perchik [Sat, 5 Dec 2015 22:37:55 +0000 (22:37 +0000)]
Fix crash in ASTDumper when dumping NamedDecl with NULL getQualifier().

Reviewed by: aaron.ballman
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D15254

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254867 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][3DNow!] Stripped backend codegen tests
Simon Pilgrim [Sat, 5 Dec 2015 11:12:23 +0000 (11:12 +0000)]
[X86][3DNow!] Stripped backend codegen tests

As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible.

The llvm tests will (re)added in a future commit

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254849 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdated test names to match the intrinsics being tested
Simon Pilgrim [Sat, 5 Dec 2015 11:08:51 +0000 (11:08 +0000)]
Updated test names to match the intrinsics being tested

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254848 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][F16C] Stripped backend codegen tests
Simon Pilgrim [Sat, 5 Dec 2015 10:37:35 +0000 (10:37 +0000)]
[X86][F16C] Stripped backend codegen tests

As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible.

The llvm tests will (re)added in a future commit

I will update PR24580 on this new plan

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254847 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AST] Use std::copy and std::fill to simplify some memcpy and memset calls. Also...
Craig Topper [Sat, 5 Dec 2015 07:41:44 +0000 (07:41 +0000)]
[AST] Use std::copy and std::fill to simplify some memcpy and memset calls. Also const-correct some methods being used since the std::copy catches the mismatch where memcpy didn't.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254846 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUse std::copy and std::transform instead of manual loops. NFC
Craig Topper [Sat, 5 Dec 2015 07:41:42 +0000 (07:41 +0000)]
Use std::copy and std::transform instead of manual loops. NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254845 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoPass profile version info to name API (NFC)
Xinliang David Li [Sat, 5 Dec 2015 05:37:15 +0000 (05:37 +0000)]
Pass profile version info to name API (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254839 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "[x86] Exclusion of incorrect include headers paths for MCU target"
Reid Kleckner [Sat, 5 Dec 2015 01:52:14 +0000 (01:52 +0000)]
Revert "[x86] Exclusion of incorrect include headers paths for MCU target"

This reverts commit r254195.

From the description, I suspect that the wrong patch was committed here,
and this is causing assertion failures in EmitDeferred() when the global
value ends up being a bitcast of a global.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254823 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[WebAssembly] Remove an obsolete TODO comment.
Dan Gohman [Sat, 5 Dec 2015 01:36:31 +0000 (01:36 +0000)]
[WebAssembly] Remove an obsolete TODO comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254817 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[analyzer] Fix MemRegion crash casting non-struct to derived struct (PR25426).
Devin Coughlin [Sat, 5 Dec 2015 00:22:36 +0000 (00:22 +0000)]
[analyzer] Fix MemRegion crash casting non-struct to derived struct (PR25426).

This commit prevents MemRegion::getAsOffset() from crashing when the analyzed
program casts a symbolic region of a non-record type to some derived type and
then attempts to access a field of the base type.

rdar://problem/23458069

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254806 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Docs] One more cleanup of -fsanitize= section.
Alexey Samsonov [Fri, 4 Dec 2015 23:13:14 +0000 (23:13 +0000)]
[Docs] One more cleanup of -fsanitize= section.

Describe -fsanitize-blacklist flags in separate paragraphs, move
notes about importance of clang++ for vptr down to UBSan docs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254798 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CMake] Don't build the libclang tests unless you're building libclang
Chris Bieneman [Fri, 4 Dec 2015 23:12:19 +0000 (23:12 +0000)]
[CMake] Don't build the libclang tests unless you're building libclang

This fixes a build issue reported by users at Apple.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254797 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Docs] Update MSan docs
Alexey Samsonov [Fri, 4 Dec 2015 22:50:44 +0000 (22:50 +0000)]
[Docs] Update MSan docs

Summary:
1. Move MSan-specific flags and features from user manual to MSan page.
2. Update current status / list of supported platforms.

Reviewers: eugenis, kcc

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D15246

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254788 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Docs] Move the list of CFI schemes down to CFI doc, and update it.
Alexey Samsonov [Fri, 4 Dec 2015 21:30:58 +0000 (21:30 +0000)]
[Docs] Move the list of CFI schemes down to CFI doc, and update it.

Use proper headling levels in CFI doc. Before that, all sections
were considered a subsection of "Introduction".

Reviewers: pcc, kcc

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D15237

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254771 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSmall follow-up to 254750 to get the test added there passing...
Nico Weber [Fri, 4 Dec 2015 19:35:45 +0000 (19:35 +0000)]
Small follow-up to 254750 to get the test added there passing...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254754 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix debug info for Objective-C properties from class extensions after r251874
Nico Weber [Fri, 4 Dec 2015 19:14:14 +0000 (19:14 +0000)]
Fix debug info for Objective-C properties from class extensions after r251874

After r251874, properties from class extensions no longer show up in
ObjCInterfaceDecl::properties().  Make debug info emission explicitly
look for properties in class extensions before looking at direct properties.

Also add a test that checks for this.  There are three interesting cases:

1. A property is only declared in a class extension, and the @implementation
   is in a different file.  This used to generated a DIObjcProperty before
   r251874 and does again with this fix.

2. A property is declared as readonly in the class itself and redeclared as
   readwrite in a class extension. clang before r251874 put the DIObjcProperty
   on the first declaration. clang after r251874 didn't emit any DIObjcProperty,
   and clang with this fix puts it on the readwrite redeclaration (which is
   what lookup finds).  This seems like a progression.

3. Like 2, but with an @implementation in the same file.  In this case,
   the property debug info gets generated a second time through the ivar
   from the definition.  In this case, lookup and declaration code need
   to agree on the line number so that the DIObjcProperty isn't emitted
   twice.  In this case, clang before r251874 emitted one DIObjcProperty
   on the first declaration, clang with r251874 emitted one on the second
   declaration, and clang with this patch still does the latter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254750 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Docs] Remove false claim: UBSan can also be combined with TSan/MSan.
Alexey Samsonov [Fri, 4 Dec 2015 17:35:47 +0000 (17:35 +0000)]
[Docs] Remove false claim: UBSan can also be combined with TSan/MSan.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254734 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoClang documentation for UBSan.
Alexey Samsonov [Fri, 4 Dec 2015 17:30:29 +0000 (17:30 +0000)]
Clang documentation for UBSan.

Summary:
Create a separate page describing UBSan tool, move the description of
fine-grained checks there, provide extra information about supported
platforms, symbolization etc. This text is compiled from four parts:

* Existing documentation copied from User's Manual
* Layout used in documentation for another sanitizers (ASan, MSan etc.)
* Text written from scratch
* Small parts taken from Michael Morrison's attempt at creating UBSan
  page:
  http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20141215/249503.html

Reviewers: kcc, rsmith, silvas

Subscribers: tberghammer, danalbert, srhines, kcc

Differential Revision: http://reviews.llvm.org/D15217

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254733 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PS4] Add an additional test for ASan+UBSan
Filipe Cabecinhas [Fri, 4 Dec 2015 16:18:03 +0000 (16:18 +0000)]
[PS4] Add an additional test for ASan+UBSan

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254723 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[analyzer] Improve modelling of nullptr_t in the analyzer. Fix PR25414.
Gabor Horvath [Fri, 4 Dec 2015 15:02:30 +0000 (15:02 +0000)]
[analyzer] Improve modelling of nullptr_t in the analyzer. Fix PR25414.

Differential Revision: http://reviews.llvm.org/D15007

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254718 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix an unused variable warning in released builds. While there use 'auto' to simplify...
Craig Topper [Fri, 4 Dec 2015 05:27:29 +0000 (05:27 +0000)]
Fix an unused variable warning in released builds. While there use 'auto' to simplify code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254704 91177308-0d34-0410-b5e6-96231b3b80d8