summaryrefslogtreecommitdiffstats
path: root/clang/lib/ARCMigrate
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "unique_ptr-ify ownership of ASTConsumers"David Blaikie2014-07-172-17/+27
| | | | | | | | | This reverts commit r213307. Reverting to have some on-list discussion/confirmation about the ongoing direction of smart pointer usage in the LLVM project. llvm-svn: 213325
* unique_ptr-ify ownership of ASTConsumersDavid Blaikie2014-07-172-27/+17
| | | | | | | | | (after fixing a bug in MultiplexConsumer I noticed the ownership of the nested consumers was implemented with raw pointers - so this fixes that... and follows the source back to its origin pushing unique_ptr ownership up through there too) llvm-svn: 213307
* Make clang's rewrite engine a core featureAlp Toker2014-07-161-1/+1
| | | | | | | | | | | | | | | 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
* Update for llvm api change.Rafael Espindola2014-07-062-6/+8
| | | | llvm-svn: 212408
* PlistSupport.h: avoid gcc 'defined but not used' warningAlp Toker2014-07-061-2/+1
| | | | llvm-svn: 212396
* Modernize a couple of loopsAlp Toker2014-07-061-5/+2
| | | | llvm-svn: 212394
* writeARCDiagsToPlist(): make sure all diag levels get handledAlp Toker2014-07-061-6/+17
| | | | | | | Handle 'remark' level diagnostics as warnings instead of supplemental notes, and use a covered switch to ensure the mapping is kept up to date. llvm-svn: 212385
* Remove leftovers of '-arcmt-modify-in-memory' from r133315Alp Toker2014-07-051-16/+0
| | | | llvm-svn: 212381
* ARCMigrate: simplify diagnostic handlingAlp Toker2014-07-022-14/+4
| | | | | | | | | | | | | Recent enhancements in the diagnostics engine mean that TransformActions::report() no longer needs to duplicate this suppression logic. That's great because the old code was flawed and would have attached notes to the wrong primary diagnostic in non-trivial use. With these changes it becomes safe to use reportNote() freely in the migration tool. llvm-svn: 212191
* Remove llvm:: from uses of ArrayRef.Craig Topper2014-06-281-4/+4
| | | | llvm-svn: 211987
* Replace llvm::error_code with std::error_code.Rafael Espindola2014-06-121-2/+2
| | | | llvm-svn: 210780
* DiagnosticsEngine: update severity setters to new terminologyAlp Toker2014-06-121-2/+2
| | | | llvm-svn: 210764
* Complete the switch from mappings to declarative diagnostic severitiesAlp Toker2014-06-121-1/+1
| | | | | | | | | This begins to address cognitive dissonance caused by treating the Note diagnostic level as a severity in the diagnostic engine. No change in functionality. llvm-svn: 210758
* There is no std::errc:success, remove the llvm one.Rafael Espindola2014-05-311-1/+1
| | | | llvm-svn: 209959
* [objcmt] Make sure we don't edit the return type to add 'instancetype' if ↵Argyrios Kyrtzidis2014-05-211-4/+8
| | | | | | | | the return type is already that. rdar://16961577 llvm-svn: 209264
* Clean up language and grammar.Eric Christopher2014-05-201-1/+1
| | | | | | | Based on a patch by jfcaron3@gmail.com! PR19806 llvm-svn: 209215
* ARCMT/GC-check-warn-nsalloc.m: don't provide a diag groupAlp Toker2014-05-191-2/+2
| | | | | | | This diagnostic is now controlled solely by -no-ns-alloc-error thus matching the original intended behaviour. llvm-svn: 209184
* Get ARCMT/GC-check-warn-nsalloc.m workingAlp Toker2014-05-192-5/+4
| | | | | | | | | | | | | The -no-ns-alloc-error migration option now causes the diagnostic to be ignored completely. If this isn't desired, the error can be downgraded to a warning using the usual -Wno-error=arcmt-ns-alloc. Note that we can't use -verify right now on this test because VerifyDiagnosticConsumer gets confused by multiple SourceManager instances, which is presumably the reason it was XFAILed in the first place and why the regression wasn't detected. We'll grep instead for now. llvm-svn: 209172
* Provide and use a safe Token::getRawIdentifier() accessorAlp Toker2014-05-171-6/+3
| | | | llvm-svn: 209061
* [C++11] Use 'nullptr'.Craig Topper2014-05-0711-32/+34
| | | | llvm-svn: 208163
* [objcmt] Revert r191796, it's not needed anymore.Argyrios Kyrtzidis2014-04-281-31/+1
| | | | | | rdar://16223810 llvm-svn: 207391
* remove a bunch of unused private methodsNuno Lopes2014-03-231-8/+0
| | | | | | | | | | | | | | | | | | found with a smarter version of -Wunused-member-function that I'm playwing with. Appologies in advance if I removed someone's WIP code. ARCMigrate/TransProperties.cpp | 8 ----- AST/MicrosoftMangle.cpp | 1 Analysis/AnalysisDeclContext.cpp | 5 --- Analysis/LiveVariables.cpp | 14 ---------- Index/USRGeneration.cpp | 10 ------- Sema/Sema.cpp | 33 +++++++++++++++++++++--- Sema/SemaChecking.cpp | 3 -- Sema/SemaDecl.cpp | 20 ++------------ StaticAnalyzer/Checkers/GenericTaintChecker.cpp | 1 9 files changed, 34 insertions(+), 61 deletions(-) llvm-svn: 204561
* [C++11] Replacing CompoundStmt iterators body_begin() and body_end() with ↵Aaron Ballman2014-03-172-12/+8
| | | | | | iterator_range body(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 204040
* [C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with ↵Aaron Ballman2014-03-141-4/+3
| | | | | | iterator_range captures(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203958
* [C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and ↵Aaron Ballman2014-03-141-16/+14
| | | | | | propimpl_end() with iterator_range property_impls(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203930
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-143-27/+27
| | | | | | class. llvm-svn: 203893
* [C++11] Replacing ObjCInterfaceDecl iterators visible_extensions_begin() and ↵Aaron Ballman2014-03-131-6/+2
| | | | | | visible_extensions_end() with iterator_range visible_extensions(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203855
* [C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and ↵Aaron Ballman2014-03-133-12/+4
| | | | | | instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203839
* Renaming the recently-created (r203830) props() range API to properties() ↵Aaron Ballman2014-03-132-3/+3
| | | | | | for clarity. llvm-svn: 203835
* [C++11] Replacing ObjCContainerDecl iterators meth_begin() and meth_end() ↵Aaron Ballman2014-03-131-15/+4
| | | | | | with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203832
* [C++11] Replacing ObjCContainerDecl iterators prop_begin() and prop_end() ↵Aaron Ballman2014-03-132-12/+6
| | | | | | with iterator_range props(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203830
* [C++11] Replacing CXXRecordDecl iterators method_begin() and method_end() ↵Aaron Ballman2014-03-131-2/+1
| | | | | | with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203812
* [C++11] Remove the remaining uses of OwningPtr.Ahmed Charles2014-03-091-1/+1
| | | | | | Replace OwningArrayPtr with std::unique_ptr<T[]>. llvm-svn: 203388
* [C++11] Replacing EnumDecl iterators enumerator_begin() and enumerator_end() ↵Aaron Ballman2014-03-081-3/+1
| | | | | | with iterator_range enumerators(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203353
* Replace OwningPtr with std::unique_ptr.Ahmed Charles2014-03-075-14/+14
| | | | | | This compiles cleanly with lldb/lld/clang-tools-extra/llvm. llvm-svn: 203279
* Change OwningPtr::take() to OwningPtr::release().Ahmed Charles2014-03-072-6/+5
| | | | | | This is a precursor to moving to std::unique_ptr. llvm-svn: 203275
* [C++11] Replacing iterators redecls_begin() and redecls_end() with ↵Aaron Ballman2014-03-061-2/+1
| | | | | | iterator_range redecls(). Updating all of the usages of the iterators with range-based for loops, which allows the begin/end forms to be removed entirely. llvm-svn: 203179
* [C++11] Replace llvm::tie with std::tie.Benjamin Kramer2014-03-023-3/+3
| | | | llvm-svn: 202639
* [C++11] Switch from the llvm_move macro to directly calling std::move.Chandler Carruth2014-03-021-1/+1
| | | | llvm-svn: 202611
* [CMake] Use LINK_LIBS instead of target_link_libraries().NAKAMURA Takumi2014-02-261-2/+1
| | | | llvm-svn: 202238
* Update for llvm api change.Rafael Espindola2014-02-243-6/+4
| | | | llvm-svn: 202053
* Don't assume that F_None is the default. It is about to change.Rafael Espindola2014-02-241-1/+1
| | | | llvm-svn: 202040
* [CMake] Get rid of explicit dependencies to include/clang/*.inc and ↵NAKAMURA Takumi2014-02-211-12/+0
| | | | | | | | | | | | | | | | | | | introduce CLANG_TABLEGEN_TARGETS. This does; - clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list. - List of targets is added to LLVM_COMMON_DEPENDS. - all clang libraries and targets depend on generated headers. You might wonder this would be regression, but in fact, this is little loss. - Almost all of clang libraries depend on tblgen'd files and clang-tblgen. - clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild. - Each library's dependencies to tblgen'd files might vary along headers' structure. It made hard to track and update *really optimal* dependencies. Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS. llvm-svn: 201842
* Use simpler version of fs::create_directory.Rafael Espindola2014-02-131-2/+1
| | | | llvm-svn: 201293
* Enforce safe usage of DiagnosticsEngine::getCustomDiagID()Alp Toker2014-01-262-15/+7
| | | | | | | | | | | | | | | | Replace the last incorrect uses and templatize the function to require a compile-time constant string preventing further misuse. The diagnostic formatter expects well-formed input and has undefined behaviour with arbitrary input or crafted user strings in source files. Accepting user input would also have caused unbounded generation of new diagnostic IDs which can be problematic in long-running sessions or language bindings. This completes the work to fix several incorrect callers that passed user input or raw messages to the diagnostics engine where a constant format string was expected. llvm-svn: 200132
* Identify two more unsafe uses of getCustomDiagID()Alp Toker2014-01-261-0/+4
| | | | llvm-svn: 200126
* ARCMigrate: Introduce proper diagnostics for TransformActionsAlp Toker2014-01-265-68/+38
| | | | | | | | | | | | | | | This starts to switch ARCMT to use proper diagnostic messages. The old use was based on incorrect example code from the documentation. The logic of the previous report() functions has been retained to support any external consumers that might be intercepting diagnostic messages through the old interface. Note that the change in test/Misc/warning-flags.c isn't a new warning without a flag, rather one that was previously invisible to the test. Adding a flag might be a good idea though. llvm-svn: 200124
* Rename getResultType() on function and method declarations to getReturnType()Alp Toker2014-01-251-16/+15
| | | | | | | | | | | | | | | A return type is the declared or deduced part of the function type specified in the declaration. A result type is the (potentially adjusted) type of the value of an expression that calls the function. Rule of thumb: * Declarations have return types and parameters. * Expressions have result types and arguments. llvm-svn: 200082
* PlistSupport: Eliminate duplicated EmitLocation() and EmitRange() functionsAlp Toker2014-01-251-0/+1
| | | | llvm-svn: 200077
* PlistSupport: Unify ARCMigrate / StaticAnalyzer plist writersAlp Toker2014-01-251-81/+2
| | | | | | | | Reduces the ARCMT migrator plist writer down to a single function, arcmt::writeARCDiagsToPlist() which shares supporting functions with the analyzer plist writer. llvm-svn: 200075
OpenPOWER on IntegriCloud