aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Rewrite
AgeCommit message (Collapse)AuthorFilesLines
2017-06-03Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC.Galina Kistanova1-0/+1
llvm-svn: 304647
2016-10-07[analyzer] Re-apply r283092, attempt no.4, chunk no.4 (last)Artem Dergachev1-2/+7
The problem that caused the msvc crash has been indentified and fixed in the previous commit. This patch contains the rest of r283092. llvm-svn: 283584
2016-10-07Revert "[analyzer] Try to re-apply r283092 "Extend bug reports with extra notes"Artem Dergachev1-7/+2
Vector of smart pointers wasn't the thing that caused msvc crash. llvm-svn: 283537
2016-10-07[analyzer] Try to re-apply r283092 "Extend bug reports with extra notes"Artem Dergachev1-2/+7
Replace SmallVector<IntrusiveRefCntPtr> with a vector of plain pointers. Would insignificantly increase memory usage. llvm-svn: 283536
2016-10-04Revert "[analyzer] Extend bug reports with extra notes" to fix Windows bot.Vitaly Buka1-7/+2
This reverts commit r283092. llvm-svn: 283180
2016-10-03[analyzer] Extend bug reports with extra notesArtem Dergachev1-2/+7
These diagnostics are separate from the path-sensitive engine's path notes, and can be added manually on top of path-sensitive or path-insensitive reports. The new note diagnostics would appear as note:-diagnostic on console and as blue bubbles in scan-build. In plist files they currently do not appear, because format needs to be discussed with plist file users. The analyzer option "-analyzer-config notes-as-events=true" would convert notes to normal path notes, and put them at the beginning of the path. This is a temporary hack to show the new notes in plist files. A few checkers would be updated in subsequent commits, including tests for this new feature. Differential Revision: https://reviews.llvm.org/D24278 llvm-svn: 283092
2016-10-01Use StringRef for MemoryBuffer identifier API (NFC)Mehdi Amini1-3/+3
llvm-svn: 283043
2016-09-15[analyzer] Fix HTMLRewriter style sheets to support non-webkit browsers.Artem Dergachev1-0/+4
This fixes rounded corners and shadows of analyzer diagnostic pieces in browsers such as Firefox. Differential Revision: https://reviews.llvm.org/D23272 llvm-svn: 281625
2016-02-18Remove use of builtin comma operator.Richard Trieu1-2/+4
Cleanup for upcoming Clang warning -Wcomma. No functionality change intended. llvm-svn: 261271
2016-02-09Simplify EnterTokenStream API to make it more robust for memory managementDavid Blaikie1-1/+1
While this won't help fix things like the bug that r260219 addressed, it seems like good tidy up to have anyway. (it might be nice if "makeArrayRef" always produced a MutableArrayRef & let it decay to an ArrayRef when needed - then I'd use that for the MutableArrayRefs in this patch) If we had std::dynarray I'd use that instead of unique_ptr+size_t, ideally (but then it'd have to be threaded down through the Preprocessor all the way - no idea how painful that would be) llvm-svn: 260246
2016-01-26Remove autoconf supportChris Bieneman1-18/+0
Summary: This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html "This is the way [autoconf] ends Not with a bang but a whimper." -T.S. Eliot Reviewers: chandlerc, grosbach, bob.wilson, echristo Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D16472 llvm-svn: 258862
2015-10-20Roll-back r250822.Angel Garcia Gomez1-1/+2
Summary: It breaks the build for the ASTMatchers Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D13893 llvm-svn: 250827
2015-10-20Apply modernize-use-default to clang.Angel Garcia Gomez1-2/+1
Summary: Replace empty bodies of default constructors and destructors with '= default'. Reviewers: bkramer, klimek Subscribers: klimek, alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D13890 llvm-svn: 250822
2015-07-28Make local function isWhitespaceExceptNL static instead of in anonymous ↵Yaron Keren1-3/+1
namespace per the coding standard. Thanks Craig Tooper for noticing this. llvm-svn: 243381
2015-07-27Rename highly-confusing isWhitespace that returns false on \n toYaron Keren1-17/+13
isWhitespaceExceptNL. If that's wasn't bad enough, we have an identically named function in Basic/CharInfo.h. While at it, remove unnecessary includes, .str() calls and #ifdef. llvm-svn: 243260
2015-06-22Revert r240270 ("Fixed/added namespace ending comments using clang-tidy").Alexander Kornienko1-1/+1
llvm-svn: 240353
2015-06-22Fixed/added namespace ending comments using clang-tidy. NFCAlexander Kornienko1-1/+1
The patch is generated using this command: $ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ work/llvm/tools/clang To reduce churn, not touching namespaces spanning less than 10 lines. llvm-svn: 240270
2015-04-11Remove empty non-virtual destructors or mark them =default when non-publicBenjamin Kramer1-2/+2
These add no value but can make a class non-trivially copyable. NFC. llvm-svn: 234689
2015-03-08[Rewrite] Make RewriteBuffer accessible on its own, and add a unit test for it.Argyrios Kyrtzidis1-1/+1
llvm-svn: 231588
2014-10-29Trim some includes. NFC.Hans Wennborg1-2/+1
llvm-svn: 220877
2014-10-26Delete unused method and clangAST dependency it required.Daniel Jasper2-10/+0
llvm-svn: 220640
2014-10-24[CMake] clangRewrite: Roll back clangAST in libdeps, due to ↵NAKAMURA Takumi1-0/+1
clang::Stmt::printPretty(). llvm-svn: 220549
2014-10-23Remove code duplication and cut dependency from clangRewrite onDaniel Jasper2-22/+0
clangAST. llvm-svn: 220502
2014-09-15Use intrusive refcounted pointers to manage RopeRefCountString lifetime.Benjamin Kramer1-9/+5
std::shared_ptr<char []> would be even nicer, but shared_ptr doesn't work with arrays :( No functionality change. llvm-svn: 217798
2014-07-16Make clang's rewrite engine a core featureAlp Toker19-15072/+23
The rewrite facility's footprint is small so it's not worth going to these lengths to support disabling at configure time, particularly since key compiler features now depend on it. Meanwhile the Objective-C rewriters have been moved under the ENABLE_CLANG_ARCMT umbrella for now as they're comparatively heavy and still potentially worth excluding from lightweight builds. Tests are now passing with any combination of feature flags. The flags historically haven't been tested by LLVM's build servers so caveat emptor. llvm-svn: 213171
2014-06-12Replace llvm::error_code with std::error_code.Rafael Espindola1-2/+2
llvm-svn: 210780
2014-06-09Removing an "if (this == nullptr)" check from two print methods. The conditionRichard Trieu3-0/+8
will never be true in a well-defined context. The checking for null pointers has been moved into the caller logic so it does not rely on undefined behavior. llvm-svn: 210498
2014-06-04Remove the last remaining llvm/Config/config.h includesAlp Toker1-1/+1
This corrects long-standing misuses of LLVM's internal config.h. In most cases the public llvm-config.h header was intended and we can now remove the old hacks thanks to LLVM r210144. The config.h header is private, won't be installed and should no longer be included by clang or other modules. llvm-svn: 210145
2014-05-07[C++11] Use 'nullptr'.Craig Topper7-275/+276
llvm-svn: 208163
2014-05-01write a line marker right before adding included fileLubos Lunak1-0/+2
Enclosing the original #include directive inside #if 0 adds lines, so warning/errors messages would have the line number off in "In file included from <file>:<line>:", so add line marker to fix this. llvm-svn: 207795
2014-05-01do not use "1" for line marker for the predefines "file" eitherLubos Lunak1-1/+5
Similar to r207764. llvm-svn: 207794
2014-05-01do not use "1" for line marker for the main fileLubos Lunak1-2/+5
"1" means entering a new file (from a different one), but the main file is not included from anything (and this would e.g. confuse -Wunused-macros to not report unused macros in the main file, see pr15610, or also see pr18948). The line marker is still useful e.g. if the resulting file is renamed or used via a pipe. llvm-svn: 207764
2014-05-01revert r207756Lubos Lunak1-1/+0
There's nothing wrong with the change itself, but test/Frontend/rewrite-includes-messages.c fails without another not-yet-committed fix. llvm-svn: 207762
2014-05-01do not warn about unknown pragmas in modes that do not handle them (pr9537)Lubos Lunak1-7/+1
And refactor to have just one place in code that sets up the empty pragma handlers. llvm-svn: 207758
2014-05-01write a line marker right before adding included fileLubos Lunak1-0/+1
Enclosing the original #include directive inside #if 0 adds lines, so warning/errors messages would have the line number off in "In file included from <file>:<line>:", so add line marker to fix this. llvm-svn: 207756
2014-04-23Make RewriteRope less confusing for me. No intended behavior change.Nico Weber1-3/+2
llvm-svn: 207032
2014-04-16Objective-C rewriter. Use _WIN64 instead of __LLP64__Fariborz Jahanian1-1/+1
to conditinalize on 64bit length in a generated meta-data. // rdar://16489050 llvm-svn: 206402
2014-04-01Objective-C modern translator. Fix declaration ofFariborz Jahanian1-0/+4
__NSConstantStringImpl's length field to accomodate window's 64bit LLP64 mode. // rdar://16489050 llvm-svn: 205353
2014-03-17[C++11] Replacing FunctionProtoType iterators param_type_begin() and ↵Aaron Ballman2-44/+24
param_type_end() with iterator_range param_types(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 204045
2014-03-15[C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper6-53/+47
class. llvm-svn: 203999
2014-03-14[C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with ↵Aaron Ballman2-10/+8
iterator_range captures(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203958
2014-03-14[C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with ↵Aaron Ballman1-3/+1
iterator_range decls(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203947
2014-03-14[C++11] Replacing ObjCImplementationDecl iterators ivar_begin() and ↵Aaron Ballman1-4/+2
ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203932
2014-03-14[C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and ↵Aaron Ballman2-24/+8
propimpl_end() with iterator_range property_impls(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203930
2014-03-14[C++11] Replacing ObjCCategoryDecl iterators protocol_begin() and ↵Aaron Ballman1-8/+3
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203922
2014-03-13[C++11] Replacing ObjCProtocolDecl iterators protocol_begin() and ↵Aaron Ballman1-8/+3
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203863
2014-03-13[C++11] Replacing ObjCInterfaceDecl iterators protocol_begin() and ↵Aaron Ballman1-2/+2
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops. Drive-by fixing some incorrect types where a for loop would be improperly using ObjCInterfaceDecl::protocol_iterator. No functional changes in these cases. llvm-svn: 203842
2014-03-13[C++11] Replacing ObjCContainerDecl iterators classmeth_begin() and ↵Aaron Ballman2-46/+18
classmeth_end() with iterator_range class_methods(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203840
2014-03-13[C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and ↵Aaron Ballman2-46/+19
instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203839
2014-03-13Renaming the recently-created (r203830) props() range API to properties() ↵Aaron Ballman2-9/+9
for clarity. llvm-svn: 203835