| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 184505
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As an optimization, we only kept declared methods with distinct
signatures in the global method pool, to keep the method lists
small. Under modules, however, one could have two different methods
with the same signature that occur in different (sub)modules. If only
the later submodule is important, message sends to 'id' with that
selector would fail because the first method (the only one that got
into the method pool) was hidden. When building a module, keep *all*
of the declared methods.
I did a quick check of both module build time and uses of modules, and
found no performance regression despite this causing us to keep more
methods in the global method pool. Fixes <rdar://problem/14148896>.
llvm-svn: 184504
|
| |
|
|
|
|
| |
(FixIts yet to be tested.)
llvm-svn: 184503
|
| |
|
|
| |
llvm-svn: 184501
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
directory for programs used by the driver is actually the standard
behavior we want to be compatible with GCC cross compilers -- it isn't
specific to SUSE or any other distro.
Also start fleshing out testing of the different cross compilation
patterns, both with a new very bare-bones tree of cross compilers and by
extending the multilib trees. Currently, we don't correctly model doing
a cross compile using the non-triple target of a bi-arch GCC install,
but I'll add support for that (and tests) next.
llvm-svn: 184499
|
| |
|
|
| |
llvm-svn: 184498
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
checked-arithmetic in c.
This will enable users in security critical applications to perform
checked-arithmetic in a fast safe manner that is amenable to c.
Tests/an update to Language Extensions is included as well.
rdar://13421498.
llvm-svn: 184497
|
| |
|
|
| |
llvm-svn: 184496
|
| |
|
|
| |
llvm-svn: 184495
|
| |
|
|
| |
llvm-svn: 184494
|
| |
|
|
| |
llvm-svn: 184493
|
| |
|
|
|
|
|
| |
operations in the case where evaluating a subexpression fails. No functionality
change, but test/Sema/many-logical-ops.c gets ~100x faster with this change.
llvm-svn: 184489
|
| |
|
|
|
|
| |
This is needed to parse libstdc++ 4.7's type_traits, see PR13530.
llvm-svn: 184476
|
| |
|
|
|
|
|
|
|
|
| |
r174939-40 caused us to do this in the canonical terminate lpad,
but when the EH stack has other cleanups on it we use the
terminate handler block, which wasn't doing this.
Fixes the rest of rdar://11904428 given appropriate stdlib support.
llvm-svn: 184475
|
| |
|
|
|
|
|
|
|
|
| |
limited debug info.
This is another small addendum to r184252.
rdar://problem/14101097
llvm-svn: 184473
|
| |
|
|
| |
llvm-svn: 184472
|
| |
|
|
|
|
|
| |
headers may be included from within the module, but not from outside
the module.
llvm-svn: 184471
|
| |
|
|
| |
llvm-svn: 184470
|
| |
|
|
| |
llvm-svn: 184466
|
| |
|
|
| |
llvm-svn: 184465
|
| |
|
|
| |
llvm-svn: 184463
|
| |
|
|
|
|
|
|
|
|
| |
The simplify-libcalls pass has been removed from LLVM. Thus
'PMBuilder.DisableSimplifyLibCalls' does not exist anymore.
The disabling/enabling of library call simplifications is
done through the TargetLibraryInfo which is already wired
up in Clang.
llvm-svn: 184458
|
| |
|
|
| |
llvm-svn: 184454
|
| |
|
|
| |
llvm-svn: 184453
|
| |
|
|
|
|
| |
to be confused by strange (& currently broken) Windows ABI
llvm-svn: 184442
|
| |
|
|
|
|
|
|
|
|
| |
On Windows, it looks like FlagIndirectVariable is being set in Flags for
DIBuilder::createLocalVariable(), giving us an i32 of 8192 instead of 0,
as on Linux.
Fixes breakage from r184367.
llvm-svn: 184438
|
| |
|
|
| |
llvm-svn: 184432
|
| |
|
|
|
|
|
|
|
| |
- Added conversion routines and checks in Matcher<T> that take a DynTypedMatcher.
- Added type information on the error messages for the marshallers.
- Allows future work on Polymorphic/overloaded matchers. We should be
able to disambiguate at runtime and choose the appropriate overload.
llvm-svn: 184429
|
| |
|
|
|
|
| |
Most of the tests contributed by Edwin Vane.
llvm-svn: 184427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Fixes a problem where \t,\v or \f could lead to a crash when placed as
a first character in a line comment. The cause is that rtrim and ltrim handle
these characters, but our code didn't, so some invariants could be broken.
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1013
llvm-svn: 184425
|
| |
|
|
| |
llvm-svn: 184419
|
| |
|
|
| |
llvm-svn: 184417
|
| |
|
|
|
|
|
| |
A workaroudn for PR16386. MSan's operator new aften has side-effects that are
miscompiled without this flag.
llvm-svn: 184410
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-gcc-toolchain foo -> --gcc-toolchain=foo
-target foo -> --target=foo
I've added legacy aliases for the original spellings. I've updated the
canonical tests to check both spellings, and switched all of the
-gcc-toolchain usages elsewhere in the test suite to use the new one.
I've updated some of the usages of -target to the new syntax, but will
finish that in a separate entirely mechanical change once I'm sure this
won't get rolled back for some reason (It touches a *huge* number of RUN
lines in the test suite unsurprisingly).
A nice result is that the three most common flags I end up using when
doing cross compiles are all now consistent: --target=, --sysroot=, and
--gcc-toolchain=.
llvm-svn: 184408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When doing a reinterpret+dynamic cast from an incomplete type, the analyzer
would crash (bug #16308). This fix makes the dynamic cast evaluator ignore
incomplete types, as they can never be used in a dynamic_cast. Also adding a
regression test.
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1006
llvm-svn: 184403
|
| |
|
|
|
|
|
| |
seem closely related. (I'm happy to move this if others have a better
idea of where to put it.)
llvm-svn: 184402
|
| |
|
|
|
|
| |
This fixes PR16370, I'll add the test case in a follow-up commit.
llvm-svn: 184401
|
| |
|
|
|
|
|
|
|
| |
up alignment.
Fixes utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp from the
libc++ testsuite.
llvm-svn: 184397
|
| |
|
|
|
|
| |
why not. Apparently GCC supports this.
llvm-svn: 184396
|
| |
|
|
|
|
|
|
|
|
| |
return false;
in a function returning a pointer. 'false' was a null pointer constant in C++98
but is not in C++11. Punch a very small hole in the initialization rules in
C++11 mode to allow this specific case in system headers.
llvm-svn: 184395
|
| |
|
|
| |
llvm-svn: 184393
|
| |
|
|
| |
llvm-svn: 184392
|
| |
|
|
| |
llvm-svn: 184391
|
| |
|
|
| |
llvm-svn: 184386
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
toggle execution of long running FileCheck tests.
This will allow for longer running FileCheck based tests to be committed to
clang for use on buildbots, preventing the normal make-check cycle from
increasing in time significantly.
This is a necessary change in order to commit the end-to-end arm neon intrinsic
tests since FileCheck takes ~20 seconds to run said test due to the large amount
of neon intrinsics.
To force a test to run only when --param run_long_tests=true is passed in use
the following requires statement:
// REQUIRES: long_tests
llvm-svn: 184385
|
| |
|
|
|
|
|
|
| |
buildbot (possible interaction with LTO)
<rdar://problem/14209661>
llvm-svn: 184384
|
| |
|
|
|
|
|
|
|
| |
with libclang crash-recovery.
This tests llvm commit r184380.
rdar://14204560
llvm-svn: 184383
|
| |
|
|
|
|
| |
thought I had checked it.
llvm-svn: 184382
|
| |
|
|
| |
llvm-svn: 184381
|
| |
|
|
| |
llvm-svn: 184379
|