🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Orlando Sotomayor-Diaz Tue, 13 May 1986 13:10
mod.std.c Digest V16#10
#130
Author: Orlando Sotomayor-Diaz
Date: Tue, 13 May 1986 13:10
193 lines
7145 bytes
From: Orlando Sotomayor-Diaz (The Moderator) <cbosgd!std-c>


mod.std.c Digest            Tue, 13 May 86       Volume 16 : Issue  10

Today's Topics:
 Differences from April 1985 to February 1986 Draft Standard, Part 9
----------------------------------------------------------------------

Date: Sun, 27 Apr 86 01:17:06 est
From: <ihnp4!utcsri!lsuc!msb%utcsri>
Subject: Differences from April 1985 to February 1986 Draft Standard, Part 9
To: cbosgd!std-c%utcsri

# {C.8.3 --> C.8.1} Conditional inclusion

       Preprocessing directives of the forms

                   # if       constant-expression new-line group[opt]
  *           {--> # elif     constant-expression new-line group[opt]}

       check whether the controlling constant  expression  evaluates  to
       non-zero.



# {C.8.3 --> C.8.1} Conditional inclusion

       Each directive's condition is checked in order.  If it  evaluates
  *    to false (0), the {program text that follows it --> group that it
  *    controls} is skipped ...  The first {section of program text  -->
       group}  whose  control  condition evaluates to true (non-zero) is
       processed.  If none of the  conditions  evaluates  to  true,  and
  *    there  is  a #else directive, the {program text between the #else
       and the #endif --> group controlled by the #else}  is  processed;
  *    lacking  a  #else  directive,  all  the {program text through -->
       groups until} the #endif are skipped.



# {C.8.1 --> C.8.2} Source file inclusion

N-->   The character sequence in the form of preprocessing directive

N-->               # include    <x-char-sequence> new-line

N-->   shall not include a > character.  The character sequence  in  the
N-->   form of preprocessing directive

N-->               # include    "x-char-sequence" new-line

N-->   shall not include a " character.



# {C.8.1 --> C.8.2} Source file inclusion

       The named source file is searched for  in  association  with  the
  *    {-->  original}  source  file  {containing the #include directive
  *    -->}.  {This implementation-defined capability presumes that oth-
       er  named  source  files  may  be associated in some way with the
       source file containing the text being read, typically by means of
       a file system with named files organized into "directories". -->}
  *    If this {--> implementation-defined} capability is not  supported
       ...



# {C.8.1 --> C.8.2} Source file inclusion

  *    Failure in processing a  #include  directive  is  {an  error  -->
       equivalent to a violation of a syntax rule}.



# {C.8.2 --> C.8.3} Macro replacement

  *    The arguments in the invocation are {-->  (possibly  empty)}  se-
       quences of tokens separated by comma tokens ...



# {C.8.2 --> C.8.3} Macro replacement

       Each occurrence in the definition of a formal  parameter  is  re-
  *    placed  by  the  corresponding argument from the invocation {-->,
       with all macros replaced in each argument}.



# {C.8.2 --> C.8.3} Macro replacement

       If a formal parameter in the definition follows a #  token,  both
       are  replaced  by the corresponding argument from the invocation,
       preceded and followed by a double-quote  character  to  create  a
  *    string  literal.  {--> Whether} white space between tokens in the
  *    argument {may be --> is retained in the string or} replaced by  a
  *    single  space  character  {--> is implementation-defined}.  White
       space preceding the first token or following the  last  token  is
  *    deleted.   {-->  A  backslash  character  is inserted before each
       double-quote character in the argument.}



# {C.8.2 --> C.8.3} Macro replacement

  *    A macro definition lasts ...  {--> until a  corresponding  #undef
       directive  is  encountered or (if none is encountered)} until the
       end of the source file ...



# {C.8.2 --> C.8.3} Macro replacement

       The replacement token sequence is reexamined for more macro names
  *    {-->, which are themselves replaced and rescanned}.



# {C.8.2 --> C.8.3} Macro replacement

       After all replacements have taken place, each instance in the de-
  *    finition  of a ## {token --> operator} is deleted, and the tokens
  *    preceding and following it are concatenated.  {--> If the  result
       is not a valid token, the behavior is undefined.}



# C.8.4 Line control

<--O   The predefined macro name __LINE__ has  the  value  of  the  line
<--O   number  of  the  current  source  line (a decimal constant).  The
<--O   predefined macro name __FILE__ has the value of the presumed name
<--O   of the source file (a string literal).



# {--> C.8.7 Predefined macro names}

N-->   The following macro names shall be defined by the  implementation
N-->   prior to the beginning of translation:

N-->   __LINE__    The line number of the current source line (a decimal
N-->               constant).

N-->   __FILE__    The presumed  name  of  the  source  file  (a  string
N-->               literal).

N-->   __DATE__    The date of translation  of  the  source  file  as  a
N-->               string  literal  of the form "Mmm dd yyyy", where the
N-->               names of the months are the same as  those  generated
N-->               by the asctime function.

N-->   __TIME__    The time of translation  of  the  source  file  as  a
N-->               string literal of the form "hh:mm:ss".

N-->   No other macro names shall be predefined.

N-->   Forward references: the asctime function (#D.12.3.1).



# {--> C.9 FUTURE DIRECTIONS}



# {--> C.9.1 Character escape sequences}

N-->   Lower-case letters as escape sequences are  reserved  for  future
N-->   standardization.  Other characters may be used in extensions.



# {--> C.9.2 Function declarations}

N-->   The use of function  declarations  with  empty  parentheses  (not
N-->   prototype-format parameter-type declarations) is deprecated.



# {--> C.9.3 Function definitions}

N-->   The use of function definitions with separate parameter  identif-
N-->   ier  and  declaration  lists (not prototype-format parameter type
N-->   and identifier declarations) is deprecated.

------------------------------

End of mod.std.c Digest - Tue, 13 May 86 09:09:55 EDT
******************************
USENET -> posting only through cbosgd!std-c.
ARPA -> ... through cbosgd!std-c@BERKELEY.ARPA (NOT to INFO-C)
In all cases, you may also reply to the author(s) above.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads