--- Additional Comments From rth at gcc dot gnu dot org 2005-01-04 09:14
---
Subject: Re: Unaligned access to fields inside packed records
Could you tell on what grounds? AFAICS all fields are still addressable.
Not really, they aren't. I've argued in the past that we should
--- Additional Comments From rth at gcc dot gnu dot org 2005-01-03 23:16
---
The Ada compiler may do it, but the C compiler does not. This test case,
written in C, is invalid.
--
What|Removed |Added
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-01-04
05:17 ---
The Ada compiler may do it, but the C compiler does not. This test case,
written in C, is invalid.
Could you tell on what grounds? AFAICS all fields are still addressable.
--
What
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-01-02
10:57 ---
Reconfirmed with gcc version 4.0.0 20050101 (experimental) at -O0 on SPARC
32-bit.
--
What|Removed |Added
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-01-02
11:03 ---
Clobber_Hour_Of:
save%sp, -112, %sp
st %i0, [%fp+68]
ld [%fp+68], %g1
add %g1, 5, %g1
mov %g1, %o0
callAssign_Hour_Of, 0
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-01-02
11:11 ---
.t03.generic is already wrong:
Clobber_Hour_Of (dt)
{
struct Time_T * D.1122;
D.1122 = dt-Time;
Assign_Hour_Of (D.1122);
}
struct Time_T is 32-bit aligned so D.1122 must be a multiple of 4; as
--- Additional Comments From giovannibajo at libero dot it 2005-01-02
16:45 ---
Are we really forced to support ADDR_EXPR on unaligned fields? How would you
fix it with a temporary? Are you going to generate a FINALLY_EXPR to copy the
contents of the temporary back into the original
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-01-02
17:20 ---
Are we really forced to support ADDR_EXPR on unaligned fields? How would you
fix it with a temporary? Are you going to generate a FINALLY_EXPR to copy the
contents of the temporary back into the
--- Additional Comments From wintermute101 at wp dot pl 2004-11-04 16:54 ---
I write here cause it's simmilar situation as reported here but I have no data
about other gcc versions than 3.3.2.
I have following:
/
define _aligned(n) __attribute__((aligned(n), packed))
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-11-03 17:53
---
Created an attachment (id=7467)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7467action=view)
Testcase.
To be compiled with -O0.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18287
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-03 18:02
---
Are you sure that 4.0.0 does not work, as it no longer does the transformation for
(a-b) into a +
offsetof(a,b).
From the last tree dump for 4.0.0:
;; Function Assign_Hour_Of (Assign_Hour_Of)
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-03 18:03
---
t-Hour = 44; /* unaligned word access */
is unaligned word access if t is not word aligned in the first place, correct which is
where the problem
comes in right?
--
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-11-03 18:17
---
t-Hour = 44; /* unaligned word access */
is unaligned word access if t is not word aligned in the first place, correct
which is where the problem comes in right?
I confirm that the bus error (not
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-03 19:57
---
There is another example of this in PR 17949 where the tree-optimizations cause
something werid to
happen only because the middle-end does not know that they are unaligned loads.
--
14 matches
Mail list logo