On Thu, Jun 20, 2019 at 04:43:58PM +0000, Joseph Myers wrote: > This (commit r272486) introduces an ICE building libstdc++-v3 for > sh4-linux-gnu. > > libtool: compile: > /scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/./gcc/xgcc > -shared-libgcc > -B/scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/./gcc > -nostdinc++ > -L/scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/sh4-glibc-linux-gnu/libstdc++-v3/src > > -L/scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/sh4-glibc-linux-gnu/libstdc++-v3/src/.libs > > -L/scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/sh4-glibc-linux-gnu/libstdc++-v3/libsupc++/.libs > > -B/scratch/jmyers/glibc-bot/install/compilers/sh4-linux-gnu/sh4-glibc-linux-gnu/bin/ > > -B/scratch/jmyers/glibc-bot/install/compilers/sh4-linux-gnu/sh4-glibc-linux-gnu/lib/ > > -isystem > /scratch/jmyers/glibc-bot/install/compilers/sh4-linux-gnu/sh4-glibc-linux-gnu/include > > -isystem > /scratch/jmyers/glibc-bot/install/compilers/sh4-linux-gnu/sh4-glibc-linux-gnu/sys-include > > -I/scratch/jmyers/glibc-bot/src/gcc/libstdc++-v3/../libgcc > -I/scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/sh4-glibc-linux-gnu/libstdc++-v3/include/sh4-glibc-linux-gnu > > -I/scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/sh4-glibc-linux-gnu/libstdc++-v3/include > > -I/scratch/jmyers/glibc-bot/src/gcc/libstdc++-v3/libsupc++ > -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra -Wwrite-strings > -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections > -fdata-sections -frandom-seed=new_opa.lo -g -O2 -D_GNU_SOURCE -std=gnu++1z > -c /scratch/jmyers/glibc-bot/src/gcc/libstdc++-v3/libsupc++/new_opa.cc > -fPIC -DPIC -D_GLIBCXX_SHARED -o new_opa.o > during RTL pass: final > /scratch/jmyers/glibc-bot/src/gcc/libstdc++-v3/libsupc++/new_opa.cc: In > function 'void* operator new(std::size_t, std::align_val_t)': > /scratch/jmyers/glibc-bot/src/gcc/libstdc++-v3/libsupc++/new_opa.cc:132:1: > internal compiler error: tree check: expected identifier_node, have tree_list > in is_attribute_p, at attribs.h:155 > 132 | } > | ^ > 0x5b320d tree_check_failed(tree_node const*, char const*, int, char const*, > ...) > /scratch/jmyers/glibc-bot/src/gcc/gcc/tree.c:9899 > 0x5b3f0d tree_check(tree_node const*, char const*, int, char const*, > tree_code) > /scratch/jmyers/glibc-bot/src/gcc/gcc/tree.h:3453 > 0x5b3f0d is_attribute_p > /scratch/jmyers/glibc-bot/src/gcc/gcc/attribs.h:155 > 0x11884c3 is_attribute_p > /scratch/jmyers/glibc-bot/src/gcc/gcc/tree.h:3197 > 0x11884c3 sh2a_function_vector_p > /scratch/jmyers/glibc-bot/src/gcc/gcc/config/sh/sh.c:8649 > 0x1188527 sh_encode_section_info > /scratch/jmyers/glibc-bot/src/gcc/gcc/config/sh/sh.c:1570 > 0x1153ba8 make_decl_rtl(tree_node*) > /scratch/jmyers/glibc-bot/src/gcc/gcc/varasm.c:1524 > 0x115460c get_fnname_from_decl(tree_node*) > /scratch/jmyers/glibc-bot/src/gcc/gcc/varasm.c:1720 > 0xab2aa9 rest_of_handle_final > /scratch/jmyers/glibc-bot/src/gcc/gcc/final.c:4648 > 0xab2aa9 execute > /scratch/jmyers/glibc-bot/src/gcc/gcc/final.c:4737 > Please submit a full bug report, > with preprocessed source if appropriate. > Please include the complete backtrace with any bug report. > See <https://gcc.gnu.org/bugs/> for instructions. > Makefile:960: recipe for target 'new_opa.lo' failed > make[5]: *** [new_opa.lo] Error 1
Sorry about that. Does this patch work? 2019-06-20 Marek Polacek <pola...@redhat.com> * config/sh/sh.c (sh2a_function_vector_p): Use get_attribute_name. diff --git gcc/config/sh/sh.c gcc/config/sh/sh.c index 07d5b3c1df5..dfaeab55142 100644 --- gcc/config/sh/sh.c +++ gcc/config/sh/sh.c @@ -8646,7 +8646,7 @@ sh2a_function_vector_p (tree func) return false; for (tree list = SH_ATTRIBUTES (func); list; list = TREE_CHAIN (list)) - if (is_attribute_p ("function_vector", TREE_PURPOSE (list))) + if (is_attribute_p ("function_vector", get_attribute_name (list))) return true; return false;