G ++ 6.3 включить расслабленный constexpr - PullRequest
0 голосов
/ 16 апреля 2020

Я использую g cc 6.3.0 (в частности, MinGW, хотя я тоже хочу поддерживать linux). Мой код имеет рабочие constexpr функции. Библиотека, которую я использую, использует макрос в объявлениях функций с потенциалом constexpr, который определяется как constexpr, когда __has_feature(cxx_relaxed_constexpr). Хотя я знаю, что рассматриваемые библиотечные функции будут корректно работать с определенным макросом, он не определен как constexpr, потому что, по-видимому, в mingw g ++ (и, возможно, в реальном g ++) эта функция не включена по умолчанию. Я бы хотел, чтобы g ++ включил этот флаг, надеюсь, с помощью флага cli в make-файле, поэтому мне не нужно изменять заголовок библиотеки.

constexpr if и / или if constexpr было бы неплохо, если возможно.

Наиболее релевантный пост SO, который я могу найти, это этот , который остается без ответа.

1 Ответ

1 голос
/ 17 апреля 2020

Вам нужна лучшая машина времени.

  • G CC 6.3 была выпущена 21 декабря 2016 года.
  • Стандарт C ++ 17 не было выпущено до конца 2017 года.

Эта страница говорит о том, что constexpr if впервые был доступен в g cc 7.

...