←back to thread

271 points mithcs | 1 comments | | HN request time: 0.199s | source
Show context
fuhsnn ◴[] No.45953265[source]
> C23 gave us [[cleanup]] attributes

C23 didn't introduce it, it's still a GCC extension that needs to be spelled as [[gnu::cleanup()]] https://godbolt.org/z/Gsz9hs7TE

replies(1): >>45953601 #
cassepipe ◴[] No.45953601[source]
It is surprisingly hard to find information about it, do you have any ? From what I can guess it's a new syntax but it's the feature itself is still an extension ?
replies(4): >>45953886 #>>45954031 #>>45954617 #>>45966700 #
ksherlock ◴[] No.45954031[source]
[[ ]] attributes were added in C++11 and later C23. There are 7 standard(C32) attributes but GCC has hundreds of them.

https://en.cppreference.com/w/c/language/attributes.html

https://en.cppreference.com/w/cpp/language/attributes.html

https://gcc.gnu.org/onlinedocs/gcc/Attributes.html

https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attribute...

replies(1): >>45957206 #