| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
passing
in a StringRef to bind to them forces them to be unpacked into the Record as individual
bytes. This is wasteful, but not likely to be measurable in this instance.
llvm-svn: 173066
|
|
|
|
| |
llvm-svn: 173058
|
|
|
|
|
|
|
|
|
|
| |
forming the identifier, e.g., as part of a selector or a declaration
name, don't actually deserialize any information about the
identifier. Instead, simply mark it "out-of-date" and we'll load the
the information on demand. 2% speedup on the modules testcase I'm
looking at; should also help PCH.
llvm-svn: 173056
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now only put empty blocks into a single line, if all of:
- all tokens of the structural element fit into a single line
- we're not in a control flow statement
Note that we usually don't put record definitions into a single line, as
there's usually at least one more token (the semicolon) after the
closing brace. This doesn't hold when we are in a context where there is
no semicolon, like "enum E {}".
There were some missing tests around joining lines around the corner
cases of the allowed number of columns, so this patch adds some.
llvm-svn: 173055
|
|
|
|
|
|
|
| |
kind indicates that it can never be redeclared. Good for a 1% speedup,
and redeclaration searching drops off the profile.
llvm-svn: 173054
|
|
|
|
|
|
|
|
|
| |
DeclContext. When the DeclContext is of a kind that can only be
defined once and never updated, we limit the search to the module file
that conatins the lookup table. Provides a 15% speedup in one
modules-heavy source file.
llvm-svn: 173050
|
|
|
|
|
|
|
|
|
|
| |
Before: template <template <typename T>, typename P > class X;
After: template <template <typename T>, typename P> class X;
More importantly, the token annotations for the second ">" are now computed
correctly.
llvm-svn: 173047
|
|
|
|
|
|
|
|
|
|
|
| |
We now indent:
extern "C" {
int a;
}
without additional indent inside the extern "C" block.
llvm-svn: 173045
|
|
|
|
|
|
|
| |
When trying to merge lines, we should not touch lines that are invalid,
as we don't know how long they might be.
llvm-svn: 173043
|
|
|
|
|
|
|
| |
Now correctly formats:
template <> class A<int> {} a;
llvm-svn: 173038
|
|
|
|
| |
llvm-svn: 173035
|
|
|
|
|
|
| |
add tests for fixits removing static and inline from main
llvm-svn: 173024
|
|
|
|
| |
llvm-svn: 173022
|
|
|
|
|
|
|
| |
Now correctly formats:
class A::B {} n;
llvm-svn: 173019
|
|
|
|
|
|
|
|
|
| |
Previously, we would not detect brace initializer lists in return
statements, thus:
return (a)(b) { 1, 2, 3 };
would put the semicolon onto the next line.
llvm-svn: 173017
|
|
|
|
|
|
| |
don't require executable to be linked with UBSan.' to Mac
llvm-svn: 173014
|
|
|
|
|
|
|
|
|
|
| |
Looks like r161368 fixed this for one case but not all. This change generalizes
the solution over all the unwrapping cases. Now that preserving the qualifiers
is done independent of the particular type being unwrapped I won't bother
adding test cases for each one but at least demonstrate that this change was
necessary & sufficient to fix the bug.
llvm-svn: 173002
|
|
|
|
|
|
| |
AddressSanitizer use bottom of the address space for the shadow memory. On Linux it can be used with -fPIE/-pie to improve performance.
llvm-svn: 172974
|
|
|
|
|
|
| |
OpenCL restrictions (OpenCL 1.2 spec 6.9)
llvm-svn: 172973
|
|
|
|
|
|
|
|
| |
parameter,
and adopt "advance" in more places.
llvm-svn: 172951
|
|
|
|
|
|
|
| |
Also, it was the only reason that `argc` and `argv` were being passed
into createDiagnostics, so remove those parameters and clean up callers.
llvm-svn: 172945
|
|
|
|
|
|
|
|
|
|
| |
This looks like it was copied from SetUpBuildDumpLog, which dumps to the
file `DiagOpts->DumpBuildInformation`. There is another member
`DiagOpts->DiagnosticLogFile` which appears to be unused. The fact that
this feature doesn't even print to the output file specified on the
command line makes me think that it should be ripped out.
llvm-svn: 172944
|
|
|
|
|
|
| |
float static members
llvm-svn: 172942
|
|
|
|
| |
llvm-svn: 172939
|
|
|
|
| |
llvm-svn: 172938
|
|
|
|
|
|
| |
BitstreamCursor APIs.
llvm-svn: 172937
|
|
|
|
| |
llvm-svn: 172932
|
|
|
|
| |
llvm-svn: 172924
|
|
|
|
|
|
|
| |
which hide a bunch of private details of the cursor from clients and simplify
their code. More to come.
llvm-svn: 172922
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
Calling implicit default constructor for 'Foo' (where Foo is constructed)
Entered call from 'test' (at "=default" or 'Foo' declaration)
Calling default constructor for 'Bar' (at "=default" or 'Foo' declaration)
After:
Calling implicit default constructor for 'Foo' (where Foo is constructed)
Calling default constructor for 'Bar' (at "=default" or 'Foo' declaration)
This only affects the plist diagnostics; this note is never shown in the
other diagnostics.
llvm-svn: 172915
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions.
Adding the pseudo first parameter to a member function pointer's function type
and mark it as artificial.
Combined with a fix to GDB ( http://sourceware.org/bugzilla/show_bug.cgi?id=14998 )
this fixes gdb.cp/member-ptr.exp with Clang.
llvm-svn: 172911
|
|
|
|
| |
llvm-svn: 172910
|
|
|
|
|
|
|
|
|
|
| |
Manually fix the order of UnwrappedLineParser.cpp as that one didn't
have its associated header as the first header.
This also uncovered a subtle inclusion order dependency as CLog.h didn't
include LLVM.h to pick up using declarations it relied upon.
llvm-svn: 172892
|
|
|
|
| |
llvm-svn: 172888
|
|
|
|
| |
llvm-svn: 172886
|
|
|
|
| |
llvm-svn: 172884
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suppress the warning by just not emitting the report. The sink node
would get generated, which is fine since we did reach a bad state.
Motivation
Due to the way code is structured in some of these macros, we do not
reason correctly about it and report false positives. Specifically, the
following loop reports a use-after-free. Because of the way the code is
structured inside of the macro, the analyzer assumes that the list can
have cycles, so you end up with use-after-free in the loop, that is
safely deleting elements of the list. (The user does not have a way to
teach the analyzer about shape of data structures.)
SLIST_FOREACH_SAFE(item, &ctx->example_list, example_le, tmpitem) {
if (item->index == 3) { // if you remove each time, no complaints
assert((&ctx->example_list)->slh_first == item);
SLIST_REMOVE(&ctx->example_list, item, example_s, example_le);
free(item);
}
}
llvm-svn: 172883
|
|
|
|
| |
llvm-svn: 172881
|
|
|
|
|
|
|
|
| |
own initialization."
It broke, at least, linux, msvc and mingw bots.
llvm-svn: 172879
|
|
|
|
|
|
|
|
|
| |
The warning is still under -Wuninitialized (although technically this
is defined behavior), but under a subgroup -Wstatic-self-init.
This addresses PR 10265.
llvm-svn: 172878
|
|
|
|
|
|
| |
evaluate to lvalues (in C++).
llvm-svn: 172875
|
|
|
|
| |
llvm-svn: 172865
|
|
|
|
| |
llvm-svn: 172862
|
|
|
|
| |
llvm-svn: 172861
|
|
|
|
|
|
|
|
| |
partially-substituted parameter pack in a template, forget about the
partially-substituted parameter pack: it is now completed. Fixes
<rdar://problem/12176336>.
llvm-svn: 172859
|
|
|
|
| |
llvm-svn: 172858
|
|
|
|
|
|
| |
the executable to be linked with UBSan.
llvm-svn: 172856
|
|
|
|
| |
llvm-svn: 172855
|
|
|
|
| |
llvm-svn: 172849
|
|
|
|
|
|
|
|
|
| |
Makes sure that a deserialized macro is only added to the preprocessor macro definitions only once.
Unfortunately I couldn't get a reduced test case.
rdar://13016031
llvm-svn: 172843
|