| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 173035
|
|
|
|
| |
llvm-svn: 173022
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
float static members
llvm-svn: 172942
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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: 172849
|
|
|
|
| |
llvm-svn: 172808
|
|
|
|
|
|
| |
in the LangRef).
llvm-svn: 172692
|
|
|
|
|
|
|
|
| |
it apart from [[gnu::noreturn]] / __attribute__((noreturn)), since their
semantics are not equivalent (for instance, we treat [[gnu::noreturn]] as
affecting the function type, whereas [[noreturn]] does not).
llvm-svn: 172691
|
|
|
|
|
|
| |
produce more inline layout metadata. // rdar://12752901
llvm-svn: 172683
|
|
|
|
| |
llvm-svn: 172650
|
|
|
|
|
|
| |
Waiting for new llvm attribute code for the next step.
llvm-svn: 172626
|
|
|
|
|
|
| |
users can explicitly enable/disable modules autolinking.
llvm-svn: 172592
|
|
|
|
|
|
|
|
|
|
| |
order. Describe static data members to metadata using new interfaces.
Part of PR14471.
Patch by Paul Robinson!
llvm-svn: 172591
|
|
|
|
|
|
| |
Do some casting to avoid a signed/unsigned compare.
llvm-svn: 172571
|
|
|
|
|
|
| |
Cast arithmetic results to avoid comparison of an unsigned to an int.
llvm-svn: 172570
|
|
|
|
|
|
| |
Do proper casting to avoid a cast-away-const error.
llvm-svn: 172559
|
|
|
|
|
|
| |
We lower these into 2x chained usub.with.overflow intrinsics.
llvm-svn: 172476
|
|
|
|
|
|
|
| |
module-import dependencies, so we'll get the link order correct for
those silly linkers that need it.
llvm-svn: 172459
|
|
|
|
|
|
| |
link options for the modules it imports.
llvm-svn: 172448
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
!0 = metadata !{metadata !"-lautolink"}
!1 = metadata !{metadata !"-framework", metadata !"autolink_framework"}
referenced from llvm.module.linkoptions, e.g.,
!llvm.module.linkoptions = !{!0, !1, !2, !3}
This conceptually moves the logic for figuring out the syntax the
linker will accept from LLVM into Clang. Moreover, it makes it easier
to support MSVC's
#pragma comment(linker, "some option")
in the future, should anyone care to do so.
llvm-svn: 172441
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the 64-bit PowerPC ELF ABI.
The ABI requires that the real and imaginary parts of a complex argument
each occupy their own doubleword. Arguments smaller than 8 bytes are
right-adjusted within the doubleword.
Clang expects EmitVAARG() to return a pointer to a structure in which
the real and imaginary parts are packed adjacently in memory. To accomplish
this, we generate code to load the code appropriately from the varargs
location and pack the values into a temporary variable in the form Clang
expects, returning a pointer to that structure.
The test case demonstrates correct code generation for all "small" complex
types on PPC64: int, short, char, and float.
llvm-svn: 172438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
metadata for linking against the libraries/frameworks for imported
modules.
The module map language is extended with a new "link" directive that
specifies what library or framework to link against when a module is
imported, e.g.,
link "clangAST"
or
link framework "MyFramework"
Importing the corresponding module (or any of its submodules) will
eventually link against the named library/framework.
For now, I've added some placeholder global metadata that encodes the
imported libraries/frameworks, so that we can test that this
information gets through to the IR. The format of the data is still
under discussion.
llvm-svn: 172437
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In ArrayRef<T>(X), X should not be temporary value. It could be rewritten more redundantly;
llvm::Type *XTy = X->getType();
ArrayRef<llvm::Type *> Ty(XTy);
llvm::Value *Callee = CGF.CGM.getIntrinsic(IntrinsicID, Ty);
Since it is safe if both XTy and Ty are temporary value in one statement, it could be shorten;
llvm::Value *Callee = CGF.CGM.getIntrinsic(IntrinsicID, ArrayRef<llvm::Type*>(X->getType()));
ArrayRef<T> has an implicit constructor to create uni-entry of T;
llvm::Value *Callee = CGF.CGM.getIntrinsic(IntrinsicID, X->getType());
MSVC-generated clang.exe crashed.
llvm-svn: 172352
|
|
|
|
|
|
|
| |
We lower all of these intrinsics into a 2x chained usage of
uadd.with.overflow.
llvm-svn: 172341
|
|
|
|
|
|
| |
brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
|
|
|
|
|
| |
Objective-C runtime 1.7 or greater.
llvm-svn: 172207
|
|
|
|
|
|
|
|
|
|
| |
storage and thus is implicitly zero-initialized, no need to
do C++11 memory model. This patch unconditionally detects
such condition and zeroinitializer's the variable.
Patch has been commented on and OKed by Doug off-line.
// rdar://12897704
llvm-svn: 172144
|
|
|
|
|
|
|
| |
an objectiveC object, use objc_exception_throw
to raise the exception. // rdar://12605907
llvm-svn: 172091
|
|
|
|
|
|
|
| |
difference between type widths of a vector and the width of one of its elements
in the case of vector shifts. Use correct witdth in the vector case.
llvm-svn: 172047
|
|
|
|
|
|
| |
PR14825!
llvm-svn: 172031
|
|
|
|
| |
llvm-svn: 171947
|
|
|
|
|
|
|
|
|
|
| |
This is in preparation for using this to construct the function type for
pointers to member functions to include the implicit/artificial 'this'
parameter in that case as well. (feedback from GDB indicates that this might be
all that's necessary to get it to behave well with Clang's pointer-to-member
function debug output)
llvm-svn: 171809
|
|
|
|
| |
llvm-svn: 171801
|
|
|
|
|
|
| |
No (intended) functional change.
llvm-svn: 171800
|
|
|
|
|
|
|
|
|
|
| |
with respect to the lower "left-hand-side bitwidth" bits, even when negative);
see OpenCL spec 6.3j. This patch both implements this behaviour in the code
generator and "constant folding" bits of Sema, and also prevents tests
to detect undefinedness in terms of the weaker C99 or C++ specifications
from being applied.
llvm-svn: 171755
|
|
|
|
|
|
|
|
|
|
| |
Using added LLVM functionality in r171698. This works in GDB for member
variable pointers but not member function pointers. See the LLVM commit and
GDB bug 14998 for details.
Un-xfailing cases in the GDB 7.5 test suite will follow.
llvm-svn: 171699
|
|
|
|
|
|
| |
rather than doing it ourselves. This reflects the API changes in r171681.
llvm-svn: 171683
|
|
|
|
|
|
|
|
| |
Catch some cases I'd missed in r171605 related to unnamed parameters of record
type. This resolves all remaining cases of PR14573 suppression in the GDB 7.5
test suite. Fix to the test suite to follow.
llvm-svn: 171633
|
|
|
|
|
|
| |
passes to a create-pass function instead of a direct constructor call.
llvm-svn: 171622
|
|
|
|
|
|
| |
LLVM ignores this data for now - patch for that to follow.
llvm-svn: 171605
|
|
|
|
|
|
|
|
| |
before doing a storeStrong to it.
// rdar://12530881
llvm-svn: 171572
|
|
|
|
|
|
|
|
|
| |
__strong __block variables, perform objc_storeStrong on
source and destination instead of direct move. This
is done with -O0 and to improve some analysis.
// rdar://12530881
llvm-svn: 171555
|
|
|
|
|
|
|
|
|
|
| |
The line information was changed when emitting debug information for all the
DeclRefExprs and we should change it back to get ready for PopClenupBlocks
called from FinishFunction.
rdar://11562117
llvm-svn: 171493
|
|
|
|
|
|
| |
field number was 0 anyhow.
llvm-svn: 171472
|
|
|
|
|
|
| |
static local variable from the parent scope. PR14773.
llvm-svn: 171433
|
|
|
|
|
|
|
|
| |
reflect the migration in r171366.
Re-sort the #include lines to reflect the new paths.
llvm-svn: 171369
|