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

            Bug ID: 90003
           Summary: internal compiler error: in tsubst_decl, at
                    cp/pt.c:13783
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rene.r...@fu-berlin.de
  Target Milestone: ---

Created attachment 46096
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46096&action=edit
preprocessed source file

I've got an ICE when compiling with gcc-9 [GNU C++17 (FreeBSD Ports Collection)
version 9.0.1 20190303]

In the following you see the compiler output. I attached the preprocessed file.

Using built-in specs.
COLLECT_GCC=/usr/local/bin/g++9
Target: x86_64-portbld-freebsd12.0
Configured with:
/wrkdirs/usr/ports/lang/gcc9-devel/work/gcc-9-20190303/configure
--with-build-config=bootstrap-debug --disable-nls
--enable-gnu-indirect-function --l$
bdir=/usr/local/lib/gcc9 --libexecdir=/usr/local/libexec/gcc9
--program-suffix=9 --with-as=/usr/local/bin/as --with-gmp=/usr/local
--with-gxx-include-dir=/usr/local/l$
b/gcc9/include/c++/ --with-ld=/usr/local/bin/ld --with-pkgversion='FreeBSD
Ports Collection' --with-system-zlib --enable-languages=c,c++,objc,fortran
--prefix=/usr/loc
al --localstatedir=/var --mandir=/usr/local/man
--infodir=/usr/local/share/info/gcc9 --build=x86_64-portbld-freebsd12.0
Thread model: posix
gcc version 9.0.1 20190303 (experimental) (FreeBSD Ports Collection)
COLLECT_GCC_OPTIONS='-D' 'SEQAN3_HAS_BZIP2=1' '-D' 'SEQAN3_HAS_ZLIB=1' '-I'
'/home/mi/rmaerker/workspace/build/seqan3-unit/vendor/googletest/googletest/include'
'-I' '
/home/mi/rmaerker/workspace/seqan3/test/include' '-I'
'/home/mi/rmaerker/workspace/seqan3/include' '-isystem'
'/home/mi/rmaerker/workspace/seqan3/submodules/sdsl-lite/
include' '-isystem'
'/home/mi/rmaerker/workspace/seqan3/submodules/range-v3/include' '-isystem'
'/home/mi/rmaerker/workspace/seqan3/submodules/lemon/include' '-isystem
' '/home/mi/rmaerker/workspace/seqan3/submodules/cereal/include' '-std=c++2a'
'-g' '-Wpedantic' '-Wall' '-Wextra' '-save-temps' '-v' '-Werror' '-fconcepts'
'-v' '-o' '
CMakeFiles/global_affine_unbanded_test.dir/global_affine_unbanded_test.cpp.o'
'-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/local/libexec/gcc9/gcc/x86_64-portbld-freebsd12.0/9.0.1/cc1plus -E -quiet
-v -v -I
/home/mi/rmaerker/workspace/build/seqan3-unit/vendor/googletest/googletest/inc
lude -I /home/mi/rmaerker/workspace/seqan3/test/include -I
/home/mi/rmaerker/workspace/seqan3/include -D SEQAN3_HAS_BZIP2=1 -D
SEQAN3_HAS_ZLIB=1 -isystem /home/mi/rmae
rker/workspace/seqan3/submodules/sdsl-lite/include -isystem
/home/mi/rmaerker/workspace/seqan3/submodules/range-v3/include -isystem
/home/mi/rmaerker/workspace/seqan3/
submodules/lemon/include -isystem
/home/mi/rmaerker/workspace/seqan3/submodules/cereal/include
/home/mi/rmaerker/workspace/seqan3/test/unit/alignment/pairwise/global_a
ffine_unbanded_test.cpp -mtune=generic -march=x86-64 -std=c++2a -Wpedantic
-Wall -Wextra -Werror -fconcepts -g -fworking-directory -fpch-preprocess -o
global_affine_un
banded_test.ii
ignoring nonexistent directory
"/usr/local/lib/gcc9/gcc/x86_64-portbld-freebsd12.0/9.0.1/include-fixed"
ignoring nonexistent directory
"/usr/local/lib/gcc9/gcc/x86_64-portbld-freebsd12.0/9.0.1/../../../../../x86_64-portbld-freebsd12.0/include"
#include "..." search starts here:
#include <...> search starts here:

/home/mi/rmaerker/workspace/build/seqan3-unit/vendor/googletest/googletest/include
 /home/mi/rmaerker/workspace/seqan3/test/include
 /home/mi/rmaerker/workspace/seqan3/include
 /home/mi/rmaerker/workspace/seqan3/submodules/sdsl-lite/include
 /home/mi/rmaerker/workspace/seqan3/submodules/range-v3/include
 /home/mi/rmaerker/workspace/seqan3/submodules/lemon/include
/home/mi/rmaerker/workspace/seqan3/submodules/cereal/include                   
                                                                            
[25/1229]
 /usr/local/lib/gcc9/include/c++/
 /usr/local/lib/gcc9/include/c++//x86_64-portbld-freebsd12.0
 /usr/local/lib/gcc9/include/c++//backward
 /usr/local/lib/gcc9/gcc/x86_64-portbld-freebsd12.0/9.0.1/include
 /usr/local/include
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-D' 'SEQAN3_HAS_BZIP2=1' '-D' 'SEQAN3_HAS_ZLIB=1' '-I'
'/home/mi/rmaerker/workspace/build/seqan3-unit/vendor/googletest/googletest/include'
'-I' $
/home/mi/rmaerker/workspace/seqan3/test/include' '-I'
'/home/mi/rmaerker/workspace/seqan3/include' '-isystem'
'/home/mi/rmaerker/workspace/seqan3/submodules/sdsl-lite$
include' '-isystem'
'/home/mi/rmaerker/workspace/seqan3/submodules/range-v3/include' '-isystem'
'/home/mi/rmaerker/workspace/seqan3/submodules/lemon/include' '-isyste$
' '/home/mi/rmaerker/workspace/seqan3/submodules/cereal/include' '-std=c++2a'
'-g' '-Wpedantic' '-Wall' '-Wextra' '-save-temps' '-v' '-Werror' '-fconcepts'
'-v' '-o' $
CMakeFiles/global_affine_unbanded_test.dir/global_affine_unbanded_test.cpp.o'
'-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/local/libexec/gcc9/gcc/x86_64-portbld-freebsd12.0/9.0.1/cc1plus
-fpreprocessed global_affine_unbanded_test.ii -quiet -dumpbase
global_affine_unbanded_test.cpp -$
tune=generic -march=x86-64 -auxbase-strip
CMakeFiles/global_affine_unbanded_test.dir/global_affine_unbanded_test.cpp.o -g
-Wpedantic -Wall -Wextra -Werror -std=c++2a $
version -fconcepts -o global_affine_unbanded_test.s
GNU C++17 (FreeBSD Ports Collection) version 9.0.1 20190303 (experimental)
(x86_64-portbld-freebsd12.0)
        compiled by GNU C version 9.0.1 20190303 (experimental), GMP version
6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version none
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++17 (FreeBSD Ports Collection) version 9.0.1 20190303 (experimental)
(x86_64-portbld-freebsd12.0)
        compiled by GNU C version 9.0.1 20190303 (experimental), GMP version
6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version none
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: ff74f51a023eb9ca9c177d545bd91205
In file included from
/home/mi/rmaerker/workspace/seqan3/include/seqan3/alignment/pairwise/align_pairwise.hpp:24,
                 from
/home/mi/rmaerker/workspace/seqan3/test/unit/alignment/pairwise/global_affine_unbanded_test.cpp:13:
/home/mi/rmaerker/workspace/seqan3/include/seqan3/alignment/pairwise/alignment_configurator.hpp:
In instantiation of 'seqan3::detail::alignment_configurator::c[0/1229]
_edit_distance(const config_t&) [with function_wrapper_t =
std::function<seqan3::alignment_result<seqan3::detail::alignment_result_value_type<unsigned
int, int, seqan3
::alignment_coordinate, seqan3::alignment_coordinate>
>(std::vector<seqan3::dna4>&, std::vector<seqan3::dna4>&)>; config_t =
seqan3::configuration<seqan3::align_cfg::$
ode<seqan3::detail::global_alignment_type>,
seqan3::align_cfg::gap<seqan3::gap_scheme<signed char> >,
seqan3::align_cfg::aligned_ends<seqan3::end_gaps<seqan3::front_e$
d_first<std::integral_constant<bool, true> >,
seqan3::back_end_first<std::integral_constant<bool, true> >,
seqan3::front_end_second<std::integral_constant<bool, false$
 >, seqan3::back_end_second<std::integral_constant<bool, false> > > >,
seqan3::align_cfg::scoring<seqan3::nucleotide_scoring_scheme<signed char> >,
seqan3::align_cfg:$
result<seqan3::detail::with_front_coordinate_type> >]::<lambda(auto:36)> [with
auto:36 = std::integral_constant<bool, true>]':
/home/mi/rmaerker/workspace/seqan3/include/seqan3/alignment/pairwise/alignment_configurator.hpp:400:42:
  required from 'static constexpr function_wrapper_t seqan3::d$
tail::alignment_configurator::configure_edit_distance(const config_t&) [with
function_wrapper_t =
std::function<seqan3::alignment_result<seqan3::detail::alignment_res$
lt_value_type<unsigned int, int, seqan3::alignment_coordinate,
seqan3::alignment_coordinate> >(std::vector<seqan3::dna4>&,
std::vector<seqan3::dna4>&)>; config_t = se$
an3::configuration<seqan3::align_cfg::mode<seqan3::detail::global_alignment_type>,
seqan3::align_cfg::gap<seqan3::gap_scheme<signed char> >,
seqan3::align_cfg::aligne$
_ends<seqan3::end_gaps<seqan3::front_end_first<std::integral_constant<bool,
true> >, seqan3::back_end_first<std::integral_constant<bool, true> >,
seqan3::front_end_se$
ond<std::integral_constant<bool, false> >,
seqan3::back_end_second<std::integral_constant<bool, false> > > >,
seqan3::align_cfg::scoring<seqan3::nucleotide_scoring_sc$
eme<signed char> >,
seqan3::align_cfg::result<seqan3::detail::with_front_coordinate_type> >]'
/home/mi/rmaerker/workspace/seqan3/include/seqan3/alignment/pairwise/alignment_configurator.hpp:324:75:
  required from 'static constexpr auto seqan3::detail::alignme$
t_configurator::configure(const config_t&) [with sequences_t =
ranges::single_view<std::tuple<std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> >&, std::vector<s$
qan3::dna4, std::allocator<seqan3::dna4> >&> >; config_t =
seqan3::configuration<seqan3::align_cfg::mode<seqan3::detail::global_alignment_type>,
seqan3::align_cfg::ga$
<seqan3::gap_scheme<signed char> >,
seqan3::align_cfg::aligned_ends<seqan3::end_gaps<seqan3::front_end_first<std::integral_constant<bool,
true> >, seqan3::back_end_fi$
st<std::integral_constant<bool, true> >,
seqan3::front_end_second<std::integral_constant<bool, false> >,
seqan3::back_end_second<std::integral_constant<bool, false> >
> >, seqan3::align_cfg::scoring<seqan3::nucleotide_scoring_scheme<signed char> 
> >>, seqan3::align_cfg::result<seqan3::detail::with_front_coordinate_type> >]'
/home/mi/rmaerker/workspace/seqan3/include/seqan3/alignment/pairwise/align_pairwise.hpp:149:80:
  required from 'constexpr auto seqan3::align_pairwise(sequence_t&&, c$
nst alignment_config_t&) [with sequence_t =
ranges::single_view<std::tuple<std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> >&, std::vector<seqan3::dna4, std::al
locator<seqan3::dna4> >&> >; alignment_config_t =
seqan3::configuration<seqan3::align_cfg::mode<seqan3::detail::global_alignment_type>,
seqan3::align_cfg::gap<seqan3::
gap_scheme<signed char> >,
seqan3::align_cfg::aligned_ends<seqan3::end_gaps<seqan3::front_end_first<std::integral_constant<bool,
true> >, seqan3::back_end_first<std::i
ntegral_constant<bool, true> >,
seqan3::front_end_second<std::integral_constant<bool, false> >,
seqan3::back_end_second<std::integral_constant<bool, false> > > >, seqa
n3::align_cfg::scoring<seqan3::nucleotide_scoring_scheme<signed char> >,
seqan3::align_cfg::result<seqan3::detail::with_front_coordinate_type> >]'
/home/mi/rmaerker/workspace/seqan3/include/seqan3/alignment/pairwise/align_pairwise.hpp:137:26:
  required from 'constexpr auto seqan3::align_pairwise(sequence_t&&, co
nst alignment_config_t&) [with sequence_t =
std::tuple<std::vector<seqan3::dna4, std::allocator<seqan3::dna4> >&,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4
> >&>; alignment_config_t = 
> >seqan3::configuration<seqan3::align_cfg::mode<seqan3::detail::global_alignment_type>,
> > seqan3::align_cfg::gap<seqan3::gap_scheme<signed char
> >, 
> >seqan3::align_cfg::aligned_ends<seqan3::end_gaps<seqan3::front_end_first<std::integral_constant<bool,
> > true> >, seqan3::back_end_first<std::integral_constant<bool,
 true> >, seqan3::front_end_second<std::integral_constant<bool, false> >,
seqan3::back_end_second<std::integral_constant<bool, false> > > >,
seqan3::align_cfg::scoring
<seqan3::nucleotide_scoring_scheme<signed char> >,
seqan3::align_cfg::result<seqan3::detail::with_front_coordinate_type> >]'
/home/mi/rmaerker/workspace/seqan3/test/unit/alignment/pairwise/global_affine_unbanded_test.cpp:89:36:
  required from 'void gtest_case_global_affine_unbanded_::begin_
position<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = param<(&
seqan3::test::alignment::fixture::semi_global::affine::unbanded::dna4_02)>]'
/home/mi/rmaerker/workspace/seqan3/test/unit/alignment/pairwise/global_affine_unbanded_test.cpp:81:621:
  required from here
/home/mi/rmaerker/workspace/seqan3/include/seqan3/alignment/pairwise/alignment_configurator.hpp:363:14:
internal compiler error: in tsubst_decl, at cp/pt.c:13783
  363 |         auto align_ends_cfg = cfg.template
value_or<align_cfg::aligned_ends>(free_ends_none);
      |              ^~~~~~~~~~~~~~

Reply via email to