File: CHANGELOG

package info (click to toggle)
cpphs 0.7-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 360 kB
  • ctags: 18
  • sloc: haskell: 939; makefile: 79; sh: 36; ansic: 11
file content (68 lines) | stat: -rw-r--r-- 2,682 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Version 0.7
-----------
  * Enable the __FILE__, __LINE__, __DATE__, and __TIME__ specials, which
    can be useful for creating DIY error messages.

Version 0.6
-----------
  * Recognise and ignore the #pragma cpp directive.
  * Fix beginning-of-file bug, where in --noline mode, a # cpp directive
    at the top of the file appeared in the output.
  * Fix chained parenthesised boolean exprs in #if, e.g.
        #if ( foo ) && ( bar )
  * Fix precedence in chained unparenthesised boolean exprs in #if, e.g.
        #if foo && bar || baz && frob
  * For better compatibility with cpp, and because otherwise
    there are certain constructs that cannot be expressed, we no
    longer permit whitespace in a <tt>#define</tt> between the
    symbolname and an opening parenthesis, e.g.
        #define f (f' id)
    Previously, this was interpreted as a parametrised macro,
    with arguments in the parens, and no expansion.  Now, the space
    indicates that this is a textual replacement, and the parenthesised
    expression is in fact the replacement.

Version 0.5
-----------
  * Added a --version flag to report the version number.
  * Renamed --stringise to --hashes, and use it to turn on ## catenation
    as well.
  * Bugfix for #if 1, previously taken as false.
  * Bugfix for --nolines: it no longer adds extra spurious newlines.
  * File inclusion now looks in the directory of the calling file.
  * Failure to find an include file is now merely a warning to stderr
    rather than an error.
  * Added a --layout flag.  Previously, line continuations in a macro
    definition were always preserved in the output, permitting use
    of the Haskell layout rule even inside a macro.  The default is now
    to remove line continuations for conformance with cpp, but the option
    of using --layout is still possible.

Version 0.4
-----------
  * New flag -Ofile to redirect output
  * Bugfix for precedence in   #if !False && False
  * Bugfix for whitespace between # and if
  * Bugfix for #define F "blah"; #include F

Version 0.3
-----------
  * Bugfix for recursive macro expansion.
  * New flag --strip to remove C comments even outside cpp directives.
  * New flag --stringise to recognise the # stringise operator in macros.

Version 0.2
-----------
  * New flag --noline to eliminate #line directives from output.
  * Add symbol-replacement and macro-expansion.
  * New flag --nomacro to turn off symbol/macro-expansion.

2004-Apr-21
-----------
  * Now accept multi-line # commands via the \ line continuation operator.
    The original file line numbering is preserved in the output by
    some tricky acrobatics.

Version 0.1
-----------
  * Initial release.