]>
granicus.if.org Git - clang/log
Reid Kleckner [Thu, 24 Apr 2014 23:06:17 +0000 (23:06 +0000)]
Reland r206934 with a hopefully fixed test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207155
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 24 Apr 2014 22:45:46 +0000 (22:45 +0000)]
If we see an explicit instantiation declaration or definition of a function
after we've already instantiated a definition for the function, pass it to the
ASTConsumer again so that it knows the specialization kind has changed and can
update the function's linkage.
This only matters if we instantiate the definition of the function before we
reach the end of the TU; this can happen in at least three different ways:
C++11 constexpr functions, C++14 deduced return types, and functions
instantiated within modules.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207152
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 19:52:12 +0000 (19:52 +0000)]
MicrosoftVTableContext: Don't leak VPtrInfos. Found by LSan, PR19522.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207138
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 19:04:10 +0000 (19:04 +0000)]
Fix a tiny test-only leak, found by LSan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207137
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Thu, 24 Apr 2014 18:40:06 +0000 (18:40 +0000)]
Intrin.h: remove __rdtsc and __rdtscp declarations
Since r207132, these are defined in ia32intrin.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207134
91177308 -0d34-0410-b5e6-
96231b3b80d8
Andrea Di Biagio [Thu, 24 Apr 2014 18:26:35 +0000 (18:26 +0000)]
[X86] Add Clang support for intrinsics __rdtsc and __rdtscp.
This patch:
1. Adds a definition for two new GCCBuiltins in BuiltinsX86.def:
__builtin_ia32_rdtsc;
__builtin_ia32_rdtscp;
2. Replaces the already existing definition of intrinsic __rdtsc in
ia32intrin.h with a simple call to the new GCC builtin __builtin_ia32_rdtsc.
3. Adds a definition for the new intrinsic __rdtscp in ia32intrin.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Thu, 24 Apr 2014 17:27:18 +0000 (17:27 +0000)]
Squelch leak found by LSan by handling missing switch case.
Also, use the enum type in the switch so this doesn't happen again.
PR19523
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207128
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Thu, 24 Apr 2014 16:05:26 +0000 (16:05 +0000)]
[mips] Support 128-bit int in N32 ABI by overriding TargetInfo::hasInt128Type()
Summary: The condition in the base class is rather strange. It says a target has the 128-bit integer type if the size of a pointer is >= 64-bits. N32 has 32-bit pointers but 64-bit integers. I'm a bit reluctant to change this for all targets so this patch makes the method virtual and overrides it for MIPS64.
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D3472
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207121
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Thu, 24 Apr 2014 14:06:31 +0000 (14:06 +0000)]
AArch64: update tests to new way of printing NEON lists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207117
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 24 Apr 2014 12:44:34 +0000 (12:44 +0000)]
CommentToXMLConverter: Don't use "default" to method(s). It is unavailable in msc17.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Thu, 24 Apr 2014 09:58:52 +0000 (09:58 +0000)]
[mips] Correct size_t and ptrdiff_t for N32.
Summary:
Correct size_t to be unsigned int and ptrdiff_t to be signed long. The types were the correct size before this change but
the exact type matters for name mangling and exception handling in C++.
Reviewers: atanasyan
Reviewed By: atanasyan
Differential Revision: http://reviews.llvm.org/D3470
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207093
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Thu, 24 Apr 2014 07:52:31 +0000 (07:52 +0000)]
Comment to XML conversion: use unique_ptr for SimpleFormatContext
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207087
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 24 Apr 2014 06:05:40 +0000 (06:05 +0000)]
Simplify leak fix of r207076, by just disposing the previous CXString.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 05:39:55 +0000 (05:39 +0000)]
Don't leak _all_ directives in -verify mode. Found by LSan, PR19520.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207079
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 05:32:03 +0000 (05:32 +0000)]
Don't leak invalid RegexDirectives. Probably a small part of PR19520.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 05:16:45 +0000 (05:16 +0000)]
Fix two leaks found by LSan.
A CursorPlatformAvailability can have several "unavailable" attributes, don't
leak all but the first. I'm not sure if there can be several "deprecate"ds too,
but add the same logic there to keep the two code paths looking the same.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207076
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 04:58:41 +0000 (04:58 +0000)]
Fix two leaks found by LSan (one is test-only).
The result of llvm::MemoryBuffer::getMemBuffer() needs to be freed. Don't
pass "don't free" flag to overrideFileContents() to fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207075
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 04:26:18 +0000 (04:26 +0000)]
Fix two test-only leaks found by LSan.
The result of getBufferForFile() must be freed.
(Should we change functions that expect the caller to assume ownership so
that they return unique_ptrs instead? Then the type system makes sure we get
this right.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207074
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 04:14:12 +0000 (04:14 +0000)]
Fix two leaks in c-index-test found by LSan.
The result of clang_getCursorSpelling() needs to be clang_getCursorSpelling()ed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207073
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 03:48:09 +0000 (03:48 +0000)]
Fix four more test-only leaks found by LSan.
Tool::run() doesn't take ownership of the passed action.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207071
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 03:31:27 +0000 (03:31 +0000)]
Revert the "don't leak" part of r207065, looks like the bots don't like it :-/
http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/22506
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207070
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 03:30:22 +0000 (03:30 +0000)]
Fix 3 test-only leaks found by LSan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207068
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 03:17:47 +0000 (03:17 +0000)]
More spellchecking for Index.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207067
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 03:06:18 +0000 (03:06 +0000)]
compeltions are never appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207066
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 02:42:04 +0000 (02:42 +0000)]
Don't leak objects in load-from-ast path unless DisableFree is set.
Also update a comment to match a code change that was done in r110978.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207065
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 24 Apr 2014 02:25:27 +0000 (02:25 +0000)]
When two templates get merged together, also merge their pattern declarations
together. This is extremely hairy, because in general we need to have loaded
both the template and the pattern before we can determine whether either should
be merged, so we temporarily violate the rule that all merging happens before
reading a decl ends, but *only* in the case where a template's pattern is being
loaded while loading the template itself.
In order to accomodate this for class templates, delay loading the injected
class name type for the pattern of the template until after we've loaded the
template itself, if we happen to load the template first.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207063
91177308 -0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 24 Apr 2014 02:16:29 +0000 (02:16 +0000)]
Fix test to not depend on llvm optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207062
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 24 Apr 2014 00:51:03 +0000 (00:51 +0000)]
Bury leaked sema pointer when reading from AST files.
Should suppress several LSan reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207056
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Wed, 23 Apr 2014 22:07:21 +0000 (22:07 +0000)]
Fix another leak in ParseMicrosoftAsmStatement(), found by LSan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207040
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 23 Apr 2014 22:03:04 +0000 (22:03 +0000)]
Suppress unused variable warning
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207039
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Trieu [Wed, 23 Apr 2014 21:53:59 +0000 (21:53 +0000)]
Change -Wfloating-point-conversion to -Wfloat-conversion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207037
91177308 -0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Wed, 23 Apr 2014 21:49:00 +0000 (21:49 +0000)]
Fixed comments (thanks to Richard Smith).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207036
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Wed, 23 Apr 2014 21:42:27 +0000 (21:42 +0000)]
Make RewriteRope less confusing for me. No intended behavior change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207032
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Wed, 23 Apr 2014 21:41:51 +0000 (21:41 +0000)]
Fix leak introduced in r194610, found by LSan.
LSan folks: LSan pointed to
#0 0x4953e0 in operator new[](unsigned long) llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:64
#1 0x7fb82af5372f in clang::RewriteRope::MakeRopeString(char const*, char const*) llvm/tools/clang/lib/Rewrite/Core/RewriteRope.cpp:796
instead of to the actual leak, which made tracking this down slower than
it could have been.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207031
91177308 -0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Wed, 23 Apr 2014 21:28:18 +0000 (21:28 +0000)]
Moved operator delete to public area to appease gcc and conform to C++ standard.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207027
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Wed, 23 Apr 2014 21:10:46 +0000 (21:10 +0000)]
Do not print inferred submodules explicitly in __inferred_module.map
Otherwise including a header in your source file that is not included by
framework's umbrella header will silently add an empty submodule with that
name.
is automatically translated to
@import Foo.NotInModule;
which then would have succeeded because the inferred module map
contained an empty submodule called NotInModule.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207024
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Wed, 23 Apr 2014 19:19:20 +0000 (19:19 +0000)]
Fix a memory leak found by LSan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207013
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Wed, 23 Apr 2014 19:04:32 +0000 (19:04 +0000)]
Quick fix for layering that broke shared library build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207011
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 23 Apr 2014 18:22:11 +0000 (18:22 +0000)]
MS ABI: Use a different guard variable for each weak global
We were using the same guard variable and failing to initialize the
second global.
Clang is still not MS ABI compatible in this area. Fixing that is
PR16959, which will require LLVM changes to @llvm.global_ctors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207008
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Wed, 23 Apr 2014 18:20:42 +0000 (18:20 +0000)]
Make TypeDecl much less friendly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207007
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 23 Apr 2014 17:44:58 +0000 (17:44 +0000)]
Objective-C [IRGen]. Fixes a crash in IRGen involving use of
'typeof' to extract type of an @encode expression used
in an initializer. // rdar://
16655340
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207004
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Wed, 23 Apr 2014 16:54:52 +0000 (16:54 +0000)]
[analyzer] Fix a leak found by LSan.
PR19524
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207001
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Wed, 23 Apr 2014 16:39:41 +0000 (16:39 +0000)]
Don't pass llvm::DenseSet<> by value.
Summary: Fixes massive performance problems on large translation units.
Reviewers: jordan_rose
Reviewed By: jordan_rose
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3471
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206999
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Wed, 23 Apr 2014 15:21:23 +0000 (15:21 +0000)]
Review feedback.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206997
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Wed, 23 Apr 2014 15:21:21 +0000 (15:21 +0000)]
Review feedback.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206996
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Wed, 23 Apr 2014 15:21:20 +0000 (15:21 +0000)]
Review feedback
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206995
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Wed, 23 Apr 2014 15:21:07 +0000 (15:21 +0000)]
Add documentation for sample profiling support.
Summary:
This documents the usage of sample profilers with Clang and the
profile format expected by LLVM's optimizers. It also documents the
profile conversion tool used by Linux Perf.
Reviewers: doug.gregor
CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D3402
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206994
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 23 Apr 2014 15:13:39 +0000 (15:13 +0000)]
Prune \param introduced in r206977, possibly committed ahead. [-Wdocumentation]
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206993
91177308 -0d34-0410-b5e6-
96231b3b80d8
Logan Chien [Wed, 23 Apr 2014 15:00:03 +0000 (15:00 +0000)]
Add missing test input for r206979.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206992
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 23 Apr 2014 14:40:19 +0000 (14:40 +0000)]
The rewrite constructor should actually rewrite.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206987
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 23 Apr 2014 14:26:59 +0000 (14:26 +0000)]
Replacing a naked pointer with a unique_ptr. No functional changes intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206986
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 23 Apr 2014 14:22:06 +0000 (14:22 +0000)]
Minor formatting and simplification cleanup -- no functional changes intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206985
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 23 Apr 2014 13:58:21 +0000 (13:58 +0000)]
Updated to be a bit more const friendly. Also switched the linkage to be static since this function is file-local. No functional changes intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206982
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Wed, 23 Apr 2014 13:45:44 +0000 (13:45 +0000)]
Fix unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206981
91177308 -0d34-0410-b5e6-
96231b3b80d8
Logan Chien [Wed, 23 Apr 2014 13:36:23 +0000 (13:36 +0000)]
Add aarch64-linux-android triple for Android.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206979
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Wed, 23 Apr 2014 12:57:01 +0000 (12:57 +0000)]
Initial implementation of -modules-earch-all option, for searching for symbols in non-imported modules.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206977
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Wed, 23 Apr 2014 12:46:26 +0000 (12:46 +0000)]
Add yet another vtordisp test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206974
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 23 Apr 2014 12:38:13 +0000 (12:38 +0000)]
This reverts commit r206934 and r206935.
The original messages were:
"Driver: Honor %INCLUDE% when built with MinGW"
"Add missing test triples"
The test was still failing on OS X.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206973
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Wed, 23 Apr 2014 11:15:49 +0000 (11:15 +0000)]
Update Target::createMCAsmParser calls for the LLVM interface change.
Patch by Yuri Gorshenin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206970
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Wed, 23 Apr 2014 10:26:23 +0000 (10:26 +0000)]
[ARM64] Enable more CodeGen tests for ARM64. The crypto and neon intrinsics tests needed changing slightly due to the naming differences between AArch64 and ARM64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206964
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Wed, 23 Apr 2014 10:26:19 +0000 (10:26 +0000)]
[ARM64] Change inline assembly constraints to be more lax, to match the behaviour of Clang/AArch64 and GCC.
GCC allows sub-64bit values to use the 'r' register constraint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206963
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Wed, 23 Apr 2014 10:26:12 +0000 (10:26 +0000)]
[ARM64] Enable the test aarch64-type-sizes.c for ARM64 BE.
This completes the port of r203918 (cpirker "AArch64_be specific clang target settings") to ARM64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206962
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Wed, 23 Apr 2014 10:26:08 +0000 (10:26 +0000)]
[ARM64] Add a missed case label for arm64_be, and enable the aarch64-varargs test for arm64_be.
This ensures that r203917 (cpirker "AArch64_be varargs processing for ARM ABI") is ported to ARM64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206961
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 23 Apr 2014 05:16:56 +0000 (05:16 +0000)]
MS ABI: Implement mangling for ref-qualifiers on methods
Mangle ref-qualifiers like the Nov 2013 CTP.
This fixes PR19361.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206946
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 23 Apr 2014 05:16:53 +0000 (05:16 +0000)]
MS ABI: Use range-based for loops in the mangler
No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206945
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 23 Apr 2014 05:16:51 +0000 (05:16 +0000)]
MS ABI: Cleanup some egregious style violations
No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206944
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 23 Apr 2014 05:16:48 +0000 (05:16 +0000)]
AST: Cleanup/simplify some LV calculation code
No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206943
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Wed, 23 Apr 2014 01:50:10 +0000 (01:50 +0000)]
CodeGen: Unify handling guard variables in the Itanium C++ ABI
We previously treated ARM separately from the generic Itanium ABI for
initializing guard variables. This code duplication led to things like
the ARM path missing the memory barrier for threadsafe handling, and a
highly misleading comment about how we were (mis)using the generic ABI
for ARM64 when really it went through the ARM codepath.
This unifies the two code paths. Functionally, this changes the ARM
and ARM64 codepath to use one byte loads instead of 4 and 8,
respectively, and adds the missing atomic acquire to these loads.
Other architectures are unchanged.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206937
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 23 Apr 2014 00:57:34 +0000 (00:57 +0000)]
Add missing test triples
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206935
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 23 Apr 2014 00:15:12 +0000 (00:15 +0000)]
Driver: Honor %INCLUDE% when built with MinGW
Users are expected to pass system includes through the INCLUDE
environment variable on Windows. There's no reason to change behavior
based on the toolchain used to build Clang.
I didn't change the registry searching code because I'm not sure it
builds with mingw and I'm not set up to test it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206934
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 23 Apr 2014 00:15:01 +0000 (00:15 +0000)]
Driver: Avoid a duplicate path separator and clean up code
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206933
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 22 Apr 2014 23:50:25 +0000 (23:50 +0000)]
Add some missing checks for C++1y digit separators that don't in fact separate
digits. Turns out we have completely separate lexing codepaths for floating
point numbers depending on whether or not they start with a zero. Who knew...
=)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206932
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 22 Apr 2014 23:14:23 +0000 (23:14 +0000)]
PR18746: If a constexpr function has a dependent return type and no return
statements, don't diagnose; the return type might end up being 'void'.
Patch by Rahul Jain! Tiny tweaks by me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206929
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Tue, 22 Apr 2014 21:30:17 +0000 (21:30 +0000)]
Driver: Skip the -fmodules-cache-path argument in driver crash diags
The modules cache path shouldn't be included in crash reports, as it's
a system (or run) specific directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206922
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Tue, 22 Apr 2014 19:56:49 +0000 (19:56 +0000)]
Use a manipulator to add a value to the current diagnostic flag.
Summary:
This addresses the feedback to
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-
20140421 /103598.html
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3453
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206920
91177308 -0d34-0410-b5e6-
96231b3b80d8
Quentin Colombet [Tue, 22 Apr 2014 18:29:43 +0000 (18:29 +0000)]
[Driver][ARM64] Add a testcase for r206227.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206914
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 22 Apr 2014 17:42:01 +0000 (17:42 +0000)]
Objective-C ARC. Under ARC, addition of 'bridge' attribute
on CF type is not sufficient and bridge casting is
still required for proper ownership semantics.
// rdar://
16650445
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206910
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Tue, 22 Apr 2014 17:40:12 +0000 (17:40 +0000)]
Attempt to fix null ASTContext in ASTUnit error path
We don't need the ASTContext for the diagnostics, only the language
options, which we can get from the compiler invocation. It worries me
how many categorically different states the ASTUnit class can be in
depending on how it is being constructed/used.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206909
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Tue, 22 Apr 2014 17:32:02 +0000 (17:32 +0000)]
Fix PR19487, PR19505 and PR19506 -- redundant vtordisp thunks when the final overrider is present in both a vbase and nvbase
Reviewed at http://reviews.llvm.org/D3449
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206908
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Tue, 22 Apr 2014 17:31:23 +0000 (17:31 +0000)]
Thread safety analysis: add array operations to SExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206907
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Tue, 22 Apr 2014 14:51:04 +0000 (14:51 +0000)]
Thread safety analysis: fix warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206899
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 22 Apr 2014 13:28:08 +0000 (13:28 +0000)]
Try to fix warnings to escape '@' as '\@'. [-Wdocumentation-html]
clang/include/clang/Format/Format.h:185:8: error: HTML tag 'tt' requires an end tag [-Werror,-Wdocumentation-html]
/// <tt>@property (readonly)</tt> instead of <tt>@property(readonly)</tt>.
~^~~
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206893
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Musman [Tue, 22 Apr 2014 13:09:42 +0000 (13:09 +0000)]
[OPENMP] parsing 'linear' clause (for directive 'omp simd')
Differential Revision: http://reviews.llvm.org/D3272
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206891
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Tue, 22 Apr 2014 12:45:55 +0000 (12:45 +0000)]
ARM64: update NEON test to improved backend codegen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206890
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 22 Apr 2014 12:34:52 +0000 (12:34 +0000)]
Comment parsing: close a hole in CDATA escaping in XML output
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206886
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 22 Apr 2014 10:59:13 +0000 (10:59 +0000)]
Comment parsing: in the generated XML file, mark HTML that is safe to pass
through to the output even if the input comment comes from an untrusted source
Attribute filtering is currently based on a blacklist, which right now includes
all event handler attributes (they contain JavaScipt code). It should be
switched to a whitelist, but going over all of the HTML5 spec requires a
significant amount of time.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206882
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 22 Apr 2014 08:32:01 +0000 (08:32 +0000)]
DiagnosticsEngine::Report(): Fix a warning. [-Wdocumentation]
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206871
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 22 Apr 2014 08:16:58 +0000 (08:16 +0000)]
Update clang/test/PCH/single-token-macro.c corresponding to r206791.
__stdcall is defined as __attribute__((__stdcall__)) for targeting mingw32.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206870
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 22 Apr 2014 03:17:02 +0000 (03:17 +0000)]
[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE
definition below all of the header #include lines, clang edition.
If you want more details about this, you can see some of the commits to
Debug.h in LLVM recently. This is just the clang section of a cleanup
I've done for all uses of DEBUG_TYPE in LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206849
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 22 Apr 2014 01:11:06 +0000 (01:11 +0000)]
Move the C++11 ExtWarn for converting a string literal to 'char*' out of
-Wc++11-compat-deprecated-writable-strings. It's neither a C++11 compatibility
warning nor a deprecated feature, it's just ill-formed.
In passing, add that warning to -Wdeprecated, where it belongs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206833
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Trieu [Tue, 22 Apr 2014 01:01:05 +0000 (01:01 +0000)]
Move the warning of implicit cast of a floating point to an integer out of
-Wconversion and into it's own group, -Wfloating-point-conversion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206832
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Mon, 21 Apr 2014 23:18:18 +0000 (23:18 +0000)]
Thread safety analysis: misc updates to SExpr handling. Fix to minimal SSA,
function parameters, and compound assignment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206827
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Mon, 21 Apr 2014 23:16:03 +0000 (23:16 +0000)]
Allow adding a value to a flag in diagnostics.
Summary:
This allows callers of Diags.Report() to append a value to the name of
the flag associated with the diagnostic. This is useful in cases like
the -Rpass flag, where we want the diagnostic to show the name of the
pass that matched the pattern. Instead of showing "... [-Rpass]", this
allows us to show "... [-Rpass=passname]".
Reviewers: rsmith
CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D3441
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206826
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Apr 2014 22:55:36 +0000 (22:55 +0000)]
[Modules] Update Clang's two files that use DEBUG(...) without defining
DEBUG_TYPE to do so. LLVM's Debug.h requires this as of r206822.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206823
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Apr 2014 22:32:54 +0000 (22:32 +0000)]
[Modules] Remove the only use of the DEBUG(...) macro in the compiler
parts of Clang. I don't really have any opinion about whether using that
macro is good or bad, but its odd that this is the only one, and Eric
seemed happy with just nuking it for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206806
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Mon, 21 Apr 2014 22:29:45 +0000 (22:29 +0000)]
Try to fix bad Twine usage in r206791 with std::string
I'm pretty sure I was referencing destroyed temporaries here. I'm open
to suggestions on how to write this better.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206804
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Mon, 21 Apr 2014 20:58:00 +0000 (20:58 +0000)]
MinGW: Define __stdcall&co when -fms-extensions is disabled
This is for compatibility with GCC.
Reviewers: asl
Differential Revision: http://reviews.llvm.org/D3444
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206791
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Mon, 21 Apr 2014 20:23:34 +0000 (20:23 +0000)]
Split out the rest of MS ABI multiple inheritance tests
Intentionally duplicate base class definitions per test, so it's easier to copy tests while debugging failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206782
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 21 Apr 2014 20:22:17 +0000 (20:22 +0000)]
Objective-C. Patch to allow use of dot syntax on class
objects to fund root class's instance methods.
// rdar://
16650575
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206781
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Mon, 21 Apr 2014 19:49:57 +0000 (19:49 +0000)]
Allow submodule inferrences with a missing umbrella when the module is unavailable
If the module is unavailable because of a missing header, don't diagnose
a "module * {}" declaration for having a missing umbrella.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206776
91177308 -0d34-0410-b5e6-
96231b3b80d8