summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Add test header missing from r184504.Douglas Gregor2013-06-211-0/+3
| | | | llvm-svn: 184505
* When building a module, keep *all* declared methods in the global method pool.Douglas Gregor2013-06-214-0/+13
| | | | | | | | | | | | | | | | | 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
* Bug Fix: Template explicit instantiations should not have definitions ↵Larisse Voufo2013-06-215-1/+96
| | | | | | (FixIts yet to be tested.) llvm-svn: 184503
* Add a couple more tests.Eli Friedman2013-06-202-0/+5
| | | | llvm-svn: 184501
* Update a comment to clarify that searching the target triple binChandler Carruth2013-06-2036-2/+77
| | | | | | | | | | | | | | 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
* Fix a crash with __flaot128 noticed by Eli.Nico Weber2013-06-202-7/+18
| | | | llvm-svn: 184498
* [checked-arithmetic builtins] Added builtins to enable users to perform ↵Michael Gottesman2013-06-205-0/+311
| | | | | | | | | | | | | 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
* Add back a condition accidentially removed in r184470.Richard Trieu2013-06-201-1/+1
| | | | llvm-svn: 184496
* Fix typo in comment. Patch by Matthew Dempsky!Richard Smith2013-06-201-1/+1
| | | | llvm-svn: 184495
* Fix copy-pasted comment.Richard Smith2013-06-201-3/+3
| | | | llvm-svn: 184494
* Don't allow __attribute__((common)) in C++. PR16330.Eli Friedman2013-06-203-0/+11
| | | | llvm-svn: 184493
* Avoid repeatedly evaluating subexpressions when checking for unsequencedRichard Smith2013-06-201-7/+37
| | | | | | | 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
* Lazily provide a __float128 dummy type in -std=gnu++11 mode.Nico Weber2013-06-208-2/+58
| | | | | | This is needed to parse libstdc++ 4.7's type_traits, see PR13530. llvm-svn: 184476
* Call __cxa_begin_catch before std::terminate() in a noexcept trap.John McCall2013-06-202-2/+58
| | | | | | | | | | 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
* Debug Info: Attempt to resolve forward declarations if we are not emittingAdrian Prantl2013-06-203-3/+49
| | | | | | | | | | limited debug info. This is another small addendum to r184252. rdar://problem/14101097 llvm-svn: 184473
* Test files for private header patch.Lawrence Crowl2013-06-2015-0/+127
| | | | llvm-svn: 184472
* This patch adds new private headers to the module map. PrivateLawrence Crowl2013-06-2018-91/+229
| | | | | | | headers may be included from within the module, but not from outside the module. llvm-svn: 184471
* Extend -Wnon-pod-varargs to check calls made from function pointers.Richard Trieu2013-06-204-9/+27
| | | | llvm-svn: 184470
* Clean up warning and add a test.Eli Friedman2013-06-202-2/+4
| | | | llvm-svn: 184466
* Add test.Eli Friedman2013-06-201-0/+1
| | | | llvm-svn: 184465
* Fix English grammar error.Lawrence Crowl2013-06-201-1/+1
| | | | llvm-svn: 184463
* CodeGen: Don't set 'PMBuilder.DisableSimplifyLibCalls'Meador Inge2013-06-201-1/+0
| | | | | | | | | | 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
* Add an additional test for dynamic_cast.Eli Friedman2013-06-201-0/+2
| | | | llvm-svn: 184454
* Remove dead code.Eli Friedman2013-06-201-5/+0
| | | | llvm-svn: 184453
* Fix CodeGenCXX/debug-info.cpp to target a known ABI (x86-64-linux) so as not ↵David Blaikie2013-06-201-2/+2
| | | | | | to be confused by strange (& currently broken) Windows ABI llvm-svn: 184442
* Fix CodeGenCXX/debug-info.cpp test on WindowsReid Kleckner2013-06-201-1/+1
| | | | | | | | | | 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
* Use the new name of getUniqueID.Rafael Espindola2013-06-201-5/+5
| | | | llvm-svn: 184432
* Enhancements for the DynTypedMatcher system.Samuel Benzaquen2013-06-2011-192/+271
| | | | | | | | | - 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
* Adds the equalsBoundNode matcher.Manuel Klimek2013-06-206-14/+272
| | | | | | Most of the tests contributed by Edwin Vane. llvm-svn: 184427
* Use the same set of whitespace characters for all operations in BreakableToken.Alexander Kornienko2013-06-202-11/+27
| | | | | | | | | | | | | | | | | 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
* Implements declaratorDecl, parmVarDecl and hassTypeLoc matchers.Manuel Klimek2013-06-203-0/+94
| | | | llvm-svn: 184419
* Improved source code fidelity for gcc mode attribute.Enea Zaffanella2013-06-209-24/+61
| | | | llvm-svn: 184417
* Add -fno-assume-sane-operator-new when building with MSan.Evgeniy Stepanov2013-06-202-2/+9
| | | | | | | A workaroudn for PR16386. MSan's operator new aften has side-effects that are miscompiled without this flag. llvm-svn: 184410
* Update two options to my proposed syntax for user-facing driver options:Chandler Carruth2013-06-207-137/+153
| | | | | | | | | | | | | | | | | | | -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
* Fix static analyzer crash when casting from an incomplete typePavel Labath2013-06-202-1/+29
| | | | | | | | | | | | | | 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
* Add a regression test for PR16370 next to the dr7 test case since theyChandler Carruth2013-06-201-0/+12
| | | | | | | seem closely related. (I'm happy to move this if others have a better idea of where to put it.) llvm-svn: 184402
* Temporarily revert r183462: "Implement DR7"Chandler Carruth2013-06-203-20/+10
| | | | | | This fixes PR16370, I'll add the test case in a follow-up commit. llvm-svn: 184401
* Fix one place I missed that was memcpy'ing TypeLocs in a way that messesEli Friedman2013-06-205-75/+75
| | | | | | | | | up alignment. Fixes utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp from the libc++ testsuite. llvm-svn: 184397
* PR16377: Allow evaluation of statement expressions in constant evaluation,Richard Smith2013-06-204-3/+97
| | | | | | why not. Apparently GCC supports this. llvm-svn: 184396
* Add a workaround for a libstdc++-4.2 <tr1/hashtable> bug. This header usesRichard Smith2013-06-202-3/+57
| | | | | | | | | | 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
* One more cast test.Eli Friedman2013-06-201-0/+12
| | | | llvm-svn: 184393
* Add a few more tests for casts.Eli Friedman2013-06-203-2/+14
| | | | llvm-svn: 184392
* Fix typo in r184308.Richard Smith2013-06-202-1/+6
| | | | llvm-svn: 184391
* Add a testcase which uses an UnresolvedUsingTypenameDecl as the base of an NNS.Eli Friedman2013-06-201-0/+5
| | | | llvm-svn: 184386
* [clang-lit] Added the run_long_tests param option/long_tests feature to ↵Michael Gottesman2013-06-191-0/+4
| | | | | | | | | | | | | | | | | | | 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
* Revert r184205 and associated patches while investigating issue with broken ↵Stephen Lin2013-06-1918-259/+272
| | | | | | | | buildbot (possible interaction with LTO) <rdar://problem/14209661> llvm-svn: 184384
* [libclang] Make sure crash-recovery for module-building does not interfere ↵Argyrios Kyrtzidis2013-06-191-0/+15
| | | | | | | | | with libclang crash-recovery. This tests llvm commit r184380. rdar://14204560 llvm-svn: 184383
* Fix r184381 so the test doesn't fail. Sorry for the inconvenience, I ↵Eli Friedman2013-06-191-1/+1
| | | | | | thought I had checked it. llvm-svn: 184382
* Extra test for diagnostic in Sema::BuildCXXNestedNameSpecifier.Eli Friedman2013-06-191-0/+3
| | | | llvm-svn: 184381
* Remove dead code.Eli Friedman2013-06-192-11/+0
| | | | llvm-svn: 184379
OpenPOWER on IntegriCloud