Какие современные компиляторы поддерживают выражение Gnu Statement (языки C и С++). В каких версиях я должен использовать выражения операторов?
Выражение выражения имеет вид smth, как ({ code; code; retval })
:
int b=56;
int c= ({int a; a=sin(b); a})
Я уже знаю некоторые такие компиляторы:
- GCC >= 3
- Clang/LLVM > =?
- Компилятор Intel С++ >= 6.0 (версия Linux, проверить страницу 4; бит ограничен)
- Sun Studio >= 12 (Новые языковые расширения)
- IBM XL для z/OS (отмечена как расширение IBM)
- Open64 (поскольку он использует интерфейс osprey-gcc)
Этот компилятор, похоже, не поддерживает это (я не уверен):
- MS Visual С++
PS. некоторые компиляторы C/С++ перечислены здесь, но мне интересны только зрелые компиляторы, которые широко используются (например, не tcc или turbo c)