| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
rename also splits recordDecl() (which used to match CXXRecordDecl) into recordDecl() (that matches RecordDecl) and cxxRecordDecl (that matches CXXRecordDecl). Also adds isStruct(), isUnion(), and isClass() narrowing matchers for RecordDecl objects.
llvm-svn: 247885
|
| |
|
|
| |
llvm-svn: 247832
|
| |
|
|
| |
llvm-svn: 247752
|
| |
|
|
|
|
| |
Before: assert a&& b;
Now: assert a && b;
llvm-svn: 247750
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
possible. Added objcObjectPointerType(), objcInterfaceDecl(), templateTypeParmType(), injectedClassNameType(), and unresolvedUsingTypenameDecl(). Updated documentation for pointerType() to call out that it does not match ObjCObjectPointerType types. Changed pointsTo() to handle ObjCObjectPointerType as well as PointerType.
While this may seem like a lot of unrelated changes, they all relate back to fixing HasDeclarationMatcher.
This now allows us to write a matcher like:
varDecl(hasType(namedDecl(hasName("Foo"))))
that matches code using typedefs, objc interfaces, template type parameters, injected class names, or unresolved using typenames.
llvm-svn: 247404
|
| |
|
|
|
|
|
| |
Brings tool start time for a large synthetic test case down from (on my
machine) 4 seconds to 0.5 seconds.
llvm-svn: 247018
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Currently, the documentation for numSelectorArgs includes an incorrect
example. It shows a case where an argument of 1 will match a property
getter, but a getter will be matched only when N == 0.
This diff corrects the documentation and adds a test for numSelectorArgs(0).
Patch by Dave Lee.
llvm-svn: 246998
|
| |
|
|
|
|
| |
structs or unions.
llvm-svn: 246860
|
| |
|
|
| |
llvm-svn: 246322
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
Constructor() : initializer(0) {}
template <typename T>
Constructor()
: initializer(0) {}
After:
Constructor() : initializer(0) {}
template <typename T>
Constructor() : initializer(0) {}
llvm-svn: 246146
|
| |
|
|
| |
llvm-svn: 246037
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
SomeType MemberFunction(const Deleted &)&;
After:
SomeType MemberFunction(const Deleted &) &;
Seems to be much more common.
llvm-svn: 245934
|
| |
|
|
|
|
|
|
|
|
|
| |
Before:
DEPRECATED("Use NewClass::NewFunction instead.") int OldFunction(
const string ¶meter) {}
Could not be formatted at all, as clang-format would both require and
disallow the break before "int".
llvm-svn: 245846
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
more consistent.
Before:
SomeType MemberFunction(const Deleted &)&&;
SomeType MemberFunction(const Deleted &) && { ... }
After:
SomeType MemberFunction(const Deleted &)&&;
SomeType MemberFunction(const Deleted &)&& { ... }
llvm-svn: 245843
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
#define A \
{ a, a } \
,
After:
#define A {a, a},
llvm-svn: 245837
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit of a step back of what we did in r222531, as there are
some corner cases in C++, where this kind of formatting is really bad.
Example:
Before:
virtual aaaaaaaaaaaaaaaa(std::function<bool()> IsKindWeWant = [&]() {
return true;
}, aaaaa aaaaaaaaa);
After:
virtual aaaaaaaaaaaaaaaa(std::function<bool()> IsKindWeWant =
[&]() { return true; },
aaaaa aaaaaaaaa);
The block formatting logic in JavaScript will probably go some other changes,
too, and we'll potentially be able to make the rules more consistent again. For
now, this seems to be the best approach for C++.
llvm-svn: 245694
|
| |
|
|
|
|
| |
inline keyword can also be specified on a FunctionDecl, this is a polymorphic matcher.
llvm-svn: 245337
|
| |
|
|
|
|
|
|
|
|
| |
Before:
#elif(AAAA && BBBB)
After:
#elif (AAAA && BBBB)
llvm-svn: 245043
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, arguments are passed via the string attribute 'command',
assuming a shell-escaped / quoted command line to extract the original
arguments. This works well enough on Unix systems, but turns out to be
problematic for Windows tools to generate.
This CL adds a new attribute 'arguments', an array of strings, which
specifies the exact command line arguments. If 'arguments' is available
in the compilation database, it is preferred to 'commands'.
Currently there is no plan to retire 'commands': there are enough
different use cases where users want to create their own mechanism for
creating compilation databases, that it doesn't make sense to force them
all to implement shell command line parsing.
Patch by Daniel Dilts.
llvm-svn: 245036
|
| |
|
|
|
|
| |
correctly copy/moveable
llvm-svn: 244958
|
| |
|
|
|
|
|
|
|
|
| |
Before:
decltype(a* b) F();
After:
decltype(a * b) F();
llvm-svn: 244891
|
| |
|
|
|
|
|
|
|
|
| |
Before:
[ a, a ]() -> a<1>{};
After:
[a, a]() -> a<1> {};
llvm-svn: 244890
|
| |
|
|
|
|
| |
conversion declaration is marked as explicit or not.
llvm-svn: 244666
|
| |
|
|
| |
llvm-svn: 244662
|
| |
|
|
|
|
| |
Patch by Jon Chesterfield, thank you!
llvm-svn: 244660
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add brace style `BS_WebKit` as described on https://www.webkit.org/coding/coding-style.html:
* Function definitions: place each brace on its own line.
* Other braces: place the open brace on the line preceding the code block; place the close brace on its own line.
Set brace style used in `getWebKitStyle()` to the newly added `BS_WebKit`.
Reviewers: djasper, klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D11837
llvm-svn: 244446
|
| |
|
|
|
|
| |
constructors, as well as functionality to determine whether a ctor initializer is a base initializer.
llvm-svn: 244036
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would format
call(
p);
as
call(
p);
with MaxEmptyLinesToKeep == 0.
Now we format it as:
call(p);
llvm-svn: 243429
|
| |
|
|
|
|
| |
declaration are marked final.
llvm-svn: 243107
|
| |
|
|
|
|
|
|
| |
Patch by Eugene Zelenko!
Differential Revision: http://reviews.llvm.org/D11401
llvm-svn: 242931
|
| |
|
|
|
|
|
|
|
|
| |
Before:
for (;; * a = b) {}
After:
for (;; *a = b) {}
llvm-svn: 242849
|
| |
|
|
|
|
| |
sequence. Discovered by the fuzzer.
llvm-svn: 242738
|
| |
|
|
|
|
| |
compatibility and variable alignment.
llvm-svn: 242611
|
| |
|
|
|
|
|
|
|
|
| |
matchers.
Individual matchers might not be convertible to each other's kind, but
they might still all be convertible to the target kind.
All the callers already know the target kind, so just pass it down.
llvm-svn: 242534
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- introduces a new cc1 option -fmodule-format=[raw,obj]
with 'raw' being the default
- supports arbitrary module container formats that libclang is agnostic to
- adds the format to the module hash to avoid collisions
- splits the old PCHContainerOperations into PCHContainerWriter and
a PCHContainerReader.
Thanks to Richard Smith for reviewing this patch!
llvm-svn: 242499
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
- (void)shortf:(GTMFoo *)theFoo
dontAlignNamef:(NSRect)theRect {
}
After:
- (void)shortf:(GTMFoo *)theFoo
dontAlignNamef:(NSRect)theRect {
}
Patch by Kwasi Mensah, thank you!
llvm-svn: 242484
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In proto, enum constants can contain complex options and should be
handled more like individual declarations.
Before:
enum Type {
UNKNOWN = 0 [(some_options) =
{
a: aa,
b: bb
}];
};
After:
enum Type {
UNKNOWN = 0 [(some_options) = {
a: aa,
b: bb
}];
};
llvm-svn: 242404
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D11177
llvm-svn: 242316
|
| |
|
|
|
|
| |
variable.
llvm-svn: 242303
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
int aaaaa[] = {
1, 2,
3, // comment
4, 5,
6 // comment
};
After:
int aaaaa[] = {
1, 2, 3, // comment
4, 5, 6 // comment
};
llvm-svn: 242299
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
SomeFunction({[&] {
// comment
},
[&] {
// comment
}});
After:
SomeFunction({[&] {
// comment
},
[&] {
// comment
}});
llvm-svn: 242138
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CUDA code.
NOTE: reverts r242077 to reinstate r242058, r242065, 242067
and includes fix for OS X test failures.
- Changed driver pipeline to compile host and device side of CUDA
files and incorporate results of device-side compilation into host
object file.
- Added a test for cuda pipeline creation in clang driver.
New clang options:
--cuda-host-only - Do host-side compilation only.
--cuda-device-only - Do device-side compilation only.
--cuda-gpu-arch=<ARCH> - specify GPU architecture for device-side
compilation. E.g. sm_35, sm_30. Default is sm_20. May be used more
than once in which case one device-compilation will be done per
unique specified GPU architecture.
Differential Revision: http://reviews.llvm.org/D9509
llvm-svn: 242085
|
| |
|
|
|
|
|
|
|
|
| |
The tests were failing on OS X.
Revert "[cuda] Driver changes to compile and stitch together host and device-side CUDA code."
Revert "Fixed regex to properly match '64' in the test case."
Revert "clang/test/Driver/cuda-options.cu REQUIRES clang-driver, at least."
llvm-svn: 242077
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CUDA code.
- Changed driver pipeline to compile host and device side of CUDA
files and incorporate results of device-side compilation into host
object file.
- Added a test for cuda pipeline creation in clang driver.
New clang options:
--cuda-host-only - Do host-side compilation only.
--cuda-device-only - Do device-side compilation only.
--cuda-gpu-arch=<ARCH> - specify GPU architecture for device-side
compilation. E.g. sm_35, sm_30. Default is sm_20. May be used more
than once in which case one device-compilation will be done per
unique specified GPU architecture.
Differential Revision: http://reviews.llvm.org/D9509
llvm-svn: 242058
|
| |
|
|
|
|
| |
should be linked in advance of clangAST and clangASTMatchers.
llvm-svn: 242005
|
| |
|
|
|
|
| |
satisfy LDFLAGS=-static.
llvm-svn: 241992
|
| |
|
|
| |
llvm-svn: 241991
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D10883
llvm-svn: 241986
|
| |
|
|
|
|
| |
PR24067.
llvm-svn: 241915
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
class Test {
aaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaa:
aaaaaaaaaaaaaaaaaaaaaaaa): aaaaaaaaaaaaaaaaaaaaaa {}
}
After:
class Test {
aaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaa: aaaaaaaaaaaaaaaaaaaaaaaa):
aaaaaaaaaaaaaaaaaaaaaa {}
}
llvm-svn: 241908
|