- May 26, 2014
-
-
Aaron Ballman authored
Rejecting the mutable specifier on a freestanding type declaration, instead of supporting it as a "extension" (which serves no purpose). Un-XFAILing the test for mutable specifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209635 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 25, 2014
-
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209598 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209597 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209596 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 24, 2014
-
-
Tim Northover authored
This keeps Clang consistent with backend naming conventions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209579 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
A few (mostly CodeGen) parts of Clang were tightly coupled to the AArch64 backend. Now that it's gone, they will not even compile. I've also deduplicated RUN lines in many of the AArch64 tests. This might improve "make check-all" time noticably: some of those NEON tests were monsters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209578 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
I forgot to fix this one in r209145. We use these flags on dllimport tests to make sure we emit code for available_externaly functions and don't inline the IR. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209564 91177308-0d34-0410-b5e6-96231b3b80d8
-
Akira Hatanaka authored
This is a test case for r209489. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209559 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 23, 2014
-
-
Akira Hatanaka authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209558 91177308-0d34-0410-b5e6-96231b3b80d8
-
Akira Hatanaka authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209556 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Initializers of global data that can appear multiple TUs (static data members of class templates or __declspec(selectany) data) are now in a comdat group keyed on the global variable being initialized. On non-Windows platforms, this is a code size and startup time optimization. On Windows, this is necessary for ABI compatibility with MSVC. Fixes PR16959. Reviewers: rsmith Differential Revision: http://reviews.llvm.org/D3811 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209555 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
gets explicitly specialized, don't reuse the previous class template specialization declaration as a new declaration. The benefit here is fairly marginal, it harms source fidelity, and this is horrible to model if the specialization was imported from another module (without this change, it asserts or worse). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209552 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
The previous code that was supposed to handle this didn't work since parsing of inline method definitions is delayed to the end of the outer class definition. Thus, when HandleTagDeclDefinition() got called for the inner class, the inline functions in that class had not been parsed yet. Richard suggested that the way to do this is by handling inline method definitions through a new ASTConsumer callback. I really wanted to call ASTContext::DeclMustBeEmitted() instead of checking for attributes, but doing that causes us to compute linkage, and then we fail with "error: unsupported: typedef changes linkage of anonymous type, but linkage was already computed" on tests like this: (from SemaCXX/undefined-internal.cpp) :-/ namespace test7 { typedef struct { void bar(); void foo() { bar(); } } A; } Differential Revision: http://reviews.llvm.org/D3809 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209549 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
It's true the MSVC doesn't warn about dllimport when applied to e.g. a typedef, but that applies to dllexport too. I'd like us to be consistent, and I think the right thing to do is to warn. The original test that came with implementing the old behaviour doesn't provide a good motivation, and it said it was checking that we're not repoting an *error*, which is still true since this is just a warning. There are plenty of tests e.g. in Sema/dllimport.c to check that we do warn about dllimport on non functions or variables. Differential Revision: http://reviews.llvm.org/D3832 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209546 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209542 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209541 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Rieck authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209540 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ben Langmuir authored
If we lookup a path using its 'real' path first, we need to ensure that when we run header search we still use the VFS-mapped path or we will not be able to find the corresponding module for the header. The real problem is that we tie the name of a file to its underlying FileEntry, which is uniqued by inode, so we only ever get the first name it is looked up by. This doesn't work with modules, which rely on a specific file system structure. I'm hoping to have time to write up a proposal for fixing this more permanently soon, but as a stopgap this patch updates the name of the file's directory if it comes from a VFS mapping. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209534 91177308-0d34-0410-b5e6-96231b3b80d8
-
Akira Hatanaka authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209532 91177308-0d34-0410-b5e6-96231b3b80d8
-
Warren Hunt authored
Enables the emission of MS-compatible RTTI data structures for use with typeid, dynamic_cast and exceptions. Does not implement dynamic_cast or exceptions. As an artiface, typeid works in some cases but proper support an testing will coming in a subsequent patch. majnemer has fuzzed the results. Test cases included. Differential Revision: http://reviews.llvm.org/D3833 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209523 91177308-0d34-0410-b5e6-96231b3b80d8
-
Dario Domizioli authored
No functional change to the compiler. This should just make the test pass on all buildbots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209515 91177308-0d34-0410-b5e6-96231b3b80d8
-
Dario Domizioli authored
This patch implements support for selectively disabling optimizations on a range of function definitions through a pragma. The implementation is that all function definitions in the range are decorated with attribute 'optnone'. #pragma clang optimize off // All function definitions in here are decorated with 'optnone'. #pragma clang optimize on // Compilation resumes as normal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209510 91177308-0d34-0410-b5e6-96231b3b80d8
-
Robert Lytton authored
Summary: Previously, you could not specify the original file name when passing a preprocessed file into the compiler Now you can use 'clang -Xclang -main-file-name -Xclang <original file name> ...' Or 'clang -cc1 -main-file-name <original file name> ...' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209503 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
This was fairly broken. For example, @__dso_handle would or would not get an unnamed_addr depending on how many global destructors were used in a translation unit. The consensus was that not every runtime variable is unnamed_addr and that __dso_handle handle should not be, so just don't add unnamed_addr in CreateRuntimeVariable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209484 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
Before -fstack-protector would always force a level of 1, even if the default was 2. Patch by Brad Smith. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209479 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 22, 2014
-
-
Alexey Samsonov authored
Call it "libclang_rt.builtins-<arch>.a" to be consistent with sanitizers/profile libraries naming. Modify Makefile and CMake build systems and Clang driver accordingly. Fixes PR19822. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209474 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
instantiated in another module, and the instantiation uses a partial specialization, include the partial specialization and its template arguments in the update record. We'll need them if someone imports the second module and tries to instantiate a member of the template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209472 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209471 91177308-0d34-0410-b5e6-96231b3b80d8
-
Abramo Bagnara authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209466 91177308-0d34-0410-b5e6-96231b3b80d8
-
Matt Arsenault authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209465 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209449 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209447 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
When "-arch armv7m" is specified, we want "aapcs", for example. rdar://problem/16581138 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209434 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
Use stack protector strong by default to match the base OS and ports/packages compiler policy. Patch by Brad Smith. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209432 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alexander Musman authored
This patch adds a helper class (CGLoopInfo) for marking memory instructions with llvm.mem.parallel_loop_access metadata. It also adds a simple initial version of codegen for pragma omp simd (it will change in the future to support all the clauses). Differential revision: http://reviews.llvm.org/D3644 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209411 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 21, 2014
-
-
Alp Toker authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209322 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Summary: Naming the destructor using a typedef-name for the class-name is well-formed. This fixes PR19620. Reviewers: rsmith, doug.gregor Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3583 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209319 91177308-0d34-0410-b5e6-96231b3b80d8
-
Serge Pavlov authored
Make better diagnostic produced by erroneous switch statement. It fixes PR19022. Differential Revision: http://reviews.llvm.org/D3137 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209302 91177308-0d34-0410-b5e6-96231b3b80d8
-
Renato Golin authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209289 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alp Toker authored
Also flesh out missing tests, improve diagnostic QOI and fix a couple of corner cases found in the process. Fixes PR10606. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209276 91177308-0d34-0410-b5e6-96231b3b80d8
-