summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/InstructionNamer.cpp
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2017-01-02 20:15:33 +0000
committerEric Fiselier <eric@efcs.ca>2017-01-02 20:15:33 +0000
commite9735f17e04bd5cd4cf232a733edc1d0652b9753 (patch)
treee1925d9eae48f5be6c6e0555958520fcab6b10a3 /llvm/lib/Transforms/Utils/InstructionNamer.cpp
parentaa0ec1e99207305f02f5a323221856422e81ca4c (diff)
downloadbcm5719-llvm-e9735f17e04bd5cd4cf232a733edc1d0652b9753.tar.gz
bcm5719-llvm-e9735f17e04bd5cd4cf232a733edc1d0652b9753.zip
Rework fix for PR19460 - Use explicit bool as an extension instead.
In the previous fix I used a PMF type as a semi-safe bool type in C++03. However immediately after committing I realized clang offered explicit conversion operators as an extension. This patch removes the old fix and enables _LIBCPP_EXPLICIT using __has_extension instead. This change also affects the following other classes, which have '_LIBCPP_EXPLICIT operator bool()'. * shared_ptr * unique_ptr * error_condition * basic_ios * function (already C++11 only) * istream::sentry * experimental::string_view. In all of the above cases I believe it is safe to enable the extension, except in the experimental::string_view case. There seem to be some Clang bugs affecting the experimental::string_view conversion to std::basic_string. To work around that I manually disabled _LIBCPP_EXPLICIT in that case. llvm-svn: 290831
Diffstat (limited to 'llvm/lib/Transforms/Utils/InstructionNamer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud