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

            Bug ID: 98881
           Summary: [modules] internal compiler error: in tpl_parms_fini,
                    at cp/module.cc:9933
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pilarlatiesa at gmail dot com
  Target Milestone: ---

$ /home/pililatiesa/GCC-11/bin/g++ -v

Using built-in specs.
COLLECT_GCC=/home/pililatiesa/GCC-11/bin/g++
COLLECT_LTO_WRAPPER=/home/pililatiesa/GCC-11/bin/../libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper.exe
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-master/configure --prefix=/home/pililatiesa/GCC-11
--enable-languages=c++ --disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20210129 (experimental) (GCC)


$ cat Expresion.ixx

export module Expr;

template <int, int, typename, typename>
class TExprSistema;

template <typename T>
class TExprBase {};

export
template<int d, int r1, typename... TRest, 
         template <int, int, typename...> typename T>
class TExprBase<T<d, r1, TRest...>>
{
public:
  template<typename... URest, template <int, int, typename...> typename U>
  TExprSistema<d, r1, T<d, r1, TRest...>, U<d, r1, URest...>>
  inline operator ==(TExprBase<U<d, r1, URest...>> const &rhs) const noexcept
    { return {*this, rhs}; }
};

export
template<int d, int r, typename T, typename U>
class TExprSistema: public TExprBase<TExprSistema<d, r, T, U>>
{
private:
  TExprBase<T> const &lhs;
  TExprBase<U> const &rhs;

public:
  inline TExprSistema(TExprBase<T> const &lhs_, TExprBase<U> const &rhs_)
noexcept :
    lhs(lhs_), rhs(rhs_) {}
};

$ /home/pililatiesa/GCC-11/bin/g++ -fmodules-ts -x c++ -std=c++20 Expresion.ixx
-o foo
Expresion.ixx:2:8: internal compiler error: in tpl_parms_fini, at
cp/module.cc:9933
    2 | export module Expr;
      |        ^~~~~~

Expresion.ixx:2:8: internal compiler error: Aborted
g++: internal compiler error: Aborted signal terminated program cc1plus
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to