libstdc++: Include <typeinfo> even for -fno-rtti [PR 97758]
authorJonathan Wakely <jwakely@redhat.com>
Mon, 9 Nov 2020 10:09:51 +0000 (10:09 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 9 Nov 2020 14:28:37 +0000 (14:28 +0000)
The std::function code now uses std::type_info* even when RTTI is
disabled, so it should include <typeinfo> unconditionally. Without this,
Clang can't compile <functional> with -fno-rtti (it works with GCC
because std::type_info gets declared automatically by the compiler).

libstdc++-v3/ChangeLog:

PR libstdc++/97758
* include/bits/std_function.h [!__cpp_rtti]: Include <typeinfo>.

libstdc++-v3/include/bits/std_function.h

index 054d9cbbf02b57e9d190a13f0aa8580d01e4223f..1788b882a8aa87351caa6d45a0c32ef4bc893762 100644 (file)
@@ -36,9 +36,7 @@
 # include <bits/c++0x_warning.h>
 #else
 
-#if __cpp_rtti
-# include <typeinfo>
-#endif
+#include <typeinfo>
 #include <bits/stl_function.h>
 #include <bits/invoke.h>
 #include <bits/refwrap.h>