[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