summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Propagate the invalid bit from bases to derived template classes.Matt Beaumont-Gay2013-06-212-0/+13
| | | | | | Fixes PR16292. llvm-svn: 184581
* [NVPTX] Add NVPTX register constraintsJustin Holewinski2013-06-212-3/+52
| | | | llvm-svn: 184578
* Extend template instantiation bug fix (r184503) with fixit testLarisse Voufo2013-06-211-3/+11
| | | | llvm-svn: 184577
* Add an option to not indent declarations when breaking after the type.Manuel Klimek2013-06-213-21/+48
| | | | | | Make that option the default for LLVM style. llvm-svn: 184563
* Revert "[analyzer] Handle zeroing CXXConstructExprs."Jordan Rose2013-06-213-124/+78
| | | | | | | | | | Per review from Anna, this really should have been two commits, and besides it's causing problems on our internal buildbot. Reverting until these have been worked out. This reverts r184511 / 98123284826bb4ce422775563ff1a01580ec5766. llvm-svn: 184561
* [Modules] If a module map resides in a system header directory, treat it as ↵Douglas Gregor2013-06-2111-33/+75
| | | | | | | | | a system module. This prevents -pedantic from causing warnings in the system headers used to create modules. Fixes <rdar://problem/14201171>. llvm-svn: 184560
* Add basic fixit test to template instantiation bug fix (r184503)Larisse Voufo2013-06-211-0/+3
| | | | llvm-svn: 184559
* Add support for polymorphic matchers. Use runtime type checking to determine ↵Samuel Benzaquen2013-06-2118-301/+607
| | | | | | the right polymorphic overload to use. llvm-svn: 184558
* Disable an assertion death test when using MSVC's assert()Reid Kleckner2013-06-211-3/+5
| | | | | | | MSVC's debug runtime prints assertion failures in wide characters, which gtest doesn't understand. llvm-svn: 184544
* [ms-cxxabi] Destroy temporary record arguments in the calleeReid Kleckner2013-06-219-7/+342
| | | | | | | | | | | | | | | | | | Itanium destroys them in the caller at the end of the full expression, but MSVC destroys them in the callee. This is further complicated by the need to emit EH-only destructor cleanups in the caller. This should help clang compile MSVC's debug iterators more correctly. There is still an outstanding issue in PR5064 of a memcpy emitted by the LLVM backend, which is not correct for C++ records. Fixes PR16226. Reviewers: rjmccall Differential Revision: http://llvm-reviews.chandlerc.com/D929 llvm-svn: 184543
* Improve documentation for AST matchers.Manuel Klimek2013-06-211-0/+23
| | | | llvm-svn: 184538
* DebugInfo: handle the DI asm printing change to reword '[fwd]' as '[decl]' ↵David Blaikie2013-06-218-52/+41
| | | | | | | | | | | | | | | | | | | | | | | and add '[def]' for non-decl tag types This is to make test cases looking for definitions more legible by making the definition explicit rather than just the absence of '[fwd]'. This allowed the debug-info-record tests to be rephrased - and in the interests of reducing the number of individual test cases/invocations we have, I merged them into one file, separated them with namespaces (& then moved them to C++ because namespaces are great). If they need to remain 'C' only tests, they can be moved back. (I didn't group them with 'debug-info-class.cpp' because these tests only apply to -fno-limit-debug-info) I removed the pieces of code that would cause these tests to pass under -flimit-debug-info to ensure the tests remain relevant to their fixes should we ever improve -flimit-debug-info to catch that kind of code. This commit is version locked with the corresponding change to DebugInfo.h in LLVM. Except some transient buildbot fallout. llvm-svn: 184524
* Delete dead code.Eli Friedman2013-06-211-7/+0
| | | | llvm-svn: 184520
* Add test.Eli Friedman2013-06-211-2/+3
| | | | llvm-svn: 184519
* [docs] Add link to presentation slides.Sean Silva2013-06-211-0/+2
| | | | llvm-svn: 184518
* Delete dead code.Eli Friedman2013-06-213-7/+2
| | | | llvm-svn: 184517
* Add an assert() suggested by Richard.Nico Weber2013-06-211-0/+1
| | | | llvm-svn: 184516
* Add missing test.Eli Friedman2013-06-211-0/+11
| | | | llvm-svn: 184515
* Fix all the silly things I committed in r184509David Blaikie2013-06-213-4/+5
| | | | llvm-svn: 184512
* [analyzer] Handle zeroing CXXConstructExprs.Jordan Rose2013-06-213-78/+124
| | | | | | | | | | | | | | | | | Certain expressions can cause a constructor invocation to zero-initialize its object even if the constructor itself does no initialization. The analyzer now handles that before evaluating the call to the constructor, using the same "default binding" mechanism that calloc() uses, rather than simply ignoring the zero-initialization flag. As a bonus, trivial default constructors are now no longer inlined; they are instead processed explicitly by ExprEngine. This has a (positive) effect on the generated path edges: they no longer stop at a default constructor call unless there's a user-provided implementation. <rdar://problem/14212563> llvm-svn: 184511
* [analyzer] Fix stale comment in CallEvent.Jordan Rose2013-06-211-9/+3
| | | | | | No functionality change. llvm-svn: 184510
* Alternative fix for r184473.David Blaikie2013-06-213-26/+20
| | | | | | | | | | | This just seems a bit tidier/more principled. Based on a patch provided by Adrian - with the only minor tweak that it needed to use "getTypeOrNull" rather than "getCompletedTypeOrNull" since we don't store declarations in the CompletedTypes cache. No intended functionality change. llvm-svn: 184509
* 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
OpenPOWER on IntegriCloud