| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
This reverts the bandaid commit in r234308 now that I have a proper fix
in LLVM as of r234326.
llvm-svn: 234339
|
| |
|
|
| |
llvm-svn: 234338
|
| |
|
|
|
|
|
|
| |
warning when multiple method declarations are found in global pool
with differing types and some are available.
rdar://20408445
llvm-svn: 234328
|
| |
|
|
|
|
|
|
|
| |
Update a few calls to `DIBuilder` now that `MDTuple` array-wrappers
don't have implicit conversions to `MDTuple*`. I may circle back and
update `DIBuilder` to take arrays here, to make it easier for the
callers.
llvm-svn: 234327
|
| |
|
|
| |
llvm-svn: 234320
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes formatting unnamed bitfields (llvm.org/PR21999).
Before:
struct MyStruct {
uchar data;
uchar:
8;
uchar:
8;
uchar other;
};
After:
struct MyStruct {
uchar data;
uchar : 8;
uchar : 8;
uchar other;
};
llvm-svn: 234318
|
| |
|
|
|
|
|
|
|
| |
Error message was:
CGDebugInfo.cpp(1047) : error C2666: 'llvm::MDTypeRefArray::operator []' : 2 overloads have similar conversions
DebugInfoMetadata.h(106): could be 'llvm::MDTypeRef llvm::MDTypeRefArray::operator [](unsigned int) const'
while trying to match the argument list '(llvm::DITypeArray, int)'
llvm-svn: 234308
|
| |
|
|
|
|
|
| |
Test fails:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/3182/
llvm-svn: 234306
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
functionA(functionB({
int i;
int j;
}),
aaaa, bbbb, cccc);
After:
functionA(functionB({
int i;
int j;
}),
aaaa, bbbb, cccc);
llvm-svn: 234304
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
aaaaaaaaaaa //
.aaaa( //
bbbb) // This is different ..
.aaaa( //
cccc); // .. from this.
After:
aaaaaaaaaaa //
.aaaa( //
bbbb) // This is identical ..
.aaaa( //
cccc); // .. to this.
llvm-svn: 234300
|
| |
|
|
|
|
|
|
|
| |
A simple case of asserting isFunctionOrMethod when we should have
asserted isFunctionOrMethodOrBlock.
This fixes PR23117.
llvm-svn: 234297
|
| |
|
|
|
|
| |
The API for `DIArray` changed; use the new one.
llvm-svn: 234291
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A dependent alignment attribute (like __attribute__((aligned(...))) or
__declspec(align(...))) on a non-dependent typedef or using declaration
poses a considerable challenge: the type is _not_ dependent, the size
_may_ be dependent if the type is used as an array type, the alignment
_is_ dependent.
It is reasonable for a compiler to be able to query the size and
alignment of a complete type. Let's help that become an invariant.
This fixes PR22042.
Differential Revision: http://reviews.llvm.org/D8693
llvm-svn: 234280
|
| |
|
|
|
|
|
|
|
| |
Currently if you use -mmacosx-version-min or -mios-version-min without
specifying a version number, clang silently sets the minimum version to
"0.0.0". This is almost certainly not what was intended, so it is better
to report it as an error. rdar://problem/20433945
llvm-svn: 234270
|
| |
|
|
|
|
|
|
| |
The catch object parameter to llvm.eh.begincatch is optional, and can be
null. We can save some ourselves the stack space, copy ctor, and dtor
calls if we pass null.
llvm-svn: 234264
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While capturing filters aren't very common, we'd like to outline
__finally blocks in the frontend to simplify -O0 EH preparation and
reduce code size. Finally blocks are usually have captures, and this is
the first step towards that.
Currently we don't support capturing 'this' or VLAs.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D8825
llvm-svn: 234261
|
| |
|
|
|
|
|
| |
The clang edition of r234255: use built-in `isa<>`, `dyn_cast<>`, etc.,
and only build `DIDescriptor`s from pointers that are correctly typed.
llvm-svn: 234256
|
| |
|
|
|
|
|
|
| |
`getScope()` passes the scope back through a `DILexicalBlock` even
though the underlying pointer may be an incompatible `MDSubprogram`.
Just use `getContext()` directly.
llvm-svn: 234245
|
| |
|
|
|
|
| |
Found by inspection. (No other instances of this problem were found.)
llvm-svn: 234221
|
| |
|
|
|
|
|
|
|
|
|
| |
initialize it.
Writing 4k of zeros is preferrable to 4k of random memory. Document that. While
there remove the initialization of the first byte of the buffer and start at
index zero. It was writing a literal '0' instead of a null byte at the
beginning anyways, which didn't matter since we never read it.
llvm-svn: 234202
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 234184
|
| |
|
|
|
|
|
|
| |
of incorrect AST when a compound literal of Objective-C
property access is used to initialize a vertor of floats.
rdar://20407999
llvm-svn: 234176
|
| |
|
|
| |
llvm-svn: 234173
|
| |
|
|
|
|
| |
library. Otherwise, we can run into a situation where clang-fuzzer attempts to build, but its dependency was never built.
llvm-svn: 234170
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8548
llvm-svn: 234152
|
| |
|
|
|
|
|
|
| |
- Debian jessie will be released this month, add the next testing version to the list.
- RHEL7 was released last june.
- Ubuntu utopic was released last october, vivid will follow later this month.
llvm-svn: 234149
|
| |
|
|
|
|
| |
in the message catalog.
llvm-svn: 234146
|
| |
|
|
|
|
|
|
|
|
|
| |
Original message:
Don't use unique section names by default if using the integrated as.
This saves some IO and ccache space by not creating long section names. It
should work with every ELF linker.
llvm-svn: 234143
|
| |
|
|
|
|
| |
Fixes a regression from r229434.
llvm-svn: 234141
|
| |
|
|
|
|
| |
(sorry, keep forgetting that)
llvm-svn: 234129
|
| |
|
|
|
|
|
| |
Looks like the VTable code in particular will need some work to pass
around the pointee type explicitly.
llvm-svn: 234128
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 234123
|
| |
|
|
|
|
|
| |
Windows has a 16-bit wchar_t, most Unix platforms have a 32-bit wchar_t.
Use a char32_t to keep the test's output stable.
llvm-svn: 234111
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
StmtPrinter assumed that the first template arg was the pack and
attempted to iterate it. However, the GNU extension (which is really
just N3599), has two template arguments. In this case, the second
argument is the pack containing the string contents.
Handle this by desugaring the call to the explicit operator.
For example:
"qux" _zombocom will be shown as
operator "" _zombocom<char, 'q', 'u', 'x'>() in diagnostics and AST
dumps.
N.B. It is actually impossible to render the arguments back to the
source form without storing more information in the AST. For example,
we cannot tell if the user wrote u8"qux" or "qux". We also lose
fidelity when it comes to non-char types for this exact reason (e.g. it
is hard to render a list of wchar_t back to something that can be
printed to the screen even if you don't have to consider surrogate
pairs).
This fixes PR23120.
llvm-svn: 234110
|
| |
|
|
| |
llvm-svn: 234109
|
| |
|
|
|
|
|
|
| |
the integrated as."""
This reverts commit r234101. I will debug what went wrong with ARM.
llvm-svn: 234104
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
integrated as.""
This reverts commit r233398, bringing back 233393 now that LLVM is fixed.
Original message:
Don't use unique section names by default if using the integrated as.
This saves some IO and ccache space by not creating long section names. It
should work with every ELF linker.
llvm-svn: 234101
|
| |
|
|
| |
llvm-svn: 234097
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Use the driver flag -fno-signed-zeros instead.
This was recommended but not implemented in D6873:
http://reviews.llvm.org/D6873
which was checked in at r226915:
http://reviews.llvm.org/rL226915
llvm-svn: 234093
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
let theObject = {someMethodName() {
doTheThing();
doTheOtherThing();
},
someOtherMethodName() {
doSomething();
doSomethingElse();
}};
After:
let theObject = {
someMethodName() {
doTheThing();
doTheOtherThing();
},
someOtherMethodName() {
doSomething();
doSomethingElse();
}
};
llvm-svn: 234091
|
| |
|
|
|
|
|
|
| |
Don't assume that all pointers are convertible to void pointer.
Instead correctly respect [conv.ptr]p2; only allow pointer types with an
object pointee type to be caught as pointer-to-void.
llvm-svn: 234090
|
| |
|
|
| |
llvm-svn: 234083
|
| |
|
|
|
|
|
| |
Not all of them (there's still a fallback for this specific function
that omits the type parameter) but it's some I bothered to do now.
llvm-svn: 234063
|
| |
|
|
| |
llvm-svn: 234055
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C structs.
This comes up when we have a function that takes a struct and is defined in a
C++ file and used in a C file.
Before this commit, we will generate byval for C++ and will expand the struct
for C, thus causing difference at IR level. We will use bitcast of function type
at the callsite, which causes the inliner to not inline the function.
This commit changes how we handle small C like structs at IR level, but at
backend, we should generate the same argument passing before and after the
commit.
Note that the condition for expanding is still over conservative. We should be
able to expand type that is spelled with “class” and types that are not C-like.
But this commit fixes the inconsistent argument passing between C/C++.
Reviewed by John.
rdar://20121030
llvm-svn: 234033
|
| |
|
|
| |
llvm-svn: 234032
|
| |
|
|
| |
llvm-svn: 233993
|
| |
|
|
|
|
| |
<rdar://problem/20403544>
llvm-svn: 233985
|
| |
|
|
| |
llvm-svn: 233982
|
| |
|
|
| |
llvm-svn: 233981
|