| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
Drive-by fixing some incorrect types where a for loop would be improperly using ObjCInterfaceDecl::protocol_iterator. No functional changes in these cases.
llvm-svn: 203842
|
|
|
|
|
|
| |
classmeth_end() with iterator_range class_methods(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203840
|
|
|
|
|
|
| |
instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203839
|
|
|
|
|
|
|
| |
It makes the code clearer and less error-prone to use our (already
known) special values for the various memory order cases.
llvm-svn: 203838
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes Clang take advantage of the recent IR addition of a
"failure" memory ordering requirement. As with the "success" ordering,
we try to emit just a single version if the expression is constant,
but fall back to runtime detection (to allow optimisation across
function-call boundaries).
rdar://problem/15996804
llvm-svn: 203837
|
|
|
|
|
|
| |
for clarity.
llvm-svn: 203835
|
|
|
|
|
|
| |
with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203832
|
|
|
|
|
|
| |
with iterator_range props(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203830
|
|
|
|
|
|
| |
iterator_range shadows(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203825
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing a pointer to an uninitialized memory buffer is normally okay,
but if the function is declared to take a pointer-to-const then it's
very unlikely it will be modifying the buffer. In this case the analyzer
should warn that there will likely be a read of uninitialized memory.
This doesn't check all elements of an array, only the first one.
It also doesn't yet check Objective-C methods, only C functions and
C++ methods.
This is controlled by a new check: alpha.core.CallAndMessageUnInitRefArg.
Patch by Per Viberg!
llvm-svn: 203822
|
|
|
|
|
|
| |
init_end() with iterator_range inits(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203820
|
|
|
|
|
|
| |
iterator_range inits(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203819
|
|
|
|
|
|
| |
with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203817
|
|
|
|
| |
llvm-svn: 203816
|
|
|
|
|
|
| |
with iterator_range friends(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203815
|
|
|
|
|
|
| |
iterator_range ctors(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203814
|
|
|
|
|
|
|
|
|
|
|
| |
When building an AST file, we don't want to output HeaderFileInfo
structures for files that are not actually used as headers in the
current context. This can lead to assuming that unrelated files have
include counts of 0, defeating multiple-include prevention.
This is accomplished by adding an IsValid bit to the HFI.
llvm-svn: 203813
|
|
|
|
|
|
| |
with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203812
|
|
|
|
|
|
| |
with iterator_range vbases(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203808
|
|
|
|
| |
llvm-svn: 203804
|
|
|
|
|
|
| |
iterator_range bases(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203803
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This check hints clang analyzer, that FormatTok may be null, and it
reports a null pointer dereference error:
http://buildd-clang.debian.net/scan-build/report-827c64.html#Path28
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D3040
llvm-svn: 203800
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was leading to bad formatting, e.g.:
Before:
f(^{
@autoreleasepool {
if (a) {
g();
}
}
});
After:
f(^{
@autoreleasepool {
if (a) {
g();
}
}
});
llvm-svn: 203777
|
|
|
|
|
|
| |
class.
llvm-svn: 203769
|
|
|
|
|
|
| |
override anything.
llvm-svn: 203764
|
|
|
|
| |
llvm-svn: 203759
|
|
|
|
|
|
| |
class.
llvm-svn: 203758
|
|
|
|
|
|
| |
class.
llvm-svn: 203746
|
|
|
|
| |
llvm-svn: 203742
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
const-qualified parameter type and the defined with a non-const-qualified
parameter type, the parameter is not const inside its body. Ensure that
the type we use when instantiating the body is the right one. Patch by
suyog sarda!
This is still rather unsatisfactory; it seems like it might be better to
instantiate at least the function parameters, and maybe the complete function
declaration, when we instantiate the definition for such a member function
(instead of reusing the declaration from inside the instantiated class
definition).
llvm-svn: 203741
|
|
|
|
|
|
|
| |
that implicitly converts to 'bool' (such as pointers, and the first operand of
?:). Clean up issues found by this. Patch by Stephan Tolksdorf!
llvm-svn: 203735
|
|
|
|
|
|
|
| |
Based on a patch and test by Stephan Tolksdorf! Refactoring and fixing adjacent
brokenness by me.
llvm-svn: 203733
|
|
|
|
| |
llvm-svn: 203722
|
|
|
|
| |
llvm-svn: 203715
|
|
|
|
|
|
|
|
| |
They're already defined in ia32intrin.h, and this would cause including Intrin.h
in 64-bit mode to fail because of conflicting types. Update ms-intrin.cpp to
also run in 64-bit mode to catch things like this.
llvm-svn: 203714
|
|
|
|
|
|
|
|
|
| |
I've clearly done something wrong with how to get this to link
correctly. Reverting for now.
This reverts commit r203711.
llvm-svn: 203712
|
|
|
|
|
|
|
|
| |
This updates CodeGenPGO to use the ProfileDataReader introduced to
llvm in r203703 and the new API for writing out the profile introduced
to compiler-rt in r203710.
llvm-svn: 203711
|
|
|
|
|
|
| |
Newer FreeBSD doesnt ship with gcc and defaults to using libc++.
llvm-svn: 203700
|
|
|
|
|
|
| |
in an @selector expression. // rdar://15794055
llvm-svn: 203693
|
|
|
|
|
|
| |
pointer-to-member-function call.
llvm-svn: 203691
|
|
|
|
| |
llvm-svn: 203689
|
|
|
|
|
|
| |
performing auto type deduction.
llvm-svn: 203683
|
|
|
|
|
|
| |
Follow-up on LLVM r203669
llvm-svn: 203673
|
|
|
|
|
|
| |
This is a follow-up to r203624 to address Anton's comment.
llvm-svn: 203668
|
|
|
|
|
|
|
|
|
|
| |
When a struct has bitfields overlapping with other members
(as required by the AAPCS), clang uses a packed struct to
represent this. If such a struct is large enough for clang to
pass it as a byval pointer (>64 bytes), we need to set the
alignment of the argument to match the original type.
llvm-svn: 203660
|
|
|
|
|
|
|
|
|
|
| |
Caused by unknown tokens (e.g. "\n") not properly updating the state.
Example:
const char* c = STRINGIFY(
\na : b);
llvm-svn: 203645
|
|
|
|
|
|
| |
class.
llvm-svn: 203643
|
|
|
|
|
|
| |
class.
llvm-svn: 203641
|
|
|
|
|
|
| |
class.
llvm-svn: 203640
|
|
|
|
|
|
|
| |
Reduce the stack usage as hopefully include paths are usually not too long. Add
a test case for the path normalisation behaviour.
llvm-svn: 203632
|