home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume34 / cproto / patch06 / patch6
Encoding:
Text File  |  1992-12-06  |  4.4 KB  |  137 lines

  1. diff  -c old/CHANGES new/CHANGES
  2. *** old/CHANGES    Sat Nov 28 23:18:24 1992
  3. --- new/CHANGES    Tue Dec 01 21:03:42 1992
  4. ***************
  5. *** 1,16 ****
  6.   Version 3
  7.   
  8.   Patchlevel 5
  9.   
  10.   - Fix: The -v option did not output declarations for function pointers.
  11.   - Fix: String literals continued over more than one line messed up the
  12.     line number count.
  13. ! - Fix: The program generated incorrect prototypes for functions that take
  14. !   a variable argument list using <varargs.h>.
  15. ! - Fix: When converting functions from the standard input, cproto generated
  16. !   no output if no functions needed to be converted.
  17.   - Fix: Now does not output a warning if an untagged struct is found in a
  18.     typedef declaration.
  19.   - Added the -b option which rewrites function definition heads to
  20.     include both old style and new style declarations separated by a
  21.     conditional compilation directive.  For example, the program can
  22. --- 1,27 ----
  23.   Version 3
  24.   
  25. + Patchlevel 6
  26. + - Fix: A function in lex.l exploited the ANSI C feature of concatenating
  27. +   string literals.  This prevented the module from being compiled with
  28. +   pre-ANSI C compilers.
  29.   Patchlevel 5
  30.   
  31.   - Fix: The -v option did not output declarations for function pointers.
  32.   - Fix: String literals continued over more than one line messed up the
  33.     line number count.
  34. ! - Fix: The program generated incorrect prototypes for functions that
  35. !   take a variable argument list using <varargs.h>.
  36. ! - Fix: When converting functions from the standard input, cproto
  37. !   generated no output if no functions needed to be converted.
  38.   - Fix: Now does not output a warning if an untagged struct is found in a
  39.     typedef declaration.
  40.   - Added the -b option which rewrites function definition heads to
  41.     include both old style and new style declarations separated by a
  42.     conditional compilation directive.  For example, the program can
  43. ***************
  44. *** 30,43 ****
  45.       {
  46.       }
  47.   
  48. !   Added the -B option to set the preprocessor directive that appears
  49. !   at the beginning of such definitions.
  50. ! - Added the keyword "interrupt" to the set of type qualifiers when compiled
  51. !   on a UNIX system.
  52.   - The MS-DOS version now recognizes the type modifiers introduced by
  53.     Microsoft C/C++ 7.00.
  54.   - Now recognizes ANSI C trigraphs (yuck!).
  55.   - Now use "#if __STDC__" instead of "#if defined(__STDC__)".
  56.   - GNU bison orders the y.tab.c sections differently than yacc, which
  57.     resulted in references to variables before they were declared.  The
  58.     grammar specification was modified to also be compatible with bison.
  59. --- 41,59 ----
  60.       {
  61.       }
  62.   
  63. !   Added the -B option to set the preprocessor directive that appears at
  64. !   the beginning of such definitions.
  65. ! - Added the keyword "interrupt" to the set of type qualifiers when
  66. !   compiled on a UNIX system.
  67.   - The MS-DOS version now recognizes the type modifiers introduced by
  68.     Microsoft C/C++ 7.00.
  69.   - Now recognizes ANSI C trigraphs (yuck!).
  70.   - Now use "#if __STDC__" instead of "#if defined(__STDC__)".
  71.   - GNU bison orders the y.tab.c sections differently than yacc, which
  72.     resulted in references to variables before they were declared.  The
  73.     grammar specification was modified to also be compatible with bison.
  74. diff  -c old/lex.l new/lex.l
  75. *** old/lex.l    Sat Nov 28 23:54:16 1992
  76. --- new/lex.l    Tue Dec 01 21:04:42 1992
  77. ***************
  78. *** 1,5 ****
  79.   %{
  80. ! /* $Id: lex.l 3.8 1992/11/29 04:54:14 cthuang Exp $
  81.    *
  82.    * Lexical analyzer for C function prototype generator
  83.    */
  84. --- 1,5 ----
  85.   %{
  86. ! /* $Id: lex.l 3.9 1992/12/02 02:04:35 cthuang Exp $
  87.    *
  88.    * Lexical analyzer for C function prototype generator
  89.    */
  90. ***************
  91. *** 294,299 ****
  92. --- 294,300 ----
  93.   static void
  94.   get_cpp_directive ()
  95.   {
  96. +     static char cont_trigraph[] = { '?', '?', '/', '\0' };
  97.       char c, lastc[4];
  98.       
  99.       lastc[0] = lastc[1] = lastc[2] = lastc[3] = '\0';
  100. ***************
  101. *** 304,310 ****
  102.       switch (c) {
  103.       case '\n':
  104.           cur_file->line_num++;
  105. !         if (lastc[2] != '\\' && strcmp(lastc, "??""/") != 0) {
  106.           BEGIN INITIAL;
  107.           return;
  108.           }
  109. --- 305,311 ----
  110.       switch (c) {
  111.       case '\n':
  112.           cur_file->line_num++;
  113. !         if (lastc[2] != '\\' && strcmp(lastc, cont_trigraph) != 0) {
  114.           BEGIN INITIAL;
  115.           return;
  116.           }
  117. diff  -c old/patchlev.h new/patchlev.h
  118. *** old/patchlev.h    Fri Jun 26 08:27:12 1992
  119. --- new/patchlev.h    Tue Dec 01 09:52:28 1992
  120. ***************
  121. *** 1 ****
  122. ! #define PATCHLEVEL 5
  123. --- 1 ----
  124. ! #define PATCHLEVEL 6
  125.