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

            Bug ID: 109556
           Summary: internal compiler error: in
                    iterative_hash_template_arg, at cp/pt.cc:1927
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fabian.sauter+bz_gcc at apsensing dot com
  Target Milestone: ---

I'm using gcc 13.0.1-0 on Fedora 38.
I hope this is the correct place to report this bug since in the log it states
I should report it at RedHats bug tracker but I was not able to find a gcc
section there.

Compiling mpunits (https://github.com/mpusz/units) fails with gcc13. With gcc12
it still works.

I'm still failing to reduce the problem to a single failing source header file.

Let me know if you need anything else.


## How to Reproduce:
git clone https://github.com/mpusz/units.git
cd units && mkdir build && cd build
cmake ..
cmake --build .

## Related Issues
https://github.com/mpusz/units/issues/450

## Output:
```
[ 30%] Building CXX object
CMakeFiles/test_headers.dir/headers/src/systems/si/include/units/isq/si/absorbed_dose.cpp.o
In file included from
/home/fabian/Repos/units/src/systems/si/include/units/isq/si/force.h:33,
                 from
/home/fabian/Repos/units/src/systems/si/include/units/isq/si/energy.h:32,
                 from
/home/fabian/Repos/units/./src/systems/si/include/units/isq/si/absorbed_dose.h:32,
                 from
/home/fabian/Repos/units/build/headers/src/systems/si/include/units/isq/si/absorbed_dose.cpp:1:
/home/fabian/Repos/units/src/systems/si/include/units/isq/si/mass.h: In
substitution of ‘template<class D, class U, class Rep>  requires (Dimension<D>)
&& (UnitOf<U, D>) && (Representation<Rep>) class units::quantity [with D =
units::isq::si::dim_mass; U = units::isq::si::gigagram; Rep = long int]’:
/home/fabian/Repos/units/src/systems/si/include/units/isq/si/mass.h:88:7:  
required by substitution of ‘template<class U, class Rep>  requires (UnitOf<U,
units::isq::si::dim_mass>) && (Representation<Rep>) using units::isq::si::mass
= units::quantity<units::isq::si::dim_mass, U, Rep> [with U =
units::isq::si::gigagram; Rep = long int]’
/home/fabian/Repos/units/src/systems/si/include/units/isq/si/mass.h:218:37:  
required from here
/home/fabian/Repos/units/src/systems/si/include/units/isq/si/mass.h:88:7:
internal compiler error: in iterative_hash_template_arg, at cp/pt.cc:1927
   88 | using mass = quantity<dim_mass, U, Rep>;
      |       ^~~~
Please submit a full bug report, with preprocessed source.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccG8HXcN.out file, please attach this to
your bugreport.
gmake[2]: *** [CMakeFiles/test_headers.dir/build.make:1182:
CMakeFiles/test_headers.dir/headers/src/systems/si/include/units/isq/si/absorbed_dose.cpp.o]
Error 1
gmake[1]: *** [CMakeFiles/Makefile2:575: CMakeFiles/test_headers.dir/all] Error
2
gmake: *** [Makefile:136: all] Error 2
```

Reply via email to