]>
granicus.if.org Git - clang/log
Hans Wennborg [Fri, 15 Nov 2013 17:24:45 +0000 (17:24 +0000)]
[-cxx-abi microsoft] Emit thunks for pointers to virtual member functions
Instead of storing the vtable offset directly in the function pointer and
doing a branch to check for virtualness at each call site, the MS ABI
generates a thunk for calling the function at a specific vtable offset,
and puts that in the function pointer.
This patch adds support for emitting such thunks. However, it doesn't support
pointers to virtual member functions that are variadic, have an incomplete
aggregate return type or parameter, or are overriding a function in a virtual
base class.
Differential Revision: http://llvm-reviews.chandlerc.com/D2104
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194827
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Potapenko [Fri, 15 Nov 2013 16:57:57 +0000 (16:57 +0000)]
[ASan] Fix darwin-sanitizer-ld.c for iossim, which seems to use -lc++ instead of -lstdc++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194822
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Potapenko [Fri, 15 Nov 2013 16:07:44 +0000 (16:07 +0000)]
[ASan] Link with libclang_rt.asan_iossim_dynamic.dylib when targeting the iOS simulator.
Add a test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194820
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sylvestre Ledru [Fri, 15 Nov 2013 15:39:14 +0000 (15:39 +0000)]
Using an invalid -O falls back on -O3 instead of an error
Summary:
Currently with clang:
$ clang -O20 foo.c
error: invalid value '20' in '-O20'
With the patch:
$ clang -O20 foo.c
warning: optimization level '-O20' is unsupported; using '-O3' instead.
1 warning generated.
This matches the gcc behavior (with a warning added)
Pass all tests:
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Testing Time: 94.14s
Expected Passes : 6721
Expected Failures : 20
Unsupported Tests : 17
(which was not the case of http://llvm-reviews.chandlerc.com/D2125)
Reviewers: chandlerc, rafael, rengolin, hfinkel
Reviewed By: rengolin
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2152
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194817
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Potapenko [Fri, 15 Nov 2013 14:56:31 +0000 (14:56 +0000)]
[ASan] If the iOS Simulator SDK is available, build the ASan iossim runtime using configure+make.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194816
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Fri, 15 Nov 2013 13:37:49 +0000 (13:37 +0000)]
Ignore test Inputs globally and remove redundant lit.local.cfg files
By adding a default config.excludes pattern we can avoid individual
suppressions in subdirectories.
This matches LLVM's lit.cfg which also excludes a few other common non-test
filenames for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194814
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 15 Nov 2013 08:55:01 +0000 (08:55 +0000)]
Tests for core issue 216-223.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194795
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 15 Nov 2013 04:24:58 +0000 (04:24 +0000)]
When we hit a #include directive that maps to a module import, emit a token
representing the module import rather than making the module immediately
visible. This serves two goals:
* It avoids making declarations in the module visible prematurely, if we
walk past the #include during a tentative parse, for instance, and
* It gives a diagnostic (although, admittedly, not a very nice one) if
a header with a corresponding module is included anywhere other than
at the top level.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194782
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 15 Nov 2013 02:58:23 +0000 (02:58 +0000)]
PR17533 and duplicates: don't compute the return type of an overloaded operator
until after we've referenced the operator; otherwise, we might pick up a
not-yet-deduced type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194775
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 15 Nov 2013 02:29:26 +0000 (02:29 +0000)]
Don't reject dependent range-based for loops in constexpr functions. The loop
variable isn't really uninitialized, it's just not initialized yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194767
91177308 -0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Fri, 15 Nov 2013 02:19:52 +0000 (02:19 +0000)]
Fix test failures after addrspacecast added.
Bitcasts between address spaces are no longer allowed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194765
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Fri, 15 Nov 2013 02:11:19 +0000 (02:11 +0000)]
[analyzer] Silence warnings coming from allocators used by std::basic_string.
This is similar to r194004: because we can't reason about the data structure
invariants of std::basic_string, the analyzer decides it's possible for an
allocator to be used to deallocate the string's inline storage. Just ignore
this by walking up the stack, skipping past methods in classes with
"allocator" in the name, and seeing if we reach std::basic_string that way.
PR17866
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194764
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Fri, 15 Nov 2013 02:11:11 +0000 (02:11 +0000)]
[analyzer] Include bug column numbers in HTML output (in a comment).
This has no effect on user-visible output, but can be used by post-processing
tools that work with the generated HTML, rather than using CmpRuns.py's
interface to work with plists.
Patch by György Orbán!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194763
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 15 Nov 2013 02:10:04 +0000 (02:10 +0000)]
Modern gcc is happy to constant evaluate __builtin_strlen in various cases
where we didn't. Extend our constant evaluation for __builtin_strlen to handle
any constant array of chars, not just string literals, to match.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194762
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Thu, 14 Nov 2013 23:45:53 +0000 (23:45 +0000)]
R600: Add processor type for Hawaii
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194751
91177308 -0d34-0410-b5e6-
96231b3b80d8
Joerg Sonnenberger [Thu, 14 Nov 2013 23:18:08 +0000 (23:18 +0000)]
PR 17916: Don't fail if xcrun is not present.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194745
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Peixotto [Thu, 14 Nov 2013 22:58:17 +0000 (22:58 +0000)]
Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194744
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Peixotto [Thu, 14 Nov 2013 22:52:58 +0000 (22:52 +0000)]
Pass -Wa,-I and -Xassembler -I args to integrated assembler
This patch adds -I to the arguments that are passed to the
integrated assembler from -Wa, and -Xassembler args.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194743
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Thu, 14 Nov 2013 22:48:06 +0000 (22:48 +0000)]
Install clang-format's editor integrations in $PREFIX/share/clang/
They were previously not part of the install target.
Differential Revision: http://llvm-reviews.chandlerc.com/D2154
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194741
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 14 Nov 2013 22:40:45 +0000 (22:40 +0000)]
DR408: If a static data member of incomplete array type is declared in a class
template, that member has a dependent type (even if we can see the definition
of the member of the primary template), because the array size could change in
a member specialization.
Patch by Karthik Bhat!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194740
91177308 -0d34-0410-b5e6-
96231b3b80d8
Warren Hunt [Thu, 14 Nov 2013 22:34:59 +0000 (22:34 +0000)]
Makes A Microsoft Layout CodeGen Test Explicit
This patch tests introduces a proper codegen test in place of the
"codegen no longer crashes" test introduced in r193664. The test is also
moved from layout to CodeGenCXX.
Differential Revision: http://llvm-reviews.chandlerc.com/D2174
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194739
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 14 Nov 2013 22:22:31 +0000 (22:22 +0000)]
Add -Wdeprecated-writable-string in C++ to -Wc++11-compat, since it's ill-formed in C++11.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194736
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 14 Nov 2013 22:02:24 +0000 (22:02 +0000)]
[AArch64] Add support for legacy AArch32 NEON scalar shift right by immediate
and accumulate instructions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194732
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 14 Nov 2013 18:28:58 +0000 (18:28 +0000)]
ObjectiveC migrator: This patch sets access property
attributes on 'readonly' properties. // rdar://
15460787
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194718
91177308 -0d34-0410-b5e6-
96231b3b80d8
Joey Gouly [Thu, 14 Nov 2013 18:26:10 +0000 (18:26 +0000)]
[OpenCL] Make sure we put string literals in the constant address space.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194717
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Thu, 14 Nov 2013 17:55:00 +0000 (17:55 +0000)]
[analyzer] Treat MSVC's _wassert as noreturn.
This makes sure the analyzer actually honors assert() in an MSVC project.
Patch by Anders Montonen!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194716
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 14 Nov 2013 16:33:29 +0000 (16:33 +0000)]
[objcmt] Introduce "objcmt-white-list-dir-path=" option.
This options accepts a path to a directory, collects the filenames of the files
it contains, and the migrator will only modify files with the same filename.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194710
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 14 Nov 2013 16:33:20 +0000 (16:33 +0000)]
[objcmt] -objcmt-atomic-property & -objcmt-ns-nonatomic-iosonly are companion flags.
Ignore them when determining if some transformation was enabled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194709
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 14 Nov 2013 15:46:10 +0000 (15:46 +0000)]
Move classes into anonymous namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194706
91177308 -0d34-0410-b5e6-
96231b3b80d8
Simon Atanasyan [Thu, 14 Nov 2013 11:15:10 +0000 (11:15 +0000)]
[Mips] Add tests for MIPS/MIPS64 type defines and type limits macros. No
functional changes - just reflection of the current state.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194690
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kevin Qin [Thu, 14 Nov 2013 07:00:00 +0000 (07:00 +0000)]
Remove a test failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194678
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kevin Qin [Thu, 14 Nov 2013 06:49:00 +0000 (06:49 +0000)]
Add test case for AArch64 NEON poly64 intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194674
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kevin Qin [Thu, 14 Nov 2013 06:44:42 +0000 (06:44 +0000)]
Add test cases for AArch64 NEON instruction set misc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194672
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 14 Nov 2013 04:44:56 +0000 (04:44 +0000)]
Revert r194663 and r194647.
Per feedback from Jordan Rose I realized this wasn't the right way to go.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194664
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 14 Nov 2013 04:27:00 +0000 (04:27 +0000)]
Refine -Wunused-variable to only suppress warning for __bridge_transfer, not all bridge casts.
Also refine test case to capture the intention of this suppression. Essentially
some developers use __bridge_transfer as if it were a safe CFRelease.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194663
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kevin Qin [Thu, 14 Nov 2013 03:29:16 +0000 (03:29 +0000)]
[AArch64 neon] support poly64 and relevant intrinsic functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194660
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kevin Qin [Thu, 14 Nov 2013 02:45:18 +0000 (02:45 +0000)]
Implement aarch64 neon instruction class misc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194657
91177308 -0d34-0410-b5e6-
96231b3b80d8
Serge Pavlov [Thu, 14 Nov 2013 02:13:03 +0000 (02:13 +0000)]
Added warning on structures/unions that are empty or contain only
bit fields of zero size. Warnings are generated in C++ mode and if
only such type is defined inside extern "C" block.
The patch fixed PR5065.
Differential Revision: http://llvm-reviews.chandlerc.com/D2151
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jiangning Liu [Thu, 14 Nov 2013 01:57:55 +0000 (01:57 +0000)]
Implement AArch64 NEON instruction set AdvSIMD (table).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194649
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 14 Nov 2013 01:42:17 +0000 (01:42 +0000)]
Suppress -Wunused-variable when initializer uses bridge casts for memory management.
Fixes <rdar://problem/
15432770 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194647
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 14 Nov 2013 01:00:26 +0000 (01:00 +0000)]
Use a more realistic NS class names in
objc_bridge attributes in my previous test.
Per Jordan's comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194645
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 14 Nov 2013 00:43:05 +0000 (00:43 +0000)]
ObjectiveC ARC. objc_bridge attribute should be applied to
toll-free bridging cf types only. // rdar//
15454846 wip.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194640
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Thu, 14 Nov 2013 00:36:24 +0000 (00:36 +0000)]
Work around a bug in old gcc on the FreeBSD bot, which complains about
ambiguity between index() function and clang::index namespace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194638
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 13 Nov 2013 23:59:17 +0000 (23:59 +0000)]
ObjectiveC ARC. Introduce a new attribute, 'objc_bridge'
that teaches the compiler about a subset of toll-free
bridging semantics. This is wip. // rdar://
15454846
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194633
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 13 Nov 2013 23:38:22 +0000 (23:38 +0000)]
[objcmt] If no objcmt options were specified, default to enable literals+subscripting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 13 Nov 2013 23:38:20 +0000 (23:38 +0000)]
[objcmt] Transfer the objcmt flags from the driver to cc1 invocation and
instantiate ObjCMigrateASTConsumer with the specific options that were enabled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194628
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 13 Nov 2013 23:38:17 +0000 (23:38 +0000)]
[objcmt] If the frontend option is frontend::MigrateSource then we don't need to create
the arcmt wrappers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194627
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 13 Nov 2013 23:20:45 +0000 (23:20 +0000)]
Don't use alias from derived dtor to base dtor at -O0.
This patch disables aliasing (and rauw) of derived dtors to base dtors at -O0.
This optimization can have a negative impact on the debug quality.
This was a latent bug for some time with local classes, but got noticed when it
was generalized and broke gdb's destrprint.exp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194618
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 13 Nov 2013 22:58:53 +0000 (22:58 +0000)]
-fms-extensions: Recognize _alloca as an alias for the alloca builtin
Differential Revision: http://llvm-reviews.chandlerc.com/D1989
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194617
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 13 Nov 2013 22:47:22 +0000 (22:47 +0000)]
Only provide MS builtins when -fms-extensions is on
We already have builtins that are only available in GNU mode, so this
mirrors that.
Reviewers: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D2128
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194615
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Wed, 13 Nov 2013 22:26:04 +0000 (22:26 +0000)]
libclang does not depend directly on clangFormat; but clangIndex does
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194611
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Wed, 13 Nov 2013 22:16:51 +0000 (22:16 +0000)]
Documentation parsing: move comment-to-XML conversion routines to libIndex
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194610
91177308 -0d34-0410-b5e6-
96231b3b80d8
Warren Hunt [Wed, 13 Nov 2013 22:16:13 +0000 (22:16 +0000)]
No functional change. Renaming a variable in RecordLayoutBuilder and
improving comments to make documentation more accurate.
Differential Revision:http://llvm-reviews.chandlerc.com/D2172
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194609
91177308 -0d34-0410-b5e6-
96231b3b80d8
Weiming Zhao [Wed, 13 Nov 2013 21:40:17 +0000 (21:40 +0000)]
Add test case for r194593
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194606
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Wed, 13 Nov 2013 20:19:22 +0000 (20:19 +0000)]
Make inline functions in a header file static.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 13 Nov 2013 20:05:44 +0000 (20:05 +0000)]
[AArch64] Tests for legacy AArch32 NEON scalar shift by immediate instructions.
A number of non-overloaded intrinsics have been replaced by thier overloaded
counterparts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194599
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 13 Nov 2013 18:46:32 +0000 (18:46 +0000)]
Drop windows specific handling of equivalent destructors.
Now that the relevant tests use -mconstructor-aliases and the missing
features have been implemented, we can just drop this.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194595
91177308 -0d34-0410-b5e6-
96231b3b80d8
Weiming Zhao [Wed, 13 Nov 2013 18:31:23 +0000 (18:31 +0000)]
Adds ARM backend options: -mrestrict-it and -mno-restrict-it
To support the generation of IT block in Thumbv7 way or
Thumbv8 way
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194593
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 13 Nov 2013 18:20:31 +0000 (18:20 +0000)]
[objcmt] Use FileIDs directly instead of their hash value.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194590
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Wed, 13 Nov 2013 16:03:43 +0000 (16:03 +0000)]
No need to use CGM.getCXXABI() from CXXABI
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194584
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Wed, 13 Nov 2013 14:04:17 +0000 (14:04 +0000)]
Correctly mark first token in the presence of UTF-8 BOM.
Summary: Fixes http://llvm.org/PR17753
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2159
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 13 Nov 2013 13:23:27 +0000 (13:23 +0000)]
Add an optional mapping from source paths to source contents.
This allows compilation database implementations for distributed build
systems to hand all data to the client to make parsing independent of
the file system.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Wed, 13 Nov 2013 12:22:39 +0000 (12:22 +0000)]
Add -fprofile-sample-use to Clang's driver.
This adds a new option -fprofile-sample-use=filename to Clang. It
tells the driver to schedule the SampleProfileLoader pass and passes
on the name of the profile file to use.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194567
91177308 -0d34-0410-b5e6-
96231b3b80d8
Serge Pavlov [Wed, 13 Nov 2013 06:57:53 +0000 (06:57 +0000)]
Warn on duplicate function specifier
This patch fixes PR8264. Duplicate qualifiers already are diagnozed,
now the same diagnostics is issued for duplicate function specifiers.
Differential Revision: http://llvm-reviews.chandlerc.com/D2025
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194559
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Wed, 13 Nov 2013 02:01:24 +0000 (02:01 +0000)]
Fix closing namespace comment to reflect reality
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194543
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Wed, 13 Nov 2013 01:24:28 +0000 (01:24 +0000)]
PR10837: Warn if a null pointer constant is formed by a zero integer constant
expression that is not a zero literal, in C. Patch by Ivan A. Kosarev!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194540
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 13 Nov 2013 00:18:50 +0000 (00:18 +0000)]
unittests/Tooling/ToolingTest.cpp: Suppress new tests on win32, due to handling of virtual file, such "/a.cc".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 13 Nov 2013 00:08:36 +0000 (00:08 +0000)]
ObjectiveC migrator. Place use of NS_NONATOMIC_IOSONLY
on inferred property attribute under
-objcmt-ns-nonatomic-iosonly option.
// rdar://
15442742
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194532
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Tue, 12 Nov 2013 22:35:26 +0000 (22:35 +0000)]
clang-cl: parse the /Yc flag (PR17895)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194523
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 12 Nov 2013 22:16:08 +0000 (22:16 +0000)]
Documentation parsing: add support for \throws \throw \exception commands
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194521
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 12 Nov 2013 22:06:46 +0000 (22:06 +0000)]
Avoid producing mismatched comdats.
The problem was that given
template<typename T>
struct foo {
~foo() {}
};
template class foo<int>;
We would produce a alias, creating a comdat with D0 and D1, since the symbols
have to be weak. Another TU is not required to have a explicit template
instantiation definition or an explict template instantiation declaration and
for
template<typename T>
struct foo {
~foo() {}
};
foo<int> a;
we would produce a comdat with only one symbol in it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194520
91177308 -0d34-0410-b5e6-
96231b3b80d8
Weiming Zhao [Tue, 12 Nov 2013 21:42:50 +0000 (21:42 +0000)]
add intrinsics: __builtin_arm_{dmb,dsb} for ARM
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194513
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 12 Nov 2013 20:50:26 +0000 (20:50 +0000)]
ObjectiveC. availability of Array/Dictionary subscripting
is further restricted in legacy runtime to deployment target
of 10.7 and later. // rdar://
15363492
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194507
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 12 Nov 2013 19:25:50 +0000 (19:25 +0000)]
ObjectiveC migrator. Another alternative to
"atomic" or "nonatomic" for properties is
NS_NONATOMIC_IOSONLY. Use it if available.
// rdar://
15442742
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194503
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Tue, 12 Nov 2013 19:21:50 +0000 (19:21 +0000)]
clang-cl: parse the /GT option
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194502
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sylvestre Ledru [Tue, 12 Nov 2013 18:07:35 +0000 (18:07 +0000)]
Remove trailing spaces
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194498
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 12 Nov 2013 17:53:18 +0000 (17:53 +0000)]
Add test for injecting diagnostic consumers into a ClangTool.
As suggested by pcc on 194226.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194494
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Tue, 12 Nov 2013 17:50:13 +0000 (17:50 +0000)]
Remove extra whitespace instead of breaking the line in comments when possible.
Summary: Solves the problem described in http://llvm.org/PR17756
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2131
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194493
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Tue, 12 Nov 2013 17:30:49 +0000 (17:30 +0000)]
Do not insert backslashes, when breaking line comments after preprocessor directives.
Summary: This solves http://llvm.org/PR17536
Reviewers: klimek, djasper
Reviewed By: klimek
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2142
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194491
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 12 Nov 2013 17:08:46 +0000 (17:08 +0000)]
ObjectiveC driver change. re-apply patch reverted in
r194450 with a modified test. // rdar://
15363492
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194489
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 12 Nov 2013 17:01:53 +0000 (17:01 +0000)]
Upgrade the VS solution to 2012.
Now we can compile a VSPackage that works with VS 2010-2013 from within VS 2012.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194488
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 12 Nov 2013 15:25:18 +0000 (15:25 +0000)]
Fix key bindings for VS 2010.
Set the default key-binding only in the text editor; the
global binding of ctrl-r,ctrl-f was already taken in VS 2010.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194482
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 12 Nov 2013 15:02:53 +0000 (15:02 +0000)]
Recreated the ClangFormat VSPackage with VS 2010.
The generated package is now compatible with VS 2010 - 2013.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194480
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 12 Nov 2013 13:56:36 +0000 (13:56 +0000)]
Revert unintentional commit from r194477.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194478
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 12 Nov 2013 13:54:22 +0000 (13:54 +0000)]
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194477
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 12 Nov 2013 12:56:01 +0000 (12:56 +0000)]
[mips][msa] Enable inlinse assembly for MSA.
Like GCC, this re-uses the 'f' constraint and a new 'w' print-modifier:
asm ("ldi.w %w0, 1", "=f"(result));
Unlike GCC, the 'w' print-modifer is not _required_ to produce the intended
output. This is a consequence of differences in the internal handling of
the registers in each compiler. To be source-compatible between the
compilers, users must use the 'w' print-modifier.
MSA registers (including control registers) are supported in clobber lists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194476
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 12 Nov 2013 11:38:20 +0000 (11:38 +0000)]
[mips] Added fpu register tests to tests/CodeGen/mips-clobber-reg.c
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194474
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 12 Nov 2013 11:15:48 +0000 (11:15 +0000)]
[mips] Small fixes to test/CodeGen/mips-clobber-reg.c
Fixed the following:
- Whitespace at end of most lines
- $11 test actually testing $10
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194473
91177308 -0d34-0410-b5e6-
96231b3b80d8
Robert Lytton [Tue, 12 Nov 2013 10:09:34 +0000 (10:09 +0000)]
XCore target requires preferred alignment.
The xcore llvm backend does not handle 8 byte alignment viz:
"%BadAlignment = alloca i64, align 8"
So getPreferredTypeAlign() must never overalign.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Robert Lytton [Tue, 12 Nov 2013 10:09:30 +0000 (10:09 +0000)]
XCore target Type defines.
Change SizeType, PtrDiffType, IntPtrType, WCharType, WIntType
to follow the XMOS llvm-gcc front end's settings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194461
91177308 -0d34-0410-b5e6-
96231b3b80d8
Robert Lytton [Tue, 12 Nov 2013 10:09:22 +0000 (10:09 +0000)]
XCore target has -fno-use-cxa-atexit as default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194460
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 12 Nov 2013 09:16:15 +0000 (09:16 +0000)]
Tests for core issue 201-215.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194458
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 12 Nov 2013 04:53:19 +0000 (04:53 +0000)]
Keep the old function order in CodeGenModule::applyReplacements.
The original decls are created when used. The replacements are created at the
end of the TU in reverse order.
This makes the original order far better for testing. This is particularly
important since the replacement logic could be used even when
-mconstructor-aliases is not used, but that would make many tests hard to read.
This is a fixed version of r194357 which handles replacing a destructor with
another which is an alias to a third one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194452
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 12 Nov 2013 04:33:56 +0000 (04:33 +0000)]
This reverts commit r194435 and r194434.
Trying to get the bots green.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Faisal Vali [Tue, 12 Nov 2013 03:56:08 +0000 (03:56 +0000)]
COSMETIC: Fix 80 column overflow in some comments introduced in r194188
no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194449
91177308 -0d34-0410-b5e6-
96231b3b80d8
Faisal Vali [Tue, 12 Nov 2013 03:48:27 +0000 (03:48 +0000)]
A quick fix to PR17877 that was introduced by r194188 (generic-lambda-capturing) that broke libc++.
See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-November/033369.html for discussion on cfe-dev.
This fix explicitly checks whether we are within the declcontext of a lambda's call operator - which is what I had intended to be true (and assumed would be true if getCurLambda returns a valid pointer) before checking whether a lambda can capture the potential-captures of the innermost lambda.
A deeper fix (that addresses why getCurLambda() returns a valid pointer when perhaps it shouldn't?) - as proposed by Richard Smith in http://llvm.org/bugs/show_bug.cgi?id=17877 - has been suggested as a FIXME.
Patch was LGTM'd by Richard (just barely :)
http://llvm-reviews.chandlerc.com/D2144
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 12 Nov 2013 02:58:11 +0000 (02:58 +0000)]
Remove C++11ism.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194446
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 12 Nov 2013 02:42:08 +0000 (02:42 +0000)]
Extra test for r194444.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194445
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 12 Nov 2013 02:41:45 +0000 (02:41 +0000)]
Rather than duplicating extension diagnostics to allow them to cause a
substitution failure, allow a flag to be set on the Diagnostic object,
to mark it as 'causes substitution failure'.
Refactor Diagnostic.td and the tablegen to use an enum for SFINAE behavior
rather than a bunch of flags.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Tue, 12 Nov 2013 02:22:34 +0000 (02:22 +0000)]
-fms-compatibility: Use C++98 null pointer constant rules
Patch by Will Wilson!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194441
91177308 -0d34-0410-b5e6-
96231b3b80d8