https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82178
Bug ID: 82178 Summary: bootstrap fails on ppc64 for --enable-symvers=gnu-versioned-namespace Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: build Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Target Milestone: --- Target: powerpc*-*-linux* Making all in include make[4]: Entering directory `/home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include' mkdir -p ./powerpc64le-unknown-linux-gnu/bits/stdc++.h.gch /home/jwakely/build-v8/./gcc/xgcc -shared-libgcc -B/home/jwakely/build-v8/./gcc -nostdinc++ -L/home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/src -L/home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/src/.libs -L/home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/usr/local/powerpc64le-unknown-linux-gnu/bin/ -B/usr/local/powerpc64le-unknown-linux-gnu/lib/ -isystem /usr/local/powerpc64le-unknown-linux-gnu/include -isystem /usr/local/powerpc64le-unknown-linux-gnu/sys-include -x c++-header -nostdinc++ -g -O2 -D_GNU_SOURCE -I/home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu -I/home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include -I/home/jwakely/src/gcc/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /home/jwakely/src/gcc/libstdc++-v3/include/precompiled/stdc++.h \ -o powerpc64le-unknown-linux-gnu/bits/stdc++.h.gch/O2ggnu++0x.gch In file included from /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h:2651:0, from /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h:37, from /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ios:44, from /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/istream:38, from /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/sstream:38, from /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/complex:45, from /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ccomplex:39, from /home/jwakely/src/gcc/libstdc++-v3/include/precompiled/stdc++.h:52: /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1310:11: error: ‘num_put’ is not a template function const num_put<char>& ^~~~~~~ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1310:18: error: expected ‘;’ before ‘<’ token const num_put<char>& ^ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1314:11: error: ‘num_get’ is not a template function const num_get<char>& ^~~~~~~ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1314:18: error: expected ‘;’ before ‘<’ token const num_get<char>& ^ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1327:15: error: ‘num_put’ was not declared in this scope has_facet<num_put<char> >(const locale&); ^~~~~~~ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1327:15: note: suggested alternative: ‘time_put’ has_facet<num_put<char> >(const locale&); ^~~~~~~ time_put /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1327:5: error: parse error in template argument list has_facet<num_put<char> >(const locale&); ^~~~~~~~~~~~~~~~~~~~~~~ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1327:5: error: template-id ‘has_facet<<expression error> >’ used as a declarator /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1327:5: error: ‘std::__8::has_facet(const std::__8::locale&)’ is not a variable template /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1327:29: error: expected ‘;’ before ‘>’ token has_facet<num_put<char> >(const locale&); ^ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1331:15: error: ‘num_get’ was not declared in this scope has_facet<num_get<char> >(const locale&); ^~~~~~~ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1331:15: note: suggested alternative: ‘time_get’ has_facet<num_get<char> >(const locale&); ^~~~~~~ time_get /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1331:5: error: parse error in template argument list has_facet<num_get<char> >(const locale&); ^~~~~~~~~~~~~~~~~~~~~~~ /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1331:5: error: template-id ‘has_facet<<expression error> >’ used as a declarator /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1331:5: error: ‘std::__8::has_facet(const std::__8::locale&)’ is not a variable template /home/jwakely/build-v8/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:1331:29: error: expected ‘;’ before ‘>’ token has_facet<num_get<char> >(const locale&); ^ (and lots more errors for money_get and money_put as well). This fails as far back as gcc 4.8 (I didn't try earlier) so doesn't seem to be a regression. I didn't check, but based on configure.ac it probably also fails on 64-bit {sparc,s390,alpha}*-*-linux* targets too. Rather than fixing it on trunk, I think we can just drop the ldbl compat symbols for the versioned namespace build, since backwards compatibility is an explicit non-goal of that configuration.