-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Open
Bug
Copy link
Labels
clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]
Description
The following code crashes Clang with assertion at head, see https://gcc.godbolt.org/z/j6zY4as9h
template <class... T>
struct Types {};
template <int& field>
using Forget = int;
template <int&... fields>
using SeqKey = Types<Forget<fields>...>;
template <typename Key, typename Value>
struct HelperBase {
using ResponseParser = Key();
HelperBase(ResponseParser response_parser) {}
};
template <int&... fields>
SeqKey<fields...> Parser();
template <int&... fields>
struct Helper : public HelperBase<SeqKey<fields...>, double> {
using Key = SeqKey<fields...>;
using Value = double;
using ParentClass = HelperBase<Key, Value>;
Helper() : ParentClass(Parser<fields...>) {}
};
void test() { Helper<>(); }
This should be relatively recent as it was found by our release testing.
Metadata
Metadata
Assignees
Labels
clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]