| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
driver only thing and doesn't affect any language/preprocessor/etc. semantics.
rdar://16714526
llvm-svn: 207570
|
| |
|
|
| |
llvm-svn: 207567
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The constructor that comes right before a variable declaration in the CFG might
not be the initialization of that variable. Previously, we just checked that
the variable's initializer expression was different from the construction
expression, but forgot to see whether the variable had an initializer expression
at all.
Thanks for the prompting, David.
llvm-svn: 207562
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
While we don't model pointer-to-member operators yet (neither .* nor ->*),
CallAndMessageChecker still checks to make sure the 'this' object is not
null or undefined first. However, it also expects that the object should
always have a valid MemRegion, something that's generally important elsewhere
in the analyzer as well. Ensure this is true ahead of time, just like we do
for member access.
PR19531
llvm-svn: 207561
|
| |
|
|
|
|
|
|
| |
Fixed by moving ProcessWarningOptions from Frontend into Basic. All of
the dependencies for ProcessWarningOptions were already in Basic, so
this was a small change.
llvm-svn: 207549
|
| |
|
|
|
|
| |
// rdar://16737117
llvm-svn: 207542
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
repeated double value = 1
[(aaaaaaa.aaaaaaaaa) = {aaaaaaaaaaaaaaaa: AAAAAAAAAA,
bbbbbbb: BBBB, bbbb: BBB}];
After:
repeated double value = 1
[(aaaaaaa.aaaaaaaaa) = {aaaaaaaaaaaaaaaa: AAAAAAAAAA,
bbbbbbb: BBBB,
bbbb: BBB}];
llvm-svn: 207538
|
| |
|
|
| |
llvm-svn: 207533
|
| |
|
|
|
|
|
|
|
|
|
| |
Before:
void f() {
return; }
After:
void f() { return; }
llvm-svn: 207527
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D2668
llvm-svn: 207521
|
| |
|
|
|
|
|
|
| |
This fixes problem with LTO on Android.
Differential Revision: http://reviews.llvm.org/D2668
llvm-svn: 207520
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It is possible that a variable template specialization might not have a
VisibilityAttr attached to it while the template that it specializes
does, in fact, have one.
We should consider the template in such cases.
This fixes PR19597.
llvm-svn: 207498
|
| |
|
|
|
|
| |
It tried to introduce cyclic dependencies. Serialization shouldn't depend on Frontend, since Frontend depends on Serialization.
llvm-svn: 207497
|
| |
|
|
|
|
|
| |
Reference temporaries inherited many properties from the variable that
they correspond to but visibility wasn't one of them.
llvm-svn: 207496
|
| |
|
|
| |
llvm-svn: 207489
|
| |
|
|
| |
llvm-svn: 207488
|
| |
|
|
|
|
|
|
|
|
| |
variable.
This could happen due to unfortunate CFG coincidences.
PR19579
llvm-svn: 207486
|
| |
|
|
|
|
| |
PR19583
llvm-svn: 207484
|
| |
|
|
| |
llvm-svn: 207483
|
| |
|
|
|
|
|
|
|
| |
See the bug and the cfe-commits thread "[patch] Let stddef.h redefine NULL if
__need_NULL is set" for discussion.
Fixes PR12997 and is similar to the __need_wint_t bits already in this file.
llvm-svn: 207482
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and no return expr at the end of the function.
The "function has only simple returns" check in FinishFunction tests
whether the number of simple return exprs equals the number of return
exprs, but so far a fallthrough at the end of a function was not counted
as a return, which would result in cleanup code being associated with the
wrong source line.
rdar://problem/16733984.
llvm-svn: 207480
|
| |
|
|
| |
llvm-svn: 207479
|
| |
|
|
|
|
| |
Patch by Anton Yartsev, modified by me.
llvm-svn: 207478
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch checks whether the diagnostic options that could lead to
errors (principally -Werror) are consistent between when a module was
built and when it is loaded. If there are new -Werror flags, then the
module is rebuilt. In order to canonicalize the options we do this
check at the level of the constructed DiagnosticsEngine, which contains
the final set of diag to diagnostic level mappings. Currently we only
rebuild with the new diagnostic options, but we intend to refine this in
the future to include the union of the new and old flags, since we know
the old ones did not cause errors. System modules are only rebuilt when
-Wsystem-headers is enabled.
One oddity is that unlike checking language options, we don’t perform
this diagnostic option checking when loading from a precompiled header.
The reason for this is that the compiler cannot rebuild the PCH, so
anything that requires it to be rebuilt effectively leaks into the build
system. And in this case, that would mean the build system
understanding the complex relationship between diagnostic options and
the underlying diagnostic mappings, which is unreasonable. Skipping the
check is safe, because these options do not affect the generated AST.
You simply won’t get new build errors due to changed -Werror options
automatically, which is also true for non-module cases.
llvm-svn: 207477
|
| |
|
|
|
|
|
|
| |
Patch by Martell Malone!
Differential Revision: http://reviews.llvm.org/D3421
llvm-svn: 207470
|
| |
|
|
|
|
|
| |
inputs to the preprocessor, check for invalid types first because not
all linker inputs have an option value to retrieve.
llvm-svn: 207454
|
| |
|
|
| |
llvm-svn: 207453
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A reference temporary should inherit the linkage of the variable it
initializes. Otherwise, we may hit cases where a reference temporary
wouldn't have the same value in all translation units.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3515
llvm-svn: 207451
|
| |
|
|
| |
llvm-svn: 207446
|
| |
|
|
|
|
|
|
| |
behavior of the loop vectorizer, which is enabled at -O2, -O3, -O4, -Ofast
and -Os.
PR19568
llvm-svn: 207433
|
| |
|
|
| |
llvm-svn: 207427
|
| |
|
|
| |
llvm-svn: 207422
|
| |
|
|
| |
llvm-svn: 207416
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
*(int *)(p &~3UL) = 0;
After:
*(int *)(p & ~3UL) = 0;
This fixes llvm.org/PR19464.
llvm-svn: 207405
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes llvm.org/PR19482.
Before:
switch (a) {
case(B) :
return;
}
After:
switch (a) {
case (B):
return;
}
llvm-svn: 207402
|
| |
|
|
| |
llvm-svn: 207401
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes llvm.org/PR19450.
Before:
@interface
BookmarkHomeHandsetViewController ()<BookmarkAllCollectionViewDelegate,
BookmarkFolderCollectionViewDelegate,
BookmarkMenuViewControllerDelegate,
BookmarkSearchViewControllerDelegate> {
}
After:
@interface aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ()<
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa> {
}
llvm-svn: 207400
|
| |
|
|
|
|
| |
This exposed a leak, fix that.
llvm-svn: 207396
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible that the "comment AST" may be replaced or split out in the
midterm, any anyway this makes the headers easier to read.
Developers don't currently need to include "clang-c/Documentation.h" explicitly
and there's no macro to test for availability yet.
The raw comment and brief comment accessors have been kept in Index.h though
brief support may also move here as a separate proposal.
This is not a deprecation, just a gentle separation of concerns as we look to
simplify the built-in representation of comment nodes and support external
comment processors.
llvm-svn: 207392
|
| |
|
|
|
|
| |
rdar://16223810
llvm-svn: 207391
|
| |
|
|
| |
llvm-svn: 207390
|
| |
|
|
|
|
|
|
|
|
|
| |
macro.
Libraries specify enabled/disabled features using macro defs of 0/1, in such cases the -Wconstant-logical-operand
is noise.
rdar://15410291
llvm-svn: 207386
|
| |
|
|
|
|
|
|
|
|
| |
parameters from the original FullComment,
if the parameters are not already set (e.g. because it is a typedef).
Fixes crash of rdar://16128173
llvm-svn: 207382
|
| |
|
|
| |
llvm-svn: 207362
|
| |
|
|
|
|
| |
minor updates
llvm-svn: 207361
|
| |
|
|
| |
llvm-svn: 207360
|
| |
|
|
|
|
|
|
|
|
| |
* It is better if we leave third parties to do "independent" benchmark.
* We compare Clang (version unspecified) with gcc 4.0 or 4.2.
* The graphs have not been updated for a while.
* Clang is well known now. I don't think we still need to explain why
Clang is great.
llvm-svn: 207358
|
| |
|
|
|
|
|
| |
Previously this could lead to a column limit violation with the
required escaped newlines.
llvm-svn: 207351
|
| |
|
|
| |
llvm-svn: 207348
|
| |
|
|
| |
llvm-svn: 207340
|