2017-02-15 10 views
2

Я хотел бы получить этот код работатьКак сообщить об этом ICE для GCC стволу

#include <cstddef> 

template <bool B, auto T, auto F> 
struct conditional { static constexpr auto value = T; }; 

template <auto T, auto F> 
struct conditional<false, T, F> { static constexpr auto value = F; }; 

template <std::size_t N, auto... Dims> 
struct static_extent; 

template <std::size_t N> 
struct static_extent<N> { 
    static constexpr std::size_t value = 0; 
}; 

template <std::size_t N, auto Dim, auto... Dims> 
struct static_extent<N, Dim, Dims...> { 
    static constexpr auto value = 
    conditional< 
     (N == 0), 
     Dim, 
     static_extent<N-1, Dims...>::value 
    >::value; 
}; 

enum class dynamic_extent_tag {}; 
inline constexpr dynamic_extent_tag dyn{-1}; 

int main() 
{ 
    static_assert(static_extent<1, 33, dyn, 19>::value == dyn, ""); 
    static_assert(static_extent<0, 33, dyn, 19>::value == 33, ""); 
} 

Я испытал это на godbolt и это похоже на работу с лязгом. Я, к сожалению, привязан к gcc, который дает мне ICE плюс трассировку стека. Я попытался заняться серфингом на своих bugzilla, и я немного потерян.

Стоит ли даже составлять отчет об ошибке для версии багажника? Он даже нужен? Кто-нибудь знает, если это уже известная проблема? Я искал ключевое слово «лед», но я не мог найти там ничего полезного.

+2

* «Стоит ли даже составлять отчет об ошибке для версии для транков? Он даже нужен?» * Я бы так сказал, да - может быть, больше, чем любая другая версия! –

+1

похоже, что вы можете искать только bugzilla, если вы вошли в систему, и что новые учетные записи в настоящее время не разрешены из-за спама. Таким образом, вам не повезло, если кто-то не зарегистрировал эту ошибку для вас. – TemplateRex

+0

Ну, я думаю, теперь это может быть в bugzilla. Я проверил сегодня, и я верю, что сегодня было представление, которое тоже прикоснулось к моей проблеме. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79549 – Maikel

ответ

1

Да, все ICE следует сообщать.

Я открыл https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79556 для вас.

Спасибо.

+0

Спасибо. Я написал электронное письмо, чтобы получить учетную запись и получить доступ к отчетам об ошибках. Нет ответа ... У меня больше ICE, которые я мог бы доставить. Я делаю много развития с концепциями, и время от времени я вижу ошибки. – Maikel

 Смежные вопросы

  • Нет связанных вопросов^_^