Filename and line information
Changes the current line number and file name in the preprocessor.
# Notes
This directive is used by some automatic code generation tools which produce C source files from a file written in another language. In that case, #line directives may be inserted in the generated C file referencing line numbers and the file name of the original (human-editable) source file.
The line number following the directive #line LINE is unspecified (there are two possible values that LINE can expand to in this case: number of endlines seen so far, or number of endlines seen so far plus the endline that ends the #line directive). This is the result of DR 464, which applies retroactively.
# Example
#include <assert.h>
#define FNAME "test.c"
int main(void)
{
#line 777 FNAME
assert(2+2 == 5);
}