Перейти к содержанию

    

IAR поддерживает constexpr ?

Решил по пробовать с++ на  stm32, но наткнулся на то что он ругается на constexpr

Error[Pe020]: identifier "constexpr" is undefined

IAR  вообше подеживает ? Какой версии ?  Я пробовал на 7.50

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только в самой последней хоть как-то. Заявлен он чуть раньше, но пользоваться было практически невозможно.

 

Вот такую штуку только последняя версия может скомпилировать.

template<void f(), unsigned N>
void inline Repeat() __attribute__((always_inline))
{
  if constexpr (N)
  {
    f();
    Repeat<f, N-1>();
  }
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

C версии 8.0x есть поддержка С++11 и С++14. С версии 8.3x есть поддержка С++17. Версия 7.xx и ниже поддерживает только С++03.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
54 минуты назад, Nixon сказал:

С версии 8.3x есть поддержка С++17

Ну это громко сказано. Есть поддержка нескольких фич С++17. До полной им ещё пилить и пилить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Занятно, что IAR в одиночку тянет новые стандарты. Keil не смог и свернул на Clang.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Положа руку на сердце, хреново тянет. На много лучше, конечно, чем keil даже со шлангом, но до GCC ещё пилить и пилить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Допилят. Я вообще не верил что они на С11 и С++11 перейдут хоть когда нибудь. Так что и поддержку С++17 допилят. Весь вопрос в когда :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация