Here are a few more obsolete features.
The preprocessor currently warns about this, and the resulting preprocessed output is undefined. The tokens remain distinct if the preprocessor is being used directly by the compiler front end.
Most of the time, when you get this warning, you will find that ##
is being used superstitiously, to guard against whitespace appearing
between two tokens. It is almost always safe to delete the ##
.
#pragma poison
This is the same as #pragma GCC poison
. The version without the
GCC
prefix is deprecated. See Pragmas.
GCC currently allows a string constant to extend across multiple logical
lines of the source file. This extension is deprecated and will be
removed in a future version of GCC. Such string constants are already
rejected in all directives apart from #define
.
Instead, make use of ISO C concatenation of adjacent string literals, or
use \n
followed by a backslash-newline.