- Nov 12, 2015
-
-
Richard Smith authored
DR407, the C++ standard doesn't really say how this should work. Here's what we do (which is consistent with DR407 as far as I can tell): * When performing name lookup for an elaborated-type-specifier, a tag declaration hides a typedef declaration that names the same type. * When performing any other kind of lookup, a typedef declaration hides a tag declaration that names the same type. In any other case where lookup finds both a typedef and a tag (that is, when they name different types), the lookup will be ambiguous. If lookup finds a tag and a typedef that name the same type, and finds anything else, the lookup will always be ambiguous (even if the other entity would hide the tag, it does not also hide the typedef). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252959 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
This failed to solve the problem it was aimed at, and introduced just as many issues as it resolved. Realistically, we need to deal with the possibility that multiple modules might define different internal linkage symbols with the same name, and this isn't a problem unless two such symbols are simultaneously visible. The case where two modules define equivalent internal linkage symbols is handled by r252063: if lookup finds multiple sufficiently-similar entities from different modules, we just pick one of them as an extension (but we keep them separate). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252957 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
From a patch by Nicholas Allegra! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252955 91177308-0d34-0410-b5e6-96231b3b80d8
-
James Y Knight authored
In r244063, I had caused these builtins to call the same-named library functions, __atomic_*_fetch_SIZE. However, this was incorrect: while those functions are in fact supported by GCC's libatomic, they're not documented by the spec (and gcc doesn't ever call them). Instead, you're /supposed/ to call the __atomic_fetch_* builtins and then redo the operation inline to return the final value. Differential Revision: http://reviews.llvm.org/D14385 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252920 91177308-0d34-0410-b5e6-96231b3b80d8
-
Akira Hatanaka authored
This option is used to cancel -mms-bitfields on the command line. rdar://problem/15898553 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252912 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artyom Skrobov authored
Summary: Clang-side update, corresponding to D14577 Reviewers: rengolin Subscribers: aemerson, cfe-commits, rengolin Differential Revision: http://reviews.llvm.org/D14578 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252904 91177308-0d34-0410-b5e6-96231b3b80d8
-
James Molloy authored
The C++ spec (3.6.1.3) says "The function `main` shall not be used within a program". This implies that it cannot recurse, so add the norecurse attribute to help the midend out a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252902 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vasileios Kalintiris authored
Last time, this caused two Windows buildbots and a single ARM buildbot to fail. I XFAIL'd the failing test on win32,win64 machines in order to see if the ARM buildbot complains again. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252901 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Silencing an MSVC warning about linkage specifications and C-incompatible UDTs by moving a function definition out of an extern "C" block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252900 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ismail Donmez authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252890 91177308-0d34-0410-b5e6-96231b3b80d8
-
James Molloy authored
FunctionAttrs has just been taught how to infer 'norecurse'. Update clang tests for LLVM r252871. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252872 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
Use %select to merge two diagnostics that only differ in one word and are emitted in the same place. NFC git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252861 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nathan Wilson authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252855 91177308-0d34-0410-b5e6-96231b3b80d8
-
Saleem Abdulrasool authored
This function permits the mangling of a C++ 'structor. Depending on the ABI and the declaration, the declaration may contain more than one associated symbol for a given declaration. This allows the consumer to retrieve all of the associated symbols for the declaration the cursor points to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252853 91177308-0d34-0410-b5e6-96231b3b80d8
-
Saleem Abdulrasool authored
This allows the return of a set of CXStrings from libclang. This is setup work for an upcoming change to permit returning multiple mangled symbols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252852 91177308-0d34-0410-b5e6-96231b3b80d8
-
Akira Hatanaka authored
The code snippets were not being displayed. This commit fixes the bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252849 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ted Kremenek authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252841 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252840 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
Also don't create libclang dylib symlinks on darwin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252836 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
target features that the caller function doesn't provide. This matches the existing backend failure to inline functions that don't have matching target features - and diagnoses earlier in the case of always_inline. Fix up a few test cases that were, in fact, invalid if you tried to generate code from the backend with the specified target features and add a couple of tests to illustrate what's going on. This should fix PR25246. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252834 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
more obvious that it's generic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252833 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
checkBuiltinTargetFeatures to checkTargetFeatures and sink the error handling into the function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252832 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vedant Kumar authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252828 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nathan Wilson authored
Summary: Diagnose when a function concept declaration has parameter(s) Reviewers: rsmith, faisalv, aaron.ballman, hubert.reinterpretcast Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14352 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252827 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manman Ren authored
rdar://problem/9001553 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252820 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
features for a particular function, then use it to clean up some code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252819 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 11, 2015
-
-
Manman Ren authored
This is about how we handle static member of a template. Before this commit, we use internal linkage for the IR thread-local variable, which is inefficient. With this commit, we will start to follow Itanium C++ ABI. rdar://problem/23415206 Reviewed by John McCall. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252814 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
This allows COMPILER_RT_* variables to be passed from the top-level CMake into the external project when LLVM_BUILD_EXTERNAL_COMPILER_RT=On. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252809 91177308-0d34-0410-b5e6-96231b3b80d8
-
Devin Coughlin authored
Cwd::abs_path has a somewhat tricky semantics: if it's operand directory does not exist, it'll return undefined (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=257568). This may cause scan-build to silently ignore output directory (specified with -o) and use /tmp instead of trying to create directory. This tiny patch fixes the problem. A patch by Yury Gribov! Differential Revision: http://reviews.llvm.org/D14535 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252797 91177308-0d34-0410-b5e6-96231b3b80d8
-
Davide Italiano authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252793 91177308-0d34-0410-b5e6-96231b3b80d8
-
Charles Li authored
Expected diagnostics have been expanded to vary by C++ dialect. RUN line has also been expanded to: default, C++98/03 and C++11. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252785 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manman Ren authored
We used to emit the store prior to branch in the entry block. To make it more efficient, this commit moves it to the init block. We still mark as initialized before initializing anything else. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252777 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Hiding the scan-build and scan-view projects under the Misc folder in IDEs instead of having them at the root view. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252771 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252727 91177308-0d34-0410-b5e6-96231b3b80d8
-
Yury Gribov authored
Differential Revision: http://reviews.llvm.org/D14243 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252721 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artyom Skrobov authored
Summary: For clarity and ease of maintenance, I suggest porting this test to use the same tooling as the rest of the tests. Reviewers: joerg, rengolin, dougk, yaron.keren Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14548 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252720 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
[X86] Add 'pause' builtin that's already in llvm and use it instead of inline assembly to implement _mm_pause. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252712 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
[X86] Use __builtin_ia32_paddq and __builtin_ia32_psubq to implement a couple intrinsics that were supposed to operate on MMX registers. Otherwise we end up operating on GPRs. Throw in a test for _mm_mul_su32 while I was there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252711 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252710 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
[X86] Add missing typecasts in intrinsic macros. This should make them more robust against inputs that aren't already the right type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252700 91177308-0d34-0410-b5e6-96231b3b80d8
-