]> granicus.if.org Git - clang/log
clang
9 years ago[Modules] Fix crash in Preprocessor::getLastMacroWithSpelling().
Argyrios Kyrtzidis [Wed, 4 Mar 2015 16:03:07 +0000 (16:03 +0000)]
[Modules] Fix crash in Preprocessor::getLastMacroWithSpelling().

Macro names that got undefined inside a module may not have their MacroInfo set.

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

9 years agoRevert "[IAS] Teach -cc1as about the 'target-abi' option."
Daniel Jasper [Wed, 4 Mar 2015 15:02:22 +0000 (15:02 +0000)]
Revert "[IAS] Teach -cc1as about the 'target-abi' option."

This reverts commit 0e41c8faeff75614cf4627533331d780ba3db030.

This is breaking buildbots:
http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/4668/

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

9 years agoPrevent test from writing files.
Daniel Jasper [Wed, 4 Mar 2015 15:02:17 +0000 (15:02 +0000)]
Prevent test from writing files.

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

9 years agoAdjust the changes from r230255 to bail out if the backend can't lower
Joerg Sonnenberger [Wed, 4 Mar 2015 14:25:35 +0000 (14:25 +0000)]
Adjust the changes from r230255 to bail out if the backend can't lower
__builtin_setjmp/__builtin_longjmp and don't fall back to the libc
functions.

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

9 years ago[IAS] Teach -cc1as about the 'target-abi' option.
Toma Tabacu [Wed, 4 Mar 2015 14:24:25 +0000 (14:24 +0000)]
[IAS] Teach -cc1as about the 'target-abi' option.

Summary:
When using the IAS from clang, the 'target-abi' option gets passed to cc1as, but cc1as doesn't know about it and gives an "unknown argument" error.

This is fixed by adding the 'CC1AsOption' flag to the 'target-abi' option in CC1Options.td.

Reviewers: atanasyan, echristo, dsanders

Reviewed By: dsanders

Subscribers: cfe-commits

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

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

9 years agoMove one more diagnostic into the new -Wformat-pedantic group.
Daniel Jasper [Wed, 4 Mar 2015 14:18:20 +0000 (14:18 +0000)]
Move one more diagnostic into the new -Wformat-pedantic group.

This was apparently overlooked in r231211.

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

9 years agoAT.isValid() should come before AT.matchesType()
Seth Cantrell [Wed, 4 Mar 2015 05:58:08 +0000 (05:58 +0000)]
AT.isValid() should come before AT.matchesType()

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

9 years agoAdd a format warning for "%p" with non-void* args
Seth Cantrell [Wed, 4 Mar 2015 03:12:10 +0000 (03:12 +0000)]
Add a format warning for "%p" with non-void* args

GCC -pedantic produces a format warning when the "%p" specifier is used with
arguments that are not void*. It's useful for portability to be able to
catch such warnings with clang as well. The warning is off by default in
both gcc and with this patch. This patch enables it either when extensions
are disabled with -pedantic, or with the specific flag -Wformat-pedantic.

The C99 and C11 specs do appear to require arguments corresponding to 'p'
specifiers to be void*: "If any argument is not the correct type for the
corresponding conversion specification, the behavior is undefined."
[7.19.6.1 p9], and of the 'p' format specifier "The argument shall be a
pointer to void." [7.19.6.1 p8]

Both printf and scanf format checking are covered.

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

9 years agoTypePrinter print __restrict if not in C99 mode
Jacques Pienaar [Tue, 3 Mar 2015 23:58:09 +0000 (23:58 +0000)]
TypePrinter print __restrict if not in C99 mode

restrict is a keyword in C99 but not in C++ while clang accepts __restrict for C++ code. Modify the TypePrinter to print __restrict when not processing C99 code.

Printing restrict in C++ was problematic as printing the argument of
  int f(int * __restrict a) { ... }
resulted in
  int *restrict a
which is incorrect.

http://reviews.llvm.org/D8048

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

9 years agoTry to unbreak the Windows buildbots.
Filipe Cabecinhas [Tue, 3 Mar 2015 23:36:57 +0000 (23:36 +0000)]
Try to unbreak the Windows buildbots.

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

9 years ago[analyzer] unix.Malloc: preserve AllocaRegion bound to __builtin_alloca().
Anton Yartsev [Tue, 3 Mar 2015 22:58:46 +0000 (22:58 +0000)]
[analyzer] unix.Malloc: preserve AllocaRegion bound to __builtin_alloca().

Binding __builtin_alloca() return value to the symbolic value kills previous binding to a AllocaRegion established by the core.BuiltinFunctions checker. Other checkers may rely upon this information. Rollback handling of __builtin_alloca() to the way prior to r229850.

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

9 years agoDebugInfo: Remove useless test
Duncan P. N. Exon Smith [Tue, 3 Mar 2015 22:18:24 +0000 (22:18 +0000)]
DebugInfo: Remove useless test

This test doesn't provide any value (it just checks that the frontend
produces exactly one compile unit), and it certainly isn't doing what
the comment says.  Noticed via IRC review of my update to it in r231083.

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

9 years ago[UBSan] Split -fsanitize=shift into -fsanitize=shift-base and -fsanitize=shift-exponent.
Alexey Samsonov [Tue, 3 Mar 2015 22:15:35 +0000 (22:15 +0000)]
[UBSan] Split -fsanitize=shift into -fsanitize=shift-base and -fsanitize=shift-exponent.

-fsanitize=shift is now a group that includes both these checks, so
exisiting users should not be affected.

This change introduces two new UBSan kinds that sanitize only left-hand
side and right-hand side of shift operation. In practice, invalid
exponent value (negative or too large) tends to cause more portability
problems, including inconsistencies between different compilers, crashes
and inadequeate results on non-x86 architectures etc. That is,
-fsanitize=shift-exponent failures should generally be addressed first.

As a bonus, this change simplifies CodeGen implementation for emitting left
shift (separate checks for base and exponent are now merged by the
existing generic logic in EmitCheck()), and LLVM IR for these checks
(the number of basic blocks is reduced).

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

9 years ago[Sanitizers] Use uint64_t for bitmask of enabled sanitizers.
Alexey Samsonov [Tue, 3 Mar 2015 22:15:32 +0000 (22:15 +0000)]
[Sanitizers] Use uint64_t for bitmask of enabled sanitizers.

The total number of sanitizers and sanitizer groups will soon
reach 32.

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

9 years agoFix program name in "clang -help"
Sumanth Gundapaneni [Tue, 3 Mar 2015 20:43:12 +0000 (20:43 +0000)]
Fix program name in "clang -help"

With out this patch,
"clang -help" prints "USAGE: clang-3 [options] <inputs>".
It should either print
USAGE: clang [options] <inputs>
or

USAGE: clang-3.7 [options] <inputs>
With this patch, on Linux, it prints
USAGE: clang-3.7 [options] <inputs>

On Windows, it prints
USAGE: clang.exe [options] <inputs>

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

9 years ago[PowerPC]Activate "vector bool long long" (and alternate spellings) as a valid type...
Bill Seurer [Tue, 3 Mar 2015 20:08:43 +0000 (20:08 +0000)]
[PowerPC]Activate "vector bool long long" (and alternate spellings) as a valid type for Altivec support for Power.

There are two test case updates for very basic testing. While I was editing cxx-altivec.cpp I also updated it to better match some other changes in altivec.c.

Note: "vector bool long" was not also added because its use is considered deprecated.

http://reviews.llvm.org/D7235

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

9 years agoSplit catch IRgen into ItaniumCXXABI and MicrosoftCXXABI
Reid Kleckner [Tue, 3 Mar 2015 19:21:04 +0000 (19:21 +0000)]
Split catch IRgen into ItaniumCXXABI and MicrosoftCXXABI

Use llvm.eh.begincatch for Microsoft-style catches.

This moves lots of CGException code into ItaniumCXXABI. Sorry for the
blame pain.

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

9 years agoDisable the right RUN line
Reid Kleckner [Tue, 3 Mar 2015 18:36:38 +0000 (18:36 +0000)]
Disable the right RUN line

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

9 years agoDisabled the other test from r231086 (like in r231087) since it also had problems
Filipe Cabecinhas [Tue, 3 Mar 2015 18:32:38 +0000 (18:32 +0000)]
Disabled the other test from r231086 (like in r231087) since it also had problems

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

9 years agoSupport __attribute__((availability)) on Android.
Dan Albert [Tue, 3 Mar 2015 18:28:38 +0000 (18:28 +0000)]
Support __attribute__((availability)) on Android.

Reviewers: srhines

Reviewed By: srhines

Subscribers: cfe-commits

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

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

9 years agoDon't force -pie for Android.
Dan Albert [Tue, 3 Mar 2015 18:24:57 +0000 (18:24 +0000)]
Don't force -pie for Android.

Summary:
There is no -no-pie flag that can override this, so making it default
to being on for Android means it is no longer possible to create
non-PIE executables on Android. While current versions of Android
support (and the most recent requires) PIE, ICS and earlier versions
of Android cannot run PIE executables, so this needs to be optional.

Reviewers: srhines

Reviewed By: srhines

Subscribers: thakis, volkalexey, cfe-commits

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

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

9 years agoDisable a Clang test until the begincatch change lands
Reid Kleckner [Tue, 3 Mar 2015 17:51:26 +0000 (17:51 +0000)]
Disable a Clang test until the begincatch change lands

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

9 years agoMigrate clang-format-vs plugin project to VS 2013
Hans Wennborg [Tue, 3 Mar 2015 17:30:50 +0000 (17:30 +0000)]
Migrate clang-format-vs plugin project to VS 2013

The plugin still works fine in versions starting from 2010,
but this was needed to make the project _build_ in VS 2013, which
is the blessed version for building LLVM projects these days.

http://reviews.llvm.org/D8021

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

9 years agoDebugInfo: Move new hierarchy into place (clang)
Duncan P. N. Exon Smith [Tue, 3 Mar 2015 17:25:55 +0000 (17:25 +0000)]
DebugInfo: Move new hierarchy into place (clang)

Update testcases for LLVM change in r231082 to use the new debug info
hierarchy.

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

9 years agoLower _mm256_broadcastsi128_si256 directly to a vector shuffle.
Juergen Ributzka [Tue, 3 Mar 2015 17:22:53 +0000 (17:22 +0000)]
Lower _mm256_broadcastsi128_si256 directly to a vector shuffle.

Originally we were using the same GCC builtins to lower this AVX2 vector
intrinsic. Instead we will now lower it directly to a vector shuffle.

This will not only allow LLVM to generate better code, but it will also allow us
to remove the GCC intrinsics.

Reviewed by Andrea

This is related to rdar://problem/18742778.

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

9 years ago[SDK modernizer]. Patch fixes driver's lack of
Fariborz Jahanian [Tue, 3 Mar 2015 17:15:38 +0000 (17:15 +0000)]
[SDK modernizer]. Patch fixes driver's lack of
recognition of mernizer's -objcmt-migrate-property-dot-syntax
option with a new test in test/Driver. rdar://19994452

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

9 years agoMake -Wuninitialized warn on pointer-to-member and comma operators.
Manuel Klimek [Tue, 3 Mar 2015 14:54:25 +0000 (14:54 +0000)]
Make -Wuninitialized warn on pointer-to-member and comma operators.

`isTrackedVar` has been updated to also track records.
`DeclRefExpr`s appearing on the left side of a comma operator are
ignored, while those appearing on the right side are classified as
`Use`.

Patch by Enrico Pertoso.

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

9 years agoMake sure we initialize all values in WhitespaceManager::Change.
Manuel Klimek [Tue, 3 Mar 2015 14:21:48 +0000 (14:21 +0000)]
Make sure we initialize all values in WhitespaceManager::Change.

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

9 years agoclang-format: Fix access to uninitialized memory.
Daniel Jasper [Tue, 3 Mar 2015 13:59:49 +0000 (13:59 +0000)]
clang-format: Fix access to uninitialized memory.

With incomplete code, we aren't guaranteed to generated changes for
every token. In that case, we need to assume that even the very first
change can continue a preprocessor directive and initialize values
accordingly.

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

9 years agoRevert r231008 (and dependent r231019).
Daniel Jasper [Tue, 3 Mar 2015 10:02:53 +0000 (10:02 +0000)]
Revert r231008 (and dependent r231019).

As Chandler responded on the initial commit, just directly setting the
triple through -Xclang option to the driver creates havoc on other
platforms. The driver test should specifically go into test/Driver and
test the cc1 commandline itself.

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

9 years ago[ASTUnit] Fix crash when trying to load a module file via ASTUnit::LoadFromASTFile.
Argyrios Kyrtzidis [Tue, 3 Mar 2015 08:04:19 +0000 (08:04 +0000)]
[ASTUnit] Fix crash when trying to load a module file via ASTUnit::LoadFromASTFile.

rdar://19997358

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

9 years agoSema: Caught exception objects should be unqualified
David Majnemer [Tue, 3 Mar 2015 04:38:34 +0000 (04:38 +0000)]
Sema: Caught exception objects should be unqualified

The exception object should be unqualified.  Using a qualified exception
object results in the wrong copy constructor getting called when the
catch handler executes.

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

9 years agoRemove obsolete FIXME. override on definitions is fine.
Nico Weber [Tue, 3 Mar 2015 03:31:15 +0000 (03:31 +0000)]
Remove obsolete FIXME. override on definitions is fine.

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

9 years agoSema: Properly initialize the thrown exception object
David Majnemer [Tue, 3 Mar 2015 01:50:05 +0000 (01:50 +0000)]
Sema: Properly initialize the thrown exception object

We would create the exception object with the wrong qualifiers, ensuring
that the wrong copy constructor would get called.

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

9 years ago[Sanitizers] Remove duplication in sanitizer group definition. NFC.
Alexey Samsonov [Tue, 3 Mar 2015 00:14:32 +0000 (00:14 +0000)]
[Sanitizers] Remove duplication in sanitizer group definition. NFC.

There is no need to list sanitizers in both "UndefinedTrap" and
"Undefined" groups - it turns out using one group in a defintion
of another group "just works".

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

9 years agoFix typo in my last commit.
Matthias Braun [Tue, 3 Mar 2015 00:12:08 +0000 (00:12 +0000)]
Fix typo in my last commit.

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

9 years ago[SDK modernizer] Patch to fix type of the typed enums when
Fariborz Jahanian [Mon, 2 Mar 2015 23:58:02 +0000 (23:58 +0000)]
[SDK modernizer] Patch to fix type of the typed enums when
migrating to NS_ENUM typedef. rdar://19994496

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

9 years agoRemove shell requirement from test/Modules/explicit-build-relpath.cpp
Reid Kleckner [Mon, 2 Mar 2015 22:55:01 +0000 (22:55 +0000)]
Remove shell requirement from test/Modules/explicit-build-relpath.cpp

It only relies on 'cd', which the internal shell has now.

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

9 years agoRevert bad change from r231029
Reid Kleckner [Mon, 2 Mar 2015 22:50:09 +0000 (22:50 +0000)]
Revert bad change from r231029

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

9 years agoRemove shell requirements from tests that use 'cd'
Reid Kleckner [Mon, 2 Mar 2015 22:42:58 +0000 (22:42 +0000)]
Remove shell requirements from tests that use 'cd'

Modules and Tooling tests in particular tend to want to change the cwd,
so we were missing test coverage in this area on Windows. It should now
be easier to write such portable tests.

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

9 years agoclang-cl: Correctly ignore /openmp- (PR22748)
Hans Wennborg [Mon, 2 Mar 2015 22:09:05 +0000 (22:09 +0000)]
clang-cl: Correctly ignore /openmp- (PR22748)

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

9 years agoFix test case.
Sanjoy Das [Mon, 2 Mar 2015 21:47:47 +0000 (21:47 +0000)]
Fix test case.

r230921 broke backend-optimization-failure.cpp: after
r230921, LLVM no longer emits an expression to compute 'Length - 1'
and this perturbs LoopSimplify enough to emit the warning on line 10
instead of line 9.  This is a review request to fix the test case once
I re-land r230921.

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

9 years agoAttempt to fix buildbot.
Fariborz Jahanian [Mon, 2 Mar 2015 21:46:17 +0000 (21:46 +0000)]
Attempt to fix buildbot.

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

9 years agoImprove robustness of dependency-generation-crash.c test.
Matthias Braun [Mon, 2 Mar 2015 20:44:09 +0000 (20:44 +0000)]
Improve robustness of dependency-generation-crash.c test.

The test wants to provoke a failure when opening the output file.
Using chmod 0 on the output file does not work reliably on all
filesystems or when running the test as root.
Change the test to use a nonexistant directory instead.

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

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

9 years ago[SDK modernizer]. Patch fixes driver's lack of
Fariborz Jahanian [Mon, 2 Mar 2015 20:43:32 +0000 (20:43 +0000)]
[SDK modernizer]. Patch fixes driver's lack of
recognition of mernizer's -objcmt-migrate-property-dot-syntax
option. rdar://19994452

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

9 years agoAdd -fexceptions for targets where it isn't the default.
Filipe Cabecinhas [Mon, 2 Mar 2015 19:11:53 +0000 (19:11 +0000)]
Add -fexceptions for targets where it isn't the default.

It still tests that objc++-cpp-output turns on -fcxx-exceptions and
-fobjc-exceptions by being a c++ and objc(++) file.

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

9 years agoAdd clang support for Objective-C application extensions.
Bob Wilson [Mon, 2 Mar 2015 19:01:14 +0000 (19:01 +0000)]
Add clang support for Objective-C application extensions.

This adds the -fapplication-extension option, along with the
ios_app_extension and macosx_app_extension availability attributes.
Patch by Ted Kremenek

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

9 years agoAdd -frtti and -fexceptions to tests that assume these are on.
Filipe Cabecinhas [Mon, 2 Mar 2015 18:49:37 +0000 (18:49 +0000)]
Add -frtti and -fexceptions to tests that assume these are on.

Summary:
We now have targets that don't enable rtti/exceptions by default, and the
ASTMatchers tests are assuming that these features are on (e.g: They use
dynamic_cast or try).

Reviewers: klimek, thakis, djasper

Subscribers: klimek, cfe-commits

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

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

9 years agoCodeGen: Fix passing of classes with only one AVX vector member in AVX registers
Benjamin Kramer [Mon, 2 Mar 2015 16:09:24 +0000 (16:09 +0000)]
CodeGen: Fix passing of classes with only one AVX vector member in AVX registers

isSingleElementStruct was a bit too tight in its definition of struct
so we got a mismatch between classify() and the actual code generation.
To make matters worse the code in GetByteVectorType still defaulted to
<2 x double> if it encountered a type it didn't know, making this a
silent miscompilation (PR22753).

Completely remove the "preferred type" stuff from GetByteVectorType and
make it fail an assertion if someone tries to use it with a type not
suitable for a vector register.

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

9 years agoReplace loop with equivalent ArrayRef function. NFC.
Benjamin Kramer [Mon, 2 Mar 2015 11:57:06 +0000 (11:57 +0000)]
Replace loop with equivalent ArrayRef function. NFC.

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

9 years agoclang-format: Prefer wrapping a lambda's body over the lambda's return type.
Daniel Jasper [Mon, 2 Mar 2015 10:35:13 +0000 (10:35 +0000)]
clang-format: Prefer wrapping a lambda's body over the lambda's return type.

Before:
  aaaaaaaaaaaaaaaaaaaaaa(
      [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa)
          -> aaaaaaaaaaaaaaaaaaaaa { return aaaaaaaaaaaaaaaaa; });

After:
  aaaaaaaaaaaaaaaaaaaaaa(
      [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaaaaaaa {
        return aaaaaaaaaaaaaaaaa;
      });

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

9 years agoFix ObjCInterfaceDecl::getCategoryMethod() and give it a caller. No behavior change.
Nico Weber [Mon, 2 Mar 2015 01:12:28 +0000 (01:12 +0000)]
Fix ObjCInterfaceDecl::getCategoryMethod() and give it a caller. No behavior change.

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

9 years agoDebugInfo: Give externally defined types a size and alignment where
Peter Collingbourne [Sun, 1 Mar 2015 22:07:04 +0000 (22:07 +0000)]
DebugInfo: Give externally defined types a size and alignment where
possible. Fixes PR22736.

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

9 years agoAdd missing include.
Benjamin Kramer [Sun, 1 Mar 2015 21:36:40 +0000 (21:36 +0000)]
Add missing include.

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

9 years agoclang-format: Always align */& in multi-var DeclStmts.
Daniel Jasper [Sun, 1 Mar 2015 18:55:26 +0000 (18:55 +0000)]
clang-format: Always align */& in multi-var DeclStmts.

Seems like the most consistent thing to do and in multi-var DeclStmts,
it is especially important to point out that the */& bind to the
identifier.

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

9 years agoSema: Remove stray static
Benjamin Kramer [Sun, 1 Mar 2015 18:09:50 +0000 (18:09 +0000)]
Sema: Remove stray static

This is a real bug if the code path is ever used with different pointer
sizes in the same process.

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

9 years agoAdd change accidentally missed from r230840.
Richard Smith [Sat, 28 Feb 2015 09:58:41 +0000 (09:58 +0000)]
Add change accidentally missed from r230840.

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

9 years agoAdd PS4's autolink syntax to autolink.m's CHECK lines.
Filipe Cabecinhas [Sat, 28 Feb 2015 07:35:07 +0000 (07:35 +0000)]
Add PS4's autolink syntax to autolink.m's CHECK lines.

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

9 years ago[modules] Avoid adding a redecl chain to the 'pending out of date' list as the
Richard Smith [Sat, 28 Feb 2015 05:57:02 +0000 (05:57 +0000)]
[modules] Avoid adding a redecl chain to the 'pending out of date' list as the
very first step in updating it.

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

9 years agoGive better diagnostics when -fmodule-file= finds a bad file: if the file is
Richard Smith [Sat, 28 Feb 2015 03:09:52 +0000 (03:09 +0000)]
Give better diagnostics when -fmodule-file= finds a bad file: if the file is
found indirectly, explain how we got there, and distinguish between 'file not
found' and 'file found but invalid'.

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

9 years ago[modules] Deduplicate when merging lists of template specializations from imported...
Richard Smith [Sat, 28 Feb 2015 01:45:19 +0000 (01:45 +0000)]
[modules] Deduplicate when merging lists of template specializations from imported modules.

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

9 years agoRework our handling of key functions. We used to track a complete list of all
Richard Smith [Sat, 28 Feb 2015 01:01:56 +0000 (01:01 +0000)]
Rework our handling of key functions. We used to track a complete list of all
dynamic classes in the translation unit and check whether each one's key
function is defined when we got to the end of the TU (and when we got to the
end of each module). This is really terrible for modules performance, since it
causes unnecessary deserialization of every dynamic class in every compilation.

We now use a much simpler (and, in a modules build, vastly more efficient)
system: when we see an out-of-line definition of a virtual function, we check
whether that function was in fact its class's key function. (If so, we need to
emit the vtable.)

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

9 years agoDebugInfo: hoist definition into global context when needed
Saleem Abdulrasool [Sat, 28 Feb 2015 00:13:13 +0000 (00:13 +0000)]
DebugInfo: hoist definition into global context when needed

When generating debug info for a static inline member which is initialized for
the DLLExport storage class, hoist the definition into a non-composite type
context. Otherwise, we would trigger an assertion when generating the DIE for
the associated global value as the debug context has a type association. This
addresses PR22669.

Thanks to David Blakie for help in coming up with a solution to this!

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

9 years ago[modules] When writing out a list of specializations for a template, if we have
Richard Smith [Fri, 27 Feb 2015 23:05:10 +0000 (23:05 +0000)]
[modules] When writing out a list of specializations for a template, if we have
undeserialized specializations (because we merged an imported declaration of
the same template since we last added one), don't bother reading in the
specializations themselves just so we can write out their IDs again.

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

9 years agoUpdate Clang tests to handle explicitly typed load changes in LLVM.
David Blaikie [Fri, 27 Feb 2015 21:19:58 +0000 (21:19 +0000)]
Update Clang tests to handle explicitly typed load changes in LLVM.

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

9 years ago[modules] Avoid the possibility of a redeclaration chain not being marked 'up
Richard Smith [Fri, 27 Feb 2015 20:14:19 +0000 (20:14 +0000)]
[modules] Avoid the possibility of a redeclaration chain not being marked 'up
to date' after it gets updated.

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

9 years agoUpdate Clang tests to handle explicitly typed gep changes in LLVM.
David Blaikie [Fri, 27 Feb 2015 19:18:17 +0000 (19:18 +0000)]
Update Clang tests to handle explicitly typed gep changes in LLVM.

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

9 years agoReland __leave tests (r230717 and r230720, reverted in r230740).
Nico Weber [Fri, 27 Feb 2015 16:40:43 +0000 (16:40 +0000)]
Reland __leave tests (r230717 and r230720, reverted in r230740).

The only change is that line 266 changed from
    // CHECK:  br label %[[except]]
to
    // CHECK:  br label %[[except:[^ ]*]]

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

9 years agoAdd __ARM_DWARF_EH__ to signify the use of Itanium ABI for unwind instructions.
Renato Golin [Fri, 27 Feb 2015 16:35:48 +0000 (16:35 +0000)]
Add __ARM_DWARF_EH__ to signify the use of Itanium ABI for unwind instructions.

Equally to NetBSD, Bitrig will be using .eh_frame unwinding on ARM.

Patch by Patrick Wildt.

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

9 years agoAMDGCN: Define cl_khr_fp64 when compiling OpenCL programs
Tom Stellard [Fri, 27 Feb 2015 15:10:19 +0000 (15:10 +0000)]
AMDGCN: Define cl_khr_fp64 when compiling OpenCL programs

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

9 years agoSilence an MSVC warning about not all control paths returning a value; NFC.
Aaron Ballman [Fri, 27 Feb 2015 13:55:58 +0000 (13:55 +0000)]
Silence an MSVC warning about not all control paths returning a value; NFC.

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

9 years agoclang-format: Make trailing commas in array inits force one per line.
Daniel Jasper [Fri, 27 Feb 2015 08:41:05 +0000 (08:41 +0000)]
clang-format: Make trailing commas in array inits force one per line.

Before:
  NSArray *array = @[ @"a", @"a", ];

After:
  NSArray *array = @[
    @"a",
    @"a",
  ];

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

9 years agoRevert r230717 (and subsequent r230720).
Daniel Jasper [Fri, 27 Feb 2015 08:16:32 +0000 (08:16 +0000)]
Revert r230717 (and subsequent r230720).

The tests keeps failing on build bots:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/2355/testReport/junit/Clang/CodeGen/exceptions_seh_leave_c/

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

9 years ago[X86] Remove pblendw and pblendd builtins that aren't being used by the intrinsic...
Craig Topper [Fri, 27 Feb 2015 06:54:25 +0000 (06:54 +0000)]
[X86] Remove pblendw and pblendd builtins that aren't being used by the intrinsic headers.

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

9 years ago[OPENMP] Codegen for "#pragma omp atomic write"
Alexey Bataev [Fri, 27 Feb 2015 06:33:30 +0000 (06:33 +0000)]
[OPENMP] Codegen for "#pragma omp atomic write"
For global reg lvalue - use regular store through global register.
For simple lvalue - use simple atomic store.
For bitfields, vector element, extended vector elements - the original value of the whole storage (for vector elements) or of some aligned value (for bitfields) is atomically read, the part of this value for the given lvalue is modified and then use atomic compare-and-exchange operation to try to atomically write modified value (if it was not modified).
Also, changes in this patch fix the bug for '#pragma omp atomic read' applied to extended vector elements.
Differential Revision: http://reviews.llvm.org/D7369

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

9 years ago[modules] Don't write out name lookup table entries merely because the module
Richard Smith [Fri, 27 Feb 2015 03:40:09 +0000 (03:40 +0000)]
[modules] Don't write out name lookup table entries merely because the module
happened to query them; only write them out if something new was added.

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

9 years agoMS ABI: Simplify the code which performs base adjustments
David Majnemer [Fri, 27 Feb 2015 02:38:02 +0000 (02:38 +0000)]
MS ABI: Simplify the code which performs base adjustments

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

9 years agoAdd last missing __leave test.
Nico Weber [Fri, 27 Feb 2015 02:26:14 +0000 (02:26 +0000)]
Add last missing __leave test.

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

9 years agoAdd another __leave test.
Nico Weber [Fri, 27 Feb 2015 01:58:08 +0000 (01:58 +0000)]
Add another __leave test.

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

9 years ago[modules] For an inheriting constructor, the inherited constructor is stored in
Richard Smith [Fri, 27 Feb 2015 01:57:00 +0000 (01:57 +0000)]
[modules] For an inheriting constructor, the inherited constructor is stored in
a map keyed off the canonical declaration. Don't try to set it if we're loading
some non-canonical merged declaration.

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

9 years ago[modules] When loading in multiple canonical definitions of a template,
Richard Smith [Fri, 27 Feb 2015 00:25:58 +0000 (00:25 +0000)]
[modules] When loading in multiple canonical definitions of a template,
accumulate the set of specializations rather than overwriting one list
with another.

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

9 years agoDon't crash on leaving nested __finally blocks through an EH edge.
Nico Weber [Thu, 26 Feb 2015 22:34:33 +0000 (22:34 +0000)]
Don't crash on leaving nested __finally blocks through an EH edge.

The __finally emission block tries to be clever by removing unused continuation
edges if there's an unconditional jump out of the __finally block. With
exception edges, the EH continuation edge isn't always unused though and we'd
crash in a few places.

Just don't be clever. That makes the IR for __finally blocks a bit longer in
some cases (hence small and behavior-preserving changes to existing tests), but
it makes no difference in general and it fixes the last crash from PR22553.

http://reviews.llvm.org/D7918

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

9 years agoWrap to 80 columns. No behavior change.
Nico Weber [Thu, 26 Feb 2015 20:43:00 +0000 (20:43 +0000)]
Wrap to 80 columns. No behavior change.

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

9 years agoAdd myself as a code owner for Microsoft C++ ABI code and general Windows support
Reid Kleckner [Thu, 26 Feb 2015 20:37:49 +0000 (20:37 +0000)]
Add myself as a code owner for Microsoft C++ ABI code and general Windows support

Reviewers: rsmith

Subscribers: cfe-commits

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

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

9 years agoWin64: Silently ignore __stdcall, __fastcall, and __thiscall
Reid Kleckner [Thu, 26 Feb 2015 19:43:46 +0000 (19:43 +0000)]
Win64: Silently ignore __stdcall, __fastcall, and __thiscall

MSVC doesn't warn on this. Users are expected to apply the WINAPI macro
to functions passed by pointer to the Win32 API, and this macro expands
to __stdcall. This means we end up with a lot of useless noisy warnings
about ignored calling conventions when compiling code with clang for
Win64.

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

9 years agoAdd -frtti/-fexceptions to some more tests that assume they're on
Filipe Cabecinhas [Thu, 26 Feb 2015 18:29:41 +0000 (18:29 +0000)]
Add -frtti/-fexceptions to some more tests that assume they're on

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

9 years agoAdd support for generating MIPS legacy NaN
Petar Jovanovic [Thu, 26 Feb 2015 18:19:22 +0000 (18:19 +0000)]
Add support for generating MIPS legacy NaN

Currently, the NaN values emitted for MIPS architectures do not cover
non-IEEE754-2008 compliant case. This change fixes the issue.

Patch by Vladimir Radosavljevic.

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

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

9 years agoPatch to prevent crash when default argument expression
Fariborz Jahanian [Thu, 26 Feb 2015 17:59:54 +0000 (17:59 +0000)]
Patch to prevent crash when default argument expression
is null due to its previous bad declaration, etc.
rdar://19871240

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

9 years ago[msan] Change track-origins default mode from 1 to 2.
Evgeniy Stepanov [Thu, 26 Feb 2015 15:59:30 +0000 (15:59 +0000)]
[msan] Change track-origins default mode from 1 to 2.

Change -fsanitize-memory-track-origins to be equivalent to
-fsanitize-memory-track-origins=2.

Track-origins=2 provides a lot more detailed reports at the cost of
some additional slowdown (ranging from none to, sometimes, 3x; ~3% average on
SPEC2006).

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

9 years agoclang-format: Make braced list formatting more consistent.
Daniel Jasper [Thu, 26 Feb 2015 11:46:29 +0000 (11:46 +0000)]
clang-format: Make braced list formatting more consistent.

Before:
  Aaaa aaaaaaaaaaa{
      {
       a, // +1 indent weird.
       b, // trailing comma signals one per line.
      },  // trailing comma signals one per line.
  };

After:
  Aaaa aaaaaaaaaaa{
      {
          a, // better!?
          b, // trailing comma signals one per line.
      },     // trailing comma signals one per line.
  };

Interesting that this apparently was entirely untested :-(.

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

9 years agoclang-format: Fix space of arrays of pointers to templated types.
Daniel Jasper [Thu, 26 Feb 2015 11:30:50 +0000 (11:30 +0000)]
clang-format: Fix space of arrays of pointers to templated types.

Before:
  vector<int>(*foo_)[6];

After:
  vector<int> (*foo_)[6];

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

9 years ago[OPENMP] Fixed codegen for directives without function outlining.
Alexey Bataev [Thu, 26 Feb 2015 10:27:34 +0000 (10:27 +0000)]
[OPENMP] Fixed codegen for directives without function outlining.
Fixed crash on codegen for directives like 'omp for', 'omp single' etc. inside of the 'omp parallel', 'omp task' etc. regions.

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

9 years agoclang-format: Allow breaking after "else if(" as a last resort.
Daniel Jasper [Thu, 26 Feb 2015 09:49:08 +0000 (09:49 +0000)]
clang-format: Allow breaking after "else if(" as a last resort.

This isn't generally nice, but better than violating the column limit.

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

9 years ago[X86] Remove the blendps/blendpd builtins. They aren't used by the intrinsic headers...
Craig Topper [Thu, 26 Feb 2015 08:09:05 +0000 (08:09 +0000)]
[X86] Remove the blendps/blendpd builtins. They aren't used by the intrinsic headers. We use appropriate shuffle vector instead.

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

9 years ago[X86] Correct immediate range checking for blendps/blendpd/blendpd256 builtins.
Craig Topper [Thu, 26 Feb 2015 06:23:15 +0000 (06:23 +0000)]
[X86] Correct immediate range checking for blendps/blendpd/blendpd256 builtins.

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

9 years ago[Mips] Handle -mips32r[3|5] / -mips64r[3|5] options while selecting lib/headers paths
Simon Atanasyan [Thu, 26 Feb 2015 04:45:57 +0000 (04:45 +0000)]
[Mips] Handle -mips32r[3|5] / -mips64r[3|5] options while selecting lib/headers paths

There is no supported toolchain which provides headers / libs / object
files specific to the mips32r[3|5] and mips64r[3|5] ISA. So select "r2"
specific folders when they are available.

http://reviews.llvm.org/D7879

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

9 years agoCGDebugInfo: Use DIImportedEntity default constructor, NFC
Duncan P. N. Exon Smith [Thu, 26 Feb 2015 04:44:27 +0000 (04:44 +0000)]
CGDebugInfo: Use DIImportedEntity default constructor, NFC

Use the newly minted `DIImportedEntity` default constructor (r230609)
rather than explicitly specifying `nullptr`.  The latter will become
ambiguous when the new debug info hierarchy is committed, since we'll
have both of the following:

    explicit DIImportedEntity(const MDNode *);
    DIImportedEntity(const MDImportedEntity *);

(Currently we just have the former.)

A default constructor is just as clear.

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

9 years agoUpdate assumption in template diffing about integer template arguments.
Richard Trieu [Thu, 26 Feb 2015 02:40:48 +0000 (02:40 +0000)]
Update assumption in template diffing about integer template arguments.

Fix for PR22017.  Integer template arguments are automatically bit extended to
the size of the integer type.  In template diffing, evaluated expressions were
not having their results extending, leading to comparing two APSInt's with
different widths.  Apply the proper bit extending when evaluating template
arguments.  This mainly affected bool template arguments.

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

9 years agoSplit StaticAnalyzer module into three to fix a cyclic dependency. Dependencies
Richard Smith [Thu, 26 Feb 2015 01:11:08 +0000 (01:11 +0000)]
Split StaticAnalyzer module into three to fix a cyclic dependency. Dependencies
are now:

  FrontendTool -> StaticAnalyzer/Frontend -> Frontend -> StaticAnalyzer/Core

The final dependency edge here is probably removable: AnalyzerOptions (and
Analyses.def) should probably live in Basic rather than StaticAnalyzer/Core.

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

9 years agoclang-cl: Expose -fcolor-diagnostics and -fansi-escape-codes
Reid Kleckner [Thu, 26 Feb 2015 01:10:15 +0000 (01:10 +0000)]
clang-cl: Expose -fcolor-diagnostics and -fansi-escape-codes

They don't conflict with MSVC flags.

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