]> granicus.if.org Git - clang/log
clang
8 years ago[analyzer] A fix for substraction of an integer from a pointer.
Gabor Horvath [Fri, 18 Sep 2015 19:13:22 +0000 (19:13 +0000)]
[analyzer] A fix for substraction of an integer from a pointer.

Patch by Artem Dergachev!

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

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

8 years ago[CMake] Set CLANG_LINKS_TO_CREATE in Apple-stage2.cmake so that we create cc and...
Chris Bieneman [Fri, 18 Sep 2015 18:11:18 +0000 (18:11 +0000)]
[CMake] Set CLANG_LINKS_TO_CREATE in Apple-stage2.cmake so that we create cc and c++ links.

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

8 years ago[CMake] Refactoring and cleaning up clang symlink generation.
Chris Bieneman [Fri, 18 Sep 2015 18:09:15 +0000 (18:09 +0000)]
[CMake] Refactoring and cleaning up clang symlink generation.

Generation of clang symlinks now uses add_clang_symlink macro which uses add_llvm_symlink. Also the list of symlinks to generate is configurable via CLANG_LINKS_TO_CREATE.

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

8 years agoclang-cl: Use 'pc' for the vendor field in the default triple
Hans Wennborg [Fri, 18 Sep 2015 17:11:50 +0000 (17:11 +0000)]
clang-cl: Use 'pc' for the vendor field in the default triple

Leaving it unset can make the triple look confusing, especially
when using -m32 or -m64.

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

8 years ago[Static Analyzer] Use generics related information to infer dynamic types.
Gabor Horvath [Fri, 18 Sep 2015 16:43:27 +0000 (16:43 +0000)]
[Static Analyzer] Use generics related information to infer dynamic types.

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

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

8 years agoSuppress amdgpu-toolchain.c for targeting ps4, for now. Investigating.
NAKAMURA Takumi [Fri, 18 Sep 2015 16:21:27 +0000 (16:21 +0000)]
Suppress amdgpu-toolchain.c for targeting ps4, for now. Investigating.

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

8 years ago[analyzer] Update links to developer.apple.com.
Jordan Rose [Fri, 18 Sep 2015 16:12:16 +0000 (16:12 +0000)]
[analyzer] Update links to developer.apple.com.

The content at the new links is /also/ a little dated, but that's our
(Apple's) problem.

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

8 years agoamdgpu-toolchain.c: Add a probe line temporally. Will revert later.
NAKAMURA Takumi [Fri, 18 Sep 2015 15:56:16 +0000 (15:56 +0000)]
amdgpu-toolchain.c: Add a probe line temporally. Will revert later.

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

8 years agoUse None instead of an explicit constructor.
Douglas Katzman [Fri, 18 Sep 2015 15:23:16 +0000 (15:23 +0000)]
Use None instead of an explicit constructor.

And remove a needless 'const' since ArrayRef is immutable.
Both as suggested by dblaikie on cfe-commits.

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

8 years agoPass the relocation model to LLVM for assembler files.
Joerg Sonnenberger [Fri, 18 Sep 2015 11:13:43 +0000 (11:13 +0000)]
Pass the relocation model to LLVM for assembler files.

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

8 years agoclang/test/lit.cfg: *-ps4 doesn't have appropriate driver yet. Mark it as "non-clang...
NAKAMURA Takumi [Fri, 18 Sep 2015 08:11:36 +0000 (08:11 +0000)]
clang/test/lit.cfg: *-ps4 doesn't have appropriate driver yet. Mark it as "non-clang-driver".

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

8 years ago[OPENMP 4.0] Add 'if' clause for 'cancel' directive.
Alexey Bataev [Fri, 18 Sep 2015 08:07:34 +0000 (08:07 +0000)]
[OPENMP 4.0] Add 'if' clause for 'cancel' directive.
Add parsing, sema analysis and codegen for 'if' clause in 'cancel' directive.

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

8 years agoFix for assertion fail for pragma weak on typedef.
Alexander Musman [Fri, 18 Sep 2015 07:40:22 +0000 (07:40 +0000)]
Fix for assertion fail for pragma weak on typedef.
Example:
typedef int __td3;
#pragma weak td3 = __td3

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

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

8 years agoDriver: avoid unnecessary string based operations
Saleem Abdulrasool [Fri, 18 Sep 2015 05:32:23 +0000 (05:32 +0000)]
Driver: avoid unnecessary string based operations

Use an enumeration and change the use of the FloatABI from a string to the
enumeration.  This avoids the use of string values to represent an enumeration.
NFC.

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

8 years ago[Concepts] Moving tests to match the corresponding section of the TS
Nathan Wilson [Fri, 18 Sep 2015 02:50:53 +0000 (02:50 +0000)]
[Concepts] Moving tests to match the corresponding section of the TS

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

8 years agoclang/test/Driver/myriad-toolchain.c: Tweak for DOSish path.
NAKAMURA Takumi [Fri, 18 Sep 2015 01:02:50 +0000 (01:02 +0000)]
clang/test/Driver/myriad-toolchain.c: Tweak for DOSish path.

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

8 years ago[Myriad]: add "<sysroot>/include" to standard search path
Douglas Katzman [Thu, 17 Sep 2015 21:20:16 +0000 (21:20 +0000)]
[Myriad]: add "<sysroot>/include" to standard search path

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

8 years agoSupport __builtin_ms_va_list.
Charles Davis [Thu, 17 Sep 2015 20:55:33 +0000 (20:55 +0000)]
Support __builtin_ms_va_list.

Summary:
This change adds support for `__builtin_ms_va_list`, a GCC extension for
variadic `ms_abi` functions. The existing `__builtin_va_list` support is
inadequate for this because `va_list` is defined differently in the Win64
ABI vs. the System V/AMD64 ABI.

Depends on D1622.

Reviewers: rsmith, rnk, rjmccall

CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D1623

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

8 years agoUsing MD_invariant_group
Piotr Padlewski [Thu, 17 Sep 2015 20:25:46 +0000 (20:25 +0000)]
Using MD_invariant_group

http://reviews.llvm.org/D12927

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

8 years agoTry to unbreak windows compiler after r247926.
Douglas Katzman [Thu, 17 Sep 2015 20:25:09 +0000 (20:25 +0000)]
Try to unbreak windows compiler after r247926.

It might not like {} implicitly cast to an Arrayref.
That's the theory, since I can't test it.

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

8 years agoFixed the comment to match reality.
Artem Belevich [Thu, 17 Sep 2015 20:19:33 +0000 (20:19 +0000)]
Fixed the comment to match reality.

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

8 years ago[Shave]: Rename test file from 'shave-' to 'myriad-'
Douglas Katzman [Thu, 17 Sep 2015 20:00:09 +0000 (20:00 +0000)]
[Shave]: Rename test file from 'shave-' to 'myriad-'

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

8 years ago[Shave]: Drive sparc-myriad-elf-ld directly rather than via gcc.
Douglas Katzman [Thu, 17 Sep 2015 19:56:40 +0000 (19:56 +0000)]
[Shave]: Drive sparc-myriad-elf-ld directly rather than via gcc.

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

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

8 years ago[CMake] Add install-clang target to install just the clang executable
Chris Bieneman [Thu, 17 Sep 2015 18:30:20 +0000 (18:30 +0000)]
[CMake] Add install-clang target to install just the clang executable

For the llvm-tools we're generating install-${tool} targets which are very useful. We should have one for clang too.

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

8 years agoUse the MSVC SEH personalities on Mingw
Reid Kleckner [Thu, 17 Sep 2015 17:04:13 +0000 (17:04 +0000)]
Use the MSVC SEH personalities on Mingw

Mingw generally wraps an old copy of msvcrt.dll which has these
personalities, so things should work out, or so I hear. I haven't tested
it.

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

8 years agocreateOutputFile should set Error to something if it returns null.
Douglas Katzman [Thu, 17 Sep 2015 16:45:12 +0000 (16:45 +0000)]
createOutputFile should set Error to something if it returns null.

This is not portably unit-testable because the only visible
effect is a change from one random message string to another.

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

8 years agoFix a typo.
Adrian Prantl [Thu, 17 Sep 2015 15:58:54 +0000 (15:58 +0000)]
Fix a typo.

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

8 years agore-apply r.247881
Asaf Badouh [Thu, 17 Sep 2015 14:53:37 +0000 (14:53 +0000)]
re-apply r.247881
fixed the tests.

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

8 years agoUpdate the 3.8 release notes with the breaking change information regarding AST matchers.
Aaron Ballman [Thu, 17 Sep 2015 13:47:22 +0000 (13:47 +0000)]
Update the 3.8 release notes with the breaking change information regarding AST matchers.

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

8 years agoRename AST node matchers to match the AST node names directly. Part of this rename...
Aaron Ballman [Thu, 17 Sep 2015 13:30:52 +0000 (13:30 +0000)]
Rename AST node matchers to match the AST node names directly. Part of this rename also splits recordDecl() (which used to match CXXRecordDecl) into recordDecl() (that matches RecordDecl) and cxxRecordDecl (that matches CXXRecordDecl). Also adds isStruct(), isUnion(), and isClass() narrowing matchers for RecordDecl objects.

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

8 years agorevert r.247881 due to tests failures
Asaf Badouh [Thu, 17 Sep 2015 13:09:33 +0000 (13:09 +0000)]
revert r.247881 due to tests failures

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

8 years agoAppease clang/test/CodeGen/avx512dq-builtins.c for -Asserts, for now.
NAKAMURA Takumi [Thu, 17 Sep 2015 12:33:34 +0000 (12:33 +0000)]
Appease clang/test/CodeGen/avx512dq-builtins.c for -Asserts, for now.

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

8 years ago[X86][AVX512DQ] add new intrinsics
Asaf Badouh [Thu, 17 Sep 2015 11:56:04 +0000 (11:56 +0000)]
[X86][AVX512DQ] add new intrinsics
convert i64 to FP and vice versa
reduceps & reducepd
rangeps & rangepd
all in their 512bit versions

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

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

8 years agoUpdating docs for MSan to describe poison-in-dtor.
Naomi Musgrave [Thu, 17 Sep 2015 00:10:59 +0000 (00:10 +0000)]
Updating docs for MSan to describe poison-in-dtor.

Summary:
Describe the compile and runtime flags to enable MemorySanitizer
detection of use-after-destroy.

Reviewers: eugenis

Subscribers: llvm-commits

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

Revise doc description of use-after-dtor.

Change wording to specify memory no longer readable.

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

8 years agoanalyzer-plugin/MainCallChecker.cpp: s/generateSink/generateErrorNode/, corresponding...
NAKAMURA Takumi [Wed, 16 Sep 2015 22:57:23 +0000 (22:57 +0000)]
analyzer-plugin/MainCallChecker.cpp: s/generateSink/generateErrorNode/, corresponding to r247859.

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

8 years ago[Static Analyzer] Generics Checker: When an ObjC method returns a specialized object...
Gabor Horvath [Wed, 16 Sep 2015 22:44:36 +0000 (22:44 +0000)]
[Static Analyzer] Generics Checker: When an ObjC method returns a specialized object, track it properly.

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

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

8 years ago[analyzer] Add generateErrorNode() APIs to CheckerContext.
Devin Coughlin [Wed, 16 Sep 2015 22:03:05 +0000 (22:03 +0000)]
[analyzer] Add generateErrorNode() APIs to CheckerContext.

The analyzer trims unnecessary nodes from the exploded graph before reporting
path diagnostics. However, in some cases it can trim all nodes (including the
error node), leading to an assertion failure (see
https://llvm.org/bugs/show_bug.cgi?id=24184).

This commit addresses the issue by adding two new APIs to CheckerContext to
explicitly create error nodes. Unless the client provides a custom tag, these
APIs tag the node with the checker's tag -- preventing it from being trimmed.
The generateErrorNode() method creates a sink error node, while
generateNonFatalErrorNode() creates an error node for a path that should
continue being explored.

The intent is that one of these two methods should be used whenever a checker
creates an error node.

This commit updates the checkers to use these APIs. These APIs
(unlike addTransition() and generateSink()) do not take an explicit Pred node.
This is because there are not any error nodes in the checkers that were created
with an explicit different than the default (the CheckerContext's Pred node).

It also changes generateSink() to require state and pred nodes (previously
these were optional) to reduce confusion.

Additionally, there were several cases where checkers did check whether a
generated node could be null; we now explicitly check for null in these places.

This commit also includes a test case written by Ying Yi as part of
http://reviews.llvm.org/D12163 (that patch originally addressed this issue but
was reverted because it introduced false positive regressions).

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

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

8 years ago[WinEH] Fix a build issue in CGException.cpp
Reid Kleckner [Wed, 16 Sep 2015 21:06:09 +0000 (21:06 +0000)]
[WinEH] Fix a build issue in CGException.cpp

I was constructing an object without filling in all the fields.

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

8 years ago[WinEH] Pass the catch adjectives to catchpad directly
Reid Kleckner [Wed, 16 Sep 2015 20:15:55 +0000 (20:15 +0000)]
[WinEH] Pass the catch adjectives to catchpad directly

This avoids building a fake LLVM IR global variable just to ferry an i32
down into LLVM codegen. It also puts a nail in the coffin of using MS
ABI C++ EH with landingpads, since now we'll assert in the lpad code
when flags are present.

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

8 years ago[tooling] Add unit tests for change in r247468.
Argyrios Kyrtzidis [Wed, 16 Sep 2015 18:28:42 +0000 (18:28 +0000)]
[tooling] Add unit tests for change in r247468.

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

8 years ago[analyzer] Improved behavior if Clang was not found, part II
Anton Yartsev [Wed, 16 Sep 2015 18:12:15 +0000 (18:12 +0000)]
[analyzer] Improved behavior if Clang was not found, part II

- scan-build help: display 'Could not query Clang for the list of available checkers.' + the reason why it happened so if clang was not found.
- display requested/forced help in case of --use-analyzer=Xcode.

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

8 years ago[sanitizers] Enable memory sanitizer on clang
Adhemerval Zanella [Wed, 16 Sep 2015 15:11:21 +0000 (15:11 +0000)]
[sanitizers] Enable memory sanitizer on clang

This patch enables MSan for aarch64/linux

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

8 years agoCGClass.cpp: Fix a warning in -Asserts. [-Wunused-private-field]
NAKAMURA Takumi [Wed, 16 Sep 2015 06:26:56 +0000 (06:26 +0000)]
CGClass.cpp: Fix a warning in -Asserts. [-Wunused-private-field]

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

8 years ago[analyzer] SATestBuild.py: Move additional checkers logic so SATestAdd.py can use...
Devin Coughlin [Wed, 16 Sep 2015 01:52:32 +0000 (01:52 +0000)]
[analyzer] SATestBuild.py: Move additional checkers logic so SATestAdd.py can use it as well.

Move the logic looking for additional checkers in the SA_ADDITIONAL_CHECKERS
environmental variable from SATestBuild's main() to runScanBuild(). This allows
SATestAdd.py to use the variable as well. Without it, we won't include
additional checkers when building reference results for the build bot.

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

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

8 years ago[modules] Fix a corner case in the macro override rules: properly handle overridden...
Richard Smith [Wed, 16 Sep 2015 00:55:50 +0000 (00:55 +0000)]
[modules] Fix a corner case in the macro override rules: properly handle overridden leaf module macros.

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

8 years agoImplementation and testing for poisoning vtable
Naomi Musgrave [Wed, 16 Sep 2015 00:38:22 +0000 (00:38 +0000)]
Implementation and testing for poisoning vtable
ptr in dtor.

Summary:
After destruction, invocation of virtual functions prevented
by poisoning vtable pointer.

Reviewers: eugenis, kcc

Subscribers: cfe-commits

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

Fixed testing callback emission order to account for vptr.
Poison vtable in either complete or base dtor, depending on
if virtual bases exist. If virtual bases exist, poison in
complete dtor. Otherwise, poison in base.
Remove commented-out block.

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

8 years agoclang/test/CodeGenCXX/exceptions-cxx-new.cpp: Don't assume the label "entry:".
NAKAMURA Takumi [Wed, 16 Sep 2015 00:33:59 +0000 (00:33 +0000)]
clang/test/CodeGenCXX/exceptions-cxx-new.cpp: Don't assume the label "entry:".

Seems it would be redundant.

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

8 years agoRemove accidental superfluous newline added in r247750.
Nico Weber [Tue, 15 Sep 2015 23:51:08 +0000 (23:51 +0000)]
Remove accidental superfluous newline added in r247750.

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

8 years agoclang-format: In Java, `assert` is followed by an expression.
Nico Weber [Tue, 15 Sep 2015 23:48:17 +0000 (23:48 +0000)]
clang-format: In Java, `assert` is followed by an expression.

Before: assert a&& b;
Now:    assert a && b;

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

8 years agoTry to appease the build bots
David Majnemer [Tue, 15 Sep 2015 23:34:59 +0000 (23:34 +0000)]
Try to appease the build bots

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

8 years ago[MS ABI] Add a C++ test for -fnew-ms-eh
David Majnemer [Tue, 15 Sep 2015 23:30:42 +0000 (23:30 +0000)]
[MS ABI] Add a C++ test for -fnew-ms-eh

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

8 years agoDon't crash when passing &@selector to a _Nonnull parameter. Fixes PR24774.
Nico Weber [Tue, 15 Sep 2015 23:17:17 +0000 (23:17 +0000)]
Don't crash when passing &@selector to a _Nonnull parameter. Fixes PR24774.

The root cause here is that ObjCSelectorExpr is an rvalue, yet it can have its
address taken.  That's kind of awkward, but fixing this is awkward in other
ways, see https://llvm.org/bugs/show_bug.cgi?id=24774#c16 .  For now, just
fix the crash.

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

8 years ago[Static Analyzer] Added an XFAIL test for inlining when the type inference involves...
Gabor Horvath [Tue, 15 Sep 2015 23:14:01 +0000 (23:14 +0000)]
[Static Analyzer] Added an XFAIL test for inlining when the type inference involves generic types.

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

8 years agoinvariant.group-for-vptrs test fix
Piotr Padlewski [Tue, 15 Sep 2015 23:04:47 +0000 (23:04 +0000)]
invariant.group-for-vptrs test fix

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

8 years ago[CMake] Add cache scripts for Apple-style clang builds.
Chris Bieneman [Tue, 15 Sep 2015 21:52:42 +0000 (21:52 +0000)]
[CMake] Add cache scripts for Apple-style clang builds.

Summary:
These CMake cache scripts are my first pass at replicating Apple's packaging logic from autoconf. They can be used on any Darwin machine to approximate an Apple Clang build.

The included README file includes documentation and a sample CMake invocation.

Reviewers: chandlerc, echristo

Subscribers: echristo, cfe-commits

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

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

8 years agoDecorating vptr load & stores with !invariant.group
Piotr Padlewski [Tue, 15 Sep 2015 21:46:55 +0000 (21:46 +0000)]
Decorating vptr load & stores with !invariant.group

Adding !invariant.group to vptr load/stores for devirtualization purposes.
For more goto:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html

http://reviews.llvm.org/D12026

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

8 years agoAdded llvm.module flag for strict vtable pointers
Piotr Padlewski [Tue, 15 Sep 2015 21:46:50 +0000 (21:46 +0000)]
Added llvm.module flag for strict vtable pointers

It is dangerous to do LTO on code with strict-vtable-pointers, because
one module has invariant.group.barriers, and the other one not.

In the future I want to just strip all invariant.group metadata from
vptrs loads/stores and get rid of invariant.group.barrier calls.

http://reviews.llvm.org/D12580

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

8 years agoEmiting llvm.invariant.group.barrier when dynamic type changes
Piotr Padlewski [Tue, 15 Sep 2015 21:46:47 +0000 (21:46 +0000)]
Emiting llvm.invariant.group.barrier when dynamic type changes

For more goto:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html

http://reviews.llvm.org/D12312

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

8 years agoMS ABI: Don't allow dllexport/import on lambdas
Hans Wennborg [Tue, 15 Sep 2015 21:05:30 +0000 (21:05 +0000)]
MS ABI: Don't allow dllexport/import on lambdas

This is to follow up on David's comment in
http://reviews.llvm.org/D12422#235509

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

8 years agoAdd test coverage for @encode(SEL); completely untested until now.
Nico Weber [Tue, 15 Sep 2015 20:05:20 +0000 (20:05 +0000)]
Add test coverage for @encode(SEL); completely untested until now.

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

8 years agoAllow static local variables specified on data-sharing attribute clauses.
Kelvin Li [Tue, 15 Sep 2015 18:56:58 +0000 (18:56 +0000)]
Allow static local variables specified on data-sharing attribute clauses.

http://reviews.llvm.org/D11619

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

8 years ago[modules] Make sure we make hidden UsingShadowDecls visible to redeclaration
Richard Smith [Tue, 15 Sep 2015 18:51:56 +0000 (18:51 +0000)]
[modules] Make sure we make hidden UsingShadowDecls visible to redeclaration
lookup for the UsingShadowDecls themselves.

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

8 years agoRebase tests after LLVM r247707.
Nico Weber [Tue, 15 Sep 2015 18:49:51 +0000 (18:49 +0000)]
Rebase tests after LLVM r247707.

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

8 years ago[OPENMP] Emit an additional note during analysis of 'if' clause.
Alexey Bataev [Tue, 15 Sep 2015 17:23:56 +0000 (17:23 +0000)]
[OPENMP] Emit an additional note during analysis of 'if' clause.
Patch adds emission of additional note for 'if' clauses with name modifiers in case if 'if' clause without name modified was specified or 'if' clause with the same name modifier was specified.

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

8 years agoRevert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related...
Daniel Sanders [Tue, 15 Sep 2015 16:17:27 +0000 (16:17 +0000)]
Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.

Eric has replied and has demanded the patch be reverted.

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

8 years agoMention that libcxx is required to build Compiler-RT tests on OS X.
Yury Gribov [Tue, 15 Sep 2015 15:05:47 +0000 (15:05 +0000)]
Mention that libcxx is required to build Compiler-RT tests on OS X.

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

8 years agoSilencing a -Wreturn-type warning; NFC.
Aaron Ballman [Tue, 15 Sep 2015 14:11:32 +0000 (14:11 +0000)]
Silencing a -Wreturn-type warning; NFC.

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

8 years agoRe-commit r247683: Replace Triple with a new TargetTuple in MCTargetDesc/* and relate...
Daniel Sanders [Tue, 15 Sep 2015 14:08:28 +0000 (14:08 +0000)]
Re-commit r247683: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.

Summary:
This is the first patch in the series to migrate Triple's (which are ambiguous)
to TargetTuple's (which aren't).

For the moment, TargetTuple simply passes all requests to the Triple object it
holds. Once it has replaced Triple, it will start to implement the interface in
a more suitable way.

This change makes some changes to the public C++ API. In particular,
InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer()
now take TargetTuples instead of Triples. The other public C++ API's have
been left as-is for the moment to reduce patch size.

This commit also contains a trivial patch to clang to account for the C++ API
change. Thanks go to Pavel Labath for fixing LLDB for me.

Reviewers: rengolin

Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin

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

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

8 years agoRevert r247684 - Replace Triple with a new TargetTuple ...
Daniel Sanders [Tue, 15 Sep 2015 13:46:21 +0000 (13:46 +0000)]
Revert r247684 - Replace Triple with a new TargetTuple ...

LLDB needs to be updated in the same commit.

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

8 years agoReplace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Daniel Sanders [Tue, 15 Sep 2015 13:17:40 +0000 (13:17 +0000)]
Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.

Summary:
This is the first patch in the series to migrate Triple's (which are ambiguous)
to TargetTuple's (which aren't).

For the moment, TargetTuple simply passes all requests to the Triple object it
holds. Once it has replaced Triple, it will start to implement the interface in
a more suitable way.

This change makes some changes to the public C++ API. In particular,
InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer()
now take TargetTuples instead of Triples. The other public C++ API's have
been left as-is for the moment to reduce patch size.

This commit also contains a trivial patch to clang to account for the C++ API
change.

Reviewers: rengolin

Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin

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

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

8 years ago[OPENMP] Emit __kmpc_cancel_barrier() and code for 'cancellation point' only if ...
Alexey Bataev [Tue, 15 Sep 2015 12:52:43 +0000 (12:52 +0000)]
[OPENMP] Emit __kmpc_cancel_barrier() and code for 'cancellation point' only if 'cancel' is found.
Patch improves codegen for OpenMP constructs. If the OpenMP region does not have internal 'cancel' construct, a call to 'void __kmpc_barrier()' runtime function is generated for all implicit/explicit barriers. If the region has inner 'cancel' directive, then
```
if (__kmpc_cancel_barrier())
  exit from outer construct;
```
code is generated.
Also, the code for 'canellation point' directive is not generated if parent directive does not have 'cancel' directive.

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

8 years agoRun clang-format to unify the switch statement style as suggest here: http://reviews...
Alexey Bader [Tue, 15 Sep 2015 12:18:29 +0000 (12:18 +0000)]
Run clang-format to unify the switch statement style as suggest here: http://reviews.llvm.org/D12855#246073.

NFC.

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

8 years ago[OpenCL] Add new types for OpenCL 2.0.
Alexey Bader [Tue, 15 Sep 2015 11:18:52 +0000 (11:18 +0000)]
[OpenCL] Add new types for OpenCL 2.0.

Patch by Pedro Ferreira.
Reviewers: pekka.jaaskelainen
Differential Revision: http://reviews.llvm.org/D12855

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

8 years agoDoxygen fix InitializeBuiltins -> initializeBuiltins
Ismail Donmez [Tue, 15 Sep 2015 09:53:14 +0000 (09:53 +0000)]
Doxygen fix InitializeBuiltins -> initializeBuiltins

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

8 years agoMake clang/test/CodeGen/catch-undef-behavior.c* capable of -Asserts with "opt -instna...
NAKAMURA Takumi [Tue, 15 Sep 2015 09:50:24 +0000 (09:50 +0000)]
Make clang/test/CodeGen/catch-undef-behavior.c* capable of -Asserts with "opt -instnamer".

It reverts r231717.

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

8 years ago[analyzer] Restore behavior change introduced by r247657.
Devin Coughlin [Tue, 15 Sep 2015 03:28:27 +0000 (03:28 +0000)]
[analyzer] Restore behavior change introduced by r247657.

r247657 fixed warnings about unused variables when compiling without asserts
but changed behavior. This commit restores the old behavior but still suppresses
the warnings.

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

8 years ago[MS ABI] Restore our warning for overwide bitfields using the MS ABI
David Majnemer [Tue, 15 Sep 2015 02:36:41 +0000 (02:36 +0000)]
[MS ABI] Restore our warning for overwide bitfields using the MS ABI

This restores a diagnostic lost in r247651.

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

8 years agoExprEngineObjC.cpp: Fix warnings. [-Wunused-variable]
NAKAMURA Takumi [Tue, 15 Sep 2015 01:53:27 +0000 (01:53 +0000)]
ExprEngineObjC.cpp: Fix warnings. [-Wunused-variable]

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

8 years agoItaniumCXXABI.cpp: Fix a warning. [-Wunused-variable]
NAKAMURA Takumi [Tue, 15 Sep 2015 01:39:27 +0000 (01:39 +0000)]
ItaniumCXXABI.cpp: Fix a warning. [-Wunused-variable]

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

8 years ago[modules] A using-declaration doesn't introduce a new entity, just a new name
Richard Smith [Tue, 15 Sep 2015 01:28:55 +0000 (01:28 +0000)]
[modules] A using-declaration doesn't introduce a new entity, just a new name
for an existing entity, and as such a using-declaration doesn't need to
conflict with a hidden entity (nor vice versa).

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

8 years ago[analyzer] Skip Pre/Post handlers for ObjC calls when receiver is nil.
Devin Coughlin [Tue, 15 Sep 2015 01:13:53 +0000 (01:13 +0000)]
[analyzer] Skip Pre/Post handlers for ObjC calls when receiver is nil.

In Objective-C, method calls with nil receivers are essentially no-ops. They
do not fault (although the returned value may be garbage depending on the
declared return type and architecture). Programmers are aware of this
behavior and will complain about a false alarm when the analyzer
diagnoses API violations for method calls when the receiver is known to
be nil.

Rather than require each individual checker to be aware of this behavior
and suppress a warning when the receiver is nil, this commit
changes ExprEngineObjC so that VisitObjCMessage skips calling checker
pre/post handlers when the receiver is definitely nil. Instead, it adds a
new event, ObjCMessageNil, that is only called in that case.

The CallAndMessageChecker explicitly cares about this case, so I've changed it
to add a callback for ObjCMessageNil and moved the logic in PreObjCMessage
that handles nil receivers to the new callback.

rdar://problem/18092611

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

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

8 years ago[MS ABI] Overwide bool bitfields should be permitted
David Majnemer [Tue, 15 Sep 2015 01:00:55 +0000 (01:00 +0000)]
[MS ABI] Overwide bool bitfields should be permitted

Overwide bool bitfields have eight bits of storage size, make sure we
take the padding into account when determining whether or not they are
problematic.

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

8 years agosmall test bugfix
Piotr Padlewski [Tue, 15 Sep 2015 00:55:29 +0000 (00:55 +0000)]
small test bugfix

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

8 years agoGenerating assumption loads of vptr after ctor call (fixed)
Piotr Padlewski [Tue, 15 Sep 2015 00:37:06 +0000 (00:37 +0000)]
Generating assumption loads of vptr after ctor call (fixed)

Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.

For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html

Edit:
Fixed version because of PR24479 and other bug caused in chrome.
After this patch got reverted because of ScalarEvolution bug (D12719)
Merged after John McCall big patch (Added Address).

http://reviews.llvm.org/D11859
http://reviews.llvm.org/D12865

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

8 years agoPrevent implicit re-interpret casts between ExtVector and Scalar types.
Stephen Canon [Tue, 15 Sep 2015 00:21:56 +0000 (00:21 +0000)]
Prevent implicit re-interpret casts between ExtVector and Scalar types.

Previously, in certain cases lax vector conversions could occur between scalar floating-point values and ExtVector types; these conversions would be simple bitcasts.  We need to allow them with other vector types to support some common headers, but we don't need them for ExtVector.  Preventing them here makes them behave like other operations involving scalars and ExtVectors.

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

8 years agoclang/test/CodeGenCXX/2009-04-23-bool2.cpp: Avoid -mms-bitfields to add explicit...
NAKAMURA Takumi [Mon, 14 Sep 2015 23:50:08 +0000 (23:50 +0000)]
clang/test/CodeGenCXX/2009-04-23-bool2.cpp: Avoid -mms-bitfields to add explicit triple.

FIXME: Better way to cancel -mms-bitfields?

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

8 years ago[Solaris] Default to -fno-cxa-finalize.
Rafael Espindola [Mon, 14 Sep 2015 23:21:31 +0000 (23:21 +0000)]
[Solaris] Default to -fno-cxa-finalize.

There is no __cxa_finalize symbol available on recent Solaris OS
versions, so we need this flag to make non trivial C++ programs run.

Also stop looking for cxa_finalize.o, since it won't be there.

Patch by Xan López!

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

8 years ago[WebAssembly] Define the atomic type sizes
Dan Gohman [Mon, 14 Sep 2015 21:56:37 +0000 (21:56 +0000)]
[WebAssembly] Define the atomic type sizes

WebAssembly's spec has now been updated to specify some guarantees
about lock free atomic accesses. Update clang to match.

This also updates sig_atomic_t to be 64-bit on wasm64. WebAssembly
does not presently have asynchronous interrupts, but this change is
within the spirit of how they will work if they are added.

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

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

8 years ago[WebAssembly] Simplify code by avoiding duplicating the default behavior.
Dan Gohman [Mon, 14 Sep 2015 21:54:32 +0000 (21:54 +0000)]
[WebAssembly] Simplify code by avoiding duplicating the default behavior.

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

8 years ago[WebAssembly] Use "long long" for int_fast64_t and int_least64_t on wasm64
Dan Gohman [Mon, 14 Sep 2015 21:49:41 +0000 (21:49 +0000)]
[WebAssembly] Use "long long" for int_fast64_t and int_least64_t on wasm64

This makes int_fast64_t and int_least64_t the same type as int64_t, and
eliminates a difference between wasm32 and wasm64.

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

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

8 years agoRevert "Always_inline codegen rewrite" and 2 follow-ups.
Evgeniy Stepanov [Mon, 14 Sep 2015 21:35:16 +0000 (21:35 +0000)]
Revert "Always_inline codegen rewrite" and 2 follow-ups.

Revert "Update cxx-irgen.cpp test to allow signext in alwaysinline functions."
Revert "[CodeGen] Remove wrapper-free always_inline functions from COMDATs"
Revert "Always_inline codegen rewrite."

Reason for revert: PR24793.

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

8 years agoPR24595: Ignore calling convention modifiers for structors in MS ABI.
Andrey Bokhanko [Mon, 14 Sep 2015 21:29:57 +0000 (21:29 +0000)]
PR24595: Ignore calling convention modifiers for structors in MS ABI.

MS compiler ignores calling convention modifiers for structors. This patch makes
clang do the same (for MS ABI). This fixes PR24595 and makes vswriter.h header
(from Windows SDK 8.1) compilable.

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

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

8 years agoC11 _Bool bitfield diagnostic
Rachel Craik [Mon, 14 Sep 2015 21:27:36 +0000 (21:27 +0000)]
C11 _Bool bitfield diagnostic

Summary: Implement DR262 (for C). This patch will mainly affect bitfields of type _Bool

Reviewers: fraggamuffin, rsmith

Subscribers: hubert.reinterpretcast, cfe-commits

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

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

8 years ago[analyzer] Update SATestBuild.py to set -isysroot for preprocessed files
Devin Coughlin [Mon, 14 Sep 2015 21:22:24 +0000 (21:22 +0000)]
[analyzer] Update SATestBuild.py to set -isysroot for preprocessed files

Update the static analyzer buildbot script to set -isysroot to the OS X SDK path
when analyzing preprocessed files on OS X.

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

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

8 years ago[Static Analyzer] Turn on some nullability checks by default.
Gabor Horvath [Mon, 14 Sep 2015 20:34:06 +0000 (20:34 +0000)]
[Static Analyzer] Turn on some nullability checks by default.

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

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

8 years ago[Static Analyzer] Nullability checker optimization.
Gabor Horvath [Mon, 14 Sep 2015 20:31:46 +0000 (20:31 +0000)]
[Static Analyzer] Nullability checker optimization.

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

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

8 years agoDriver should forward at most one gdwarf-N flag to cc1as.
Douglas Katzman [Mon, 14 Sep 2015 20:31:28 +0000 (20:31 +0000)]
Driver should forward at most one gdwarf-N flag to cc1as.

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

8 years ago[Solaris] Add -lc also when linking shared libraries
Rafael Espindola [Mon, 14 Sep 2015 19:30:53 +0000 (19:30 +0000)]
[Solaris] Add -lc also when linking shared libraries

This is actually needed, otherwise libc won't be added at all. For
instance when building libclang.so all the libc symbols won't be
found, with ld warning about libc being an "implicit dependency".

Patch by Xan López!

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

8 years ago[Static Analyzer] Relaxing a caching out related assert.
Gabor Horvath [Mon, 14 Sep 2015 19:00:08 +0000 (19:00 +0000)]
[Static Analyzer] Relaxing a caching out related assert.

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

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

8 years agoFix a nasty bug with the partial destruction of nested arrays;
John McCall [Mon, 14 Sep 2015 18:57:08 +0000 (18:57 +0000)]
Fix a nasty bug with the partial destruction of nested arrays;
it escaped notice because it's only used for heterogeneous
initialization.

rdar://21397946

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