diff options
author | ed <ed@FreeBSD.org> | 2012-01-03 23:05:23 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2012-01-03 23:05:23 +0000 |
commit | caa4548474a54b104b7a14a1625ef6c39b848dd3 (patch) | |
tree | 1534560cc5c1a3a61752460a13a22495e7041255 /share | |
parent | ff034f8b0d93244190c967c27a0d36173b1bd9b1 (diff) | |
download | FreeBSD-src-caa4548474a54b104b7a14a1625ef6c39b848dd3.zip FreeBSD-src-caa4548474a54b104b7a14a1625ef6c39b848dd3.tar.gz |
Simply disallow <stdnoreturn.h> to be used in combination with C++.
There is no way one could possibly use this header file in combination
with C++ code. The problem is that in C11 the `noreturn' macro expands
to the `_Noreturn' function specifier, while in C++11 the `noreturn'
keyword is an attribute.
So in C11 you have to write:
noreturn void exit(int status);
While in C++11 you have to write:
[[noreturn]] void exit(int status);
It is impossible to #define noreturn for C++ in such a way that it
allows both conventions.
By intentionally breaking this header this way, we prevent people from
using this header in their C++<11 sources.
Diffstat (limited to 'share')
0 files changed, 0 insertions, 0 deletions