4 ms·
This is checking for the presence of raw string literals (A GNU C extension) not C23. If you compile with `-std=gnu99` instead of `-std=c99` you'll get "C23" as
by defen 3y ago
This is checking for the presence of raw string literals (A GNU C extension) not C23. If you compile with `-std=gnu99` instead of `-std=c99` you'll get "C23" as output.
- Sharlin 3y agoThe context is different standard versions. Random extensions don't count. C23 has raw string literals, C before 23 doesn't.
- ksherlock 3y ago> C23 has raw string literals Are you sure about that? I only see u, u8, U, and L defined as encoding-prefixes.
- Sharlin 3y agoEep, sorry. I misread the article.
- defen 3y agoNo it doesn't. If you don't specify a standard for GCC it uses GNU extensions by default.
- Sharlin 3y agoIndeed, my bad :/
- omoikane 3y agoMy bad, I just saw "R()" in the linked blog and thought the feature made it to C23, but looks like it's not standard. https://en.cppreference.com/w/c/23 https://en.cppreference.com/w/c/23 On the plus side, I now have a GNU extension detector.