[antlr-interest] [C target] Warnings in 64-bit compile
Jim Idle
jimi at temporal-wave.com
Fri Jun 24 10:34:53 PDT 2011
There are few bug fixes in this beta - all that I can get in will be in
the release version, which won't be too long now. However, you should
still avoid backtrack and memorize unless there is no other choice.
Jim
> -----Original Message-----
> From: antlr-interest-bounces at antlr.org [mailto:antlr-interest-
> bounces at antlr.org] On Behalf Of Justin Murray
> Sent: Friday, June 24, 2011 8:12 AM
> To: antlr-interest at antlr.org
> Subject: Re: [antlr-interest] [C target] Warnings in 64-bit compile
>
> Jim,
>
> I just wanted to see if this was on your radar for the 3.4 C runtime
> update. I haven't been able to test it with beta3 because I hit some
> earlier roadblocks.
>
> Thanks,
>
> -- Justin
>
>
>
> Ah it is probably because the backtrack and memorize option. I
> strongly
>
> advise that you don't use these but left factor your grammar.
> However, I
>
> will fix it of course.
>
>
>
>
>
> Jim
>
>
>
>
>
> -----Original Message-----
>
> From: Justin Murray [mailto:jmur... at aerotech.com]
>
> Sent: Tuesday, December 28, 2010 1:39 PM
>
> To: Jim Idle; antl... at antlr.org
>
> Subject: RE: [antlr-interest] [C target] Warnings in 64-bit
> compile
>
>
>
>
>
> I believe that it is caused by using the memorize=true; option and
>
> building 64-bit. The following grammar has these warnings in the
>
> generated TestParser.c (compiled as C++ code in Visual Studio
> 2008).
>
> You will find the offending line at the beginning of the generated
>
> prog() function.
>
>
>
>
>
> -----------------------------
>
> grammar Test;
>
>
>
>
>
> options
>
> {
>
> language=C;
>
> backtrack=true;
>
> memoize=true;
>
> }
>
>
>
>
>
> prog
>
> : SOMETHING+;
>
>
>
>
>
> SOMETHING
>
> : 'A'..'Z';
>
>
>
> ------------------------------
>
>
>
>
>
> Thanks,
>
>
>
>
>
> Justin
>
>
>
>
>
> -----Original Message-----
>
> From: antl... at antlr.org
>
> [mailto:antl... at antlr.org] On Behalf Of Jim Idle
>
> Sent: Tuesday, December 28, 2010 3:04 PM
>
> To: antl... at antlr.org
>
> Subject: Re: [antlr-interest] [C target] Warnings in 64-bit
> compile
>
>
>
>
>
> There were some such warnings a number of versions back but they
> are
>
> all fixed as far as I know. What construct are you using that
> results
>
> in the warning? If you give me a reproducible grammar snippet,
> then I
>
> will fix it for the next release, which is just waiting on my
> other
>
> commitments right now.
>
>
>
>
>
> Jim
>
>
>
>
>
> -----Original Message-----
>
> From: antl... at antlr.org [mailto:antlr-interest-
>
> boun... at antlr.org] On Behalf Of Justin Murray
>
> Sent: Tuesday, December 28, 2010 11:59 AM
>
> To: antl... at antlr.org
>
> Subject: [antlr-interest] [C target] Warnings in 64-bit compile
>
>
>
>
>
> Jim,
>
>
>
>
>
> I am working on making our compiler support 64-bit builds, and
> have
>
> run
>
> into a number of compiler warnings due to conflicting types in the
>
> ANTLR generated C code:
>
>
>
>
>
> warning C4244: '=' : conversion from 'ANTLR3_MARKER' to
>
> 'ANTLR3_UINT32', possible loss of data
>
>
>
>
>
> This comes from the line:
>
>
>
>
>
> axisMask_StartIndex = INDEX();
>
>
>
>
>
> axisMask_StartIndex is declared as type ANTLR3_UINT32, and INDEX()
> is
>
> returning type ANTLR3_MARKER. On a 64-bit build (on a Windows
>
> machine),
>
> ANTLR3_UINT32 is a typedef of uint32_t, and ANTLR3_MARKER is of
> type
>
> ANTLR3_INT64 which is a typedef of int64_t. It seems to me that
> this
>
> is
>
> a bug in the template, and that axisMask_StartIndex should have
> been
>
> declared as type ANTLR3_MARKER.
>
>
>
>
>
> My questions are, do you know of a quick workaround for this for
> now?
>
> Do you know if this will be fixed in the next release of the C
> target
>
> runtime? Also, is there a tenative release date for the C runtime
>
> that
>
> will officially support ANTLR 3.3 (it seems that the code
> generated
>
> by
>
> ANTLR 3.3 works ok with the 3.2 C runtime)?
>
>
>
>
>
> Thanks,
>
>
>
>
>
> Justin Murray
>
> Software Engineer
>
> jmur... at aerotech.com
>
>
>
>
>
> Aerotech, Inc.
>
> 101 Zeta Drive
>
> Pittsburgh, PA 15238
>
> 412-963-7470
>
>
>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-
>
> interest/your-
>
> email-address
>
>
>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>
> Unsubscribe:
>
> http://www.antlr.org/mailman/options/antlr-interest/your-email-
> address
>
>
>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-
> address
>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-
> email-address
More information about the antlr-interest
mailing list