Page MenuHomePhabricator

Remove the -cxx-abi command-line option
ClosedPublic

Authored by hans on Jan 13 2014, 5:07 PM.

Details

Summary

This removes the -cxx-abi flag and makes the ABI depend just on the triple. It doesn't make sense to compile with "-triple i686-pc-win32 -cxx-abi itanium", so there's no need for this extra knob.

To be able to run a test with a specific ABI without constraining it to a specific triple, new substitutions are added to lit: %itanium_abi_triple and %ms_abi_triple can be used to get the current target triple adjusted to the desired ABI. For example, if the test suite is running with i686-pc-win32 target, %itanium_abi_triple will expand to i686-pc-mingw32.

Apologies for the large number of test updates. It's mostly mechanical, though :)

Diff Detail

Event Timeline

rnk accepted this revision.Jan 13 2014, 5:24 PM

LGTM with suggestions

We should probably announce on cfe-dev that -cxx-abi is gone and all you need now is the triple. Even though it was a -cc1 flag, lots of people are using it with the gcc compatible driver.

lib/Frontend/CompilerInvocation.cpp
1633 ↗(On Diff #6439)

Let's kill off this TargetOptions field and use Triple instead. There should be very few instances of code looking at this. We should keep the TargetCXXABI enum stuff.

test/lit.cfg
251 ↗(On Diff #6439)

These debug prints should go away.

hans updated this revision to Unknown Object (????).Jan 14 2014, 9:51 AM

Removing TargetOptions::CXXABI

hans closed this revision.Jan 14 2014, 11:43 AM

Closed by commit rL199250 (authored by @hans).