On Fri, 5 Jun 2020 at 06:17, Zdenek Sojka via Gcc-help <gcc-help@xxxxxxxxxxx> wrote: > > Hello, > > I've gcc x86_64-pc-linux-gnu to riscv64-unknown-linux-gnu cross-compiler > configured as: > > /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind- > annotations --disable-nls --enable-checking=yes,rtl,df,extra --with-cloog -- > with-ppl --with-isl --with-sysroot=/usr/riscv64-unknown-linux-gnu --build=x > 86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=riscv64-unknown-linux > -gnu --with-ld=/usr/bin/riscv64-unknown-linux-gnu-ld --with-as=/usr/bin/ > riscv64-unknown-linux-gnu-as --disable-multilib --disable-libstdcxx-pch -- > prefix=/repo/gcc-trunk//binary-trunk-r11-767-20200601155732-gff7da2b5d62- > checking-yes-rtl-df-extra-riscv64 > > Recently, probably since the libsanitizer master merge https://gcc.gnu.org/ > pipermail/gcc-patches/2020-June/547010.html , I am failing to build the > libsanitizer: > > libtool: compile: /repo/build-gcc-trunk-riscv64/./gcc/xgcc -shared-libgcc - > B/repo/build-gcc-trunk-riscv64/./gcc -nostdinc++ -L/repo/build-gcc-trunk- > riscv64/riscv64-unknown-linux-gnu/libstdc++-v3/src -L/repo/build-gcc-trunk- > riscv64/riscv64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/repo/build-gcc- > trunk-riscv64/riscv64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/ > repo/gcc-trunk//binary-trunk-r11-962-20200605114410-g6c6931a353a-checking- > yes-rtl-df-extra-riscv64/riscv64-unknown-linux-gnu/bin/ -B/repo/gcc-trunk// > binary-trunk-r11-962-20200605114410-g6c6931a353a-checking-yes-rtl-df-extra- > riscv64/riscv64-unknown-linux-gnu/lib/ -isystem /repo/gcc-trunk//binary- > trunk-r11-962-20200605114410-g6c6931a353a-checking-yes-rtl-df-extra-riscv64/ > riscv64-unknown-linux-gnu/include -isystem /repo/gcc-trunk//binary-trunk-r11 > -962-20200605114410-g6c6931a353a-checking-yes-rtl-df-extra-riscv64/riscv64- > unknown-linux-gnu/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_ > MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=0 - > DHAVE_TIRPC_RPC_XDR_H=0 -I. -I/repo/gcc-trunk/libsanitizer/sanitizer_common > -I.. -I /repo/gcc-trunk/libsanitizer/include -I /repo/gcc-trunk/libsanitizer > -isystem /repo/gcc-trunk/libsanitizer/include/system -Wall -W -Wno-unused- > parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno- > exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility= > hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v > 3/include/riscv64-unknown-linux-gnu -I/repo/gcc-trunk/libsanitizer/../ > libstdc++-v3/libsupc++ -std=gnu++11 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_ > DEMANGLE -I /repo/gcc-trunk/libsanitizer/../libbacktrace -I ../libbacktrace > -I /repo/gcc-trunk/libsanitizer/../include -include /repo/gcc-trunk/ > libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -D_GNU_SOURCE -MT > sanitizer_linux.lo -MD -MP -MF .deps/sanitizer_linux.Tpo -c /repo/gcc-trunk/ > libsanitizer/sanitizer_common/sanitizer_linux.cpp -fPIC -DPIC -o .libs/ > sanitizer_linux.o > /repo/gcc-trunk/libsanitizer/sanitizer_common/sanitizer_linux.cpp:1880:12: > warning: binary constants are a C++14 feature or GCC extension > 1880 | case 0b10'010: // c.lwsp (rd != x0) > | ^~~~ > /repo/gcc-trunk/libsanitizer/sanitizer_common/sanitizer_linux.cpp:1880:16: > warning: missing terminating ' character > 1880 | case 0b10'010: // c.lwsp (rd != x0) > | ^ > /repo/gcc-trunk/libsanitizer/sanitizer_common/sanitizer_linux.cpp:1880:16: > error: missing terminating ' character > 1880 | case 0b10'010: // c.lwsp (rd != x0) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > > It seems -std=gnu++11 should be replaced by -std=gnu++14 ; but since I > couldn't find anyone else reporting this issue, maybe the problem is on my > side? The single quote as a digit separator is a C++14 feature, so the libsanitizer code should not be using it.