public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/27129]  New: [4.1/4.2 Regression] ICE in get_expr_operands
@ 2006-04-12  9:43 jakub at gcc dot gnu dot org
  2006-04-12 11:17 ` [Bug c++/27129] " reichelt at gcc dot gnu dot org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-04-12  9:43 UTC (permalink / raw)
  To: gcc-bugs

static const float a = 0.299f;
static const float b = 0.114f;
static const float c = 1 - a - c;

float
foo (void)
{
  return a + b + c;
}

ICEs at -O and higher.  There is a typo (should have been 1 - a - b of course),
but IMHO that just triggers undefined behavior.
G++ 4.0.x would initialize c in __static_initialization_and_destruction_0(int,
int) and compile it without ICE, where foo would be return 0.413f + c;
In 4.1.0+, apparently c is initialized to error_mark_node, although no error
nor even a warning is emitted at compile time, and obviously various later
optimizers are upset when seeing error_mark_node on unexpected places,
errorneous
input is not supposed to reach that far ever.


-- 
           Summary: [4.1/4.2 Regression] ICE in get_expr_operands
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
@ 2006-04-12 11:17 ` reichelt at gcc dot gnu dot org
  2006-04-12 14:00 ` prigault at oricom dot ca
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2006-04-12 11:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from reichelt at gcc dot gnu dot org  2006-04-12 11:17 -------
Confirmed.


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code, monitored
   Last reconfirmed|0000-00-00 00:00:00         |2006-04-12 11:17:02
               date|                            |
   Target Milestone|---                         |4.1.1


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
  2006-04-12 11:17 ` [Bug c++/27129] " reichelt at gcc dot gnu dot org
@ 2006-04-12 14:00 ` prigault at oricom dot ca
  2006-04-16 19:48 ` mmitchel at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: prigault at oricom dot ca @ 2006-04-12 14:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from prigault at oricom dot ca  2006-04-12 14:00 -------
IMO, the line defining c should trigger an error message because it needs to
use c before creating the variable, or else undefined behaviour occurs.
This message could be:
 error: ‘c’ was not declared in this scope
or:
 error: 'c' is used uninitialized

Consider:

$ more test.cc
#include <stdio.h>

static const float f = 1 - a;

int main(void)
{
    printf("%f\n", f);

    return 0;
}

$ g++ -Wall  -O2 -o test  test.cc
test.cc:3: error: &#8216;a&#8217; was not declared in this scope

$ more test1.cc
#include <stdio.h>

static const float f = 1 - f;

int main(void)
{
    printf("%f\n", f);

    return 0;
}

$ g++ -Wall  -O2 -o test1  test1.cc
$

There should be an error message there as well.


-- 

prigault at oricom dot ca changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |prigault at oricom dot ca


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
  2006-04-12 11:17 ` [Bug c++/27129] " reichelt at gcc dot gnu dot org
  2006-04-12 14:00 ` prigault at oricom dot ca
@ 2006-04-16 19:48 ` mmitchel at gcc dot gnu dot org
  2006-04-18 16:12 ` bonzini at gnu dot org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-04-16 19:48 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

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


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-04-16 19:48 ` mmitchel at gcc dot gnu dot org
@ 2006-04-18 16:12 ` bonzini at gnu dot org
  2006-05-16 13:15 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bonzini at gnu dot org @ 2006-04-18 16:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from bonzini at gnu dot org  2006-04-18 16:12 -------
Without getting in the merit of the bug, let me point out that GCC is *not*
free to make hard errors at its own will.  What is an error and what isn't is
regulated by the standard, and GCC aims at adhering to the standard.


-- 


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-04-18 16:12 ` bonzini at gnu dot org
@ 2006-05-16 13:15 ` jakub at gcc dot gnu dot org
  2006-05-25  2:40 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-05-16 13:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jakub at gcc dot gnu dot org  2006-05-16 13:15 -------
Testing a patch.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2006-04-12 11:17:02         |2006-05-16 13:15:44
               date|                            |


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-05-16 13:15 ` jakub at gcc dot gnu dot org
@ 2006-05-25  2:40 ` mmitchel at gcc dot gnu dot org
  2006-06-03 22:37 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-05-25  2:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from mmitchel at gcc dot gnu dot org  2006-05-25 02:34 -------
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.1                       |4.1.2


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-05-25  2:40 ` mmitchel at gcc dot gnu dot org
@ 2006-06-03 22:37 ` pinskia at gcc dot gnu dot org
  2006-06-09  9:42 ` jakub at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-03 22:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pinskia at gcc dot gnu dot org  2006-06-03 22:37 -------
(In reply to comment #4)
> Testing a patch.
Any news, it has been almost a month.


-- 


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2006-06-03 22:37 ` pinskia at gcc dot gnu dot org
@ 2006-06-09  9:42 ` jakub at gcc dot gnu dot org
  2007-04-29 14:55 ` reichelt at gcc dot gnu dot org
  2007-04-29 14:55 ` reichelt at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-06-09  9:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jakub at gcc dot gnu dot org  2006-06-09 09:42 -------
This has been fixed by the PR20103 changes.

*** This bug has been marked as a duplicate of 20103 ***


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |DUPLICATE


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2007-04-29 14:55 ` reichelt at gcc dot gnu dot org
@ 2007-04-29 14:55 ` reichelt at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2007-04-29 14:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from reichelt at gcc dot gnu dot org  2007-04-29 15:54 -------
This bug is already fixed on the 4.1 branch since GCC 4.1.2,
whereas PR 20103 is still open on the 4.1 branch, so this is not quite a
duplicate of PR 20103.


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |


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


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

* [Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands
  2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2006-06-09  9:42 ` jakub at gcc dot gnu dot org
@ 2007-04-29 14:55 ` reichelt at gcc dot gnu dot org
  2007-04-29 14:55 ` reichelt at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2007-04-29 14:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from reichelt at gcc dot gnu dot org  2007-04-29 15:55 -------
Closing as fixed in GCC 4.1.2.


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED


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


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

end of thread, other threads:[~2007-04-29 14:55 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-12  9:43 [Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands jakub at gcc dot gnu dot org
2006-04-12 11:17 ` [Bug c++/27129] " reichelt at gcc dot gnu dot org
2006-04-12 14:00 ` prigault at oricom dot ca
2006-04-16 19:48 ` mmitchel at gcc dot gnu dot org
2006-04-18 16:12 ` bonzini at gnu dot org
2006-05-16 13:15 ` jakub at gcc dot gnu dot org
2006-05-25  2:40 ` mmitchel at gcc dot gnu dot org
2006-06-03 22:37 ` pinskia at gcc dot gnu dot org
2006-06-09  9:42 ` jakub at gcc dot gnu dot org
2007-04-29 14:55 ` reichelt at gcc dot gnu dot org
2007-04-29 14:55 ` reichelt 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).