This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: error: unable to emulate 'DI'


Omar Torres wrote:
> On Thu, Oct 16, 2008 at 10:02 AM, Andrew Haley <aph@redhat.com> wrote:
>> Omar Torres wrote:
>>> Hi Andrew,
>>>  Looks like Paul did submitted a patch here:
>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20675
>>>
>>> Can you or someone else take a look and comment on it?
>> Oh my goodness, that is a huge patch.  It's also incorrect, as
>> far as I can see: LONG_LONG_TYPE_SIZE is never less than 64 bits,
>> so this test always returns true.  There's a discussion in Section
>> 6.2.5. of the rationale in C99 that explains why long long is defined
>> to be this way.

> LONG_LONG_TYPE_SIZE is in fact defined as 32-bit in the port I am
> working. I inherited this GCC port, so I do not now whether or not
> this is fully compliant with C99 standard.

You do now.

> I believe the reason is to reduce code size (this is an 8-bit word
> target, 64-bit operations are very expensive).

> The core is aimed, at low-power embedded applications without an OS
> (an event-driven scheduler is used instead). A very old GCC port has
> been sucessfuly used for years, all I am trying to do is to bring that
> old port to a more current version of GCC.

Sure, I understand that, and I also note one or two ports define
LONG_LONG_TYPE_SIZE otherwise.

Andrew.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]