Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbosgd!gatech!seismo!elsie!ado From: ado@elsie.UUCP (Arthur David Olson) Newsgroups: net.lang.c Subject: __LINE__ Message-ID: <6037@elsie.UUCP> Date: Mon, 3-Mar-86 12:15:28 EST Article-I.D.: elsie.6037 Posted: Mon Mar 3 12:15:28 1986 Date-Received: Wed, 5-Mar-86 04:09:58 EST Organization: NIH-LEC, Bethesda, MD Lines: 28 Keywords: __LINE__ My April 30, 1985 Draft standard has a "conceptual model" on page 5 that breaks language processing into these successive phases (among others): . . . 2. Each instance of a new-line character and an immediately preceding baclslash character is deleted, splicing physical source lines to form logical source lines. . . . 5. The source is preprocessed. . . Later, in discussing the preprocessor, the standard reads: . . .The line number of the current source line is one greater than the number of new-line characters read while processing the source file to the current token. . .The predefined macro name __LINE__ has the value of the line number of the current source line (a decimal constant). . . It's unclear (to me, at least) whether the new-line characters that are counted in determining __LINE__ are those in the physical source lines (seen in conceptual phase 2) or those in the logical source lines (seen in conceptual phase 5, the preprocessing phase). I'd imagine that having __LINE__ be a physical source line number would be preferable, but how can that be accomplished without breaking down barriers between conceptual phases? -- UUCP: ..decvax!seismo!elsie!ado ARPA: elsie!ado@seismo.ARPA DEC, VAX and Elsie are Digital Equipment and Borden trademarks