[PATCH] D36501: add flag to undo ABI change in r310401

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 8 19:25:33 PDT 2017


rsmith created this revision.
Herald added a subscriber: sanjoy.

This patch adds a flag `-fpass-indirect-ignore-move` that can be used to undo the ABI change in r310401, reverting Clang to its prior C++ ABI for pass/return by value of class types affected by that change.

This flag is enabled by default for PS4.

Perhaps we should consider adding a "clang ABI version" flag for this kind of thing, rather than flags for the individual settings? There are a collection of other ABI changes that a PS4 triple currently turns off in similar ad-hoc ways, and it would seem reasonable to have a more organized and disciplined way of handling them.


Repository:
  rL LLVM

https://reviews.llvm.org/D36501

Files:
  include/clang/Driver/Options.td
  include/clang/Frontend/CodeGenOptions.def
  lib/CodeGen/ItaniumCXXABI.cpp
  lib/Driver/ToolChains/Clang.cpp
  lib/Frontend/CompilerInvocation.cpp
  test/CodeGenCXX/uncopyable-args.cpp
  test/Driver/flags.c
  test/Driver/ps4-cpu-defaults.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36501.110321.patch
Type: text/x-patch
Size: 13438 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170809/d4e28154/attachment.bin>


More information about the cfe-commits mailing list