Lines Matching full:line
49 * Line Control::
231 very first action, before it even looks for line boundaries, is to
287 a line. GCC accepts the ASCII control sequences `LF', `CR LF' and
288 `CR' as end-of-line markers. These are the canonical sequences
292 conversion. (GCC may lose track of the current line number if a
297 If the last line of any input file lacks an end-of-line marker,
331 3. Continued lines are merged into one long line.
333 A continued line is a line which ends with a backslash, `\'. The
334 backslash is removed and the following line is joined with the
335 current one. No space is inserted, so you may split a line
339 The trailing backslash on a continued line is commonly referred to
342 If there is white space between a backslash and the end of a line,
343 that is still a continued line. However, as this is usually the
345 it as a continued line, GCC will warn you about it.
354 "Line comments" begin with `//' and continue to the end of the
355 current line. Line comments do not nest either, but it does not
361 It is safe to put line comments inside block comments, or vice versa.
364 // contains line comment
368 // line comment /* contains block comment */
370 But beware of commenting out one end of a block comment with a line
379 Line comments are not in the 1989 edition of the C standard, but they
384 can split a line mechanically with backslash-newline anywhere. You can
385 comment out the end of a line. You can continue a line comment onto the
386 next line with backslash-newline. You can even split `/*', `*/', and
400 There is no way to prevent a backslash at the end of a line from
505 No string literal may extend past the end of a line. Older versions
506 of GCC accepted multi-line string constants. You may use continued
579 * Line control. If you use a program to combine or rearrange source
581 use line control to inform the compiler where each source line
606 directive line and must be separated from the directive name by
610 A preprocessing directive cannot cover more than one line. The line
612 which extends past the end of the line. In either case, when the
614 the first line to make one long line.
699 It is an error if there is anything (other than comments) on the line
756 The line following the `#include' directive is always treated as a
757 separate line by the C preprocessor, even if the included file lacks a
781 You can add to this list with the `-IDIR' command line option. All
806 `#line' (*note Line Control::) does not change GCC's idea of the
912 not `"' or `<', then the entire line is macro-expanded like running
915 If the line expands to a single string constant, the contents of that
926 If the line expands to a token stream beginning with a `<' token and
934 In either case, if there are any tokens on the line after the file
1016 The `-isystem' command line option adds its argument to the list of
1022 command line. If the same directory is named by both `-I' and
1036 from the command line.
1105 The macro's body ends at the end of the `#define' line. You may
1108 come out on one line. For example,
1116 The most common visible consequence of this is surprising line numbers
1232 single logical line--it can cross as many lines in the source file as
1281 (Line breaks shown here for clarity would not actually be generated.)
1607 This macro expands to the current input line number, in the form
1610 with each new line of source code.
1614 state the source line at which the inconsistency was detected. For
1619 "%d at %s, line %d.",
1627 then incremented by one as processing moves to the line after the
1630 A `#line' directive changes `__LINE__', and may change `__FILE__' as
1631 well. *Note Line Control::.
1795 on the command line of the preprocessor or C compiler.
1802 the base file specified on the command line.
2049 function-like. It is an error if anything appears on the line after
2255 be a single logical line, so that it resembles the way such code would
2508 comes out on one line. Thus line numbers emitted by the compiler or
2509 debugger refer to the line the invocation started on, which might be
2510 different to the line containing the argument causing the problem.
2521 error message citing line three--the line of ignore_second_arg-- even
2522 though the problematic code comes from line five.
2673 line options when you compile the program. You can arrange to
2677 then controlling the state of the macro with command line options,
2777 wherever your code uses this feature if you use the command-line option
2875 File: cpp.info, Node: Diagnostics, Next: Line Control, Prev: Conditionals, Up: Top
2881 The tokens forming the rest of the line following `#error' are used as
2910 The line must consist of complete tokens. It is wisest to make the
2915 File: cpp.info, Node: Line Control, Next: Pragmas, Prev: Diagnostics, Up: Top
2917 6 Line Control
2922 and line number. All the tokens resulting from macro expansion are
2923 reported as having appeared on the line of the source file where the
2928 notion of the current file name and line number by hand. Parts of the
2934 `bison' or any such program can arrange this by writing `#line'
2935 directives into the output file. `#line' is a directive that specifies
2936 the original line number and source file name for subsequent input in
2937 the current preprocessor input file. `#line' has three variants:
2939 `#line LINENUM'
2941 the line number which should be reported for the following line of
2944 `#line LINENUM FILENAME'
2947 following line and all subsequent lines are reported to come from
2953 Previous versions of CPP did not interpret escapes in `#line'; we
2957 `#line ANYTHING ELSE'
2961 `#line' directives alter the results of the `__FILE__' and
2967 #line 1 "../src/gram.y"
2973 a `#line' referring to a different directory.
2979 Bison installed. These files frequently have `#line' directives
2988 `-I' switch on the command line. The failures caused by the old
2993 File: cpp.info, Node: Pragmas, Next: Other Directives, Prev: Line Control, Up: Top
3010 a `GCC' prefix. This is in line with the `STDC' prefix on all pragmas
3039 of directives other than `#define', and putting it on a line of its own.
3109 null directive is that an input line consisting of just a `#' will
3110 produce no output, rather than a line of output containing just a `#'.
3134 non-directive line is preceded with sufficient spaces that it appears in
3141 Source file name and line number information is conveyed by lines of
3148 that the following line originated in file FILENAME at line LINENUM.
3173 `#line' directive, (*note Line Control::), except that trailing flags
3297 line comments are preserved. (In fact, the current implementation
3343 If a macro argument crosses a new line, the new line is replaced with
3344 a space when forming the argument. If the previous line contained an
3345 unterminated quote, the following line inherits the quoted state.
3374 between the beginning of the line and the `#', but whitespace can
3387 * If a line that looks like a directive appears within macro
3409 Traditional preprocessors would only consider a line to be a
3410 directive if the `#' appeared in column 1 on the line. Therefore
3413 first character on the line. It also suggests you hide directives
3502 non-directive line of output is preceded with sufficient spaces
3543 No macro expansion occurs on any `#pragma' directive line, so the
3600 * Number of characters on a logical source line.
3639 define them with preprocessing directives or command-line options.
3684 which was specified on the `#unassert' line; other answers for that
3693 You can also make or cancel assertions using command line options.
3806 * `#line' and `#include'
3808 The `#line' directive used to change GCC's notion of the
3811 *Note Line Control::, for further explanation.
3813 * Syntax of `#line'
3815 In GCC 2.95 and previous, the string constant argument to `#line'
3842 actual work. Their command line interfaces are similar but not
3877 If you wish to define a function-like macro on the command line,
3884 the command line. All `-imacros FILE' and `-include FILE' options
3927 (`??/' at the end of a line) can, by changing where the comment
3956 Built-in macros, macros defined on the command line, and macros
4012 `-imacros' command line options.
4192 Process FILE as if `#include "file"' appeared as the first line of
4200 in the order they appear on the command line.
4261 predefinition of most builtin and command line macros. This
4289 appear on the line. If the value is less than 1 or greater than
4310 overridden by either the locale or this command line option.
4311 Currently the command line option takes precedence if there's a
4327 command line, this option has no effect, since no `#line'
4391 directive line have the effect of turning that line into an
4392 ordinary source line, since the first token on the line is no
4404 source line.
4421 Print text describing all the command line options instead of
4469 on the command line. This environment variable is used regardless
4475 after any paths given with `-isystem' options on the command line.
4924 Texts, replace the "with...Texts." line with this:
4948 * #assert: Assertions. (line 41)
4949 * #define: Object-like Macros. (line 11)
4950 * #elif: Elif. (line 6)
4951 * #else: Else. (line 6)
4952 * #endif: Ifdef. (line 6)
4953 * #error: Diagnostics. (line 6)
4954 * #ident: Other Directives. (line 6)
4955 * #if: Conditional Syntax. (line 6)
4956 * #ifdef: Ifdef. (line 6)
4957 * #ifndef: Ifdef. (line 40)
4959 (line 10)
4960 * #include: Include Syntax. (line 6)
4961 * #include_next: Wrapper Headers. (line 6)
4962 * #line: Line Control. (line 20)
4963 * #pragma GCC dependency: Pragmas. (line 53)
4964 * #pragma GCC poison: Pragmas. (line 65)
4965 * #pragma GCC system_header <1>: Pragmas. (line 92)
4966 * #pragma GCC system_header: System Headers. (line 31)
4967 * #sccs: Other Directives. (line 6)
4968 * #unassert: Assertions. (line 52)
4970 (line 6)
4971 * #warning: Diagnostics. (line 27)
4979 CPP's command line options and environment variables are indexed here
4985 * A: Invocation. (line 510)
4986 * ansi: Invocation. (line 307)
4987 * C: Invocation. (line 558)
4989 (line 16)
4991 (line 15)
4993 (line 17)
4994 * D: Invocation. (line 39)
4995 * dD: Invocation. (line 538)
4997 (line 44)
4998 * dI: Invocation. (line 547)
4999 * dM: Invocation. (line 526)
5000 * dN: Invocation. (line 544)
5001 * fdirectives-only: Invocation. (line 424)
5002 * fdollars-in-identifiers: Invocation. (line 440)
5003 * fexec-charset: Invocation. (line 467)
5004 * fextended-identifiers: Invocation. (line 443)
5005 * finput-charset: Invocation. (line 480)
5006 * fno-show-column: Invocation. (line 505)
5007 * fno-working-directory: Invocation. (line 490)
5008 * fpreprocessed: Invocation. (line 448)
5009 * ftabstop: Invocation. (line 461)
5010 * fwide-exec-charset: Invocation. (line 472)
5011 * fworking-directory: Invocation. (line 490)
5012 * H: Invocation. (line 603)
5013 * help: Invocation. (line 595)
5014 * I: Invocation. (line 71)
5015 * I-: Invocation. (line 344)
5016 * idirafter: Invocation. (line 386)
5017 * imacros: Invocation. (line 377)
5018 * imultilib: Invocation. (line 407)
5019 line 366)
5020 * iprefix: Invocation. (line 391)
5021 * iquote: Invocation. (line 418)
5022 * isysroot: Invocation. (line 403)
5023 * isystem: Invocation. (line 411)
5024 * iwithprefix: Invocation. (line 397)
5025 * iwithprefixbefore: Invocation. (line 397)
5026 * M: Invocation. (line 181)
5027 * MD: Invocation. (line 269)
5028 * MF: Invocation. (line 215)
5029 * MG: Invocation. (line 224)
5030 * MM: Invocation. (line 205)
5031 * MMD: Invocation. (line 284)
5032 * MP: Invocation. (line 234)
5033 * MQ: Invocation. (line 260)
5034 * MT: Invocation. (line 246)
5035 * nostdinc: Invocation. (line 356)
5036 * nostdinc++: Invocation. (line 361)
5037 * o: Invocation. (line 80)
5039 (line 18)
5040 * P: Invocation. (line 551)
5041 * pedantic: Invocation. (line 171)
5042 * pedantic-errors: Invocation. (line 176)
5043 * remap: Invocation. (line 590)
5044 * std=: Invocation. (line 307)
5046 (line 60)
5047 * target-help: Invocation. (line 595)
5048 * traditional-cpp: Invocation. (line 583)
5049 * trigraphs: Invocation. (line 587)
5050 * U: Invocation. (line 62)
5051 * undef: Invocation. (line 66)
5052 * v: Invocation. (line 599)
5053 * version: Invocation. (line 612)
5054 * w: Invocation. (line 167)
5055 * Wall: Invocation. (line 86)
5056 * Wcomment: Invocation. (line 94)
5057 * Wcomments: Invocation. (line 94)
5058 * Wendif-labels: Invocation. (line 144)
5059 * Werror: Invocation. (line 157)
5060 * Wimport: Invocation. (line 117)
5061 * Wsystem-headers: Invocation. (line 161)
5062 * Wtraditional: Invocation. (line 111)
5063 * Wtrigraphs: Invocation. (line 99)
5064 * Wundef: Invocation. (line 120)
5065 * Wunused-macros: Invocation. (line 125)
5066 * x: Invocation. (line 291)
5077 * # operator: Stringification. (line 6)
5078 * ## operator: Concatenation. (line 6)
5079 * _Pragma: Pragmas. (line 25)
5080 * alternative tokens: Tokenization. (line 106)
5081 * arguments: Macro Arguments. (line 6)
5082 * arguments in macro definitions: Macro Arguments. (line 6)
5083 * assertions: Assertions. (line 6)
5084 * assertions, canceling: Assertions. (line 52)
5085 * backslash-newline: Initial processing. (line 61)
5086 * block comments: Initial processing. (line 77)
5087 * C++ named operators: C++ Named Operators. (line 6)
5088 * character constants: Tokenization. (line 85)
5089 * character set, execution: Invocation. (line 467)
5090 * character set, input: Invocation. (line 480)
5091 * character set, wide execution: Invocation. (line 472)
5092 * command line: Invocation. (line 6)
5093 * commenting out code: Deleted Code. (line 6)
5094 * comments: Initial processing. (line 77)
5096 (line 6)
5097 * computed includes: Computed Includes. (line 6)
5098 * concatenation: Concatenation. (line 6)
5099 * conditional group: Ifdef. (line 14)
5100 * conditionals: Conditionals. (line 6)
5101 * continued lines: Initial processing. (line 61)
5102 * controlling macro: Once-Only Headers. (line 35)
5103 * defined: Defined. (line 6)
5105 (line 45)
5106 * dependencies, make: Invocation. (line 181)
5107 * diagnostic: Diagnostics. (line 6)
5109 (line 6)
5110 * digraphs: Tokenization. (line 106)
5111 * directive line: The preprocessing language.
5112 (line 6)
5114 (line 6)
5116 (line 6)
5117 * empty macro arguments: Macro Arguments. (line 66)
5119 (line 6)
5120 * expansion of arguments: Argument Prescan. (line 6)
5122 (line 6)
5124 (line 6)
5125 * grouping options: Invocation. (line 34)
5126 * guard macro: Once-Only Headers. (line 35)
5127 * header file: Header Files. (line 6)
5128 * header file names: Tokenization. (line 85)
5129 * identifiers: Tokenization. (line 34)
5131 (line 6)
5133 (line 6)
5134 * including just once: Once-Only Headers. (line 6)
5135 * invocation: Invocation. (line 6)
5136 * iso646.h: C++ Named Operators. (line 6)
5137 * line comments: Initial processing. (line 77)
5138 * line control: Line Control. (line 6)
5139 * line endings: Initial processing. (line 14)
5140 * linemarkers: Preprocessor Output. (line 28)
5141 * macro argument expansion: Argument Prescan. (line 6)
5143 (line 6)
5144 * macros in include: Computed Includes. (line 6)
5145 * macros with arguments: Macro Arguments. (line 6)
5146 * macros with variable arguments: Variadic Macros. (line 6)
5147 * make: Invocation. (line 181)
5148 * manifest constants: Object-like Macros. (line 6)
5149 * named operators: C++ Named Operators. (line 6)
5151 (line 6)
5152 * null directive: Other Directives. (line 15)
5153 * numbers: Tokenization. (line 61)
5154 * object-like macro: Object-like Macros. (line 6)
5155 * options: Invocation. (line 38)
5156 * options, grouping: Invocation. (line 34)
5157 * other tokens: Tokenization. (line 120)
5158 * output format: Preprocessor Output. (line 12)
5159 * overriding a header file: Wrapper Headers. (line 6)
5161 (line 6)
5162 * pitfalls of macros: Macro Pitfalls. (line 6)
5163 * predefined macros: Predefined Macros. (line 6)
5165 (line 6)
5166 * predicates: Assertions. (line 19)
5168 (line 6)
5169 * preprocessing numbers: Tokenization. (line 61)
5170 * preprocessing tokens: Tokenization. (line 6)
5171 * prescan of macro arguments: Argument Prescan. (line 6)
5172 * problems with macros: Macro Pitfalls. (line 6)
5173 * punctuators: Tokenization. (line 106)
5175 (line 6)
5176 * repeated inclusion: Once-Only Headers. (line 6)
5177 * reporting errors: Diagnostics. (line 6)
5178 * reporting warnings: Diagnostics. (line 6)
5180 (line 6)
5182 (line 6)
5184 (line 6)
5186 (line 6)
5188 (line 6)
5189 * string constants: Tokenization. (line 85)
5190 * string literals: Tokenization. (line 85)
5191 * stringification: Stringification. (line 6)
5192 * symbolic constants: Object-like Macros. (line 6)
5193 * system header files <1>: System Headers. (line 6)
5194 * system header files: Header Files. (line 13)
5196 (line 6)
5197 * testing predicates: Assertions. (line 30)
5198 * token concatenation: Concatenation. (line 6)
5199 * token pasting: Concatenation. (line 6)
5200 * tokens: Tokenization. (line 6)
5201 * trigraphs: Initial processing. (line 32)
5203 (line 6)
5205 (line 6)
5206 * variable number of arguments: Variadic Macros. (line 6)
5207 * variadic macros: Variadic Macros. (line 6)
5208 * wrapper #ifndef: Once-Only Headers. (line 6)
5209 * wrapper headers: Wrapper Headers. (line 6)
5263 Node: Line Control118510