Ughhh. I just fixed one exactly like this in ssa_equiv_stack. I used an auto_vec instead of new/delete, which unbeknownst to me uses slightly different nomenclature for arrays. Either way works fine.
Thanks for fixing this. Aldy On Mon, Jun 14, 2021 at 10:24 AM Martin Liška <mli...@suse.cz> wrote: > > Pushed as obvious. > > Martin > > The fixed error is: > > ==21166==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs > operator delete) on 0x60300000d900 > #0 0x7367d7 in operator delete(void*, unsigned long) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/libsanitizer/asan/asan_new_delete.cpp:172 > #1 0x3b82e6e in pointer_equiv_analyzer::~pointer_equiv_analyzer() > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/gimple-ssa-evrp.c:161 > #2 0x3b83387 in hybrid_folder::~hybrid_folder() > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/gimple-ssa-evrp.c:517 > #3 0x3b83387 in execute_early_vrp > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/gimple-ssa-evrp.c:686 > #4 0x1790611 in execute_one_pass(opt_pass*) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/passes.c:2567 > #5 0x1792003 in execute_pass_list_1 > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/passes.c:2656 > #6 0x1792029 in execute_pass_list_1 > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/passes.c:2657 > #7 0x179209f in execute_pass_list(function*, opt_pass*) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/passes.c:2667 > #8 0x178a5f3 in do_per_function_toporder(void (*)(function*, void*), > void*) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/passes.c:1773 > #9 0x1792fac in do_per_function_toporder(void (*)(function*, void*), > void*) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/plugin.h:191 > #10 0x1792fac in execute_ipa_pass_list(opt_pass*) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/passes.c:3001 > #11 0xc525fc in ipa_passes > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/cgraphunit.c:2154 > #12 0xc525fc in symbol_table::compile() > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/cgraphunit.c:2289 > #13 0xc5a096 in symbol_table::compile() > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/cgraphunit.c:2269 > #14 0xc5a096 in symbol_table::finalize_compilation_unit() > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/cgraphunit.c:2537 > #15 0x1a7a17c in compile_file > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/toplev.c:482 > #16 0x69c758 in do_compile > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/toplev.c:2210 > #17 0x69c758 in toplev::main(int, char**) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/toplev.c:2349 > #18 0x6a932a in main > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/main.c:39 > #19 0x7ffff7820b34 in __libc_start_main ../csu/libc-start.c:332 > #20 0x6aa5fd in _start > (/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/objdir/gcc/cc1+0x6aa5fd) > > 0x60300000d900 is located 0 bytes inside of 32-byte region > [0x60300000d900,0x60300000d920) > allocated by thread T0 here: > #0 0x735ab7 in operator new[](unsigned long) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/libsanitizer/asan/asan_new_delete.cpp:102 > #1 0x3b82dac in > pointer_equiv_analyzer::pointer_equiv_analyzer(gimple_ranger*) > /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-asan/build/gcc/gimple-ssa-evrp.c:156 > > gcc/ChangeLog: > > * gimple-ssa-evrp.c > (pointer_equiv_analyzer::~pointer_equiv_analyzer): Use delete[]. > --- > gcc/gimple-ssa-evrp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/gimple-ssa-evrp.c b/gcc/gimple-ssa-evrp.c > index eb8320ae9d8..61de5013d6d 100644 > --- a/gcc/gimple-ssa-evrp.c > +++ b/gcc/gimple-ssa-evrp.c > @@ -158,7 +158,7 @@ pointer_equiv_analyzer::pointer_equiv_analyzer > (gimple_ranger *r) > > pointer_equiv_analyzer::~pointer_equiv_analyzer () > { > - delete m_global_points; > + delete[] m_global_points; > } > > // Set the global pointer equivalency for SSA to POINTEE. > -- > 2.32.0 >