]> granicus.if.org Git - clang/log
clang
6 years ago[clang-refactor] Introduce a new rename rule for qualified symbols
Haojian Wu [Wed, 8 Nov 2017 08:56:56 +0000 (08:56 +0000)]
[clang-refactor] Introduce a new rename rule for qualified symbols

Summary: Prototype of a new rename rule for renaming qualified symbol.

Reviewers: arphaman, ioeric, sammccall

Reviewed By: arphaman, sammccall

Subscribers: jklaehn, cfe-commits, klimek

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

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

6 years ago[X86] Add masked vcvtps2ph builtins to CheckX86BuiltinFunctionCall.
Craig Topper [Wed, 8 Nov 2017 04:54:26 +0000 (04:54 +0000)]
[X86] Add masked vcvtps2ph builtins to CheckX86BuiltinFunctionCall.

This ensures that only immediates that fit in 8-bits are used. This matches what we do for the unmasked versions.

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

6 years ago[Serialization] Fix some Clang-tidy modernize and Include What You Use warnings;...
Eugene Zelenko [Wed, 8 Nov 2017 01:03:16 +0000 (01:03 +0000)]
[Serialization] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).

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

6 years ago[AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor...
Eugene Zelenko [Wed, 8 Nov 2017 00:39:18 +0000 (00:39 +0000)]
[AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).

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

6 years agoChange noplt.c to work for non-x86 targets.
Sriraman Tallam [Tue, 7 Nov 2017 22:34:55 +0000 (22:34 +0000)]
Change noplt.c to work for non-x86 targets.

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

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

6 years ago[NVPTX] Implement __nvvm_atom_add_gen_d builtin.
Justin Lebar [Tue, 7 Nov 2017 22:10:54 +0000 (22:10 +0000)]
[NVPTX] Implement __nvvm_atom_add_gen_d builtin.

Summary:
This just seems to have been an oversight.  We already supported the f64
atomic add with an explicit scope (e.g. "cta"), but not the scopeless
version.

Reviewers: tra

Subscribers: jholewinski, sanjoy, cfe-commits, llvm-commits, hiraditya

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

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

6 years ago[ObjC++] Don't warn about pessimizing move for __block variables
Alex Lorenz [Tue, 7 Nov 2017 21:40:11 +0000 (21:40 +0000)]
[ObjC++] Don't warn about pessimizing move for __block variables

rdar://33316951

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

6 years agoUpdate SanitizerSpecialCaseList to use renamed functions in base class.
Mitch Phillips [Tue, 7 Nov 2017 21:16:37 +0000 (21:16 +0000)]
Update SanitizerSpecialCaseList to use renamed functions in base class.

Note: This change has a cyclical dependency on D39485. Both these changes must be submitted at the same time to avoid a build breakage.

Reviewers: vlad.tsyrklevich

Subscribers: llvm-commits

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

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

6 years agoNew clang option -fno-plt which avoids the PLT and lazy binding while making external...
Sriraman Tallam [Tue, 7 Nov 2017 19:37:51 +0000 (19:37 +0000)]
New clang option -fno-plt which avoids the PLT and lazy binding while making external calls.

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

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

6 years ago[refactor] rename field references in __builtin_offsetof
Alex Lorenz [Tue, 7 Nov 2017 18:30:23 +0000 (18:30 +0000)]
[refactor] rename field references in __builtin_offsetof

rdar://33875453

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

6 years agoClang/libomptarget map interface flag renaming - NFC patch
George Rokos [Tue, 7 Nov 2017 18:27:04 +0000 (18:27 +0000)]
Clang/libomptarget map interface flag renaming - NFC patch

This patch renames some of the flag names of the clang/libomptarget map interface. The old names are slightly misleading, whereas the new ones describe in a better way what each flag is about.

Only the macros within the enumeration are renamed, there is no change in functionality therefore there are no updated regression tests.

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

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

6 years ago[index] __builtin_offset's field reference is located at the end location
Alex Lorenz [Tue, 7 Nov 2017 18:25:36 +0000 (18:25 +0000)]
[index] __builtin_offset's field reference is located at the end location

The starting location is the location of the '.'

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

6 years ago[index] index field references in __builtin_offset
Alex Lorenz [Tue, 7 Nov 2017 17:29:11 +0000 (17:29 +0000)]
[index] index field references in __builtin_offset

rdar://35109556

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

6 years agoSystemZ Swift TargetInfo: swifterror support in the backend is broken
Arnold Schwaighofer [Tue, 7 Nov 2017 16:40:51 +0000 (16:40 +0000)]
SystemZ Swift TargetInfo: swifterror support in the backend is broken

Return false for swifterror support until the backend is fixed.

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

6 years ago[CodeGen] split math and complex tests into separate files; NFCI
Sanjay Patel [Tue, 7 Nov 2017 15:13:22 +0000 (15:13 +0000)]
[CodeGen] split math and complex tests into separate files; NFCI

The files are already large, and we may need to add even more RUNs to
distinguish differences based on OS, environment, or other platform things.

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

6 years ago[clang-refactor] Use ClangTool more explicitly by making refaroing actions AST fronte...
Eric Liu [Tue, 7 Nov 2017 14:35:03 +0000 (14:35 +0000)]
[clang-refactor] Use ClangTool more explicitly by making refaroing actions AST frontend actions.

Summary: This is a refactoring change. NFC

Reviewers: arphaman, hokein

Reviewed By: arphaman, hokein

Subscribers: cfe-commits

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

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

6 years ago[analyzer] pr34779: CStringChecker: Accept non-standard headers.
Artem Dergachev [Tue, 7 Nov 2017 10:51:15 +0000 (10:51 +0000)]
[analyzer] pr34779: CStringChecker: Accept non-standard headers.

Do not crash when trying to define and call a non-standard
strcpy(unsigned char *, unsigned char *) during analysis.

At the same time, do not try to actually evaluate the call.

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

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

6 years ago[docs] Add section 'Half-Precision Floating Point'
Sjoerd Meijer [Tue, 7 Nov 2017 10:09:45 +0000 (10:09 +0000)]
[docs] Add section 'Half-Precision Floating Point'

This documents the differences/interactions between _Float16 and __fp16
and is a companion change for the _Float16 type implementation (r312794).

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

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

6 years ago[analyzer] [NFC] Remove unused typedef from SVals.h
George Karpenkov [Tue, 7 Nov 2017 02:02:10 +0000 (02:02 +0000)]
[analyzer] [NFC] Remove unused typedef from SVals.h

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

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

6 years agoClarify the error message for unsupported aliases on Darwin
Alex Lorenz [Tue, 7 Nov 2017 00:31:19 +0000 (00:31 +0000)]
Clarify the error message for unsupported aliases on Darwin

rdar://35109556

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

6 years ago[analyzer] Model correct dispatch_once() 'done' value in BodyFarm
Devin Coughlin [Mon, 6 Nov 2017 22:12:19 +0000 (22:12 +0000)]
[analyzer] Model correct dispatch_once() 'done' value in BodyFarm

The analyzer's BodyFarm models dispatch_once() by comparing the passed-in
predicate against a known 'done' value. If the predicate does not have that
value, the model updates the predicate to have that value and executes the
passed in block.

Unfortunately, the current model uses the wrong 'done' value: 1 instead of ~0.
This interferes with libdispatch's static inline function _dispatch_once(),
which enables a fast path if the block has already been executed. That function
uses __builtin_assume() to tell the compiler that the done flag is set to ~0 on
exit. When r302880 added modeling of __builtin_assume(), this caused the
analyzer to assume 1 == ~0. This in turn caused the analyzer to never explore any code after a call to dispatch_once().

This patch regains the missing coverage by updating BodyFarm to use the correct
'done' value.

rdar://problem/34413048

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

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

6 years agoVary Windows toolchain selection by -fuse-ld
Dave Lee [Mon, 6 Nov 2017 21:18:05 +0000 (21:18 +0000)]
Vary Windows toolchain selection by -fuse-ld

Summary:
This change allows binutils to be used for linking with MSVC. Currently, when
using an MSVC target and `-fuse-ld=bfd`, the driver produces an invalid linker
invocation.

Reviewers: rnk, compnerd

Reviewed By: compnerd

Subscribers: smeenai, cfe-commits

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

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

6 years ago[X86] Replace the mask cmpeq/cmple/cmplt/cmpgt/cmpge/cmpneq intrinsics with macros...
Craig Topper [Mon, 6 Nov 2017 21:00:49 +0000 (21:00 +0000)]
[X86] Replace the mask cmpeq/cmple/cmplt/cmpgt/cmpge/cmpneq intrinsics with macros that just pass the right comparison predicate value to the regular cmp intrinsic. Remove mask cmpeq/cmpgt builtins that are now unused.

This shortens the intrinsic headers a little and allows us to get rid of the cmpeq and cmpgt handling from CGBuiltin.cpp.

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

6 years ago[X86] Add 3dnow and 3dnowa to the list of valid target features
Martin Storsjo [Mon, 6 Nov 2017 20:33:13 +0000 (20:33 +0000)]
[X86] Add 3dnow and 3dnowa to the list of valid target features

These were missed in SVN r316783, which broke compiling mingw-w64 CRT.

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

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

6 years ago[Parser] Fix TryParseLambdaIntroducer() error handling
Jan Korous [Mon, 6 Nov 2017 17:42:17 +0000 (17:42 +0000)]
[Parser] Fix TryParseLambdaIntroducer() error handling

rdar://35066196

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

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

6 years ago[CodeGen] match new fast-math-flag method: isFast()
Sanjay Patel [Mon, 6 Nov 2017 16:27:36 +0000 (16:27 +0000)]
[CodeGen] match new fast-math-flag method: isFast()

This corresponds to LLVM commiti r317488:

If that commit is reverted, this commit will also need to be reverted.

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

6 years ago[clang-format] Handle unary operator overload with arguments and specifiers
Daniel Jasper [Mon, 6 Nov 2017 12:11:51 +0000 (12:11 +0000)]
[clang-format] Handle unary operator overload with arguments and specifiers

Before:
  int operator++(int)noexcept;

After:
  int operator++(int) noexcept;

Patch by Igor Sugak. Thank you!

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

6 years ago[Tooling] Test internal::createExecutorFromCommandLineArgsImpl instead of the wrapper.
Eric Liu [Mon, 6 Nov 2017 09:29:09 +0000 (09:29 +0000)]
[Tooling] Test internal::createExecutorFromCommandLineArgsImpl instead of the wrapper.

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

6 years agolowering broadcastm
Jina Nahias [Mon, 6 Nov 2017 07:04:12 +0000 (07:04 +0000)]
lowering broadcastm

Change-Id: I0661abea3e3742860e0a03ff9e4fcdc367eff7db

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

6 years agoRemove \brief from doxygen comments in PrettyPrinter.h
Adrian Prantl [Sun, 5 Nov 2017 21:52:36 +0000 (21:52 +0000)]
Remove \brief from doxygen comments in PrettyPrinter.h

Patch by @xsga!

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

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

6 years ago[clang-diff] NFC: format
Johannes Altmanninger [Sun, 5 Nov 2017 11:53:18 +0000 (11:53 +0000)]
[clang-diff] NFC: format

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

6 years ago[Sema] Document+test the -Wsign-conversion change for enums in C code [NFC]
Roman Lebedev [Sat, 4 Nov 2017 20:27:47 +0000 (20:27 +0000)]
[Sema] Document+test the -Wsign-conversion change for enums in C code [NFC]

Basically a regression after r316268.
However the diagnostic is correct, but the test coverage is bad.

So just like rL316500, introduce yet more tests,
and adjust the release notes.

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

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

6 years agoMove the clang-tblgen-targets project into the Misc folder on IDEs like Visual Studio...
Aaron Ballman [Sat, 4 Nov 2017 20:06:49 +0000 (20:06 +0000)]
Move the clang-tblgen-targets project into the Misc folder on IDEs like Visual Studio rather than leave it in the root directory. NFC.

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

6 years agoMove the clang-tblgen project into the Clang tablegenning folder on IDEs like Visual...
Aaron Ballman [Sat, 4 Nov 2017 20:06:22 +0000 (20:06 +0000)]
Move the clang-tblgen project into the Clang tablegenning folder on IDEs like Visual Studio rather than leave it in the root directory. NFC.

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

6 years agoMove the libclang-headers project into the Misc folder on IDEs like Visual Studio...
Aaron Ballman [Sat, 4 Nov 2017 20:00:21 +0000 (20:00 +0000)]
Move the libclang-headers project into the Misc folder on IDEs like Visual Studio rather than leave it in the root directory. NFC.

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

6 years ago[CodeGen] add remquo to list of recognized library calls
Sanjay Patel [Sat, 4 Nov 2017 15:03:11 +0000 (15:03 +0000)]
[CodeGen] add remquo to list of recognized library calls

This is just an oversight because we already do recognize __builtin_remquo()
with the same signature.

http://en.cppreference.com/w/c/numeric/math/remquo
http://pubs.opengroup.org/onlinepubs/9699919799/functions/remquo.html

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

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

6 years agoCodeGenCXX: no default dllimport storage for mingw
Martell Malone [Sat, 4 Nov 2017 02:15:49 +0000 (02:15 +0000)]
CodeGenCXX: no default dllimport storage for mingw

GNU frontends don't have options like /MT, /MD
This fixes a few link error regressions with libc++ and libc++abi

Reviewers: rnk, mstorsjo, compnerd

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

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

6 years ago[Driver] MinGW: Remove custom linker detection
Martell Malone [Sat, 4 Nov 2017 02:07:59 +0000 (02:07 +0000)]
[Driver] MinGW: Remove custom linker detection

This is a re-apply of rL313082 which was reverted in rL313088

In rL289668 the ability to specify the default linker at compile time
was added but because the MinGW driver used custom detection we could
not take advantage of this new CMAKE flag CLANG_DEFAULT_LINKER.

rL289668 added no test cases and the mingw driver was either overlooked
or purposefully skipped because it has some custom linker tests
Removing them here because they are covered by the generic case.

Reviewers: rnk

Differntial Revision: https://reviews.llvm.org/D37727

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

6 years agoUpdate ODR hashing tests
Richard Trieu [Sat, 4 Nov 2017 01:20:50 +0000 (01:20 +0000)]
Update ODR hashing tests

Add a mix of postive and negative tests to check that wrong Decls won't be
flagged in the diagnostic.  Split the check everything test and moved the
pieces closer to where the related tests are.

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

6 years ago[Basic] Fix some Clang-tidy modernize and Include What You Use warnings; other minor...
Eugene Zelenko [Fri, 3 Nov 2017 22:35:27 +0000 (22:35 +0000)]
[Basic] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).

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

6 years agoAdd -fcxx-exceptions for ExtractionSemicolonPolicy.cpp to appease PS4 bots
Alex Lorenz [Fri, 3 Nov 2017 21:31:10 +0000 (21:31 +0000)]
Add -fcxx-exceptions for ExtractionSemicolonPolicy.cpp to appease PS4 bots

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

6 years agoReplace a use of std::for_each() with llvm::for_each(); NFC.
Aaron Ballman [Fri, 3 Nov 2017 20:09:17 +0000 (20:09 +0000)]
Replace a use of std::for_each() with llvm::for_each(); NFC.

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

6 years agoMove Extract.cpp that wasn't moved in r317343
Alex Lorenz [Fri, 3 Nov 2017 18:21:06 +0000 (18:21 +0000)]
Move Extract.cpp that wasn't moved in r317343

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

6 years ago[refactor][extract] insert semicolons into extracted/inserted code
Alex Lorenz [Fri, 3 Nov 2017 18:11:22 +0000 (18:11 +0000)]
[refactor][extract] insert semicolons into extracted/inserted code
when needed

This commit implements the semicolon insertion logic into the extract
refactoring. The following rules are used:

- extracting expression: add terminating ';' to the extracted function.
- extracting statements that don't require terminating ';' (e.g. switch): add
  terminating ';' to the callee.
- extracting statements with ';':  move (if possible) the original ';' from the
  callee and add terminating ';'.
- otherwise, add ';' to both places.

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

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

6 years ago[Driver] Add Scudo as a possible -fsanitize= option
Kostya Kortchinsky [Fri, 3 Nov 2017 17:04:13 +0000 (17:04 +0000)]
[Driver] Add Scudo as a possible -fsanitize= option

Summary:
This change adds Scudo as a possible Sanitizer option via -fsanitize=.
This allows for easier static & shared linking of the Scudo library, it allows
us to enforce PIE (otherwise the security of the allocator is moot), and check
for incompatible Sanitizers combo.

In its current form, Scudo is not compatible with any other Sanitizer, but the
plan is to make it work in conjunction with UBsan (-fsanitize=scudo,undefined),
which will require additional work outside of the scope of this change.

Reviewers: eugenis, kcc, alekseyshl

Reviewed By: eugenis, alekseyshl

Subscribers: llvm-commits, srhines

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

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

6 years ago[CodeGen] add libcall attr tests to show errno-related diffs; NFC
Sanjay Patel [Fri, 3 Nov 2017 16:27:27 +0000 (16:27 +0000)]
[CodeGen] add libcall attr tests to show errno-related diffs; NFC

See rL317220 for the builtin siblings.

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

6 years ago[Tooling] Fix linking of StandaloneToolExecutorPlugin.
Eric Liu [Fri, 3 Nov 2017 15:57:27 +0000 (15:57 +0000)]
[Tooling] Fix linking of StandaloneToolExecutorPlugin.

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

6 years ago[Tooling] Put createExecutorFromCommandLineArgs implementation in a wrapper. NFC
Eric Liu [Fri, 3 Nov 2017 15:20:57 +0000 (15:20 +0000)]
[Tooling] Put createExecutorFromCommandLineArgs implementation in a wrapper. NFC

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

6 years ago[clang-format] Sort using-declarations case sensitively with a special case for '_'
Krasimir Georgiev [Fri, 3 Nov 2017 14:38:07 +0000 (14:38 +0000)]
[clang-format] Sort using-declarations case sensitively with a special case for '_'

Summary:
This makes clang-format sort using declarations case-sensitive with the
exception that '_' comes just before 'A'. This is better than the current case
insensitive version, because it groups uppercase names in the same namespace
together.

Reviewers: bkramer

Reviewed By: bkramer

Subscribers: cfe-commits, klimek

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

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

6 years ago[preamble] Also record the "skipping" state of the preprocessor
Erik Verbruggen [Fri, 3 Nov 2017 09:40:07 +0000 (09:40 +0000)]
[preamble] Also record the "skipping" state of the preprocessor

When a preamble ends in a conditional preprocessor block that is being
skipped, the preprocessor needs to continue skipping that block when
the preamble is used.

This fixes PR34570.

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

6 years ago[CUDA] Mark CUDA as a no-errno platform.
Justin Lebar [Fri, 3 Nov 2017 02:30:00 +0000 (02:30 +0000)]
[CUDA] Mark CUDA as a no-errno platform.

Summary:
CUDA doesn't support errno at all, so this is the right thing -- or at
least, in the right direction.

But also, this unbreaks the CUDA test-suite math tests [0] after D39481.
__cuda_cmath.h forwards nexttoward() to __builtin_nexttoward, which,
after that patch, was lowering to a libcall that doesn't exist in NVPTX.

[0] http://lab.llvm.org:8011/builders/clang-cuda-build/builds/14999

Reviewers: tra

Subscribers: sanjoy, cfe-commits

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

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

6 years ago[c++17] Visit class template explicit specializations just like all other class defin...
Richard Smith [Fri, 3 Nov 2017 01:26:01 +0000 (01:26 +0000)]
[c++17] Visit class template explicit specializations just like all other class definitions in codegen.

If an explicit specialization has a static data member, it may be a definition and we may need to register it for emission.

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

6 years ago[analyzer] [NFC] very minor ExprEngineC refactoring
George Karpenkov [Fri, 3 Nov 2017 00:41:29 +0000 (00:41 +0000)]
[analyzer] [NFC] very minor ExprEngineC refactoring

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

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

6 years ago[analyzer] do not crash on libcxx03 call_once implementation
George Karpenkov [Fri, 3 Nov 2017 00:36:03 +0000 (00:36 +0000)]
[analyzer] do not crash on libcxx03 call_once implementation

Addresses https://bugs.llvm.org/show_bug.cgi?id=35075, rdar://35230961

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

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

6 years agoModular Codegen: Don't home always_inline functions
David Blaikie [Thu, 2 Nov 2017 22:28:50 +0000 (22:28 +0000)]
Modular Codegen: Don't home always_inline functions

Since they'll likely (not always - if the address is taken, etc) be
inlined away, even at -O0, separately provided weak definitions are
likely to be unused so skip all of that.

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

6 years agoModular Codegen: Don't home/modularize static functions in headers
David Blaikie [Thu, 2 Nov 2017 21:55:40 +0000 (21:55 +0000)]
Modular Codegen: Don't home/modularize static functions in headers

Consistent with various workarounds in the backwards compatible modules
that allow static functions in headers to exist, be deduplicated to some
degree, and not generally fail right out of the gate... do the same with
modular codegen as there are enough cases (including in libstdc++ and in
LLVM itself - though I cleaned up the easy ones) that it's worth
supporting as a migration/backcompat step.

Simply create a separate, internal linkage function in each object that
needs it. If an available_externally/modularized function references a
static function, but the modularized function is eventually dropped and
not inlined, the static function will be dropped as unreferenced.

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

6 years ago[Serialization] Fix some Clang-tidy modernize and Include What You Use warnings;...
Eugene Zelenko [Thu, 2 Nov 2017 21:45:30 +0000 (21:45 +0000)]
[Serialization] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).

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

6 years agoAdd default calling convention support for regcall.
Erich Keane [Thu, 2 Nov 2017 21:08:00 +0000 (21:08 +0000)]
Add default calling convention support for regcall.

Added support for regcall as default calling convention. Also added code to
exclude main when applying default calling conventions.

Patch-By: eandrews
Differential Revision: https://reviews.llvm.org/D39210

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

6 years ago[CodeGen] fix const-ness of builtin equivalents of <math.h> and <complex.h> functions...
Sanjay Patel [Thu, 2 Nov 2017 20:39:26 +0000 (20:39 +0000)]
[CodeGen] fix const-ness of builtin equivalents of <math.h> and <complex.h> functions that might set errno

This just makes const-ness of the builtins match const-ness of their lib function siblings.
We're deferring fixing some of these that are obviously wrong to follow-up patches.
Hopefully, the bugs are visible in the new test file (added at rL317220).

As the description in Builtins.def says: "e = const, but only when -fmath-errno=0".

This is step 2 of N to fix builtins and math calls as discussed in D39204.

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

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

6 years agorevert r317228: remove unused function from ObjCRuntime.h, NFC
Alex Lorenz [Thu, 2 Nov 2017 19:42:40 +0000 (19:42 +0000)]
revert r317228: remove unused function from ObjCRuntime.h, NFC

This function is actually used in LLDB

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

6 years agoremove unused function from ObjCRuntime.h, NFC
Alex Lorenz [Thu, 2 Nov 2017 19:01:34 +0000 (19:01 +0000)]
remove unused function from ObjCRuntime.h, NFC

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

6 years ago[OPENMP] Fix PR35152: Do not use getInvokeDest() function for EH checks.
Alexey Bataev [Thu, 2 Nov 2017 18:55:05 +0000 (18:55 +0000)]
[OPENMP] Fix PR35152: Do not use getInvokeDest() function for EH checks.

The compiler may crash under some conditions if the getInvokeDest() is
used, but later it is not used. Fixed this problem in OpenMP.

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

6 years ago[refactor][selection] canonicalize selected string literal to objc
Alex Lorenz [Thu, 2 Nov 2017 18:05:48 +0000 (18:05 +0000)]
[refactor][selection] canonicalize selected string literal to objc
string literal when possible

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

6 years ago[CodeGen] add builtin attr tests to show errno-related diffs; NFC
Sanjay Patel [Thu, 2 Nov 2017 17:06:05 +0000 (17:06 +0000)]
[CodeGen] add builtin attr tests to show errno-related diffs; NFC

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

6 years agoFix comment typo
Jan Korous [Thu, 2 Nov 2017 16:37:00 +0000 (16:37 +0000)]
Fix comment typo

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

6 years ago[OPENMP] Fix PR35156: Get correct thread id with windows exceptions.
Alexey Bataev [Thu, 2 Nov 2017 14:25:34 +0000 (14:25 +0000)]
[OPENMP] Fix PR35156: Get correct thread id with windows exceptions.

If the thread id is requested in windows mode within funclets, we may
generate incorrect function call that could lead to broken codegen.

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

6 years ago[OpenMP] Extend "Avoid VLAs for reduction" optimization to VLAs as base
Jonas Hahnfeld [Thu, 2 Nov 2017 13:30:42 +0000 (13:30 +0000)]
[OpenMP] Extend "Avoid VLAs for reduction" optimization to VLAs as base

We can generate constant sized arrays whenever the array section has constant
length, even if the base expression itself is a VLA.

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

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

6 years agoFix clang-format CLion integration bug.
Eric Liu [Thu, 2 Nov 2017 12:48:48 +0000 (12:48 +0000)]
Fix clang-format CLion integration bug.

CLion's Sax parser threw this error:

Failed to parse clang-format XML replacements. Input: <?xml version='1.0'?>
<replacements xml:space='preserve' incomplete_format='true' line=89>
[...]
[org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 66; Open quote is expected for attribute "line" associated with an  element type  "replacements".]

Patch by Justine Tunney (jart@google.com)!

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

6 years agoFix typo in class annotation
Jan Korous [Thu, 2 Nov 2017 12:15:51 +0000 (12:15 +0000)]
Fix typo in class annotation

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

6 years ago[libclang] Add dummy libclang-headers target
Shoaib Meenai [Thu, 2 Nov 2017 05:04:00 +0000 (05:04 +0000)]
[libclang] Add dummy libclang-headers target

`LLVM_DISTRIBUTION_COMPONENTS` assumes that each component has both
`component` and `install-component` targets. Add a dummy no-op target
for `libclang-headers` to placate this check.

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

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

6 years ago[clang-rename] Use add_clang_tool
Shoaib Meenai [Thu, 2 Nov 2017 01:11:40 +0000 (01:11 +0000)]
[clang-rename] Use add_clang_tool

`add_clang_tool` includes a call to `add_clang_executable`, but it also
sets up the install rule, and adds an `install-*` target. The latter is
required for using `LLVM_DISTRIBUTION_COMPONENTS`.

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

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

6 years agoPR33746: Store the 'inline'ness of a static data member with the update record
Richard Smith [Thu, 2 Nov 2017 01:06:00 +0000 (01:06 +0000)]
PR33746: Store the 'inline'ness of a static data member with the update record
for instantiating its definition.

We model the 'inline'ness as being instantiated with the static data member in
order to track whether the declaration has become a definition yet.

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

6 years agoCodeGen: simplify EH personality selection (NFC)
Saleem Abdulrasool [Thu, 2 Nov 2017 00:25:40 +0000 (00:25 +0000)]
CodeGen: simplify EH personality selection (NFC)

Fix a typo in the comment, reorder to ensure that the ordering matches
across the ObjC/ObjC++ cases.  NFCI.

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

6 years agoFix missing -Wregister warning when 'register' is applied to a function parameter.
Richard Smith [Wed, 1 Nov 2017 23:38:37 +0000 (23:38 +0000)]
Fix missing -Wregister warning when 'register' is applied to a function parameter.

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

6 years ago[ASTMatchers] Fix some Clang-tidy modernize and Include What You Use warnings; other...
Eugene Zelenko [Wed, 1 Nov 2017 23:09:49 +0000 (23:09 +0000)]
[ASTMatchers] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).

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

6 years ago[clang-format] Make parseUnaryOperator non-recursive, NFCI
Krasimir Georgiev [Wed, 1 Nov 2017 18:20:41 +0000 (18:20 +0000)]
[clang-format] Make parseUnaryOperator non-recursive, NFCI

Summary:
This patch makes the implementation of parseUnaryOperator non-recursive. We had
a problem with a file starting with tens of thousands of +'es and -'es which
caused clang-format to stack overflow.

Reviewers: bkramer

Reviewed By: bkramer

Subscribers: cfe-commits, klimek

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

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

6 years agoFix warnings discovered by rL317076. [-Wunused-private-field]
NAKAMURA Takumi [Wed, 1 Nov 2017 13:47:55 +0000 (13:47 +0000)]
Fix warnings discovered by rL317076. [-Wunused-private-field]

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

6 years agoReformat.
NAKAMURA Takumi [Wed, 1 Nov 2017 13:47:48 +0000 (13:47 +0000)]
Reformat.

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

6 years agoFix -Wunused-private-field to fire regardless of which implicit special members have...
Richard Smith [Wed, 1 Nov 2017 04:52:12 +0000 (04:52 +0000)]
Fix -Wunused-private-field to fire regardless of which implicit special members have been implicitly declared.

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

6 years agoclang/lib/Format/Format.cpp: Fix warnings introduced in rL316903. [-Wpedantic]
NAKAMURA Takumi [Wed, 1 Nov 2017 04:43:22 +0000 (04:43 +0000)]
clang/lib/Format/Format.cpp: Fix warnings introduced in rL316903. [-Wpedantic]

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

6 years agoChange assertion to quick exit from checking function.
Richard Trieu [Wed, 1 Nov 2017 03:57:27 +0000 (03:57 +0000)]
Change assertion to quick exit from checking function.

Remove the assertion that could be triggered by invalid code.  Replace it with
an early exit from the checking function.

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

6 years ago[analyzer] Removing unused stored field.
George Karpenkov [Wed, 1 Nov 2017 02:29:04 +0000 (02:29 +0000)]
[analyzer] Removing unused stored field.

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

6 years ago[X86] Define i586 and pentium preprocessor defines for -march=lakemont to match GCC
Craig Topper [Wed, 1 Nov 2017 02:18:49 +0000 (02:18 +0000)]
[X86] Define i586 and pentium preprocessor defines for -march=lakemont to match GCC

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

6 years ago[c++17] Refine resolution of constructor / conversion function disambiguation.
Richard Smith [Wed, 1 Nov 2017 01:37:11 +0000 (01:37 +0000)]
[c++17] Refine resolution of constructor / conversion function disambiguation.

Given a choice between a constructor call and a conversion function in C++17,
we prefer the constructor for direct-initialization and the conversion function
for copy-initialization, matching the behavior in C++14 and before. The
guaranteed copy elision rules were not intended to change the meaning of such
code (other than by removing unnecessary copy constructor calls).

This tweak will be raised with CWG.

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

6 years ago[Analyzer] Use value storage for BodyFarm
George Karpenkov [Wed, 1 Nov 2017 01:36:01 +0000 (01:36 +0000)]
[Analyzer] Use value storage for BodyFarm

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

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

6 years ago[refactor][extract] code extracted from inline method should be placed
Alex Lorenz [Wed, 1 Nov 2017 01:12:56 +0000 (01:12 +0000)]
[refactor][extract] code extracted from inline method should be placed
in a function defined before the outer class

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

6 years ago[refactor][extract] prohibit extraction of ObjC property setters
Alex Lorenz [Wed, 1 Nov 2017 00:20:55 +0000 (00:20 +0000)]
[refactor][extract] prohibit extraction of ObjC property setters

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

6 years ago[refactor][selection] code ranges can be selected in objc methods
Alex Lorenz [Wed, 1 Nov 2017 00:07:12 +0000 (00:07 +0000)]
[refactor][selection] code ranges can be selected in objc methods

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

6 years agoMaking a couple of tests a bit more flexible wrt thunk mangling. Fixes checkin for...
Wolfgang Pieb [Wed, 1 Nov 2017 00:01:20 +0000 (00:01 +0000)]
Making a couple of tests a bit more flexible wrt thunk mangling. Fixes checkin for r317047.

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

6 years agoMake helper function static. NFC.
Benjamin Kramer [Tue, 31 Oct 2017 23:23:36 +0000 (23:23 +0000)]
Make helper function static. NFC.

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

6 years agoFix for PR33930. Short-circuit metadata mapping when cloning a varargs thunk.
Wolfgang Pieb [Tue, 31 Oct 2017 22:49:48 +0000 (22:49 +0000)]
Fix for PR33930. Short-circuit metadata mapping when cloning a varargs thunk.
The cloning happens before all metadata nodes are resolved. Prevent the value
mapper from running into unresolved or temporary MD nodes.

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

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

6 years ago[CFI] Add CFI-icall pointer type generalization
Vlad Tsyrklevich [Tue, 31 Oct 2017 22:39:44 +0000 (22:39 +0000)]
[CFI] Add CFI-icall pointer type generalization

Summary:
This change allows generalizing pointers in type signatures used for
cfi-icall by enabling the -fsanitize-cfi-icall-generalize-pointers flag.
This works by 1) emitting an additional generalized type signature
metadata node for functions and 2) llvm.type.test()ing for the
generalized type for translation units with the flag specified.

This flag is incompatible with -fsanitize-cfi-cross-dso because it would
require emitting twice as many type hashes which would increase artifact
size.

Reviewers: pcc, eugenis

Reviewed By: pcc

Subscribers: kcc

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

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

6 years ago[clang-fuzzer] Fix incremental builds of the fuzzer
Vitaly Buka [Tue, 31 Oct 2017 20:49:57 +0000 (20:49 +0000)]
[clang-fuzzer] Fix incremental builds of the fuzzer

Summary:
Don't use BUILD_IN_SOURCE keep git checkout clean
Don't forward CMAKE_GENERATOR as ExternalProject_Add should do it already
Reset UPDATE_COMMAND to avoid git checkout updates on each build

Reviewers: kcc, morehouse

Subscribers: cfe-commits, mgorny

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

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

6 years agoFix usage of right shift operator in fold expressions
Richard Smith [Tue, 31 Oct 2017 20:29:22 +0000 (20:29 +0000)]
Fix usage of right shift operator in fold expressions

The right shift operator was not seen as a valid operator in a fold expression, which is PR32563.

Patch by Nicolas Lesser ("Blitz Rakete")!

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

6 years ago[CodeGen] map sqrt libcalls to llvm.sqrt when errno is not set
Sanjay Patel [Tue, 31 Oct 2017 20:19:39 +0000 (20:19 +0000)]
[CodeGen] map sqrt libcalls to llvm.sqrt when errno is not set

The LLVM sqrt intrinsic definition changed with:
D28797
...so we don't have to use any relaxed FP settings other than errno handling.

This patch sidesteps a question raised in PR27435:
https://bugs.llvm.org/show_bug.cgi?id=27435

Is a programmer using __builtin_sqrt() invoking the compiler's intrinsic definition of sqrt or the mathlib definition of sqrt?

But we have an answer now: the builtin should match the behavior of the libm function including errno handling.

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

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

6 years ago[CodeGen] Propagate may-alias'ness of lvalues with TBAA info
Ivan A. Kosarev [Tue, 31 Oct 2017 11:05:34 +0000 (11:05 +0000)]
[CodeGen] Propagate may-alias'ness of lvalues with TBAA info

This patch fixes various places in clang to propagate may-alias
TBAA access descriptors during construction of lvalues, thus
eliminating the need for the LValueBaseInfo::MayAlias flag.

This is part of D38126 reworked to be a separate patch to
simplify review.

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

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

6 years ago[refactor] select the entire DeclStmt if one ifs decls is selected
Alex Lorenz [Tue, 31 Oct 2017 01:28:17 +0000 (01:28 +0000)]
[refactor] select the entire DeclStmt if one ifs decls is selected

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

6 years agoTypo correct the condition of 'do-while' before exiting its scope
Alex Lorenz [Mon, 30 Oct 2017 22:55:11 +0000 (22:55 +0000)]
Typo correct the condition of 'do-while' before exiting its scope

rdar://35172419

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

6 years ago[modules] Retain multiple using-directives in the same scope even if they name the...
Richard Smith [Mon, 30 Oct 2017 22:38:20 +0000 (22:38 +0000)]
[modules] Retain multiple using-directives in the same scope even if they name the same namespace.

They might have different visibility, and thus discarding all but one of them
can result in rejecting valid code. Also fix name lookup to cope with multiple
using-directives being found that denote the same namespace, where some are not
visible -- don't cache an "already visited" state for a using-directive that we
didn't visit because it was hidden.

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

6 years ago[analyzer] Use the same filename for the header and the implementation of BugReporter...
George Karpenkov [Mon, 30 Oct 2017 22:31:57 +0000 (22:31 +0000)]
[analyzer] Use the same filename for the header and the implementation of BugReporterVisitor

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

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