Dies somewhere deep in template instantiation, but only when -O2 is turned on. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - command invoked: g++-4 -v -Iutil -IObject -I. -O2 --save-temps Object/art_object_expr_gcc41death.cc -o Object/art_object_expr_gcc41death.o - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g++ output: Using built-in specs. Target: powerpc-apple-darwin7 Configured with: ../configure --prefix=/sw --prefix=/sw/lib/gcc4 --enable-languages=c,c++,f95,objc --infodir=/share/info --with-gmp=/sw --with-included-gettext --host=powerpc-apple-darwin7 --with-as=/sw/lib/odcctools/bin/as --with-ld=/sw/lib/odcctools/bin/ld Thread model: posix gcc version 4.1.0 20050417 (experimental) /sw/lib/gcc4/libexec/gcc/powerpc-apple-darwin7/4.1.0/cc1plus -E -quiet -v -Iutil -IObject -I. -D__DYNAMIC__ -D__APPLE_CC__=1 Object/art_object_expr_gcc41death.cc -fPIC -O2 -fpch-preprocess -o art_object_expr_gcc41death.ii ignoring nonexistent directory "/sw/lib/gcc4/lib/gcc/powerpc-apple-darwin7/4.1.0/../../../../powerpc-apple-darwin7/include" #include "..." search starts here: #include <...> search starts here: util Object . /sw/lib/gcc4/lib/gcc/powerpc-apple-darwin7/4.1.0/../../../../include/c++/4. 1.0 /sw/lib/gcc4/lib/gcc/powerpc-apple-darwin7/4.1.0/../../../../include/c++/4. 1.0/powerpc-apple-darwin7 /sw/lib/gcc4/lib/gcc/powerpc-apple-darwin7/4.1.0/../../../../include/c++/4. 1.0/backward /usr/local/include /sw/lib/gcc4/include /sw/lib/gcc4/lib/gcc/powerpc-apple-darwin7/4.1.0/include /usr/include /System/Library/Frameworks /Library/Frameworks End of search list. /sw/lib/gcc4/libexec/gcc/powerpc-apple-darwin7/4.1.0/cc1plus -fpreprocessed art_object_expr_gcc41death.ii -fPIC -quiet -dumpbase art_object_expr_gcc41death.cc -auxbase art_object_expr_gcc41death -O2 -version -o art_object_expr_gcc41death.s GNU C++ version 4.1.0 20050417 (experimental) (powerpc-apple-darwin7) compiled by GNU C version 3.3 20030304 (Apple Computer, Inc. build 1640). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 util/persistent_object_manager_gcc41death.tcc: In member function 'util::persistent_object_manager::visit_info* util::persistent_object_manager::__read_pointer(std::istream&, const P&, util::memory::shared_owner_pointer_tag) const [with P = util::memory::count_ptr<ART::entity::index_expr>]': util/persistent_object_manager_gcc41death.tcc:84: internal compiler error: in compare_values, at tree-vrp.c:292 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - remarks: 1) known to work with 4.0.0 (release), 3.4.x, 3.3.x 2) works for g++ (4.1-20050417) when -O2 is changed to -O1 Took hours to reduce to this test case. May try to reduce further with more time... First test-case attachment follows...
Created attachment 8739 [details] test-case causing ICE
This was just fixed 6 hours ago. This is a dup of bug 21188. The problem relates to dynamic_cast. *** This bug has been marked as a duplicate of 21188 ***
Damn, you guys are fast! I just checked for this bug on bugzilla *yesterday*, and it didn't show up then. In the 'sliver' of time between when I discovered it, and when I submitted a prepared report today, someone else reported it, it was resolved, and it was FIXED (6 hrs ago). Now THAT's service. Cheers!
Created attachment 8974 [details] Triggers same assert in compare_values I have just checked out the tip of the gcc mainline as at Thu May 26 20:18 UTC 2005, created a combined cross compiler hosted on i386-elf-linux and targetted at arm-elf, and compiled this fragment at got this error. /usr/local/bin/arm-elf-gcc --verbose --help 2>&1 | head Using built-in specs. Target: arm-elf Configured with: ../combined/configure --target=arm-elf --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib Thread model: single gcc version 4.1.0 20050526 (experimental) Running... /usr/local/libexec/gcc/arm-elf/4.1.0/cc1 -fpreprocessed /home/johnc/tmp/bug.i -dumpbase bug.i -auxbase bug -Os -std=c9x -v -o /home/johnc/tmp/bug.s Gives me the output... + /usr/local/libexec/gcc/arm-elf/4.1.0/cc1 -fpreprocessed /home/johnc/tmp/bug.i -dumpbase bug.i -auxbase bug -Os -std=c9x -v -o /home/johnc/tmp/bug.s ignoring nonexistent directory "/usr/local/lib/gcc/arm-elf/4.1.0/../../../../arm-elf/sys-include" #include "..." search starts here: #include <...> search starts here: /usr/local/lib/gcc/arm-elf/4.1.0/include /usr/local/lib/gcc/arm-elf/4.1.0/../../../../arm-elf/include End of search list. strcoll dsdblm_CreateBlock /home/johnc/tmp/bug.i: In function 'dsdblm_CreateBlock': /home/johnc/tmp/bug.i:201: warning: comparison between pointer and integer dsdblm_WriteBlock Analyzing compilation unitPerforming intraprocedural optimizations Assembling functions: dsdblm_CreateBlock /home/johnc/tmp/bug.i: In function 'dsdblm_CreateBlock': /home/johnc/tmp/bug.i:196: internal compiler error: in compare_values, at tree-vrp.c:301 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Running it in gdb, and putting a breakpoint on fancy_abort I get the following backtrace... #0 fancy_abort (file=0x12d <Address 0x12d out of bounds>, line=0, function=0x12d <Address 0x12d out of bounds>) at ../../combined/gcc/diagnostic.c:588 #1 0x08392f38 in compare_values (val1=0xb7f19640, val2=0xb7d4f9a8) at ../../combined/gcc/tree-vrp.c:410 #2 0x08394d3d in compare_range_with_value (comp=LE_EXPR, vr=0xb7d368c4, val=0xb7d4f9a8) at ../../combined/gcc/tree-vrp.c:1234 #3 0x083972e4 in vrp_evaluate_conditional (cond=0xb7cd6798) at ../../combined/gcc/tree-vrp.c:1992 #4 0x083974a5 in vrp_visit_cond_stmt (stmt=0xb7cdc168, taken_edge_p=0xbfa2d830) at ../../combined/gcc/tree-vrp.c:2044 #5 0x0839795f in vrp_visit_stmt (stmt=0xb7cdc168, taken_edge_p=0x12d, output_p=0x12d) at ../../combined/gcc/tree-vrp.c:2089 #6 0x081648a1 in simulate_stmt (stmt=0xb7cdc168) at ../../combined/gcc/tree-ssa-propagate.c:302 #7 0x08164d36 in simulate_block (block=0xb7d52870) at ../../combined/gcc/tree-ssa-propagate.c:425 #8 0x08165f1d in ssa_propagate (visit_stmt=0x12d, visit_phi=0x12d) at ../../combined/gcc/tree-ssa-propagate.c:667 #9 0x083989a6 in execute_vrp () at ../../combined/gcc/tree-vrp.c:2383 #10 0x080d4b62 in execute_one_pass (pass=0x85069c0) at ../../combined/gcc/tree-optimize.c:620 #11 0x080d4c88 in execute_pass_list (pass=0x85069c0) at ../../combined/gcc/tree-optimize.c:657 #12 0x080d4ca8 in execute_pass_list (pass=0x8504780) at ../../combined/gcc/tree-optimize.c:658 #13 0x080d4f68 in tree_rest_of_compilation (fndecl=0xb7d512f4) at ../../combined/gcc/tree-optimize.c:790 #14 0x0805d2cd in c_expand_body (fndecl=0xb7d512f4) at ../../combined/gcc/c-decl.c:6568 #15 0x083bc25a in cgraph_expand_function (node=0xb7d518dc) at ../../combined/gcc/cgraphunit.c:974 #16 0x083bc42b in cgraph_expand_all_functions () at ../../combined/gcc/cgraphunit.c:1038 #17 0x083bc6fa in cgraph_optimize () at ../../combined/gcc/cgraphunit.c:1140 #18 0x0835da06 in compile_file () at ../../combined/gcc/toplev.c:1008 #19 0x0835efcb in do_compile () at ../../combined/gcc/toplev.c:2118 #20 0x0835f045 in toplev_main (argc=301, argv=0xbfa2db44) at ../../combined/gcc/toplev.c:2150 #21 0x080b0eab in main (argc=301, argv=0x12d) at ../../combined/gcc/main.c:35 If I go up one level from fancy_abort into compare_values and print *val1 and *val2 I get... (gdb) p *val1 $1 = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, int_cst = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, int_cst = { low = 3084194980, high = 7 } }, real_cst = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, real_cst_ptr = 0xb7d514a4 }, vector = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, elements = 0xb7d514a4 }, string = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, length = -1210772316, str = "\a" }, complex = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, real = 0xb7d514a4, imag = 0x7 }, identifier = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, id = { str = 0xb7d514a4 "", len = 7, hash_value = 0 } }, decl = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, locus = { file = 0xb7d514a4 "", line = 7 }, uid = 0, size = 0x0, mode = 148, external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0, inline_flag = 1, bit_field_flag = 0, virtual_flag = 1, ignored_flag = 1, abstract_flag = 0, in_system_header_flag = 1, common_flag = 1, defer_output = 0, transparent_union = 0, static_ctor_flag = 1, static_dtor_flag = 0, artificial_flag = 1, weak_flag = 1, non_addr_const_p = 1, no_instrument_function_entry_exit = 1, comdat_flag = 1, malloc_flag = 0, no_limit_stack = 1, built_in_class = BUILT_IN_FRONTEND, pure_flag = 1, non_addressable = 0, user_align = 0, uninlinable = 0, thread_local_flag = 0, declared_inline_flag = 0, visibility = VISIBILITY_DEFAULT, visibility_specified = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, lang_flag_7 = 0, possibly_inlined = 0, preserve_flag = 0, gimple_formal_temp = 0, debug_expr_is_from = 0, returns_twice_flag = 0, seen_in_bind_expr = 0, novops_flag = 0, u1 = { f = 3083753656, i = -1211213640, a = { align = 13523128, off_align = 183 } }, size_unit = 0xb7ce58b8, name = 0xb7f19640, context = 0x0, arguments = 0xafafafaf, result = 0xafafafaf, initial = 0xb7cd672c, abstract_origin = 0xb7d4ddec, assembler_name = 0x0, section_name = 0x8000008b, attributes = 0xb7d514a4, rtl = 0x8, u2 = { f = 0x0, r = 0x0, t = 0x0, i = 0 }, saved_tree = 0x0, vindex = 0xb7d368c4, pointer_alias_set = 0, lang_specific = 0xb7ce58cc }, type = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, values = 0xb7d514a4, size = 0x7, size_unit = 0x0, attributes = 0x0, uid = 3084085396, precision = 0, mode = VOIDmode, string_flag = 0, no_force_blk_flag = 0, needs_constructing_flag = 0, transparent_union_flag = 0, packed_flag = 0, restrict_flag = 0, contains_placeholder_bits = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, user_align = 0, align = 3083753656, pointer_to = 0xb7ce58b8, reference_to = 0xb7f19640, symtab = { address = 0, pointer = 0x0, die = 0x0 }, name = 0xafafafaf, minval = 0xafafafaf, maxval = 0xb7cd672c, next_variant = 0xb7d4ddec, main_variant = 0x0, binfo = 0x8000008b, context = 0xb7d514a4, alias_set = 8, lang_specific = 0x0 }, list = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, purpose = 0xb7d514a4, value = 0x7 }, vec = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, length = -1210772316, a = {0x7} }, exp = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, locus = 0xb7d514a4, complexity = 7, block = 0x0, operands = {0x0} }, ssa_name = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, var = 0xb7d514a4, version = 7, ptr_info = 0x0, value_handle = 0x0, value_range = 0xb7d36894, aux = 0x0, imm_uses = { prev = 0xb7ce58b8, next = 0xb7ce58b8, stmt = 0xb7f19640, use = 0x0 } }, phi = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, result = 0xb7d514a4, num_args = 7, capacity = 0, bb = 0x0, a = {{ imm_use = { prev = 0xb7d36894, next = 0x0, stmt = 0xb7ce58b8, use = 0xb7ce58b8 }, def = 0xb7f19640, nonzero = 0 '\0' }} }, block = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, handler_block_flag = 0, abstract_flag = 0, block_num = 771048745, vars = 0x7, subblocks = 0x0, supercontext = 0x0, abstract_origin = 0xb7d36894, fragment_origin = 0x0, fragment_chain = 0xb7ce58b8 }, binfo = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, offset = 0xb7d514a4, vtable = 0x7, virtuals = 0x0, vptr_field = 0x0, base_accesses = 0xb7d36894, inheritance = 0x0, vtt_subvtt = 0xb7ce58b8, vtt_vptr = 0xb7ce58b8, base_binfos = { base = { num = 3086063168, alloc = 0, vec = {0xafafafaf} } } }, stmt_list = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, head = 0xb7d514a4, tail = 0x7 }, value_handle = { common = { chain = 0xb7cd6894, type = 0xb7d4ddec, ann = 0x0, code = SSA_NAME, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 1 }, expr_set = 0xb7d514a4, id = 7 } } (gdb) p *val2 $2 = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, int_cst = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, int_cst = { low = 131071, high = 0 } }, real_cst = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, real_cst_ptr = 0x1ffff }, vector = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, elements = 0x1ffff }, string = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, length = 131071, str = "" }, complex = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, real = 0x1ffff, imag = 0x0 }, identifier = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, id = { str = 0x1ffff <Address 0x1ffff out of bounds>, len = 0, hash_value = 0 } }, decl = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, locus = { file = 0x1ffff <Address 0x1ffff out of bounds>, line = 0 }, uid = 0, size = 0xb7cd71b0, mode = VOIDmode, external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0, inline_flag = 0, bit_field_flag = 0, virtual_flag = 0, ignored_flag = 0, abstract_flag = 0, in_system_header_flag = 0, common_flag = 0, defer_output = 0, transparent_union = 0, static_ctor_flag = 0, static_dtor_flag = 0, artificial_flag = 0, weak_flag = 0, non_addr_const_p = 0, no_instrument_function_entry_exit = 0, comdat_flag = 0, malloc_flag = 0, no_limit_stack = 0, built_in_class = NOT_BUILT_IN, pure_flag = 0, non_addressable = 1, user_align = 1, uninlinable = 1, thread_local_flag = 0, declared_inline_flag = 1, visibility = VISIBILITY_DEFAULT, visibility_specified = 0, lang_flag_0 = 0, lang_flag_1 = 1, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, lang_flag_7 = 0, possibly_inlined = 0, preserve_flag = 0, gimple_formal_temp = 0, debug_expr_is_from = 0, returns_twice_flag = 0, seen_in_bind_expr = 0, novops_flag = 0, u1 = { f = 4294967292, i = -4, a = { align = 16777212, off_align = 255 } }, size_unit = 0xffffffff, name = 0xb7d4f9f0, context = 0x0, arguments = 0x0, result = 0x2, initial = 0x0, abstract_origin = 0xb7cd4220, assembler_name = 0xb7d4fa20, section_name = 0x0, attributes = 0x0, rtl = 0x2, u2 = { f = 0x0, r = 0x0, t = 0x0, i = 0 }, saved_tree = 0xb7cd4240, vindex = 0x0, pointer_alias_set = -1211272028, lang_specific = 0x0 }, type = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, values = 0x1ffff, size = 0x0, size_unit = 0x0, attributes = 0xb7cd71b0, uid = 0, precision = 23, mode = BLKmode, string_flag = 0, no_force_blk_flag = 0, needs_constructing_flag = 0, transparent_union_flag = 0, packed_flag = 0, restrict_flag = 0, contains_placeholder_bits = 2, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, user_align = 0, align = 4294967292, pointer_to = 0xffffffff, reference_to = 0xb7d4f9f0, symtab = { address = 0, pointer = 0x0, die = 0x0 }, name = 0x0, minval = 0x2, maxval = 0x0, next_variant = 0xb7cd4220, main_variant = 0xb7d4fa20, binfo = 0x0, context = 0x0, alias_set = 2, lang_specific = 0x0 }, list = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, purpose = 0x1ffff, value = 0x0 }, vec = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, length = 131071, a = {0x0} }, exp = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, locus = 0x1ffff, complexity = 0, block = 0x0, operands = {0xb7cd71b0} }, ssa_name = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, var = 0x1ffff, version = 0, ptr_info = 0x0, value_handle = 0xb7cd71b0, value_range = 0x0, aux = 0x800217, imm_uses = { prev = 0xfffffffc, next = 0xffffffff, stmt = 0xb7d4f9f0, use = 0x0 } }, phi = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, result = 0x1ffff, num_args = 0, capacity = 0, bb = 0xb7cd71b0, a = {{ imm_use = { prev = 0x0, next = 0x800217, stmt = 0xfffffffc, use = 0xffffffff }, def = 0xb7d4f9f0, nonzero = 0 '\0' }} }, block = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, handler_block_flag = 1, abstract_flag = 1, block_num = 32767, vars = 0x0, subblocks = 0x0, supercontext = 0xb7cd71b0, abstract_origin = 0x0, fragment_origin = 0x800217, fragment_chain = 0xfffffffc }, binfo = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, offset = 0x1ffff, vtable = 0x0, virtuals = 0x0, vptr_field = 0xb7cd71b0, base_accesses = 0x0, inheritance = 0x800217, vtt_subvtt = 0xfffffffc, vtt_vptr = 0xffffffff, base_binfos = { base = { num = 3084188144, alloc = 0, vec = {0x0} } } }, stmt_list = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, head = 0x1ffff, tail = 0x0 }, value_handle = { common = { chain = 0x0, type = 0xb7ce457c, ann = 0x0, code = INTEGER_CST, side_effects_flag = 0, constant_flag = 1, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, invariant_flag = 1, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0 }, expr_set = 0x1ffff, id = 0 } }