public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/43690]  New: Internal compiler error detected by avr-gcc.
@ 2010-04-08 15:01 philippe dot hoogvorst at neuf dot fr
  2010-04-08 15:11 ` [Bug middle-end/43690] [4.3/4.4/4.5 Regression] " rguenth at gcc dot gnu dot org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: philippe dot hoogvorst at neuf dot fr @ 2010-04-08 15:01 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2047 bytes --]

========================================================================================
> avr-gcc -v
Using built-in specs.
Target: avr
Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr/lib
--infodi--mandir=/usr/share/man --bindir=/usr/bin --libexecdir=/usr/lib
--libdir=/usr/lib --enabystem-zlib --enable-long-long --enable-nls
--without-included-gettext --disable-checking--build=i486-linux-gnu
--host=i486-linux-gnu --target=avr
Thread model: single
gcc version 4.3.4 (GCC) 
========================================================================================
Minimal source code causing the bug, removing any token makes the compiler work
OK. No header is to be included into this code to see the bug.
-----------
void doit( )
{
    char *pk=0 ;
    for(;;)
    {
        asm ( "nop" : :"m"(pk++) );
        asm ( "nop" : :"m"(pk++) );
    }
}
========================================================================================
> avr-gcc -Wall -mmcu=atmega128 -O3  -c -o /dev/null  /tmp/present-wddl-both-encrypt.c
/tmp/present-wddl-both-encrypt.c: In function ‘doit’:
/tmp/present-wddl-both-encrypt.c:2: internal compiler error: in
copy_reference_ops_from_ref, at tree-ssa-sccvn.c:577
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
========================================================================================
Note that removing "-Wall" does not remove the bug but that removing "-O3"
makes the compiler work OK.

Best regards.


-- 
           Summary: Internal compiler error detected by avr-gcc.
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: philippe dot hoogvorst at neuf dot fr
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: avr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43690


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/43690] [4.3/4.4/4.5 Regression] Internal compiler error detected by avr-gcc.
  2010-04-08 15:01 [Bug c/43690] New: Internal compiler error detected by avr-gcc philippe dot hoogvorst at neuf dot fr
@ 2010-04-08 15:11 ` rguenth at gcc dot gnu dot org
  2010-04-09 13:04 ` rguenth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-04-08 15:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2010-04-08 15:11 -------
Well, we have not properly gimplified the invalid function:

doit ()
{
  char * pk;
  char * pk.1;
  char * pk.0;

<bb 2>:
  pk = 0B;

<bb 3>:
  __asm__ __volatile__("nop"::"m" pk);
  pk = pk + 1;
  pk.0 = pk;
  __asm__ __volatile__("nop"::"m" pk.0);
  pk.1 = pk.0 + 1;
  pk = pk.1;
  goto <bb 3>;


pk is addressable, so pk + 1 needs to load from pk first.

3.4.x prints

t.i: In function `doit':
t.i:6: warning: use of memory input without lvalue in asm operand 0 is
deprecated
t.i:7: warning: use of memory input without lvalue in asm operand 0 is
deprecated
t.i:6: error: impossible constraint in `asm'
t.i:7: error: impossible constraint in `asm'

so we ICE on the invalid asm.

We also fail to diagnose this with newer compilers (but the gimple verifier
triggers with checking enabled).


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|c                           |middle-end
     Ever Confirmed|0                           |1
  GCC build triplet|i486-linux-gnu              |
   GCC host triplet|i486-linux-gnu              |
 GCC target triplet|avr                         |
           Keywords|                            |diagnostic, ice-on-invalid-
                   |                            |code
      Known to fail|                            |4.1.2 4.3.4 4.4.4 4.5.0
                   |                            |4.6.0
      Known to work|                            |3.4.6
   Last reconfirmed|0000-00-00 00:00:00         |2010-04-08 15:11:43
               date|                            |
            Summary|Internal compiler error     |[4.3/4.4/4.5 Regression]
                   |detected by avr-gcc.        |Internal compiler error
                   |                            |detected by avr-gcc.
   Target Milestone|---                         |4.3.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43690


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/43690] [4.3/4.4/4.5 Regression] Internal compiler error detected by avr-gcc.
  2010-04-08 15:01 [Bug c/43690] New: Internal compiler error detected by avr-gcc philippe dot hoogvorst at neuf dot fr
  2010-04-08 15:11 ` [Bug middle-end/43690] [4.3/4.4/4.5 Regression] " rguenth at gcc dot gnu dot org
@ 2010-04-09 13:04 ` rguenth at gcc dot gnu dot org
  2010-04-12  9:44 ` jakub at gcc dot gnu dot org
  2010-05-22 18:36 ` rguenth at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-04-09 13:04 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43690


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/43690] [4.3/4.4/4.5 Regression] Internal compiler error detected by avr-gcc.
  2010-04-08 15:01 [Bug c/43690] New: Internal compiler error detected by avr-gcc philippe dot hoogvorst at neuf dot fr
  2010-04-08 15:11 ` [Bug middle-end/43690] [4.3/4.4/4.5 Regression] " rguenth at gcc dot gnu dot org
  2010-04-09 13:04 ` rguenth at gcc dot gnu dot org
@ 2010-04-12  9:44 ` jakub at gcc dot gnu dot org
  2010-05-22 18:36 ` rguenth at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-04-12  9:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2010-04-12 09:44 -------
Created an attachment (id=20362)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20362&action=view)
gcc46-pr43690.patch

This is very ugly.  Either we should reject all these during gimplification
("m" (x+1) is also rejected during gimplification), or for
POST{IN,DE}CREMENT_EXPR we could mark its operand as addressable in the FEs
(but that wouldn't solve PRE{IN,DE}CREMENT_EXPR which would ICE anyway).  Or
FEs would need to reject this.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43690


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/43690] [4.3/4.4/4.5 Regression] Internal compiler error detected by avr-gcc.
  2010-04-08 15:01 [Bug c/43690] New: Internal compiler error detected by avr-gcc philippe dot hoogvorst at neuf dot fr
                   ` (2 preceding siblings ...)
  2010-04-12  9:44 ` jakub at gcc dot gnu dot org
@ 2010-05-22 18:36 ` rguenth at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-05-22 18:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2010-05-22 18:14 -------
GCC 4.3.5 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.5                       |4.3.6


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43690


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-05-22 18:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-08 15:01 [Bug c/43690] New: Internal compiler error detected by avr-gcc philippe dot hoogvorst at neuf dot fr
2010-04-08 15:11 ` [Bug middle-end/43690] [4.3/4.4/4.5 Regression] " rguenth at gcc dot gnu dot org
2010-04-09 13:04 ` rguenth at gcc dot gnu dot org
2010-04-12  9:44 ` jakub at gcc dot gnu dot org
2010-05-22 18:36 ` rguenth 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).