[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-gcc-list] Compiler error

From: Larry Barello
Subject: RE: [avr-gcc-list] Compiler error
Date: Sun, 29 May 2005 20:14:37 -0700

Ok, I submitted this as a bug (#21811) and within an hour it was closed as a
duplicate of #8788 which will be corrected in the 4.1.0 mainline.  #8788
sounds similar, but I am still somewhat unsatisfied since a union of a three
byte array and a word should be allowed in C.  Maybe I just didn't

-----Original Message-----
From: Haase Bjoern (PT-BEU/EMT) * [mailto:address@hidden
Sent: Monday, May 23, 2005 7:31 AM
To: Larry Barello; Joerg Wunsch; address@hidden
Subject: AW: [avr-gcc-list] Compiler error

I was able to reproduce your problem.
I assume that the underlying problem is, that gcc does assign the mode
BLKmode to your 3-Byte objects. It crashes since it does not know how to
place an object of mode BLKmode into registers: Blockmode is meant to be
used for memory blocks but also assigned to structs/unions of sizes that do
not exactly fit into int, long int or long long int variables.
Your asm code is forcing a BLKmode object into registers by using the "r"
constraint and there's the problem: GCC does not know how to place blocks of
memory into registers.
E.g. have a look how your object would be returned or passed as a function
parameter: GCC would probably never pass or return your union in registers
but allways in memory.

It's also not a problem of the avr port alone. The x86 port crashes as well
with your source code.

Short term (but shurly not most efficient) workaround would be to allocate 4
bytes for your union. In this case gcc will allocate a variable of mode
SImode and for this type of object, gcc knows how to place SImode objects
into registers. Other workaround would be to leave your object in memory.



-----Urspr√ľngliche Nachricht-----
Von: address@hidden
[mailto:address@hidden Im
Auftrag von Larry Barello
Gesendet: Montag, 23. Mai 2005 16:04
An: Joerg Wunsch; address@hidden
Betreff: RE: [avr-gcc-list] Compiler error

Nope, my problem seems much worse and is in the "asm" constraints handling.
Attached is all details.

-----Original Message-----
From:  Joerg Wunsch ...

What's the actual error message?  (And which compiler version?)

Maybe it's related to


reply via email to

[Prev in Thread] Current Thread [Next in Thread]