summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Capabilities are required to pass a name specifying what type of capability ↵Aaron Ballman2014-03-054-2/+20
| | | | | | | | is being annotated. There are currently only two supported names: mutex and role. Adding functionality to check for the capability name and diagnose when it's unexpected. Note that for backwards compatibility, an unnamed capability will default to being a "mutex." This allows the deprecated lockable attribute to continue to function. llvm-svn: 203012
* Attempt to re-enable the VFS unittests on WindowsBen Langmuir2014-03-052-74/+76
| | | | | | | Using a //net/ path to hopefully avoid problems with non-absolute paths on Windows. llvm-svn: 203010
* Don't produce an alias between destructors with different calling conventions.Rafael Espindola2014-03-052-2/+24
| | | | | | Fixes pr19007. llvm-svn: 203007
* When building a module from the command line via -emit-module, add an entry toRichard Smith2014-03-053-5/+16
| | | | | | | the module build stack for the module being built, so we can correctly detect recursive module builds. llvm-svn: 203006
* If a #include finds a file relative to the current file, don't forget to checkRichard Smith2014-03-057-27/+75
| | | | | | whether it's part of a module. llvm-svn: 203005
* Mention clang-cl in MSVCCompatibility.rstNico Weber2014-03-051-1/+4
| | | | llvm-svn: 203002
* Update for llvm change.Rafael Espindola2014-03-051-2/+5
| | | | llvm-svn: 203000
* [code-completion] Add a couple of test cases suggested by Jordan, and a FIXME.Argyrios Kyrtzidis2014-03-051-1/+9
| | | | llvm-svn: 202995
* AST: Remove layering violation with SemaDavid Majnemer2014-03-056-14/+29
| | | | | | Scope lives in Sema and cannot be used in AST. Shuffle things around. llvm-svn: 202993
* [C++11] Using std::unique_ptr to ensure that Argument objects do not leak ↵Aaron Ballman2014-03-051-50/+45
| | | | | | (since clang-tblgen isn't long-lived, the old leak is probably acceptable, but it offended my senses nonetheless). llvm-svn: 202989
* Use ThreadSafeRefCountedBase for vfs::FileSystemBen Langmuir2014-03-051-1/+1
| | | | | | | Allow trivial read-only filesystems such as RealFileSystem to be shared between threads. llvm-svn: 202986
* Style fix: replace "1 entries" with "1 entry" in the vftable layout dumping codeTimur Iskhodzhanov2014-03-055-74/+76
| | | | llvm-svn: 202978
* Revert "[C++11] Replace trivial lambda with std::cref."Benjamin Kramer2014-03-051-1/+3
| | | | | | MSVC2013's standard library is too broken to understand this pattern. llvm-svn: 202971
* [C++11] Replace trivial lambda with std::cref.Benjamin Kramer2014-03-051-3/+1
| | | | llvm-svn: 202968
* Added a const qualifier to SourceManager& parameters.Alexander Kornienko2014-03-052-12/+15
| | | | llvm-svn: 202964
* MS ABI: Mangle lambdasDavid Majnemer2014-03-052-1/+50
| | | | | | | | | | | | | | | | Use a scheme inspired by the Itanium ABI to properly implement the mangling of lambdas. N.B. The incredibly astute observer will notice that we do not generate external names that are identical, or even compatible with, MSVC. This is fine because they don't generate names that they can use across translation units. Technically, we can generate any name we'd like so long as that name wouldn't conflict with any other and would be stable across translation units. This fixes PR15512. llvm-svn: 202962
* Disable BasicTests/VFS on win32 for now. Investigating.NAKAMURA Takumi2014-03-051-0/+2
| | | | | | | | | | | Failing Tests (5): Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.CaseInsensitive Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MappedFiles Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MultiComponentPath Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.TrailingSlashes Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.UseExternalName llvm-svn: 202952
* [-cxx-abi microsoft] Implement local manglings accuratelyDavid Majnemer2014-03-0518-202/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The MSVC ABI appears to mangle the lexical scope into the names of statics. Specifically, a counter is incremented whenever a scope is entered where things can be declared in such a way that an ambiguity can arise. For example, a class scope inside of a class scope doesn't do anything interesting because the nested class cannot collide with another nested class. There are problems with this scheme: - It is unreliable. The counter is only incremented when a previously never encountered scope is entered. There are cases where this will cause ambiguity amongst declarations that have the same name where one was introduced in a deep scope while the other was introduced right after in the previous lexical scope. - It is wasteful. Statements like: {{{{{{{ static int foo = a; }}}}}}} will make the mangling of "foo" larger than it need be because the scope counter has been incremented many times. Because of these problems, and practical implementation concerns. We choose not to implement this scheme if the local static or local type isn't visible. The mangling of these declarations will look very similar but the numbering will make far more sense, this scheme is lifted from the Itanium ABI implementation. Reviewers: rsmith, doug.gregor, rnk, eli.friedman, cdavis5x Reviewed By: rnk CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2953 llvm-svn: 202951
* Adjust logic for 'objc_protocol_requires_explicit_implementation' for ↵Ted Kremenek2014-03-052-10/+92
| | | | | | | | | | | | | | | | | | | | | | | | inherited protocols and protocols already conformed in the class hierarchy. Per more discussion, 'objc_protocol_requires_explicit_implementation' is refinement that it mainly adds that requirement that a protocol must be explicitly satisfied at the moment the first class in the class hierarchy conforms to it. Any subclasses that also conform to that protocol, either directly or via conforming to a protocol that inherits that protocol, do not need to re-implement that protocol. Doing this requires first doing a pass on the super class hierarchy, gathering the set of protocols conformed to by the super classes, and then culling those out when determining conformance. This two-pass algorithm could be generalized for all protocol checking, and could possibly be a performance win in some cases. For now we restrict this change to protocols with this attribute to isolate the change in logic (especially as the design continues to evolve). This change needs to be adjusted for properties as well; this only impacts methods right now. llvm-svn: 202948
* [OPENMP] allow clause 'private' on directive 'omp simd'Alexey Bataev2014-03-053-11/+67
| | | | llvm-svn: 202944
* [OPENMP] emit error message for clause 'if(1 0)'Alexey Bataev2014-03-052-4/+3
| | | | llvm-svn: 202942
* [AST] A "Class<P>" type should not have '*' when printed out.Argyrios Kyrtzidis2014-03-053-2/+15
| | | | | | rdar://14309030 llvm-svn: 202941
* [OPNEMP] Fixed instantiation of 'if' clauseAlexey Bataev2014-03-052-6/+17
| | | | llvm-svn: 202940
* Speculatively fix MSVC buildbotsDavid Majnemer2014-03-051-5/+9
| | | | llvm-svn: 202938
* Merge using-decl-pr17575.cpp into existing test case.Peter Collingbourne2014-03-052-11/+6
| | | | llvm-svn: 202925
* Add a test case for PR17575.Peter Collingbourne2014-03-051-0/+11
| | | | llvm-svn: 202922
* [-Wunreachable-code] Don't warn about dead code guarded by a "configuration ↵Ted Kremenek2014-03-052-10/+97
| | | | | | | | | | | | | | | value". Some unreachable code is only "sometimes unreachable" because it is guarded by a configuration value that is determined at compile time and is always constant. Sometimes those represent real bugs, but often they do not. This patch causes the reachability analysis to cover such branches even if they are technically unreachable in the CFG itself. There are some conservative heuristics at play here to determine a "configuration value"; these are intended to be refined over time. llvm-svn: 202912
* Headers: Provide an ABI compatible max_align_t when _MSC_VER is definedDavid Majnemer2014-03-042-0/+9
| | | | | | | | | | | | | | | | Summary: Our usual definition of max_align_t wouldn't match up with MSVC if it was used in a template argument. Reviewers: chandlerc, rsmith, rnk Reviewed By: chandlerc CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2924 llvm-svn: 202911
* Remove some unnecessary qualificationDavid Blaikie2014-03-041-2/+2
| | | | llvm-svn: 202909
* Objective-C. Return 0 as class of methods in protocols.Fariborz Jahanian2014-03-042-4/+3
| | | | | | | This simplifies my last patch a bit. No change in functionality. llvm-svn: 202906
* Support relative paths in VFSFromYAMLBen Langmuir2014-03-042-3/+21
| | | | | | | | | Use llvm::sys::fs::make_absolute to get an absolute path before matching. Also, allow "." directories to enable testing. ".." is still not supported, and will require crossing file system boundaries to implement correctly. llvm-svn: 202903
* TokenKinds: _Atomic isn't a keyword in MS modeDavid Majnemer2014-03-042-1/+2
| | | | | | | | | | | | | | | | Summary: This is needed to allow MSVC's <atomic> header to properly parse. It uses _Atomic as a class-id. Reviewers: rnk Reviewed By: rnk CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2948 llvm-svn: 202901
* DebugInfo: Refix r202888 (a fix to r202769) in a different way, ensuring ↵David Blaikie2014-03-041-2/+7
| | | | | | types aren't needlessly built during -gmlt llvm-svn: 202900
* [CFG] Tweak "?:" CFG construction to record the unreachable blocks.Ted Kremenek2014-03-041-4/+5
| | | | llvm-svn: 202898
* [C++11] Simplify a callback to use a lambda.Richard Smith2014-03-041-18/+2
| | | | llvm-svn: 202897
* Revert "FileEntry: Remove unused and half-broken copy ctor."Benjamin Kramer2014-03-041-1/+9
| | | | | | Looks like libstdc++ 4.7 still needs it. llvm-svn: 202896
* [C++11] Push move semantics through APValue.Benjamin Kramer2014-03-041-18/+19
| | | | llvm-svn: 202894
* FileEntry: Remove unused and half-broken copy ctor.Benjamin Kramer2014-03-041-9/+1
| | | | llvm-svn: 202893
* [-Wunreachable-code] handle cases where a dead 'return' may have a valid ↵Ted Kremenek2014-03-042-0/+28
| | | | | | | | predecessor. Fies PR19040. llvm-svn: 202892
* Add a test case for r202888, which boiled down to -gline-tables-onlyReid Kleckner2014-03-041-1/+7
| | | | | | | clang-cl defaults to -gline-tables-only, because that's the only CodeView debug info that LLVM knows how to emit. llvm-svn: 202891
* Add tests for newly-resolved core issues <= 370.Richard Smith2014-03-045-9/+88
| | | | llvm-svn: 202889
* Fix unconditional dereference of a WeakVH in CGDebugInfo TypeCacheReid Kleckner2014-03-041-1/+2
| | | | | | | | | | | | This fails an "isa<> used with null pointer" assert during a clang-cl self-host on Windows. This was caused by r202769, and I'm currently reducing a test case. Reviewers: dblaikie Differential Revision: http://llvm-reviews.chandlerc.com/D2944 llvm-svn: 202888
* Update DR status page to match post-Issaquah core issues list.Richard Smith2014-03-041-890/+1064
| | | | llvm-svn: 202886
* Add links to TSen from post-Issaquah mailing.Richard Smith2014-03-041-2/+2
| | | | llvm-svn: 202882
* Pass llvm::Triple objects by const reference.Benjamin Kramer2014-03-047-10/+10
| | | | | | Copying isn't cheap as it contains a std::string. llvm-svn: 202880
* [Mips] Check all MIPS toolchains to find the one that best meets commandSimon Atanasyan2014-03-0417-18/+61
| | | | | | | | | | line arguments and directories tree. The old toolchain selection heuristics worked incorrectly when user has a reduced MIPS toolchain supports the O32 ABI only. Patch reviewed by Jonathan Roelofs, David Majnemer. llvm-svn: 202873
* Objective-C IRGen. Fix up the hueristics for determiningFariborz Jahanian2014-03-042-8/+74
| | | | | | | | if an ivar offset load is invariant iff inside an instance method and ivar belongs to instance method's class and one of its super class. // rdar://16095748 llvm-svn: 202872
* The wmmintrin.h header includes two different sub-headers: one for AES supportRoman Divacky2014-03-041-1/+1
| | | | | | | | | | and one for PCLMUL support. The current immintrin.h header only includes wmmintrin.h if AES support is enabled. It should include it if either AES or PCLMUL is enabled (GCC's version of immintrin.h does this). Patch by John Baldwin! llvm-svn: 202871
* First step towards fixing PR18967 - simplify the ComputeThisOffset interfaceTimur Iskhodzhanov2014-03-041-15/+11
| | | | llvm-svn: 202870
* When deciding whether or not to resolve twoSean Callanan2014-03-041-0/+15
| | | | | | | | | | anonymous structs to the same Decl in the ASTImporter, ensure that both are filled in from their external sources (if present). Otherwise two different structs may be identified erroneously. llvm-svn: 202869
OpenPOWER on IntegriCloud