diff options
author | David L. Jones <dlj@google.com> | 2019-12-04 22:08:38 -0800 |
---|---|---|
committer | David L. Jones <dlj@google.com> | 2019-12-04 22:12:15 -0800 |
commit | 93cc9dddd82f9e971f382ade6acf6634c5914966 (patch) | |
tree | 90d0ea59b9f2c275cdbcdfe6480e64fa97b95442 /llvm/lib/CodeGen/MachineCopyPropagation.cpp | |
parent | 3882edbe191f78547445424cb20983a20b71f4cf (diff) | |
download | bcm5719-llvm-93cc9dddd82f9e971f382ade6acf6634c5914966.tar.gz bcm5719-llvm-93cc9dddd82f9e971f382ade6acf6634c5914966.zip |
Revert "Properly convert all declaration non-type template arguments when"
This reverts commit 11d10527852b4d3ed738aa90d8bec0f398160593.
This change is problematic with function pointer template parameters. For
example, building libcxxabi with futexes (-D_LIBCXXABI_USE_FUTEX) produces this
diagnostic:
In file included from .../llvm-project/libcxxabi/src/cxa_guard.cpp:15:
.../llvm-project/libcxxabi/src/cxa_guard_impl.h:416:54: error: address of function 'PlatformThreadID' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
has_thread_id_support(this->thread_id_address && GetThreadIDArg),
~~ ^~~~~~~~~~~~~~
.../llvm-project/libcxxabi/src/cxa_guard.cpp:38:26: note: in instantiation of member function '__cxxabiv1::(anonymous namespace)::InitByteFutex<&__cxxabiv1::(anonymous namespace)::PlatformFutexWait, &__cxxabiv1::(anonymous namespace)::PlatformFutexWake, &__cxxabiv1::(anonymous namespace)::PlatformThreadID>::InitByteFutex' requested here
SelectedImplementation imp(raw_guard_object);
^
.../llvm-project/libcxxabi/src/cxa_guard_impl.h:416:54: note: prefix with the address-of operator to silence this warning
has_thread_id_support(this->thread_id_address && GetThreadIDArg),
^
&
1 error generated.
The diagnostic is incorrect: adding the address-of operator also fails ("cannot
take the address of an rvalue of type 'uint32_t (*)()' (aka 'unsigned int
(*)()')").
Diffstat (limited to 'llvm/lib/CodeGen/MachineCopyPropagation.cpp')
0 files changed, 0 insertions, 0 deletions