[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Preprocessor output
From: |
Bernhard Fischer |
Subject: |
Re: [Tinycc-devel] Preprocessor output |
Date: |
Mon, 16 Oct 2006 09:26:09 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
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:address@hidden
>> > Sent: Saturday, October 14, 2006 6:43 PM
>> > To: address@hidden
>> > Cc: address@hidden
>> > 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?
Also fputs(s,stdout) is superfluous. Better make that read puts(s).
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] Preprocessor output, Svein Berge, 2006/10/13
- Re: [Tinycc-devel] Preprocessor output, Bernhard Fischer, 2006/10/14
- RE: [Tinycc-devel] Preprocessor output, Svein Berge, 2006/10/14
- Re: [Tinycc-devel] Preprocessor output, Rob Landley, 2006/10/15
- Re: [Tinycc-devel] Preprocessor output,
Bernhard Fischer <=
- RE: [Tinycc-devel] Preprocessor output, Svein Berge, 2006/10/16
- RE: [Tinycc-devel] Preprocessor output, Svein Berge, 2006/10/16
- Re: [Tinycc-devel] Preprocessor output, Fabrice Bellard, 2006/10/16
- Re: [Tinycc-devel] Preprocessor output, Rob Landley, 2006/10/17
- RE: [Tinycc-devel] Preprocessor output, Svein Berge, 2006/10/16
- Re: [Tinycc-devel] Preprocessor output, Rob Landley, 2006/10/15
- RE: [Tinycc-devel] Preprocessor output, Svein Berge, 2006/10/16