Commit Graph

416 Commits

Author SHA1 Message Date
Richard Smith
fee9e20b90 Fix layering violation: include/clang/Basic/PlistSupport.h should not include
files from include/clang/Lex. Clean up module map.

llvm-svn: 227361
2015-01-28 20:14:54 +00:00
Fariborz Jahanian
4732d43cc2 Objective-C SDK modernizer to use NS_ENUM/NS_OPTIONS macros
with typed enums. rdar://19352510

llvm-svn: 227104
2015-01-26 17:41:03 +00:00
Fariborz Jahanian
f9317f1586 Objective-C moderinzer [qoi], add space on rhs when needed when
converting to property-dot syntax for setters.
rdar://19381786

llvm-svn: 226944
2015-01-23 21:58:46 +00:00
Fariborz Jahanian
30609b8a78 Objective-C modernizer. Avoid using property-dot syntax when
receiver type is not valid for property-dot syntz use.
rdar://19381786

llvm-svn: 226927
2015-01-23 19:23:42 +00:00
Fariborz Jahanian
1406c878cb Objective-C SDK modernizer. When modernizing an enum to
NS_ENUM/NS_OPTIONS use the underlying type if there is 
no associated type. rdar://19198042

llvm-svn: 223934
2014-12-10 18:25:24 +00:00
Fariborz Jahanian
df833a4918 Objective-C SDK modernizer. Modernize to use
property-dot-syntax when receiver is 'super'. 
rdar://19140267

llvm-svn: 223846
2014-12-09 22:36:47 +00:00
David Blaikie
3c8c46efd7 clang-format a recent commit I made
llvm-svn: 222317
2014-11-19 05:48:40 +00:00
David Blaikie
13156b689e Standardize on StringMap::insert, removing uses of StringMap::GetOrCreateValue.
llvm-svn: 222306
2014-11-19 03:06:06 +00:00
Fariborz Jahanian
a6556f7295 Objective-C SDK modernization tool. Use its own option
,-objcmt-migrate-property-dot-syntax, when migarting to use
property-dot syntax in place of messaging expression.
rdar://18839124

llvm-svn: 221001
2014-10-31 21:19:45 +00:00
Fariborz Jahanian
d2241bf561 Objective-C SDK modernization. import Foundation even
when a previous definition of NS_OPTION is available
; e.g. from a pch. enhancement to rdar://18498550

llvm-svn: 219448
2014-10-09 22:04:27 +00:00
Fariborz Jahanian
ed6de56c77 Objective-C SDK modernization. convert message expression
to Objective-C dot-syntax. rdar://18498572

llvm-svn: 219424
2014-10-09 18:30:56 +00:00
Fariborz Jahanian
80ebf8da7e Objective-C SDK modernization. When modernizing to
use NS_ENUM/NS_OPTIONS macros, add an import of
Foundation.h (or its module) as necessary.
rdar://18498550

llvm-svn: 219225
2014-10-07 19:01:46 +00:00
Fariborz Jahanian
35ee87debe Objective-C SDK modernizer. Patch to support modernization
to NS_ENUM/NS_OPTION macros when typedef names are other
than NSInteger/NSUInteger (int8_t, etc.).
rdar://18532199

llvm-svn: 219173
2014-10-06 23:50:37 +00:00
Fariborz Jahanian
77a835bf56 Objective-C Modernizer. Patch to remove dangling space
before the semicolon wahen modernizing to use 
NS_ENUM/NS_OPTIONS macros. rdar://18498539

llvm-svn: 218809
2014-10-01 20:46:32 +00:00
Fariborz Jahanian
18625ee75c Objective-C SDK modernizer. Do not modernize an enum
which already has the underlying interger type specification.
// rdar://1826225

llvm-svn: 217783
2014-09-15 16:41:47 +00:00
Rafael Espindola
611505f758 Use the simpler version of llvm::sys::fs::exists.
In all these cases it looks like the intention was to handle error in a similar
way to the file not existing.

llvm-svn: 217614
2014-09-11 18:10:13 +00:00
Craig Topper
b8a7053055 Unique_ptrify PPCallbacks ownership.
Unique_ptr creation stil needs to be moved earlier at some of the call sites.

llvm-svn: 217474
2014-09-10 04:53:53 +00:00
Rafael Espindola
85d7892459 Update for llvm API change.
llvm-svn: 216576
2014-08-27 19:03:27 +00:00
Craig Topper
5fc8fc2d31 Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created.
llvm-svn: 216528
2014-08-27 06:28:36 +00:00
Rafael Espindola
dae941a6c8 Update for llvm api change.
llvm-svn: 216397
2014-08-25 18:17:04 +00:00
Craig Topper
c6914d068f Use range based for loops to avoid needing to re-mention SmallPtrSet size.
llvm-svn: 216370
2014-08-25 04:15:02 +00:00
Rafael Espindola
8d04452973 Use the pointer-like API of ErrorOr.
Thanks to David Blaikie for the suggestion.

llvm-svn: 215866
2014-08-17 23:31:27 +00:00
Rafael Espindola
1a1b1562e6 Use std::unique_ptr in a few methods that take ownership.
llvm-svn: 215864
2014-08-17 23:12:27 +00:00
Rafael Espindola
b3402685f6 Update for llvm api changes.
llvm-svn: 215856
2014-08-17 22:20:41 +00:00
David Blaikie
6beb6aa8f0 Recommit 213307: unique_ptr-ify ownership of ASTConsumers (reverted in r213325)
After post-commit review and community discussion, this seems like a
reasonable direction to continue, making ownership semantics explicit in
the source using the type system.

llvm-svn: 215323
2014-08-10 19:56:51 +00:00
David Blaikie
62a56f39b7 Revert "unique_ptr-ify ownership of ASTConsumers"
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
2014-07-17 22:34:12 +00:00
David Blaikie
a51666a4d6 unique_ptr-ify ownership of ASTConsumers
(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
2014-07-17 20:40:36 +00:00
Alp Toker
0621cb2e7d Make clang's rewrite engine a core feature
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-07-16 16:48:33 +00:00
Rafael Espindola
2d2b420ab9 Update for llvm api change.
llvm-svn: 212408
2014-07-06 17:43:24 +00:00
Alp Toker
452bfcf00c PlistSupport.h: avoid gcc 'defined but not used' warning
llvm-svn: 212396
2014-07-06 07:59:14 +00:00
Alp Toker
dbb0c75977 Modernize a couple of loops
llvm-svn: 212394
2014-07-06 06:09:20 +00:00
Alp Toker
069736222b writeARCDiagsToPlist(): make sure all diag levels get handled
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
2014-07-06 04:27:03 +00:00
Alp Toker
37da619d34 Remove leftovers of '-arcmt-modify-in-memory' from r133315
llvm-svn: 212381
2014-07-05 22:12:36 +00:00
Alp Toker
379b97f285 ARCMigrate: simplify diagnostic handling
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
2014-07-02 17:08:00 +00:00
Craig Topper
00bbdcf9b3 Remove llvm:: from uses of ArrayRef.
llvm-svn: 211987
2014-06-28 23:22:23 +00:00
Rafael Espindola
c080917ec2 Replace llvm::error_code with std::error_code.
llvm-svn: 210780
2014-06-12 14:02:15 +00:00
Alp Toker
d576e00b44 DiagnosticsEngine: update severity setters to new terminology
llvm-svn: 210764
2014-06-12 11:13:52 +00:00
Alp Toker
46df1c0db8 Complete the switch from mappings to declarative diagnostic severities
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
2014-06-12 10:15:20 +00:00
Rafael Espindola
3ae0620a45 There is no std::errc:success, remove the llvm one.
llvm-svn: 209959
2014-05-31 03:20:52 +00:00
Argyrios Kyrtzidis
c02a0dbe41 [objcmt] Make sure we don't edit the return type to add 'instancetype' if the return type is already that.
rdar://16961577

llvm-svn: 209264
2014-05-21 00:24:20 +00:00
Eric Christopher
c9e2a68905 Clean up language and grammar.
Based on a patch by jfcaron3@gmail.com!
PR19806

llvm-svn: 209215
2014-05-20 17:10:39 +00:00
Alp Toker
57cccec446 ARCMT/GC-check-warn-nsalloc.m: don't provide a diag group
This diagnostic is now controlled solely by -no-ns-alloc-error thus matching
the original intended behaviour.

llvm-svn: 209184
2014-05-19 23:48:49 +00:00
Alp Toker
403a4f9b82 Get ARCMT/GC-check-warn-nsalloc.m working
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
2014-05-19 22:51:11 +00:00
Alp Toker
2d57cea256 Provide and use a safe Token::getRawIdentifier() accessor
llvm-svn: 209061
2014-05-17 04:53:25 +00:00
Craig Topper
8ae1203992 [C++11] Use 'nullptr'.
llvm-svn: 208163
2014-05-07 06:21:57 +00:00
Argyrios Kyrtzidis
7dd3133433 [objcmt] Revert r191796, it's not needed anymore.
rdar://16223810

llvm-svn: 207391
2014-04-28 02:38:51 +00:00
Nuno Lopes
fb744589bc remove a bunch of unused private methods
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
2014-03-23 17:12:37 +00:00
Aaron Ballman
c7e4e219b5 [C++11] Replacing CompoundStmt iterators body_begin() and body_end() with iterator_range body(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204040
2014-03-17 14:19:37 +00:00
Aaron Ballman
9371dd2287 [C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203958
2014-03-14 18:34:04 +00:00
Aaron Ballman
d85eff49a3 [C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and 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 15:02:45 +00:00