| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 227200
|
|
|
|
| |
llvm-svn: 227194
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7127
llvm-svn: 226877
|
|
|
|
| |
llvm-svn: 226136
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a temporary workaround while MIPS64 has not yet fully supported
128-bit integers. But declaration of int128 type is necessary even though
`__SIZEOF_INT128__` is undefined because c++ standard header files like
`limits` throw error message if `__int128` is not available.
Patch by Sagar Thakur.
Differential Revision: http://reviews.llvm.org/D6402
llvm-svn: 223927
|
|
|
|
|
|
| |
Patch from Andrew Turner.
llvm-svn: 221900
|
|
|
|
|
|
|
|
| |
This is long-since overdue, and matches GCC 5.0. This should also be
backwards-compatible, because we already supported all of C11 as an extension
in C99 mode.
llvm-svn: 220244
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current default abi when no environment is given is "apcs-gnu",
which is obsolete. This patch changes the default to "aapcs". "aapcs" has both
hard- and soft-float variants, so the -mhard-float, -msoft-float and
-mfloat-abi= options now all behave as expected when no environment is
specified in the triple.
While writing this I also noticed that a preprocessor test claims to be
checking darwin, but is actually checking the defaults, which are
different for darwin.
llvm-svn: 216662
|
|
|
|
|
|
| |
Patch by Jim Grosbach.
llvm-svn: 215260
|
|
|
|
|
|
|
|
|
|
| |
char-based types from "char" to "signed char". Adjust stdint.h to use
__INTx_TYPE__ directly without prefixing it with signed and to use
__UINTx_TYPE__ for unsigned ones.
The value of __INTx_TYPE__ now matches GCC.
llvm-svn: 214119
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While Clang now supports both ELFv1 and ELFv2 ABIs, their use is currently
hard-coded via the target triple: powerpc64-linux is always ELFv1, while
powerpc64le-linux is always ELFv2.
These are of course the most common scenarios, but in principle it is
possible to support the ELFv2 ABI on big-endian or the ELFv1 ABI on
little-endian systems (and GCC does support that), and there are some
special use cases for that (e.g. certain Linux kernel versions could
only be built using ELFv1 on LE).
This patch implements the Clang side of supporting this, based on the
LLVM commit 214072. The command line options -mabi=elfv1 or -mabi=elfv2
select the desired ABI if present. (If not, Clang uses the same default
rules as now.)
Specifically, the patch implements the following changes based on the
presence of the -mabi= option:
In the driver:
- Pass the appropiate -target-abi flag to the back-end
- Select the correct dynamic loader version (/lib64/ld64.so.[12])
In the preprocessor:
- Define _CALL_ELF to the appropriate value (1 or 2)
In the compiler back-end:
- Select the correct ABI in TargetInfo.cpp
- Select the desired ABI for LLVM via feature (elfv1/elfv2)
llvm-svn: 214074
|
|
|
|
|
|
|
|
| |
arm64_be doesn't really exist; it was useful for testing while AArch64 and
ARM64 were separate, but now the only real way to refer to the system is
aarch64_be.
llvm-svn: 213747
|
|
|
|
|
|
|
|
| |
constants. Comparing int against a constant of the given type like
UINT8_MAX will otherwise force a promotion to unsigned int, which is
typically not expected.
llvm-svn: 213301
|
|
|
|
| |
llvm-svn: 213299
|
|
|
|
| |
llvm-svn: 213289
|
|
|
|
| |
llvm-svn: 213097
|
|
|
|
| |
llvm-svn: 213065
|
|
|
|
|
|
| |
underlaying types.
llvm-svn: 213063
|
|
|
|
|
|
|
|
| |
corresponding AST context function, only restricted to basic integer
types. Use this to ensure getUIntPtrType() gives types consistent with
getIntPtrType(). Fix NVPTX backend to give signed intptr_t.
llvm-svn: 212982
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add __ILP32__ and _ILP32 macro for corresponding platforms.
Cover x86_64-*-*-gnux32 with test.
Test Plan: test added
Reviewers: chandlerc, atanasyan
Subscribers: cfe-commits, dschuff, zinovy.nis
Differential Revision: http://reviews.llvm.org/D4473
llvm-svn: 212931
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctly on MIPS32r6/MIPS64r6
Summary:
This removes the need to pass -mnan=2008 explicitly to be able to compile
the test-suite for MIPS32r6/MIPS64r6.
Differential Revision: http://reviews.llvm.org/D4433
llvm-svn: 212619
|
|
|
|
| |
llvm-svn: 211778
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add predefined stdint macros that match the given patterns:
U?INT{_,_FAST,_LEAST}{8,16,32,64}_{MAX,TYPE}
U?INT{PTR,MAX}_{MAX,TYPE}
http://reviews.llvm.org/D4141
Author: binji
llvm-svn: 211657
|
|
|
|
| |
llvm-svn: 211030
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GCC).
Summary: The Linux Kernel is one example of a piece of software that relies on them.
Reviewers: atanasyan
Reviewed By: atanasyan
Differential Revision: http://reviews.llvm.org/D3756
llvm-svn: 210270
|
|
|
|
|
|
| |
instructions.
llvm-svn: 208719
|
|
|
|
| |
llvm-svn: 208718
|
|
|
|
|
|
|
| |
This covers all tests in tests/Driver and tests/Preprocessor, but there are some
failing tests in test/Sema that need looking into.
llvm-svn: 206464
|
|
|
|
|
|
| |
pass -target-feature +neon.
llvm-svn: 206394
|
|
|
|
| |
llvm-svn: 206390
|
|
|
|
|
|
| |
Reviewed at http://llvm-reviews.chandlerc.com/D3096
llvm-svn: 205008
|
|
|
|
|
|
| |
NetBSD/aarch64 to simplify code sharing with NetBSD/arm.
llvm-svn: 204798
|
|
|
|
|
|
|
| |
This is a testcase follow-up to r204627.
(see also r204614 for CALL_ELF usage).
llvm-svn: 204669
|
|
|
|
| |
llvm-svn: 204604
|
|
|
|
| |
llvm-svn: 203455
|
|
|
|
|
|
|
| |
This commit reverts r201037, it's functionality is not needed given the
definition of std::max_align_t in libcxx circa r201843.
llvm-svn: 202667
|
|
|
|
|
| |
FIXME: Implement and check x86_64-cygwin.
llvm-svn: 202094
|
|
|
|
| |
llvm-svn: 202058
|
|
|
|
|
|
|
|
|
|
| |
Most 64-bit targets define int64_t as long int, and AArch64 should
make same definition to follow LP64 model. In GNU tool chain, int64_t
is defined as long int for 64-bit target. So to get consistent with GNU,
it's better Changing int64_t from 'long long int' to 'long int',
otherwise clang will get different name mangling suffix compared with g++.
llvm-svn: 202004
|
|
|
|
| |
llvm-svn: 202003
|
|
|
|
| |
llvm-svn: 201477
|
|
|
|
|
|
|
|
|
|
| |
TargetInfo::getSuitableAlign() was introduced in r146762 and is defined
as alignof(std::max_align_t).
Introduce __ALIGNOF_MAX_ALIGN_T__ which exposes getSuitableAlign() so
that libc++ may take advantage of it.
llvm-svn: 201037
|
|
|
|
| |
llvm-svn: 200656
|
|
|
|
| |
llvm-svn: 200223
|
|
|
|
|
|
| |
mips32r2/mips64r2 respectively.
llvm-svn: 200222
|
|
|
|
| |
llvm-svn: 200221
|
|
|
|
|
|
|
|
|
|
| |
currently, for thumbv8, two predefined macros are missing:
define __THUMB_INTERWORK__ 1
define __THUMB_INTERWORK__ 1
This patch adds them for thumbv8.
llvm-svn: 199819
|
|
|
|
| |
llvm-svn: 194408
|
|
|
|
|
|
|
| |
__FLT_EVAL_METHOD__ accordingly. Add test case for this and the SSE2
variances on NetBSD.
llvm-svn: 194377
|
|
|
|
|
|
| |
divide in the mode that we are compiling in (depending on the target features), not defined if we don't. Should be compatible with the GCC conterpart. Also adding a -hwdiv option to overide the default behavior.
llvm-svn: 193074
|