| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 187379
|
|
|
|
| |
llvm-svn: 187367
|
|
|
|
| |
llvm-svn: 187364
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On windows, c:foo is a valid file path, but stat fails on just "c:". This
causes a problem for clang since its file manager wants to cache data about
the parent directory.
There are refactorings to be done in here, but this gives clang the correct
behavior and testing first.
Patch by Yunzhong Gao!
llvm-svn: 187359
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch provides basic support for powerpc64le as an LLVM target.
However, use of this target will not actually generate little-endian
code. Instead, use of the target will cause the correct little-endian
built-in defines to be generated, so that code that tests for
__LITTLE_ENDIAN__, for example, will be correctly parsed for
syntax-only testing. Code generation will otherwise be the same as
powerpc64 (big-endian), for now.
The patch leaves open the possibility of creating a little-endian
PowerPC64 back end, but there is no immediate intent to create such a
thing.
The new test case variant ensures that correct built-in defines for
little-endian code are generated.
llvm-svn: 187180
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sufficient to only consider names visible at the point of instantiation,
because that may not include names that were visible when the template was
defined. More generally, if the instantiation backtrace goes through a module
M, then every declaration visible within M should be available to the
instantiation. Any of those declarations might be part of the interface that M
intended to export to a template that it instantiates.
The fix here has two parts:
1) If we find a non-visible declaration during name lookup during template
instantiation, check whether the declaration was visible from the defining
module of all entities on the active template instantiation stack. The defining
module is not the owning module in all cases: we look at the module in which a
template was defined, not the module in which it was first instantiated.
2) Perform pending instantiations at the end of a module, not at the end of the
translation unit. This is general goodness, since it significantly cuts down
the amount of redundant work that is performed in every TU importing a module,
and also implicitly adds the module containing the point of instantiation to
the set of modules checked for declarations in a lookup within a template
instantiation.
There's a known issue here with template instantiations performed while
building a module, if additional imports are added later on. I'll fix that
in a subsequent commit.
llvm-svn: 187167
|
|
|
|
|
|
| |
Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html
llvm-svn: 187143
|
|
|
|
|
|
|
|
| |
Expose static type of init/alloc/retain with
instance type as well. Ad-hoc cases are coming
next.
llvm-svn: 187068
|
|
|
|
|
|
| |
instancetype migration.
llvm-svn: 187000
|
|
|
|
|
|
|
| |
which are candidate for migrating to
'instancetype'. wip.
llvm-svn: 186981
|
|
|
|
| |
llvm-svn: 186899
|
|
|
|
|
|
| |
consistency with other fields and to be explicit about bit count.
llvm-svn: 186796
|
|
|
|
| |
llvm-svn: 186795
|
|
|
|
|
|
|
|
|
|
| |
Diag ID is used throughout clang as a sentinel id meaning "this is an
invalid diagnostic id." Confusingly, Diag ID maps to a valid, usable,
diagnostic id. Instead, start diagnostic ids at ID one.
Incidently, remove an unused element from StaticDiagInfo.
llvm-svn: 186760
|
|
|
|
| |
llvm-svn: 186694
|
|
|
|
| |
llvm-svn: 186649
|
|
|
|
| |
llvm-svn: 186647
|
|
|
|
| |
llvm-svn: 186448
|
|
|
|
| |
llvm-svn: 186300
|
|
|
|
| |
llvm-svn: 186287
|
|
|
|
| |
llvm-svn: 186106
|
|
|
|
|
|
| |
specifying the vector size.
llvm-svn: 185784
|
|
|
|
|
|
| |
avoid specifying the vector size unnecessarily.
llvm-svn: 185610
|
|
|
|
|
|
| |
Long double is 64 bits on FreeBSD PPC, so the f128 entry is superfluous.
llvm-svn: 185582
|
|
|
|
|
|
| |
It's not the case on ie. FreeBSD.
llvm-svn: 185572
|
|
|
|
|
|
| |
Patch by Job Noorman!
llvm-svn: 185362
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 185261
|
|
|
|
| |
llvm-svn: 185075
|
|
|
|
| |
llvm-svn: 184970
|
|
|
|
|
|
|
|
| |
this code. These aren't technically standard predefines for the platform
but apparantly lots of folks use them as they show up within LLVM's own
codebase. ;] This may even fix some self host issues w/ the JIT!!!
llvm-svn: 184830
|
|
|
|
| |
llvm-svn: 184578
|
|
|
|
|
|
|
| |
headers may be included from within the module, but not from outside
the module.
llvm-svn: 184471
|
|
|
|
|
|
|
|
| |
Some embedded targets use ARM's AAPCS with iOS header files that define size_t
as unsigned long, which conflicts with the usual AAPCS definition of size_t
as unsigned int.
llvm-svn: 184171
|
|
|
|
| |
llvm-svn: 184113
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just like on Linux, FreeBSD/armv6 assumes the system supports
ldrex/strex unconditionally. It is also used by the kernel. We can
therefore enable support for it, like we do on Linux.
While there, change one of the unit tests to explicitly test against
armv5 instead of armv7, as it actually tests whether libcalls are
emitted.
llvm-svn: 184040
|
|
|
|
|
|
|
|
| |
- reduce default buffer size to 64, which will still be large enough to
hold any property names found in the wild.
- get rid of the /*static*/ comments.
llvm-svn: 183697
|
|
|
|
|
|
|
|
|
|
| |
- factor the name construction part out from constructSetterName
- rename constructSetterName to the more appropriate constructSetterSelector
no functionality change intended.
rdar://problem/14035789
llvm-svn: 183582
|
|
|
|
|
|
|
|
| |
callees of SourceManager::getSLocEntryByID().
Also add an 'Invalid' check in SourceManager::computeMacroArgsCache().
llvm-svn: 183538
|
|
|
|
|
|
|
|
|
| |
We're getting reports of this warning getting triggered in cases where it
is not adding any value. There is no asm operand modifier that you can use
to silence it, and there's really nothing wrong with having an LDRB, for
example, with a "char" output.
llvm-svn: 183172
|
|
|
|
|
|
| |
Fixes PR16138.
llvm-svn: 183015
|
|
|
|
|
|
| |
valid FileID (V2).
llvm-svn: 182698
|
|
|
|
|
|
|
|
| |
valid FileID.
Suggested by Jordan.
llvm-svn: 182695
|
|
|
|
|
|
| |
This is to address crash in rdar://13932308
llvm-svn: 182681
|
|
|
|
| |
llvm-svn: 182675
|
|
|
|
|
|
| |
Other operating systems, including FreeBSD and NetBSD, use long.
llvm-svn: 182215
|
|
|
|
|
|
|
|
| |
function macro arguments.
This is a modified version of a patch by Manuel Klimek.
llvm-svn: 182055
|
|
|
|
| |
llvm-svn: 182029
|
|
|
|
|
|
| |
It's an LP64 platform.
llvm-svn: 181867
|
|
|
|
|
|
|
| |
This matches gcc's behaviour. The patch also explicitly parses the version so
that this keeps working when we add support for v8.
llvm-svn: 181750
|
|
|
|
|
|
|
|
|
| |
This is safe given how the pre-v6 atomic ops funcions in libgcc are
implemented.
This fixes pr15429.
llvm-svn: 181728
|