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:[email protected]] > Sent: Tuesday, December 28, 2010 1:39 PM > To: Jim Idle; [email protected] > 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: [email protected] > [mailto:[email protected]] On Behalf Of Jim Idle > Sent: Tuesday, December 28, 2010 3:04 PM > To: [email protected] > 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: [email protected] [mailto:antlr-interest- > > [email protected]] On Behalf Of Justin Murray > > Sent: Tuesday, December 28, 2010 11:59 AM > > To: [email protected] > > 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 > > [email protected] > > > > 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 -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
