summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/exceptions-cxx-new.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [MS] Don't escape MS C++ names with \01Reid Kleckner2018-03-161-13/+13
| | | | | | | It is not needed after LLVM r327734. Now it will be easier to copy-paste IR symbol names from Clang. llvm-svn: 327738
* [MS] Always use base dtors in place of complete/vbase dtors when possibleReid Kleckner2018-03-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously we tried too hard to uphold the fiction that destructor variants work like they do on Itanium throughout the ABI-neutral parts of clang. This lead to MS C++ ABI incompatiblities and other bugs. Now, -mconstructor-aliases will no longer control this ABI detail, and clang -cc1's LLVM IR output will be this much closer to the clang driver's. Based on a patch by Zahira Ammarguellat: https://reviews.llvm.org/D39063 I've tried to move the logic that Zahira added into MicrosoftCXXABI.cpp. There is only one ABI-specific detail sticking out, and that is in CodeGenModule::getAddrOfCXXStructor, where we collapse complete dtors to base dtors in the MS ABI. This fixes PR32990. Reviewers: erichkeane, zahiraam, majnemer, rjmccall Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D44505 llvm-svn: 327732
* Bring r325915 back.Rafael Espindola2018-02-231-2/+2
| | | | | | | | | | | | | | | The tests that failed on a windows host have been fixed. Original message: Start setting dso_local for COFF. With this there are still some GVs where we don't set dso_local because setGVProperties is never called. I intend to fix that in followup commits. This is just the bare minimum to teach shouldAssumeDSOLocal what it should do for COFF. llvm-svn: 325940
* Revert "Start setting dso_local for COFF."Rafael Espindola2018-02-231-2/+2
| | | | | | | | This reverts commit r325915. It will take some time to fix the failures on a windows host. llvm-svn: 325929
* Start setting dso_local for COFF.Rafael Espindola2018-02-231-2/+2
| | | | | | | | | With this there are still some GVs where we don't set dso_local because setGVProperties is never called. I intend to fix that in followup commits. This is just the bare minimum to teach shouldAssumeDSOLocal what it should do for COFF. llvm-svn: 325915
* [MS ABI] Correctly mangling vbase destructorsDavid Majnemer2017-02-141-2/+2
| | | | | | | | | | | | | They are a little bit of a special case in the mangling. They are always mangled without taking into account their virtual-ness of the destructor. They are also mangled to return void, unlike the actual destructor. This fixes PR31931. Differential Revision: https://reviews.llvm.org/D29912 llvm-svn: 295010
* [WinEH] Make sure terminate handlers have funclet operandsDavid Majnemer2016-02-241-2/+2
| | | | | | | Calls to the terminate handler must be annotated within the exception region they are within. llvm-svn: 261751
* Remove -fnew-ms-ehDavid Majnemer2016-02-201-1/+1
| | | | | | This flag no longer controls any behavior inside of clang. llvm-svn: 261423
* [MS ABI] Don't rely on terminatepadDavid Majnemer2015-12-141-1/+2
| | | | | | | | | | | | | | | We'd like to remove support for terminatepad from LLVM. To do this, we need to move Clang off of it first. The intent behind terminatepad was to carefully model exception specifications for the MSVC personality. However, we don't support exception specifications for the MSVC personality and neither does MSVC. Instead, MSVC supports all-or-nothing exception specifications. We can model this limited usage using cleanuppads which call std::terminate. Differential Revision: http://reviews.llvm.org/D15478 llvm-svn: 255521
* Update clang to use the updated LLVM EH instructionsDavid Majnemer2015-12-121-25/+13
| | | | | | | | | | Depends on D15139. Reviewers: rnk Differential Revision: http://reviews.llvm.org/D15140 llvm-svn: 255423
* [WinEH] Pass the catch adjectives to catchpad directlyReid Kleckner2015-09-161-2/+2
| | | | | | | | | This avoids building a fake LLVM IR global variable just to ferry an i32 down into LLVM codegen. It also puts a nail in the coffin of using MS ABI C++ EH with landingpads, since now we'll assert in the lpad code when flags are present. llvm-svn: 247843
* clang/test/CodeGenCXX/exceptions-cxx-new.cpp: Don't assume the label "entry:".NAKAMURA Takumi2015-09-161-1/+0
| | | | | | Seems it would be redundant. llvm-svn: 247761
* Try to appease the build botsDavid Majnemer2015-09-151-15/+15
| | | | llvm-svn: 247743
* [MS ABI] Add a C++ test for -fnew-ms-ehDavid Majnemer2015-09-151-0/+89
llvm-svn: 247742
OpenPOWER on IntegriCloud