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

--- Comment #1 from Ivan Sokolov <sugrob9000aero at gmail dot com> ---
Compiler output on example 1:

$ g++-trunk -v 
Using built-in specs.
COLLECT_GCC=/home/ivan/src/gcc/install/bin/g++
COLLECT_LTO_WRAPPER=/home/ivan/src/gcc/install/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --prefix=/home/ivan/src/gcc/install/
--disable-multilib --disable-bootstrap --enable-threads --with-cpu=native
--with-arch=native --with-tune=native --enable-languages=c,c++,lto
--enable-checking
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 17.0.0 20260913 (experimental) (GCC) 

$ g++-trunk a.cpp -fsyntax-only
a.cpp: In instantiation of ‘static constexpr I<lambda()>::_FUN() [with I =
float]’:
a.cpp:2:54:   required from ‘constexpr<lambda()>::operator I (*)()() const
[with I = float]’
    2 | float(*pfn)() = []<std::integral I>()->I { return 0; };
      |                                                      ^
a.cpp:2:17:   required from here
    2 | float(*pfn)() = []<std::integral I>()->I { return 0; };
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.cpp:2:54: error: insufficient contextual information to determine type
    2 | float(*pfn)() = []<std::integral I>()->I { return 0; };
      |                                                      ^
a.cpp:2:54: internal compiler error: in build_call_a, at cp/call.cc:373
0x2f81670 internal_error(char const*, ...)
        ../../gcc/gcc/diagnostic-global-context.cc:787
0xb7396d fancy_abort(char const*, int, char const*)
        ../../gcc/gcc/diagnostics/context.cc:1813
0x795506 build_call_a(tree_node*, int, tree_node**)
        ../../gcc/gcc/cp/call.cc:373
0xe1588b tsubst_expr(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/gcc/cp/pt.cc:22490
0xe44bef tsubst_stmt
        ../../gcc/gcc/cp/pt.cc:21064
0xe4601f tsubst_stmt
        ../../gcc/gcc/cp/pt.cc:19828
0xe45f0a tsubst_stmt
        ../../gcc/gcc/cp/pt.cc:20255
0xe4df76 tsubst_stmt
        ../../gcc/gcc/cp/pt.cc:19807
0xe4df76 instantiate_body
        ../../gcc/gcc/cp/pt.cc:28971
0xe4ed7c instantiate_decl(tree_node*, bool, bool)
        ../../gcc/gcc/cp/pt.cc:29262
0xe5977b instantiate_pending_templates(int)
        ../../gcc/gcc/cp/pt.cc:29337
0xc9e1cb c_parse_final_cleanups()
        ../../gcc/gcc/cp/decl2.cc:5882
0xf87450 c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.cc:1455
/home/ivan/src/gcc/install/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1plus
-quiet -D_GNU_SOURCE a.cpp -march=alderlake -mmmx -mpopcnt -msse -msse2 -msse3
-mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mno-sse4a -mno-fma4 -mno-xop -mfma
-mno-avx512f -mbmi -mbmi2 -maes -mpclmul -mno-avx512vl -mno-avx512bw
-mno-avx512dq -mno-avx512cd -mno-avx512vbmi -mno-avx512ifma
-mno-avx512vpopcntdq -mno-avx512vbmi2 -mgfni -mvpclmulqdq -mno-avx512vnni
-mno-avx512bitalg -mno-avx512bf16 -mno-avx512vp2intersect -mno-3dnow -madx
-mabm -mno-cldemote -mclflushopt -mclwb -mno-clzero -mcx16 -mno-enqcmd -mf16c
-mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mlzcnt -mmovbe -mmovdir64b
-mmovdiri -mno-mwaitx -mno-pconfig -mpku -mprfchw -mptwrite -mrdpid -mrdrnd
-mrdseed -mno-rtm -mserialize -mno-sgx -msha -mshstk -mno-tbm -mno-tsxldtrk
-mvaes -mwaitpkg -mno-wbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves
-mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mhreset -mno-kl
-mno-widekl -mavxvnni -mno-avx512fp16 -mno-avxifma -mno-avxvnniint8
-mno-avxneconvert -mno-cmpccxadd -mno-amx-fp16 -mno-prefetchi -mno-raoint
-mno-amx-complex -mno-avxvnniint16 -mno-sm3 -mno-sha512 -mno-sm4 -mno-apxf
-mno-usermsr -mno-avx10.1 -mno-avx10.2 -mno-amx-avx512 -mno-amx-fp8 -mno-movrs
-mno-amx-movrs -mno-avx512bmm -mno-avx10v2aux -mno-acev1 --param
l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=33792
-mtune=alderlake -quiet -dumpbase a.cpp -dumpbase-ext .cpp -fsyntax-only -o
/dev/null
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