This is an archive of the discontinued LLVM Phabricator instance.

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

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

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).