| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 201293
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 200126
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 200077
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 198957
|
|
|
|
|
|
|
| |
encodes the canonical rules for LLVM's style. I noticed this had drifted
quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
llvm-svn: 198686
|
|
|
|
|
|
| |
change intended -- this only replaces Boolean uses of getAttr.
llvm-svn: 197648
|
|
|
|
|
|
| |
conformance is inferred. // rdar://15515206
llvm-svn: 197448
|
|
|
|
| |
llvm-svn: 197116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with the edit entries, instead of applying the changes"
(And also revert the follow-up r197086.)
This seems to have broken Linux builds, which were failing with the following:
/build/buildbot/osu8/clang-x86_64-linux-selfhost-rel/llvm.obj/Release+Asserts/lib/libclang.so:
error: undefined reference to
'clang::ento::objc_retain::CallEffects::getEffect(clang::ObjCMethodDecl const*)'
/build/buildbot/osu8/clang-x86_64-linux-selfhost-rel/llvm.obj/Release+Asserts/lib/libclang.so:
error: undefined reference to
'clang::ento::objc_retain::CallEffects::getEffect(clang::FunctionDecl const*)'
collect2: error: ld returned 1 exit status
llvm-svn: 197111
|
|
|
|
|
|
|
| |
Objective-C object conforming to 'NSCopying' protocol, infer
a 'copy' property, instead of 'strong'. // rdar://15525937
llvm-svn: 197102
|
|
|
|
| |
llvm-svn: 197086
|
|
|
|
|
|
|
|
|
|
|
| |
entries, instead of applying the changes
to a temp file directly.
This allows to combine the edits when they can be different based on whether you saw
the implementation or not, e.g. with the designated initializer migration.
llvm-svn: 197076
|
|
|
|
|
|
|
|
|
|
| |
the ObjC implementation declarations, just don't change implementations for
classes that are not in the whitelisted headers.
For example, if we change a method to return 'instancetype' we should also
update the method definition in the implementation.
llvm-svn: 197075
|
|
|
|
|
|
|
|
| |
initializers.
rdar://15509284
llvm-svn: 196943
|
|
|
|
| |
llvm-svn: 196864
|
|
|
|
|
|
|
|
| |
target_link_libraries() and LLVM_LINK_COMPONENTS.
I will prune redundant dependencies later.
llvm-svn: 196800
|
|
|
|
| |
llvm-svn: 196510
|
|
|
|
|
|
|
| |
inferred as 'assign', not 'assign' and 'strong'.
// rdar://15509831
llvm-svn: 195368
|
|
|
|
|
|
|
| |
retain attribute for inferred properties.
// rdar://15519923
llvm-svn: 195292
|
|
|
|
|
|
| |
'Deprecated' name suffix.
llvm-svn: 195137
|
|
|
|
|
|
| |
attributes on 'readonly' properties. // rdar://15460787
llvm-svn: 194718
|
|
|
|
|
|
|
| |
This options accepts a path to a directory, collects the filenames of the files
it contains, and the migrator will only modify files with the same filename.
llvm-svn: 194710
|
|
|
|
|
|
|
|
| |
companion flags.
Ignore them when determining if some transformation was enabled.
llvm-svn: 194709
|
|
|
|
|
|
| |
literals+subscripting.
llvm-svn: 194629
|
|
|
|
|
|
| |
instantiate ObjCMigrateASTConsumer with the specific options that were enabled.
llvm-svn: 194628
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 194590
|
|
|
|
|
|
|
|
| |
on inferred property attribute under
-objcmt-ns-nonatomic-iosonly option.
// rdar://15442742
llvm-svn: 194532
|
|
|
|
|
|
|
|
| |
"atomic" or "nonatomic" for properties is
NS_NONATOMIC_IOSONLY. Use it if available.
// rdar://15442742
llvm-svn: 194503
|
|
|
|
|
|
| |
last patch.
llvm-svn: 194238
|
|
|
|
|
|
|
|
| |
NS_RETURNS_INNER_POINTER ends up unintentionally
on the @property under -objcmt-migrate-all
// rdar://15396636
llvm-svn: 194233
|
|
|
|
|
|
|
|
| |
NS_RETURNS_INNER_POINTER under -objcmt-returns-innerpointer-property
flag (off by default), as older compilers do not support such annotations.
// rdar://15396636
llvm-svn: 194100
|
|
|
|
|
|
|
|
|
|
| |
do not remove the setter if its availability differs
from availability of the getter (which is now turned into
a property). Otherwise, synthesized setter will
inherit availability of the property (which is incorrect).
// rdar://15300059
llvm-svn: 193837
|
|
|
|
|
|
|
| |
deprecated categories, fixes a typo reported by
Jordan.
llvm-svn: 193759
|
|
|
|
|
|
|
| |
a category with NSxxxDeprecated name with deprecated
annotation. // rdar://15337661
llvm-svn: 193726
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 192933
|
|
|
|
|
|
|
|
| |
macros, prefer the typedef immediately following the
enum declaration to the one preceeding it.
// rdar://15200915
llvm-svn: 192927
|
|
|
|
|
|
|
| |
when inferring property from setter/getter
methods. // rdar://15200949
llvm-svn: 192853
|
|
|
|
|
|
|
| |
inferred properties when type is scalar and
assumed to be 'assign. // rdar://15231241
llvm-svn: 192841
|
|
|
|
|
|
| |
Don't add it to inferred property. // rdar://14988132
llvm-svn: 192834
|
|
|
|
|
|
| |
properties. // rdar://15231860
llvm-svn: 192826
|
|
|
|
|
|
|
|
| |
migration to NS_ENUM/NS_OPTIONS macros; when
typedef'ed to NSInteger/NSUInteger preceeds well
before of the enum declaration. // rdar://15201056
llvm-svn: 192645
|
|
|
|
|
|
|
| |
NS_ENUM/NS_OPTIONS macros when typedef declaration
precedes enum declaration. // rdar://15200915
llvm-svn: 192506
|
|
|
|
|
|
|
| |
migration, the typedef has annotations.
// rdar://15200602
llvm-svn: 192468
|
|
|
|
|
|
|
| |
don't leave a blank line behind replacing the typedef
decl. // rdar://15200949
llvm-svn: 192407
|
|
|
|
|
|
|
| |
methods, infer their self's type as their result type.
// rdar://15145218
llvm-svn: 192377
|