c/preprocessor/line

Changes the current line number and file name in the preprocessor.

Explanation
@1@ Changes the current preprocessor line number to. Occurrences of the macro __line__ beyond this point will expand to plus the number of actual source code lines encountered since. @2@ Also changes the current preprocessor file name to. Occurrences of the macro __file__ beyond this point will produce.

Any preprocessing tokens (macro constants or expressions) are permitted as arguments to as long as they expand to a valid decimal integer optionally following a valid character string.

must be a sequence of at least one decimal digit (the program is ill-formed, otherwise) and is always interpreted as decimal (even if it starts with ).

If is  or greater than, the behavior is undefined.