[PATCH] libstdc++: Fixing Error: invalid type argument of unary '*' (have 'int')

Jonathan Wakely jwakely@redhat.com
Wed Oct 12 11:25:16 GMT 2022


On 04/08/22 12:54 -0400, Seija Kijin wrote:
>Had an error compiling tiny-cuda-nn using gcc 12.1. With this minor
>patch, I recompiled and the build succeeded.

This looks like a bug in the cuda compiler then. The libstdc++ code is
correct.

N.B. libstdc++ patches need to be CC'd to the libstdc++ list, or they
won't get reviewed.


>No behavioral change.
>---
> libstdc++-v3/include/bits/locale_facets_nonio.tcc | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
>b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
>index 17a2c8d4486e..fc35a9e693e7 100644
>--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
>+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
>@@ -1474,8 +1474,8 @@ _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11
>       // calls.  So e.g. if __fmt is "%p %I:%M:%S", we can't handle it
>       // properly, because we first handle the %p am/pm specifier and only
>       // later the 12-hour format specifier.
>-      if ((void*)(this->*(&time_get::do_get)) == (void*)(&time_get::do_get))
>- __use_state = true;
>+      if ((void*)(this->*(&time_get::do_get)) == (&time_get::do_get))
>+        __use_state = true;
> #pragma GCC diagnostic pop
> #endif
>       __time_get_state __state = __time_get_state();



More information about the Libstdc++ mailing list