[M3devel] INTEGER vs. LONGINT vs. Target.Int in m3cg?

Jay K jay.krell at cornell.edu
Fri Oct 1 12:46:12 CEST 2010


No, it isn't a big problem, but it is an obvious wart. I'd like to fix it. I know how. It is just "a bit" tedious.
It is common these days to support arbitrary crosses.
I think we should.

However, granted, gcc uses a mix of:
  64bit long (for 64bit host targeting 64bit)
  64bit long long (32bit host targeting 64bit) -- easy, esp. in C where long => long long conversion is automatic (given that it is lossless, no problem, imho, but I lost that argument here, meanwhile, most code in the world is written this way and nobody complains...) 
  "double_int" a struct containing two longs (I don't know why they still use this, maybe support 32bit host targeting 64bit without a 64bit long long?)
  gmp -- arbitrary precision (ditto) 

If we "just" use LONGINT more instead of INTEGER, we can get by with less change.
The "more honest" approach is to use Target.Int though.

I'd like to take a stab at it, but I expect it might be invasive, want to make sure it is ok.

 - Jay

----------------------------------------
> Date: Fri, 1 Oct 2010 12:37:23 +0200
> From: wagner at elegosoft.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] INTEGER vs. LONGINT vs. Target.Int in m3cg?
>
> Quoting Jay K :
>
> >
> > Really? What technique was employed?
> > The current system doesn't work as I want. As most other compilers now do.
> > You mean maybe the .mc files were saved, copied, and cm3cg run on Alpha?
> > Right. In the past gcc didn't have such good cross building capabilities.
> > So that might have helped.
> > Now it does. Now cm3cg has no problem crossing arbitrarily.
> > But the cm3 frontend does.
> > A 32bit cm3 frontend can't handle sizes larger than 4GB.
>
> Is this really still such an important problem?
> We can easily support cross-builds from all 32 bit targets to all
> 32 bit targets and from 64 bit targets to both 32 and 64 bit targets,
> right?
>
> And we do have several 64 bit build machines...
>
> Olaf
> --
> Olaf Wagner -- elego Software Solutions GmbH
> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
>
 		 	   		  


More information about the M3devel mailing list