[Bug c++/35004] New: Adding 4 more tree codes causes a crash in building libstdc++ pre-compiled headers

michael dot meissner at amd dot com gcc-bugzilla@gcc.gnu.org
Tue Jan 29 00:16:00 GMT 2008


If I add 4 more tree codes to tree.def, it causes a segmentation violation in
building libstdc++ pre-compiled header files.

Here is the patch to add 4 more tree codes:
--- gcc/tree.def.~1~    2007-11-01 11:59:47.000000000 -0400
+++ gcc/tree.def        2008-01-28 16:01:36.000000000 -0500
@@ -682,6 +682,13 @@ DEFTREECODE (RSHIFT_EXPR, "rshift_expr",
 DEFTREECODE (LROTATE_EXPR, "lrotate_expr", tcc_binary, 2)
 DEFTREECODE (RROTATE_EXPR, "rrotate_expr", tcc_binary, 2)

+/* Vector/vector shifts, where both arguments are vector types.  This is only
+   used during the expansion of shifts and rotates.  */
+DEFTREECODE (VLSHIFT_EXPR, "vlshift_expr", tcc_binary, 2)
+DEFTREECODE (VRSHIFT_EXPR, "vrshift_expr", tcc_binary, 2)
+DEFTREECODE (VLROTATE_EXPR, "vlrotate_expr", tcc_binary, 2)
+DEFTREECODE (VRROTATE_EXPR, "vrrotate_expr", tcc_binary, 2)
+
 /* Bitwise operations.  Operands have same mode as result.  */
 DEFTREECODE (BIT_IOR_EXPR, "bit_ior_expr", tcc_binary, 2)
 DEFTREECODE (BIT_XOR_EXPR, "bit_xor_expr", tcc_binary, 2)

Here is the file that segfaults:
        /data/fsf-build/bulldozer-gcc-test/./gcc/xgcc -shared-libgcc
-B/data/fsf-build/bulldozer-gcc-test/./gcc -nostdinc++
-L/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/proj/gcc/fsf-install/bulldozer-gcc-test/x86_64-unknown-linux-gnu/bin/
-B/proj/gcc/fsf-install/bulldozer-gcc-test/x86_64-unknown-linux-gnu/lib/
-isystem
/proj/gcc/fsf-install/bulldozer-gcc-test/x86_64-unknown-linux-gnu/include
-isystem
/proj/gcc/fsf-install/bulldozer-gcc-test/x86_64-unknown-linux-gnu/sys-include
-Winvalid-pch -x c++-header -g -O2   -D_GNU_SOURCE
-I/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/proj/gcc/fsf-src/bulldozer-gcc-test/libstdc++-v3/libsupc++ -O0 -g
/proj/gcc/fsf-src/bulldozer-gcc-test/libstdc++-v3/include/precompiled/stdc++.h
-o x86_64-unknown-linux-gnu/bits/stdc++.h.gch/O0g.gch
In file included from
/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray:539,
                 from
/proj/gcc/fsf-src/bulldozer-gcc-test/libstdc++-v3/include/precompiled/stdc++.h:96:
/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray:
In instantiation of ‘std::valarray<long unsigned int>’:
/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/valarray_after.h:59:
  instantiated from here
/data/fsf-build/bulldozer-gcc-test/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray:117:
internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.


-- 
           Summary: Adding 4 more tree codes causes a crash in building
                    libstdc++ pre-compiled headers
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: michael dot meissner at amd dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35004



More information about the Gcc-bugs mailing list