summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/except
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix test case.Sebastian Redl2011-03-151-4/+5
| | | | llvm-svn: 127699
* More robust check for the special C++0x operator new workaround.Sebastian Redl2011-03-151-2/+2
| | | | llvm-svn: 127692
* Implement a hack to work around the changing exception specification of ↵Sebastian Redl2011-03-151-0/+11
| | | | | | operator new in C++0x. llvm-svn: 127688
* Reintroduce r127617: "Code generation for noexcept." with fixes.Sebastian Redl2011-03-152-0/+29
| | | | llvm-svn: 127685
* Revert r127617: "Code generation for noexcept."Jakob Stoklund Olesen2011-03-152-31/+0
| | | | | | The tests fail in a -Asserts build. llvm-svn: 127635
* Code generation for noexcept.Sebastian Redl2011-03-142-0/+31
| | | | llvm-svn: 127617
* Implement instantiation of noexcept spec and add a test case.Sebastian Redl2011-03-141-0/+12
| | | | llvm-svn: 127603
* Add another, pretty trivial, exception spec test case.Sebastian Redl2011-03-141-0/+12
| | | | llvm-svn: 127602
* Make deallocation functions implicitly noexcept in C++0x.Sebastian Redl2011-03-141-0/+24
| | | | llvm-svn: 127596
* Propagate the new exception information to FunctionProtoType.Sebastian Redl2011-03-126-9/+392
| | | | | | | | Change the interface to expose the new information and deal with the enormous fallout. Introduce the new ExceptionSpecificationType value EST_DynamicNone to more easily deal with empty throw specifications. Update the tests for noexcept and fix the various bugs uncovered, such as lack of tentative parsing support. llvm-svn: 127537
* Parser support for noexcept specifications.Sebastian Redl2011-03-051-0/+49
| | | | llvm-svn: 127086
* Semantic checking for exception specifications should be triggered byJohn McCall2011-03-021-1/+1
| | | | | | whether C++ exceptions are enabled, not exceptions in general. PR9358. llvm-svn: 126820
* Add -fcxx-exceptions to all tests that use C++ exceptions.Anders Carlsson2011-02-281-1/+1
| | | | llvm-svn: 126599
* Pass -fexceptions to all tests that use try/catch/throw.Anders Carlsson2011-02-191-1/+1
| | | | llvm-svn: 126037
* Move unnamed_addr after the function arguments on Sabre's request.Rafael Espindola2011-01-251-7/+7
| | | | llvm-svn: 124210
* Add unnamed_addr to constructors and destructors.Rafael Espindola2011-01-111-7/+7
| | | | llvm-svn: 123197
* Apparently the {{$}} hack doesn't work on Windows; I am saddened but notJohn McCall2010-07-081-2/+5
| | | | | | surprised. llvm-svn: 107874
* Mark calls to 'throw()' functions as nounwind, and mark the functions nounwindJohn McCall2010-07-081-17/+19
| | | | | | as well. llvm-svn: 107858
* Validated by nightly-test runs on x86 and x86-64 darwin, including afterJohn McCall2010-07-061-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | self-host. Hopefully these results hold up on different platforms. I tried to keep the GNU ObjC runtime happy, but it's hard for me to test. Reimplement how clang generates IR for exceptions. Instead of creating new invoke destinations which sequentially chain to the previous destination, push a more semantic representation of *why* we need the cleanup/catch/filter behavior, then collect that information into a single landing pad upon request. Also reorganizes how normal cleanups (i.e. cleanups triggered by non-exceptional control flow) are generated, since it's actually fairly closely tied in with the former. Remove the need to track which cleanup scope a block is associated with. Document a lot of previously poorly-understood (by me, at least) behavior. The new framework implements the Horrible Hack (tm), which requires every landing pad to have a catch-all so that inlining will work. Clang no longer requires the Horrible Hack just to make exceptions flow correctly within a function, however. The HH is an unfortunate requirement of LLVM's EH IR. llvm-svn: 107631
* Provide exception specifications for implicitly-declared default constructors.Douglas Gregor2010-07-011-0/+26
| | | | llvm-svn: 107437
* Provide exception specifications for implicitly-declared copy constructors.Douglas Gregor2010-07-011-0/+44
| | | | llvm-svn: 107429
* Provide an exception-specification for an implicitly-declaredDouglas Gregor2010-07-011-0/+17
| | | | | | copy-assignment operator. llvm-svn: 107406
* Add Sema test case for exception-specifiers implicitly added to destructors.Douglas Gregor2010-07-011-0/+12
| | | | llvm-svn: 107395
* Improve diagnostics when we fail to convert from a source type to aDouglas Gregor2010-04-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | destination type for initialization, assignment, parameter-passing, etc. The main issue fixed here is that we used rather confusing wording for diagnostics such as t.c:2:9: warning: initializing 'char const [2]' discards qualifiers, expected 'char *' [-pedantic] char *name = __func__; ^ ~~~~~~~~ We're not initializing a 'char const [2]', we're initializing a 'char *' with an expression of type 'char const [2]'. Similar problems existed for other diagnostics in this area, so I've normalized them all with more precise descriptive text to say what we're initializing/converting/assigning/etc. from and to. The warning for the code above is now: t.c:2:9: warning: initializing 'char *' from an expression of type 'char const [2]' discards qualifiers [-pedantic] char *name = __func__; ^ ~~~~~~~~ Fixes <rdar://problem/7447179>. llvm-svn: 100832
* When declaring a catch block in C++, make sure that the type beingDouglas Gregor2010-03-051-0/+40
caught can be copy-initialized and destructed. Fixes PR6518. llvm-svn: 97853
OpenPOWER on IntegriCloud