The abbreviated line directives were added by the pike cpp(). It was not
used prior to precompile api version 4 for .cmod files. I replaced all
the ones I found. I also added support for that to the lexer. does
anyone have objections to that? pike always seemed to use the
abbreviated #line directives.

I also replaced the stdint stuff in the critbits by pike_int_types. Let
me know if there is more problems with that on windows.

arne

On Sun, 22 Jul 2012, Arne Goedeke wrote:

And those line directives should probably all be

#line 1 ".."

instead. Will try to track that down, aswell.

arne

On Sat, 21 Jul 2012, H. William Welliver III wrote:

 I'm in the middle of building Pike 7.9 on windows and am running into a
 few problems getting CritBit to compile. I've only spent a few minutes
 looking into the problems, but thought I should report them here, in case
 anyone has insight into how they should be resolved:

 1. Windows doesn't have stdint.h; depending on how heavily CritBit relies
 on this header, it may be possible to use a substitute file from the
 following project (it at least shuts the compiler up):
  http://code.google.com/p/msinttypes/

 2. There seems to be some sort of problem with the generated C code from
 the new template based CMOD. The .c file was generated by 7.9.5 running on
 my Darwin system, so it just seems like the MS C compiler (CL.EXE) doesn't
 like something. I suspect it has something to do with lines like the
 following:

 # 1 "src/post_modules/CritBit/inttree.cmod"

 I've included the error below. Do let me know if I can provide any
 additional details.

 Best,

 Bill

 Compiling post_modules/CritBit/inttree.c
 src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
 preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
 preprocessor directive, found '2'
 
/usr/local/pike/7.9.5/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike(2739)
 : error C2019: expected preprocessor directive, found '1'
 z:\pike-git\src\post_modules\critbit\tree_low.c(185) : warning C4028:
 formal parameter 2 different from declaration
 z:\pike-git\src\post_modules\critbit\tree_low.c(365) : warning C4028:
 formal parameter 1 different from declaration
 z:\pike-git\src\post_modules\critbit\tree_high.c(46) : warning C4028:
 formal parameter 2 different from declaration
 src/post_modules/CritBit/inttree.cmod(39) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(54) : error
 C2010: '.' : unexpected in macro formal parameter list
 /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
 C2019: expected preprocessor directive, found '3'
 src/post_modules/CritBit/inttree.cmod(41) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
 C2019: expected preprocessor directive, found '4'
 src/post_modules/CritBit/inttree.cmod(42) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
 error C2019: expected preprocessor directive, found '4'
 src/post_modules/CritBit/inttree.cmod(45) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
 C2019: expected preprocessor directive, found '4'
 src/post_modules/CritBit/inttree.cmod(128) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
 C2019: expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(130) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
 C2019: expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(131) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
 error C2019: expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(134) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/prefix.H(13) : error C2019:
 expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(135) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
 C2019: expected preprocessor directive, found '1'
 CL returned error code 2.
 WARNING: Compiler failure! Trying without optimization!
 src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
 preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
 preprocessor directive, found '2'
 
/usr/local/pike/7.9.5/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike(2739)
 : error C2019: expected preprocessor directive, found '1'
 z:\pike-git\src\post_modules\critbit\tree_low.c(185) : warning C4028:
 formal parameter 2 different from declaration
 z:\pike-git\src\post_modules\critbit\tree_low.c(365) : warning C4028:
 formal parameter 1 different from declaration
 z:\pike-git\src\post_modules\critbit\tree_high.c(46) : warning C4028:
 formal parameter 2 different from declaration
 src/post_modules/CritBit/inttree.cmod(39) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(54) : error
 C2010: '.' : unexpected in macro formal parameter list
 /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
 C2019: expected preprocessor directive, found '3'
 src/post_modules/CritBit/inttree.cmod(41) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
 C2019: expected preprocessor directive, found '4'
 src/post_modules/CritBit/inttree.cmod(42) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
 error C2019: expected preprocessor directive, found '4'
 src/post_modules/CritBit/inttree.cmod(45) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
 C2019: expected preprocessor directive, found '4'
 src/post_modules/CritBit/inttree.cmod(128) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
 C2019: expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(130) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
 C2019: expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(131) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
 error C2019: expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(134) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/prefix.H(13) : error C2019:
 expected preprocessor directive, found '1'
 src/post_modules/CritBit/inttree.cmod(135) : error C2019: expected
 preprocessor directive, found '1'
 /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
 C2019: expected preprocessor directive, found '1'
 CL returned error code 2.
 Compilation command was:
 /Users/hww3/pike-git/bin/smartlink rntcl -I.
 -I/Users/hww3/pike-git/src/post_modules/CritBit
 -I/Users/hww3/pike-git/build/windows_xp-5.1.2600-i686
 -I/Users/hww3/pike-git/src   -IZ:/win32libs/include
 -I/Users/hww3/pike-git/build/windows_xp-5.1.2600-i686/bundles/include
 -DHAVE_CONFIG_H  -g -MD    -DDYNAMIC_MODULE -c
 /Users/hww3/pike-git/src/post_modules/CritBit/inttree.c -o inttree.o





Reply via email to