> -----Original Message----- > From: Bernhard Fischer [mailto:[EMAIL PROTECTED] > Sent: Monday, October 16, 2006 9:26 AM > To: Rob Landley > Cc: [email protected]; Svein Berge > Subject: Re: [Tinycc-devel] Preprocessor output > > On Sun, Oct 15, 2006 at 07:40:49PM -0400, Rob Landley wrote: > >On Saturday 14 October 2006 1:36 pm, Svein Berge wrote: > >> > -----Original Message----- > >> > From: Bernhard Fischer [mailto:[EMAIL PROTECTED] > >> > Sent: Saturday, October 14, 2006 6:43 PM > >> > To: [email protected] > >> > Cc: [EMAIL PROTECTED] > >> > Subject: Re: [Tinycc-devel] Preprocessor output > >> > > >> > On Sat, Oct 14, 2006 at 12:24:58AM +0200, Svein Berge wrote: > >> > >For my project (www.sourceforge.org/projects/jsext), I need > >> > a C compiler > >> > >(preferrably tiny), but also a C preprocessor. I've added a > >> > few lines of > >> > >code to add the -E option to tcc and a tcc_preprocess > >> > function to tcclib. > >> > >The -E option makes tcc stop after preprocessing and send > >> > output to stdout > >> > >(like gcc does). The tcc_preprocess function in libtcc takes > >> > C code as a > >> > >char * and returns preprocessed C code as a char *. > >> > > > >> > >The preprocessor output contains preprocessed code, a list > >> > of all constant > >> > >#defines (that is, those without parameters) and # > >> > linenumber "filename" > >> > >records. > >> > > > >> > >Enclosed are the diff files for libtcc.h and tcc.c. I hope > >> > this will be > >> > > >> > Sounds useful. Unfortunately your patch doesn't apply to current > >> > cvs. Could you please send a "diff -u" against current cvs? > >> > > >> > TIA, > >> > > >> > >included in a future release. It may be a useful feature for > >> > others, too, > >> > >adds little code and is backwards-compatible. > >> > >> Right... I worked from release 0.9.23. Here are the diffs > against CVS (with > >> -u). > > Why don't you use a separate PARSE_FLAG instead of the tcc_preprocess > variable?
No reason. > Also fputs(s,stdout) is superfluous. Better make that read puts(s). Nope. puts(s) adds a newline, fputs doesn't. Svein > Can't you get rid of these if (tcc_preprocess) changed_file(); by just > emitting the current tokens (after macro expansion) if e.g. > PARSE_FLAG_CPP > is set? I'd expect this to be smaller and perhaps cleaner, but i admit > that i didn't try to implement it (yet). _______________________________________________ Tinycc-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/tinycc-devel
