public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/96863] New: [11 Regression] ICE: in output_constructor_regular_field, at varasm.c:5223
@ 2020-08-31  9:57 gcc-bugs at marehr dot dialup.fu-berlin.de
  2020-08-31 13:05 ` [Bug c++/96863] " rguenth at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: gcc-bugs at marehr dot dialup.fu-berlin.de @ 2020-08-31  9:57 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 96863
           Summary: [11 Regression] ICE: in
                    output_constructor_regular_field, at varasm.c:5223
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gcc-bugs at marehr dot dialup.fu-berlin.de
  Target Milestone: ---

Hi gcc-team,

the following code ices:

```c++
#include <tuple>
namespace seqan3 {
template <typename, typename = void> struct pipeable_config_element;
template <typename derived_t>
struct pipeable_config_element<derived_t, void> {};
template <typename, typename value_t> struct pipeable_config_element {
  value_t value;
};
struct gap_scheme {
  int gap = 1;
};
template <typename... configs_t>
struct configuration : std::tuple<configs_t...> {
  template <typename derived_t, typename value_t>
  constexpr configuration(pipeable_config_element<derived_t, value_t> const) {}
  template <typename...> constexpr configuration(std::tuple<> const) {}
  template <typename config_element_t>
  constexpr auto push_back(config_element_t) const {
    return configuration<configs_t..., config_element_t>{std::tuple{}};
  }
};
template <typename derived_t, typename value_t>
configuration(pipeable_config_element<derived_t, value_t> const)
    -> configuration<derived_t>;
} // namespace seqan3
namespace seqan3::align_cfg {
template <typename gap_scheme_t>
struct gap : pipeable_config_element<gap<gap_scheme_t>, gap_scheme_t> {
  gap() = default;
  constexpr gap(gap_scheme_t const)
      : pipeable_config_element<gap, gap_scheme_t>() {}
};
} // namespace seqan3::align_cfg
namespace seqan3::detail {
struct method_local_tag : pipeable_config_element<method_local_tag> {};
} // namespace seqan3::detail
namespace seqan3::align_cfg {
seqan3::detail::method_local_tag method_local;
template <typename scoring_scheme_t>
struct scoring_scheme : pipeable_config_element<int, void> {
  scoring_scheme() = default;
  constexpr scoring_scheme(scoring_scheme_t) {};
};
struct aminoacid_scoring_scheme {};
template <typename config_t> struct alignment_fixture { config_t config; };
template <typename config_t>
alignment_fixture(config_t) -> alignment_fixture<config_t>;
inline constexpr auto align_config =
    seqan3::configuration{seqan3::align_cfg::method_local}.push_back(
        seqan3::align_cfg::gap{seqan3::gap_scheme{}});
static auto aa27_02 = [] {
  return alignment_fixture{align_config.push_back(
      seqan3::align_cfg::scoring_scheme{aminoacid_scoring_scheme{}})};
}();
} // namespace seqan3::align_cfg

```

https://godbolt.org/z/M4Mh1f

with

> g++-git -std=c++2a

error:

```
ice.cpp:55:1: internal compiler error: in output_constructor_regular_field, at
varasm.c:5223
   55 | } // namespace seqan3::align_cfg
      | ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.
```

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-01-21 21:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-31  9:57 [Bug c++/96863] New: [11 Regression] ICE: in output_constructor_regular_field, at varasm.c:5223 gcc-bugs at marehr dot dialup.fu-berlin.de
2020-08-31 13:05 ` [Bug c++/96863] " rguenth at gcc dot gnu.org
2020-08-31 21:51 ` mpolacek at gcc dot gnu.org
2020-09-01  1:03 ` mpolacek at gcc dot gnu.org
2020-09-01  1:07 ` [Bug c++/96863] [9/10/11 " mpolacek at gcc dot gnu.org
2020-09-20 19:14 ` mpolacek at gcc dot gnu.org
2020-09-20 19:14 ` mpolacek at gcc dot gnu.org
2020-10-12 12:27 ` rguenth at gcc dot gnu.org
2020-10-26 19:23 ` slyfox at gcc dot gnu.org
2020-11-27 18:57 ` slyfox at gcc dot gnu.org
2021-01-21 21:24 ` mpolacek at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).