public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/17384] New: internal compiler error: segmentation fault
@ 2004-09-09 21:03 pluto at pld-linux dot org
2004-09-09 21:07 ` [Bug c/17384] [3.4/4.0 Regression] " pinskia at gcc dot gnu dot org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: pluto at pld-linux dot org @ 2004-09-09 21:03 UTC (permalink / raw)
To: gcc-bugs
# testcase #
typedef struct __attribute__((mode(SI))) {
unsigned INT0 :1,
RES0 :1,
:6,
INT1 :1,
RES1 :1,
:6,
:16;
} MCR;
# arm-pld-linux-gcc bitfields.c -c
bitfields.c:9: internal compiler error: Segmentation fault
ps). /bitfields-related/
Is there a possibility to turn off the unaligned access
(via LDRB(H)/STRB(H)) to specified bitfields?
Many of registers mapped into ARM7's address space don't
work correctly with such kind of access. The problem
is that gcc will generate 8/16/32 bits access for bit field
access depending on the width of the bit field. This is allowed
for memory based operations if the memeory accepts 8/16/32
bit transfers (most configurations do), but deadly in case
of I/O registers that can only be written 32 bits at a time.
Do You plan to introduce something like
__attribute__((only_full_word_access)) ?
--
Summary: internal compiler error: segmentation fault
Product: gcc
Version: 3.4.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at pld-linux dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: pentium3-pld-linux
GCC host triplet: pentium3-pld-linux
GCC target triplet: arm-pld-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17384
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/17384] [3.4/4.0 Regression] internal compiler error: segmentation fault
2004-09-09 21:03 [Bug c/17384] New: internal compiler error: segmentation fault pluto at pld-linux dot org
@ 2004-09-09 21:07 ` pinskia at gcc dot gnu dot org
2004-10-13 18:13 ` [Bug c/17384] [3.4/4.0 Regression] ICE with mode attribute on structures rth at gcc dot gnu dot org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-09 21:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-09-09 21:07 -------
: Search converges between 2003-08-30-trunk (#339) and 2003-09-02-trunk (#340).
input.c:9: internal compiler error: tree check: expected tree_list, have integer_cst in finish_struct, at c-
decl.c:5150
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
Confirmed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-09-09 21:07:39
date| |
Summary|internal compiler error: |[3.4/4.0 Regression]
|segmentation fault |internal compiler error:
| |segmentation fault
Target Milestone|--- |3.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17384
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/17384] [3.4/4.0 Regression] ICE with mode attribute on structures
2004-09-09 21:03 [Bug c/17384] New: internal compiler error: segmentation fault pluto at pld-linux dot org
2004-09-09 21:07 ` [Bug c/17384] [3.4/4.0 Regression] " pinskia at gcc dot gnu dot org
@ 2004-10-13 18:13 ` rth at gcc dot gnu dot org
2004-10-13 23:29 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rth at gcc dot gnu dot org @ 2004-10-13 18:13 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2004-10-13 18:13 -------
Working on a fix for the ICE, but I'll warn you that this construct is
erroneous. You don't get to choose the mode for a structure; that's
determined by the layout routines.
As for your hardware registers, no there's no way to do this with a
structure. You'll need to explicitly read these registers with an
integer type. You might look into the transparent union extension
that would let you cast between integer and structure types.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17384
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/17384] [3.4/4.0 Regression] ICE with mode attribute on structures
2004-09-09 21:03 [Bug c/17384] New: internal compiler error: segmentation fault pluto at pld-linux dot org
2004-09-09 21:07 ` [Bug c/17384] [3.4/4.0 Regression] " pinskia at gcc dot gnu dot org
2004-10-13 18:13 ` [Bug c/17384] [3.4/4.0 Regression] ICE with mode attribute on structures rth at gcc dot gnu dot org
@ 2004-10-13 23:29 ` cvs-commit at gcc dot gnu dot org
2004-10-13 23:31 ` cvs-commit at gcc dot gnu dot org
2004-10-13 23:39 ` rth at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-10-13 23:29 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-10-13 23:29 -------
Subject: Bug 17384
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_4-branch
Changes by: rth@gcc.gnu.org 2004-10-13 23:29:06
Modified files:
gcc : ChangeLog c-common.c crtstuff.c
gcc/config/i386: emmintrin.h xmmintrin.h
Log message:
PR c/17384
* c-common.c (handle_mode_attribute): Disallow mode changes that
alter the CODE of the top-level type.
* crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
integer from internal limits macros.
* config/i386/emmintrin.h (__v2df): Fix base type.
* config/i386/xmmintrin.h (__m128, __v4sf): Likewise.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.656&r2=2.2326.2.657
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.476.4.8&r2=1.476.4.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/crtstuff.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.65&r2=1.65.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/emmintrin.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.4.4.1&r2=1.4.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/xmmintrin.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.27.4.1&r2=1.27.4.2
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17384
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/17384] [3.4/4.0 Regression] ICE with mode attribute on structures
2004-09-09 21:03 [Bug c/17384] New: internal compiler error: segmentation fault pluto at pld-linux dot org
` (2 preceding siblings ...)
2004-10-13 23:29 ` cvs-commit at gcc dot gnu dot org
@ 2004-10-13 23:31 ` cvs-commit at gcc dot gnu dot org
2004-10-13 23:39 ` rth at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-10-13 23:31 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-10-13 23:31 -------
Subject: Bug 17384
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rth@gcc.gnu.org 2004-10-13 23:31:24
Modified files:
gcc : ChangeLog c-common.c crtstuff.c
gcc/config/i386: mm3dnow.h
Added files:
gcc/testsuite/gcc.dg: attr-mode-1.c
Log message:
PR c/17384
* c-common.c (handle_mode_attribute): Disallow mode changes that
alter the CODE of the top-level type.
* crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
integer from internal limits macros.
* config/i386/mm3dnow.h (__v2sf): Fix base type.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.5869&r2=2.5870
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&r1=1.576&r2=1.577
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/crtstuff.c.diff?cvsroot=gcc&r1=1.68&r2=1.69
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/mm3dnow.h.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/attr-mode-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17384
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/17384] [3.4/4.0 Regression] ICE with mode attribute on structures
2004-09-09 21:03 [Bug c/17384] New: internal compiler error: segmentation fault pluto at pld-linux dot org
` (3 preceding siblings ...)
2004-10-13 23:31 ` cvs-commit at gcc dot gnu dot org
@ 2004-10-13 23:39 ` rth at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: rth at gcc dot gnu dot org @ 2004-10-13 23:39 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2004-10-13 23:39 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17384
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-10-13 23:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-09 21:03 [Bug c/17384] New: internal compiler error: segmentation fault pluto at pld-linux dot org
2004-09-09 21:07 ` [Bug c/17384] [3.4/4.0 Regression] " pinskia at gcc dot gnu dot org
2004-10-13 18:13 ` [Bug c/17384] [3.4/4.0 Regression] ICE with mode attribute on structures rth at gcc dot gnu dot org
2004-10-13 23:29 ` cvs-commit at gcc dot gnu dot org
2004-10-13 23:31 ` cvs-commit at gcc dot gnu dot org
2004-10-13 23:39 ` rth at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).