summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Attach any tag type's documentation to its typedef ifFariborz Jahanian2013-01-262-3/+9
| | | | | | latter does not have one of its own. // rdar://13067629 llvm-svn: 173586
* libclang: factor out the frequent pattern static_cast<ASTUnit *>(TU->TUData)Dmitri Gribenko2013-01-2614-67/+72
| | | | | | into a getter cxtu::getASTUnit(TU) llvm-svn: 173585
* libclang: make getCursorParentDecl() return 'const Decl *'Dmitri Gribenko2013-01-263-4/+4
| | | | llvm-svn: 173584
* libclang: change getCursorAttr() to return 'const Attr *'Dmitri Gribenko2013-01-263-7/+7
| | | | llvm-svn: 173583
* Migrate tests to -verifyDmitri Gribenko2013-01-263-3/+7
| | | | llvm-svn: 173582
* Added ASTContext methods getIntPtrType and getUIntPtrType.Enea Zaffanella2013-01-262-0/+16
| | | | llvm-svn: 173581
* <limits.h> includes <linux/limits.h> on Linux, no need to special-case itDmitri Gribenko2013-01-263-9/+3
| | | | llvm-svn: 173578
* libclang: make getCursorStmt() and getCursorExpr() return const pointersDmitri Gribenko2013-01-264-169/+180
| | | | | | Also change EnqueueVisitor to use ConstStmtVisitor as a consequence. llvm-svn: 173577
* Specify non-GNU-ARM triples for key-function test.Tim Northover2013-01-261-1/+2
| | | | | | | Since ARM has diverging ABIs on this detail, it's probably worth testing both it and a "normal" Itanium system. llvm-svn: 173576
* Constify getOptionalExplicitTemplateArgs()Dmitri Gribenko2013-01-261-3/+3
| | | | llvm-svn: 173575
* Constify some getters of DesignatedInitExprDmitri Gribenko2013-01-262-9/+12
| | | | llvm-svn: 173574
* clang/test/Misc/diag-template-diffing-color.cpp: Symbolize color sequences ↵NAKAMURA Takumi2013-01-261-14/+14
| | | | | | in FileCheck. llvm-svn: 173561
* [libclang] Introduce clang_getFileUniqueID which returns a structArgyrios Kyrtzidis2013-01-263-1/+35
| | | | | | | | | | | for a CXFile containing device/inode/modification time. Intended to be useful as a key associated with a unique file across an indexing session. rdar://13091837 llvm-svn: 173559
* clang/test/Misc/ast-dump-color.cpp: Symbolize color sequences in FileCheck.NAKAMURA Takumi2013-01-261-59/+59
| | | | | FIXME: If FileCheck had expressions something predefined well-known... llvm-svn: 173558
* [analyzer] C++ initializers may require cleanups; look through these.Jordan Rose2013-01-262-1/+31
| | | | | | | | | | | | | | When the analyzer sees an initializer, it checks if the initializer contains a CXXConstructExpr. If so, it trusts that the CXXConstructExpr does the necessary work to initialize the object, and performs no further initialization. This patch looks through any implicit wrapping expressions like ExprWithCleanups to find the CXXConstructExpr inside. Fixes PR15070. llvm-svn: 173557
* Give a more informative error message when the dot or arrow operator is usedRichard Trieu2013-01-263-3/+26
| | | | | | | on a type. Currently, it gives a generic "expected unqualified-id" error. The new error message is "cannot use (dot|arrow) operator on a type". llvm-svn: 173556
* Fix mismatch between pointer and pointee type when diagnosing an incorrectRichard Smith2013-01-262-3/+10
| | | | | | object argument type for a member call. llvm-svn: 173554
* Fix test case by being more lenient on what to accept as a path name.Richard Trieu2013-01-261-1/+1
| | | | llvm-svn: 173553
* Remove function that is newly dead as of r173538.Nick Lewycky2013-01-261-4/+0
| | | | llvm-svn: 173550
* Hopefuly unbreak buldbot.Fariborz Jahanian2013-01-261-3/+3
| | | | llvm-svn: 173549
* Highlight various parts of the AST dump with color. Colors are controlled byRichard Trieu2013-01-265-36/+249
| | | | | | | -f(no-)color-diagnostics. In addition, dumpColor() function calls are added to force color printing. No structural changes to -ast-dump. llvm-svn: 173548
* [analyzer] Track null object lvalues back through C++ method calls.Jordan Rose2013-01-262-0/+38
| | | | | | | | | | The expression 'a->b.c()' contains a call to the 'c' method of 'a->b'. We emit an error if 'a' is NULL, but previously didn't actually track the null value back through the 'a->b' expression, which caused us to miss important false-positive-suppression cases, including <rdar://problem/12676053>. llvm-svn: 173547
* [analyzer] bugreporter::getDerefExpr now takes a Stmt, not an ExplodedNode.Jordan Rose2013-01-263-17/+13
| | | | | | | This allows it to be used in places where the interesting statement doesn't match up with the current node. No functionality change. llvm-svn: 173546
* [analyzer] Add 'prune-paths' config option to disable path pruning.Jordan Rose2013-01-264-1/+34
| | | | | | This should be used for testing only. Path pruning is still on by default. llvm-svn: 173545
* [analyzer] Rename PruneNullReturnPaths to SuppressNullReturnPaths.Jordan Rose2013-01-263-8/+8
| | | | | | | "Prune" is the term for eliminating pieces of a path that are not relevant to the user. "Suppress" means don't show that path at all. llvm-svn: 173544
* Fix up the test.Fariborz Jahanian2013-01-261-9/+15
| | | | | | for // rdar://11861085 llvm-svn: 173543
* Since we're stuck with realpath for the header <-> module mapping,Douglas Gregor2013-01-264-44/+68
| | | | | | | | factor the realpath calls into FileManager::getCanonicalName() so we can cache the results of this epically slow operation. 5% speedup on my modules test, and realpath drops out of the profile. llvm-svn: 173542
* Revert r172285 (suppressing a 'redundant' -Wc++98-compat warning) and add aRichard Smith2013-01-262-1/+2
| | | | | | testcase for a situation it caused us to miss. llvm-svn: 173540
* Comment parsing: actually check for a block command after "\param x"Dmitri Gribenko2013-01-264-6/+57
| | | | | | This fixes PR15068. llvm-svn: 173539
* Preserve Sema::UndefinedInternals across PCH boundaries. FixesNick Lewycky2013-01-2611-24/+97
| | | | | | -Wundefined-internal warnings with PCH. llvm-svn: 173538
* patch for PR9027 and // rdar://11861085Fariborz Jahanian2013-01-2511-3/+126
| | | | | | | | | | | Title: [PR9027] volatile struct bug: member is not loaded at -O; This is caused by last flag passed to @llvm.memcpy being false, not honoring that aggregate has at least one 'volatile' data member (even though aggregate itself has not been qualified as 'volatile'. As a result, optimization optimizes away the memcpy altogether. Patch review by John MaCall (I still need to fix up a test though). llvm-svn: 173535
* clang/test/Index/annotate-comments-typedef.m: Remove CommentXMLValid in ↵NAKAMURA Takumi2013-01-251-2/+2
| | | | | | CHECKs. Don't assume libxml2 here. llvm-svn: 173534
* ARM says that the array cookie should always be eight bytes.John McCall2013-01-252-25/+73
| | | | | | | ARM is not thinking about over-aligned structures. Overrule ARM in both our generic-ARM and iOS ABI implementations. llvm-svn: 173531
* Move the decision about the kind of CGCXXABI to make insideJohn McCall2013-01-253-13/+25
| | | | | | the family-specific files. llvm-svn: 173530
* Improve coordination between the module manager and the global moduleDouglas Gregor2013-01-255-72/+109
| | | | | | | | | index, optimizing the operation that skips lookup in modules where we know the identifier will not be found. This makes the global module index optimization actually useful, providing an 8.5% speedup over modules without the global module index for -fsyntax-only. llvm-svn: 173529
* clang/test/Preprocessor/iwithprefix.c: Tweak default includes not to use ↵NAKAMURA Takumi2013-01-251-1/+1
| | | | | | | | | | /usr/include. You may see such a message on non-posix system; ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/usr/include" llvm-svn: 173525
* [utils] Kill another no-longer-useful utility script.Daniel Dunbar2013-01-251-117/+0
| | | | | | | - We are long past the days of getting clang to fail in mass on swaths of code, fortunately. llvm-svn: 173523
* simplify code by removing excessive bracing.Fariborz Jahanian2013-01-251-20/+12
| | | | llvm-svn: 173521
* Attach enum's documentation to its typedef ifFariborz Jahanian2013-01-252-0/+40
| | | | | | latter does not have one of its own. // rdar://13067629 llvm-svn: 173516
* The standard ARM C++ ABI dictates that inline functions areJohn McCall2013-01-2519-180/+853
| | | | | | | | never key functions. We did not implement that rule for the iOS ABI, which was driven by what was implemented in gcc-4.2. However, implement it now for other ARM-based platforms. llvm-svn: 173515
* First pass at abstracting out a class for the target C++ ABI.John McCall2013-01-2512-58/+230
| | | | llvm-svn: 173514
* Optimize ModuleManager::visit() by precomputing the visitation orderDouglas Gregor2013-01-252-66/+86
| | | | | | | | | | and limiting ourselves to two memory allocations. 10% speedup in -fsyntax-only time for modules. With this change, we can actually see some performance different from the global module index, but it's still about 1%. llvm-svn: 173512
* Remove useless 'XPASS: *' from testsDmitri Gribenko2013-01-256-6/+1
| | | | llvm-svn: 173511
* Temporarily disabling ms-asm testRenato Golin2013-01-251-0/+1
| | | | llvm-svn: 173510
* This test actually passes, just add the missing expected-errorDmitri Gribenko2013-01-251-3/+3
| | | | llvm-svn: 173504
* Migrate test from grep to -fdiagnostics-parseable-fixitsDmitri Gribenko2013-01-251-1/+9
| | | | llvm-svn: 173496
* [utils] Remove the OptionalTests subdir no one runs.Daniel Dunbar2013-01-254-371/+0
| | | | llvm-svn: 173491
* [utils] Remove C++Tests that I don't think anyone uses anymore.Daniel Dunbar2013-01-2510-333/+0
| | | | llvm-svn: 173490
* Silence unintended fallthrough diagnostic on a case label preceded with a ↵Alexander Kornienko2013-01-252-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | normal label. Summary: It's unlikely that a fallthrough is unintended in the following code: switch (n) { ... label: case 1: ... goto label; ... } Reviewers: rsmith, doug.gregor Reviewed By: doug.gregor CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D329 llvm-svn: 173486
* FileCheck'ize testsDmitri Gribenko2013-01-252-6/+11
| | | | llvm-svn: 173484
OpenPOWER on IntegriCloud