https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117489

            Bug ID: 117489
           Summary: ICE on x86_64-linux-gnu: in handle_call_arg, at
                    tree-ssa-structalias.cc:4226 at -O1 and above with
                    "-fno-ipa-pure-const" and no sanitize attribute
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: iamanonymous.cs at gmail dot com
  Target Milestone: ---

Compiler Explorer: https://godbolt.org/z/WbsoPKv9G

*******************************************************************************
gcc version:
Using built-in specs.
COLLECT_GCC=/home/software/gcc-trunk/bin/gcc
COLLECT_LTO_WRAPPER=/home/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/15.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --disable-bootstrap --enable-checking=yes
--prefix=/home/software/gcc-trunk --enable-sanitizers --enable-languages=c,c++
--disable-werror --enable-multilib --enable-coverage
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 15.0.0 20241107 (experimental) (GCC)

*******************************************************************************
Program:
$ cat mutant.C
class a {
  virtual a c();
};
class B {
  virtual B *d();
};
class e : a, B {
  e *__attribute__((no_sanitize("undefined"))) __attribute__((pure)) d() {
    return this;
  }
};
int main() { e b; }

*******************************************************************************
Command Lines:
$ gcc -O1 -fno-ipa-pure-const -fsanitize=undefined mutant.C
during GIMPLE pass: ealias
mutant.C: In member function 'virtual e* e::_ZTch0_h8_N1e1dEv()':
mutant.C:12:19: internal compiler error: in handle_call_arg, at
tree-ssa-structalias.cc:4226
   12 | int main() { e b; }
      |                   ^
0x5cdf4f4 internal_error(char const*, ...)
        ../../gcc/gcc/diagnostic-global-context.cc:518
0x5c807b6 fancy_abort(char const*, int, char const*)
        ../../gcc/gcc/diagnostic.cc:1696
0x2bdb65a handle_call_arg
        ../../gcc/gcc/tree-ssa-structalias.cc:4226
0x2bdc3aa handle_rhs_call
        ../../gcc/gcc/tree-ssa-structalias.cc:4423
0x2bdfaa8 find_func_aliases_for_call
        ../../gcc/gcc/tree-ssa-structalias.cc:5097
0x2be0514 find_func_aliases
        ../../gcc/gcc/tree-ssa-structalias.cc:5200
0x2bed27f compute_points_to_sets
        ../../gcc/gcc/tree-ssa-structalias.cc:7672
0x2befcba compute_may_aliases()
        ../../gcc/gcc/tree-ssa-structalias.cc:8126
0x23e210f execute_function_todo
        ../../gcc/gcc/passes.cc:2077
0x23e0250 do_per_function
        ../../gcc/gcc/passes.cc:1701
0x23e27e7 execute_todo
        ../../gcc/gcc/passes.cc:2156
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to