summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Compare canonical return types when generating MS C++ ABI vtable thunksReid Kleckner2013-12-202-1/+13
| | | | | | | | This was part of the cause for PR17655. We were generating thunks when we shouldn't have. I suspect that if we tweak the test case for PR17655 to actually require thunks, we can reproduce the same crash. llvm-svn: 197836
* Move the TargetMachine instance into EmitAssemblyHelperAlp Toker2013-12-201-19/+21
| | | | | | Cleanup in preparation for enhanced DataLayout checking. llvm-svn: 197832
* clang-cl: Support /P and /E (preprocess to file or stdout)Hans Wennborg2013-12-204-8/+21
| | | | llvm-svn: 197827
* Remove an outdated statement about debugging optimized code.Adrian Prantl2013-12-201-2/+1
| | | | llvm-svn: 197820
* Document the -fno-limit-debug-info switch in the man page.Adrian Prantl2013-12-201-0/+8
| | | | llvm-svn: 197819
* Enable layering check in unavailable modules.Daniel Jasper2013-12-205-107/+129
| | | | | | | | | | | | | | | If a header file belonging to a certain module is not found on the filesystem, that header gets marked as unavailable. Now, the layering warning (-fmodules-decluse) should still warn about headers of this module being wrongfully included. Currently, headers belonging to those modules are just treated as not belonging to modules at all which means they can be included freely from everywhere. To implement this (somewhat) cleanly, I have moved most of the layering checks into the ModuleMap. This will also help with showing FixIts later. llvm-svn: 197805
* clang-format: Better support for multi-line wide string literals.Daniel Jasper2013-12-204-18/+23
| | | | | | | | | | | Before: SomeFunction(L"A" L"B"); After: SomeFunction(L"A" L"B"); llvm-svn: 197785
* [analyzer] Use DataRecursiveASTVisitor for the AnalysisConsumer.Argyrios Kyrtzidis2013-12-201-2/+2
| | | | llvm-svn: 197767
* Move tools/libclang/RecursiveASTVisitor.h -> ↵Argyrios Kyrtzidis2013-12-203-57/+55
| | | | | | | | include/clang/AST/DataRecursiveASTVisitor.h This is to make it available so the static analyzer can use it. llvm-svn: 197766
* [libclang/python] Add CompilationDatabase.getAllCompileCommands to the ↵Argyrios Kyrtzidis2013-12-202-0/+34
| | | | | | | | python bindings. Patch by Laszlo Nagy! llvm-svn: 197765
* Serialize source range info for TypeTraitExpr.Jordan Rose2013-12-202-1/+5
| | | | | | | | | This caused some crazy crashes involving std::unordered_map being deserialized from a PCH file and then template instantiation requiring an explicit instantiation location; unfortunately I don't really know how to come up with a minimal test case. llvm-svn: 197764
* Correctly compute the size in bytes of PreambleFileHash.MD5Dmitri Gribenko2013-12-201-2/+2
| | | | llvm-svn: 197762
* Add a test I forgot to svn add in r197755Dmitri Gribenko2013-12-204-0/+23
| | | | llvm-svn: 197756
* ASTUnit::getMainBufferWithPrecompiledPreamble: use MD5 hash of the remappedDmitri Gribenko2013-12-202-14/+81
| | | | | | | | | | | files to tell if they were changed since the last time we have computed the preamble We used to check only the buffer size, so if the new remapped buffer has the same size as the previous one, we would think that the buffer did not change, and we did not rebuild the preambule, which sometimes caused us to crash. llvm-svn: 197755
* Simplify codeDmitri Gribenko2013-12-191-1/+1
| | | | llvm-svn: 197748
* [analyzer] Fix test in previous commit to account for compiler warning.Jordan Rose2013-12-191-2/+6
| | | | | | --analyze passes -w, but -cc1 -analyze doesn't. Oops! llvm-svn: 197741
* Wordsmith "maybe" into "may be" in diagnostic, and move warning under flag.Ted Kremenek2013-12-195-15/+16
| | | | llvm-svn: 197736
* [analyzer] Always use 'bool' as the SValBuilder condition type in C++.Jordan Rose2013-12-193-2/+9
| | | | | | | | | We have assertions for this, but a few edge cases had snuck through where we were still unconditionally using 'int'. <rdar://problem/15703011> llvm-svn: 197733
* Remove dead code identified by Aaron Ballman.Ted Kremenek2013-12-191-4/+0
| | | | llvm-svn: 197730
* After discussing with John McCall, removing the ns_bridged attribute as it ↵Aaron Ballman2013-12-194-52/+0
| | | | | | is unused. llvm-svn: 197729
* clang-format: Add special case for leading comments in braced lists.Daniel Jasper2013-12-193-15/+53
| | | | | | | | | | | | | | | | | | | A comment following the "{" of a braced list seems to almost always refer to the first element of the list and thus should be aligned to it. Before (with Cpp11 braced list style): SomeFunction({ // Comment 1 "first entry", // Comment 2 "second entry"}); After: SomeFunction({// Comment 1 "first entry", // Comment 2 "second entry"}); llvm-svn: 197725
* Reverting r197715 -- it appears that MSVC is happy with the code, but clang ↵Aaron Ballman2013-12-191-52/+24
| | | | | | is not. llvm-svn: 197716
* No longer leaking Argument objects after calling createArgument. However, ↵Aaron Ballman2013-12-191-24/+52
| | | | | | since an OwningPtr cannot live in a std::vector yet, there are some manual deletions that have a FIXME attached to them. These will go away once C++11 support is allowed. llvm-svn: 197715
* [CMake] Tweak r197697 to handle CMake finding the wrong llvm-config/tblgen.Jordan Rose2013-12-191-8/+17
| | | | | | | | | | | - If llvm-config fails, output an error to the user rather than allowing errors to cascade. - Always get llvm-tblgen from llvm-config's bindir. Turns out my PATH points to a really old version of LLVM; both of these fell out of trying to make this experience nicer. llvm-svn: 197714
* Type attribute do not get an AST node by default, so these statements can be ↵Aaron Ballman2013-12-191-9/+1
| | | | | | removed (it's inherited automatically from TypeAttr). llvm-svn: 197710
* Removing the SourceLocation unused attribute argument type.Aaron Ballman2013-12-192-11/+0
| | | | llvm-svn: 197707
* ObjectiveC. Sema test for property, methods Fariborz Jahanian2013-12-191-0/+9
| | | | | | 'section' attribute. // rdar://15450637 llvm-svn: 197704
* check-clang: Suppress LLVM_LIT in add_lit_testsuite, for now.NAKAMURA Takumi2013-12-191-1/+1
| | | | llvm-svn: 197702
* Small simplification: p0 is the same as p.Rafael Espindola2013-12-192-2/+2
| | | | llvm-svn: 197700
* clang-format: Increase penalty for breaking comments.Daniel Jasper2013-12-192-10/+10
| | | | | | | | | | | | | Unexpectedly, it seems that people commonly know what they were doing when writing a comment. Also, being more conservative about comment breaking has the advantage of giving more flexibility. If a linebreak within the comment can improve formatting, the author can add it (after which clang-format won't undo it). There is no way to override clang-format's behavior if it breaks a comment. llvm-svn: 197698
* [CMake][Standalone] Rewrite standalone build based on llvm-config. ↵NAKAMURA Takumi2013-12-192-95/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CLANG_PATH_TO_LLVM_*(s) are deprecated. Checked on VS10(multiconfig) and some singleconfig builders. * Assumptions - You should specify llvm-config as LLVM_CONFIG. CMake could find one in $PATH by default. - ENABLE_ASSERTIONS obeys LLVM's. * Use cases a) With LLVM build tree Assume llvm-config is in your build tree. Everything should work as ever. b) With *installed* LLVM Assume distributions. The source tree can be optional. b1) The source tree is provided on the location `llvm-config --src-root` - Test utils, FileCheck &c., are imported and built in the new tree. - Gtest is built in the tree if gtest library is not found. - Lit is used in $(SRCROOT)/utils/lit/lit.py. b2) The source tree is not provided - clang and utilities can be built. - All tests, unittests and check-clang are invalidated and not built. llvm-svn: 197697
* Fix comment typo.Will Wilson2013-12-191-1/+1
| | | | llvm-svn: 197695
* clang-format: Slightly adapt decision of when to break before <<.Daniel Jasper2013-12-192-1/+3
| | | | | | | | | | | | Before: Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa) << aaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaa); After: Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa) << aaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaa); llvm-svn: 197690
* [CMake] check-clang: Include ClangUnitTests if it can be built. Check ↵NAKAMURA Takumi2013-12-192-8/+7
| | | | | | existence of gtest.h then. llvm-svn: 197688
* [CMake] check-clang: Append items to CLANG_TEST_DEPS rather than set. ↵NAKAMURA Takumi2013-12-191-1/+1
| | | | | | CLANG_TEST_DEPS can be set in parent scope. llvm-svn: 197687
* [CMake] check-clang: Deprecate --path, according to r197576.NAKAMURA Takumi2013-12-191-4/+0
| | | | llvm-svn: 197686
* Switching getAttrs calls over to using a specific_attr_iterator. No ↵Aaron Ballman2013-12-191-8/+8
| | | | | | functional changes intended. llvm-svn: 197681
* Switched code from using hasAttr followed by getAttr to simply call getAttr ↵Aaron Ballman2013-12-191-10/+9
| | | | | | | | directly and check the resulting value. No functional changes intended. llvm-svn: 197678
* Switched code from using hasAttr followed by getAttr to simply call getAttr ↵Aaron Ballman2013-12-191-2/+1
| | | | | | | | directly. No functional changes intended. llvm-svn: 197676
* Hosting a call to getAttr so that we don't call it multiple times for the ↵Aaron Ballman2013-12-191-9/+5
| | | | | | same attribute. Also removes a hasAttr that's not required. No functional changes intended. llvm-svn: 197675
* Fix usage description of clang-format-diff.py.Daniel Jasper2013-12-191-2/+2
| | | | llvm-svn: 197668
* Update SI datalayout for 32-bit private pointersMatt Arsenault2013-12-192-3/+2
| | | | llvm-svn: 197660
* Switched code from using hasAttr followed by getAttr to simply call getAttr ↵Aaron Ballman2013-12-192-18/+14
| | | | | | | | directly and check the resulting value. No functional changes intended. llvm-svn: 197652
* On spacv8 f128 is only aligned to 64 bits.Rafael Espindola2013-12-192-4/+2
| | | | | | | | LLVM already got this right. Found on "Figure 3-1: Scalar Types" on http://sparc.com/standards/psABI3rd.pdf. llvm-svn: 197651
* Switched code from using hasAttr followed by getAttr to simply call getAttr ↵Aaron Ballman2013-12-191-3/+2
| | | | | | | | directly and check the resulting value. No functional changes intended. llvm-svn: 197650
* Switched code from using hasAttr followed by getAttr to simply call getAttr ↵Aaron Ballman2013-12-191-74/+43
| | | | | | | | directly and check the resulting value. Also fixes some minor formatting issues surrounding the getAttr code. No functional changes intended. llvm-svn: 197649
* Replacing calls to getAttr with calls to hasAttr for clarity. No functional ↵Aaron Ballman2013-12-1921-82/+80
| | | | | | change intended -- this only replaces Boolean uses of getAttr. llvm-svn: 197648
* PCH: fix a crash caused by a circular deserialization dependencyDmitri Gribenko2013-12-192-4/+54
| | | | | | | | | We started by trying to deserialize decltype(func-param) in a trailing return type, which causes the function parameter decl to be deserialized, which pulls in the function decl, which pulls the function type, which pulls the same decltype() in the return type, and then we crashed. llvm-svn: 197644
* Simplify CXXMethodDecl::isVirtual() for __interface caseDmitri Gribenko2013-12-191-3/+3
| | | | llvm-svn: 197643
* Debug info: (Bugfix) emit CRV qualifiers for pointers to member functions.Adrian Prantl2013-12-192-13/+18
| | | | | | rdar://problem/15678916. llvm-svn: 197641
OpenPOWER on IntegriCloud