[Bug target/39002] codegen bug, stack pointer is not restored

2009-01-29 Thread ubizjak at gmail dot com


--- Comment #14 from ubizjak at gmail dot com  2009-01-29 08:05 ---
Cc the author of the patch:

Author: hubicka
Date: Tue Jan  6 15:08:44 2009
New Revision: 143119

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143119
Log:

* i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used for w64 ABI.
* i386.c (struct ix86_frame): Add padding0 and nsseregs.
(ix86_nsaved_regs): Count only general purpose regs.
(ix86_nsaved_sseregs): New.
(ix86_compute_frame_layout): Update nsseregs; set preferred alignment
to 16 for w64; compute padding and size of sse reg save area.
(ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only general
purpose regs.
(ix86_emit_save_sse_regs_using_mov): New.
(ix86_expand_prologue): Save SSE regs if needed.
(ix86_emit_restore_regs_using_mov): Use only general purpose regs.
(ix86_emit_restore_sse_regs_using_mov): New.
(ix86_expand_epilogue): Save SSE regs if needed.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.h


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|WAITING |NEW
  Component|c++ |target
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-01-29 08:05:29
   date||
Summary|codegen bug?|codegen bug, stack pointer
   ||is not restored


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



[Bug target/39002] [4,4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread ubizjak at gmail dot com


--- Comment #15 from ubizjak at gmail dot com  2009-01-29 08:06 ---
4.4 regression.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|codegen bug, stack pointer  |[4,4 Regression] codegen
   |is not restored |bug, stack pointer is not
   ||restored
   Target Milestone|--- |4.4.0


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



[Bug lto/39016] New: [LTO] ICE in output_expr_operand because of BLOCK Expressions.

2009-01-29 Thread ramana dot r at gmail dot com
From running the testsuite and for the testcase 20021204-1.c 


/home/ramana/cos/build-try/gcc/cc1 -fpreprocessed 20021204-1.i -quiet -dumpbase
20021204-1.c -mtune=generic -auxbase-strip 20021204-1.o -O1 -w -version -flto
-o 20021204-1.s

#0  fancy_abort (file=0xa888740 P\207\210\nP\207\210\n\t, line=9,
function=0xa888740 P\207\210\nP\207\210\n\t) at
../../lto/gcc/diagnostic.c:711
#1  0x0879703d in output_expr_operand (ob=0xa88a278, expr=0xb7805f50) at
../../lto/gcc/lto-function-out.c:1200
#2  0x08799303 in output_local_vars (ob=0xa88a278, fn=value optimized out) at
../../lto/gcc/lto-function-out.c:1373
#3  0x0879eabe in lto_output (set=0xb7794f0c) at
../../lto/gcc/lto-function-out.c:1968
#4  0x082dd8d9 in ipa_write_summaries_2 (pass=0x8a3fb40, set=0xb7794f0c,
state=0xa88e718) at ../../lto/gcc/passes.c:1403
#5  0x082de7c2 in ipa_write_summaries_1 (set=0xb7794f0c) at
../../lto/gcc/passes.c:1428
#6  0x082de8aa in ipa_write_summaries () at ../../lto/gcc/passes.c:1449
#7  0x08577e08 in cgraph_optimize () at ../../lto/gcc/cgraphunit.c:1266
#8  0x0805f51b in c_write_global_declarations () at ../../lto/gcc/c-decl.c:8045
#9  0x08389399 in toplev_main (argc=15, argv=0xbfa31754) at
../../lto/gcc/toplev.c:991
#10 0x080d8a0b in main (argc=15, argv=0xbfa31754) at ../../lto/gcc/main.c:35


(gdb) p debug_tree (expr)
 block 0xb7805f50 used
supercontext function_decl 0xb781e780 q
type function_type 0xb7824144 type integer_type 0xb779d2f4 int
QI
size integer_cst 0xb778e508 constant 8
unit size integer_cst 0xb778e524 constant 1
align 8 symtab 0 alias set -1 canonical type 0xb77a7798
pointer_to_this pointer_type 0xb78241b0
addressable used static no-static-chain decl_5 QI file
/home/ramana/cos/lto/gcc/testsuite/gcc.c-torture/compile/20021204-1.c line 8
col 7 align 8 initial block 0xb7805f50
result result_decl 0xb7796230 D.1233 type integer_type 0xb779d2f4
int
ignored SI file
/home/ramana/cos/lto/gcc/testsuite/gcc.c-torture/compile/20021204-1.c line 8
col 3
size integer_cst 0xb778e690 constant 32
unit size integer_cst 0xb778e47c constant 4
align 32 context function_decl 0xb781e780 q
saved-insns 0xb77990fc
$5 = void


There was a similar bug reported for #39000 but that is for fdesc expressions
on ia64 .


-- 
   Summary: [LTO] ICE in output_expr_operand because of BLOCK
Expressions.
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ramana dot r at gmail dot com
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread jdassen at debian dot org


--- Comment #1 from jdassen at debian dot org  2009-01-29 09:10 ---
Created an attachment (id=17206)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17206action=view)
The (gtk-doc-tools generated) gsf-scan.c file which gets miscompiled


-- 


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread jdassen at debian dot org


--- Comment #2 from jdassen at debian dot org  2009-01-29 09:11 ---
Created an attachment (id=17207)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17207action=view)
The (gtk-doc-tools generated) gsf-scan.c file which gets miscompiled,
preprocessed.


-- 


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



[Bug c++/38908] [4.4 regression] Unexplained 'anonymous' is used uninitialized in this function warning in cc1plus -m64

2009-01-29 Thread rguenther at suse dot de


--- Comment #14 from rguenther at suse dot de  2009-01-29 09:19 ---
Subject: Re:  [4.4 regression] Unexplained 'anonymous' is
 used uninitialized in this function warning in cc1plus -m64

On Wed, 28 Jan 2009, mmitchel at gcc dot gnu dot org wrote:

 --- Comment #13 from mmitchel at gcc dot gnu dot org  2009-01-28 23:56 
 ---
 Actually, CLASSTYPE_EMPTY_P is probably a fine thing to use for C++.  (It's of
 course C++ specific; you'd either need to access it via a hook, or promote to 
 a
 language-independent bit.)  CLASSTYPE_EMPTY_P will not capture an array of
 empty objects, but that's an extreme corner-case.
 
 Note that CLASSTYPE_EMPTY_P classes may have arbitrary size.  That's because 
 of
 things like:
 
   struct A{};
   struct B : public A {};
   struct C : public A, public B {};
 
 In C, you cannot put the B sub-object at the same address as the A sub-object
 since that would end up with two A sub-objects (the A-in-B-in-C subobject and
 A-in-C subobject) at the same address.  So, C will be a two-byte structure. 
 Obviously, you can generalize this to make arbitrarily huge empty classes.

Ok.  But, as opposed to inheritance, inserting empty members seems to
make a class non-empty:

struct A {};
struct B { A x; };

even if in the single-member case I would have expected it to behave
like the single-inheritance case really.  Note that cp_expr_size boils
down to checking CLASSTYPE_EMPTY_P already, but in the member case
doesn't seem to map to does not need initialization.

Richard.


-- 


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



[Bug c/39013] Missing @PLT when -fpie is used

2009-01-29 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2009-01-29 09:56 
---
No compiler with -fpie support manages to do this correct.  Not a regression.

IMHO this is invalid.  6.7.4/6

... If a function is declared with an inline function specifier, then it
shall also be defined in the same translation unit.

which is obviously not the case here.  That is C99 of course, so you might
argue that for GNU C89 the situation should be different, but then the
frontend should properly mark the declaration extern.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|target  |c
   Keywords||accepts-invalid
  Known to fail||3.4.6
Summary|[4.3/4.4 regression] Missing|Missing @PLT when -fpie is
   |@PLT when -fpie is used |used


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



[Bug c/39013] Missing @PLT when -fpie is used

2009-01-29 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
   Target Milestone|4.3.4   |---


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-01-29 10:01 ---
The best option would be to revert that patch on the branch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||sje at gcc dot gnu dot org,
   ||rguenth at gcc dot gnu dot
   ||org
   Priority|P3  |P1
   Target Milestone|--- |4.3.4


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



[Bug middle-end/38969] [4.3 Regression] -foptimize-sibling-calls generates wrong code on alpha

2009-01-29 Thread uros at gcc dot gnu dot org


--- Comment #8 from uros at gcc dot gnu dot org  2009-01-29 10:05 ---
Subject: Bug 38969

Author: uros
Date: Thu Jan 29 10:05:17 2009
New Revision: 143752

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143752
Log:
Backport from mainline:
2009-01-28  Uros Bizjak  ubiz...@gmail.com

PR target/38988
* gcc.target/i386/pr38988.c: New test.

2009-01-27  Uros Bizjak  ubiz...@gmail.com

PR middle-end/38969
* gcc.c-torture/execute/pr38969.c: New test.

testsuite/ChangeLog:

Backport from mainline:
2009-01-28  Uros Bizjak  ubiz...@gmail.com

PR target/38988
* config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
(set_got_offset_rex64): Ditto.

2009-01-27  Uros Bizjak  ubiz...@gmail.com

PR middle-end/38969
* calls.c (initialize_argument_information): Do not wrap complex
arguments in SAVE_EXPR.


Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/execute/pr38969.c
  - copied unchanged from r143699,
trunk/gcc/testsuite/gcc.c-torture/execute/pr38969.c
branches/gcc-4_3-branch/gcc/testsuite/gcc.target/i386/pr38988.c
  - copied unchanged from r143720,
trunk/gcc/testsuite/gcc.target/i386/pr38988.c
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/calls.c
branches/gcc-4_3-branch/gcc/config/i386/i386.md
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug target/38988] Cannot build crtstuff.c with -mcmodel=large -fPIC -O2

2009-01-29 Thread uros at gcc dot gnu dot org


--- Comment #11 from uros at gcc dot gnu dot org  2009-01-29 10:05 ---
Subject: Bug 38988

Author: uros
Date: Thu Jan 29 10:05:17 2009
New Revision: 143752

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143752
Log:
Backport from mainline:
2009-01-28  Uros Bizjak  ubiz...@gmail.com

PR target/38988
* gcc.target/i386/pr38988.c: New test.

2009-01-27  Uros Bizjak  ubiz...@gmail.com

PR middle-end/38969
* gcc.c-torture/execute/pr38969.c: New test.

testsuite/ChangeLog:

Backport from mainline:
2009-01-28  Uros Bizjak  ubiz...@gmail.com

PR target/38988
* config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
(set_got_offset_rex64): Ditto.

2009-01-27  Uros Bizjak  ubiz...@gmail.com

PR middle-end/38969
* calls.c (initialize_argument_information): Do not wrap complex
arguments in SAVE_EXPR.


Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/execute/pr38969.c
  - copied unchanged from r143699,
trunk/gcc/testsuite/gcc.c-torture/execute/pr38969.c
branches/gcc-4_3-branch/gcc/testsuite/gcc.target/i386/pr38988.c
  - copied unchanged from r143720,
trunk/gcc/testsuite/gcc.target/i386/pr38988.c
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/calls.c
branches/gcc-4_3-branch/gcc/config/i386/i386.md
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug target/38988] Cannot build crtstuff.c with -mcmodel=large -fPIC -O2

2009-01-29 Thread ubizjak at gmail dot com


--- Comment #12 from ubizjak at gmail dot com  2009-01-29 10:09 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.4


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



[Bug middle-end/38969] [4.3 Regression] -foptimize-sibling-calls generates wrong code on alpha

2009-01-29 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2009-01-29 10:10 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread doko at ubuntu dot com


--- Comment #4 from doko at ubuntu dot com  2009-01-29 10:14 ---
when Ray wrote he tested with a snapshot build, I assume this was 20090107
without the patch applied, so the status on the trunk is not known yet. will
test with current trunk later.


-- 


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread jdassen at debian dot org


--- Comment #5 from jdassen at debian dot org  2009-01-29 10:24 ---
(In reply to comment #4)
 when Ray wrote he tested with a snapshot build, I assume this was 20090107
 without the patch applied,

Yes, I was using sid's gcc-snapshot 20090107-1.


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread jakub at gcc dot gnu dot org


--- Comment #16 from jakub at gcc dot gnu dot org  2009-01-29 10:31 ---
Created an attachment (id=17208)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17208action=view)
gcc44-pr39002.patch

As MS_ABI sseregs save area isn't counted into frame.allocate anymore, IMHO
ix86_can_use_return_insn_p has to check for that too.  This patch cures the
testcase for visual inspection.  Could somebody please bootstrap/regtest it on
mingw?  I can bootstrap/regtest it on x86_64-linux, but as nsseregs is always
zero there, this won't be sufficient test.


-- 

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


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



[Bug libmudflap/38339] libtool: compile: not configured to build any kind of library

2009-01-29 Thread gzp at gmx dot net


--- Comment #12 from gzp at gmx dot net  2009-01-29 10:43 ---
Anyone knows how 'i686-pc-linux-gnu/libmudflap/libtool' file generated?
Thats the problem, and still is with released 4.3.3.


-- 

gzp at gmx dot net changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread r dot emrich at de dot tecosim dot com


--- Comment #17 from r dot emrich at de dot tecosim dot com  2009-01-29 
10:47 ---
(In reply to comment #16)
 Created an attachment (id=17208)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17208action=view) [edit]
 gcc44-pr39002.patch
 
 As MS_ABI sseregs save area isn't counted into frame.allocate anymore, IMHO
 ix86_can_use_return_insn_p has to check for that too.  This patch cures the
 testcase for visual inspection.  Could somebody please bootstrap/regtest it on
 mingw?  I can bootstrap/regtest it on x86_64-linux, but as nsseregs is always
 zero there, this won't be sufficient test.
 

I can will do my cross build and test in the afternoon.


-- 


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



[Bug middle-end/38857] [4.4 Regression] ICE in selective scheduler

2009-01-29 Thread amonakov at gcc dot gnu dot org


--- Comment #9 from amonakov at gcc dot gnu dot org  2009-01-29 10:53 
---
Subject: Bug 38857

Author: amonakov
Date: Thu Jan 29 10:53:15 2009
New Revision: 143753

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143753
Log:
2009-01-29  Andrey Belevantsev  a...@ispras.ru
Alexander Monakov  amona...@ispras.ru

PR middle-end/38857
* sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
register.
(move_exprs_to_boundary): Change return type and pass through
should_move from move_op.  Relax assert.  Update usage ...
(schedule_expr_on_boundary): ... here.  Use should_move instead of
cant_move.
(move_op_orig_expr_found): Indicate that insn was disconnected from
stream.
(code_motion_process_successors): Do not call after_merge_succs
callback if original expression was not found when traversing any of
the branches.
(code_motion_path_driver): Change return type.  Update prototype.
(move_op): Update comment.  Add a new parameter (should_move).  Update
prototype.  Set *should_move based on indication provided by
move_op_orig_expr_found.

2009-01-29  Steve Ellcey  s...@cup.hp.com

PR middle-end/38857
* gcc.c-torture/compile/pr38857.c: New test.


Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr38857.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/sel-sched.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/38857] [4.4 Regression] ICE in selective scheduler

2009-01-29 Thread amonakov at gcc dot gnu dot org


--- Comment #10 from amonakov at gcc dot gnu dot org  2009-01-29 10:55 
---
Fixed with above commit.


-- 

amonakov at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/38625] Segmentation fault when dereferencing valid pointer, probably REGRESSION

2009-01-29 Thread l dot jirkovsky at gmail dot com


--- Comment #11 from l dot jirkovsky at gmail dot com  2009-01-29 11:19 
---
First, I'd like to thank you for doing this hard work and for finding out which
patch causes this problem.

Anyway I've done more investigation to the problematic code.

The problem actually begins in
CachedFileImageIteratorBase::operator*()

In correct build (without optimizations, with debugging enabled or with
--param inline-unit-growth=60) the currentRow pointer is pointer to
ordinary array, I'm guessing it's array of unsigned shorts.

But in segfaulting build my debugger (gdb) shows me, that currentRow is:
vigra::TinyVectorBaseunsigned char, 3, unsigned char [3],
vigra::TinyVectorunsigned char, 3 
which _data structure doesn't exist in memory. Because it deems really weird
I'm not sure the debugger was right (it was run with higly optimized code when
only some parts of enblend actually had debugging information on).

However if I'm wrong in previous statement, the currentRow should still be
valid. I'd took if I was trying to access, lets say, currentRow[1000] which
could be out of array bounds, but this code segfaults when I'm trying to access
currentRow[0].


-- 


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



[Bug c++/37037] [4.2/4.3/4.4 Regression] ICE on template class member function definition after explciit template class instantation

2009-01-29 Thread paolo dot carlini at oracle dot com


--- Comment #5 from paolo dot carlini at oracle dot com  2009-01-29 11:23 
---
Are we really sure this is invalid? For one, EDG doesn't agree...


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo at gcc dot gnu dot org


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread r dot emrich at de dot tecosim dot com


--- Comment #18 from r dot emrich at de dot tecosim dot com  2009-01-29 
11:34 ---
(In reply to comment #17)
 (In reply to comment #16)
  Created an attachment (id=17208)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17208action=view) [edit]
  gcc44-pr39002.patch
  
  As MS_ABI sseregs save area isn't counted into frame.allocate anymore, IMHO
  ix86_can_use_return_insn_p has to check for that too.  This patch cures the
  testcase for visual inspection.  Could somebody please bootstrap/regtest it 
  on
  mingw?  I can bootstrap/regtest it on x86_64-linux, but as nsseregs is 
  always
  zero there, this won't be sufficient test.
  
 
 I can will do my cross build and test in the afternoon.
 

Solves my problem. But I can't run the testsuite, because I don't have a
sufficient setup.


-- 


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



[Bug c++/39017] New: ice for legal C++ with -O3

2009-01-29 Thread dcb314 at hotmail dot com
I just tried to compile the Suse Linux package
kde4-k3b-4.1.4.svn907132-1.5 with the g++ compiler version 4.4 snapshot
20090123. The compiler said

/usr/src/packages/BUILD/k3b/libk3b/tools/k3blibdvdcss.cpp:109: internal
compiler error: in find_or_generate_expression, at tree-ssa-pre.c:2769
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Preprocessed C++ source code attached. Flag -O3
required.


-- 
   Summary: ice for legal C++ with -O3
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dcb314 at hotmail dot com
  GCC host triplet: x86_64-suse-linux


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



[Bug c++/39017] ice for legal C++ with -O3

2009-01-29 Thread dcb314 at hotmail dot com


--- Comment #1 from dcb314 at hotmail dot com  2009-01-29 11:53 ---
Created an attachment (id=17209)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17209action=view)
C++source code


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread jakub at gcc dot gnu dot org


--- Comment #19 from jakub at gcc dot gnu dot org  2009-01-29 12:03 ---
Anyone else could test it, please?


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ktietz at gcc dot gnu dot
   ||org, dannysmith at gcc dot
   ||gnu dot org


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread ktietz at gcc dot gnu dot org


--- Comment #20 from ktietz at gcc dot gnu dot org  2009-01-29 12:21 ---
(In reply to comment #19)
 Anyone else could test it, please?

I am currently on to test it for w64. We noticed a regression reasoned by this
for this target, too (sadly we found it pretty late).

This patch seems fine, but I guess that in ix86_expand_epilogue also the checks
for frame.nregs should be altered to (frame.nregs + frame.nsseregs), too.


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread ktietz at gcc dot gnu dot org


--- Comment #21 from ktietz at gcc dot gnu dot org  2009-01-29 12:27 ---
Created an attachment (id=17210)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17210action=view)
Alternative patch suggested

This is the patch I test at the moment.


-- 


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



[Bug testsuite/38946] [4.4 Regression] gcc trunk 143562 - Testsuite - gfortran failing tests that worked previously

2009-01-29 Thread rob1weld at aol dot com


--- Comment #14 from rob1weld at aol dot com  2009-01-29 12:32 ---
(In reply to comment #5)
 ! Test XFAILed on these platforms because the system's printf() lacks
 ! proper support for denormalized long doubles. See PR24685
 Looks like this testcase should be xfailed on solaris also.

(In reply to comment #9)
 Subject: Re:  [trunk regression]?gcc trunk 143562 - Testsuite - gfortran
 failing tests that worked previously
 I think adding a printf() clone to libiberty is WAY overkill just to
 silence one failing test.

I took a look around for some existing tests that could help us.


The files: 
gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-* 
gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-scanf-* 
are setup only for mingw. I added OpenSolaris and got this result:

Mod:
/* { dg-do compile { target { *-*-mingw* } } } */
/* { dg-do compile { target { *-*-mingw* *-*-solaris2.11* } } } */


Result:

FAIL: gcc.dg/format/ms_c90-printf-1.c   (test for excess errors)
Excess errors:
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-1.c:56:
warning: use of 'h' length modifier with 'c' type character
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-1.c:57:
warning: use of 'h' length modifier with 's' type character

FAIL: gcc.dg/format/ms_c90-printf-2.c   %hh is unsupported (test for warnings,
line 17)
FAIL: gcc.dg/format/ms_c90-printf-2.c   %j is unsupported (test for warnings,
line 19)
FAIL: gcc.dg/format/ms_c90-printf-2.c   %z is unsupported (test for warnings,
line 20)
FAIL: gcc.dg/format/ms_c90-printf-2.c   %t is unsupported (test for warnings,
line 21)
FAIL: gcc.dg/format/ms_c90-printf-2.c   (test for excess errors)
Excess errors:
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:17:
warning: ISO C90 does not support the 'hh' gnu_printf length modifier
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:18:
warning: format '%I64d' expects type 'int', but argument 2 has type 'llong'
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:19:
warning: ISO C90 does not support the 'j' gnu_printf length modifier
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:20:
warning: ISO C90 does not support the 'z' gnu_printf length modifier
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:21:
warning: ISO C90 does not support the 't' gnu_printf length modifier

FAIL: gcc.dg/format/ms_c90-printf-2.c  -DWIDE  %hh is unsupported (test for
warnings, line 17)
FAIL: gcc.dg/format/ms_c90-printf-2.c  -DWIDE  %j is unsupported (test for
warnings, line 19)
FAIL: gcc.dg/format/ms_c90-printf-2.c  -DWIDE  %z is unsupported (test for
warnings, line 20)
FAIL: gcc.dg/format/ms_c90-printf-2.c  -DWIDE  %t is unsupported (test for
warnings, line 21)
FAIL: gcc.dg/format/ms_c90-printf-2.c  -DWIDE  (test for excess errors)
Excess errors:
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:17:
warning: ISO C90 does not support the 'hh' gnu_printf length modifier
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:18:
warning: format '%I64d' expects type 'int', but argument 2 has type 'llong'
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:19:
warning: ISO C90 does not support the 'j' gnu_printf length modifier
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:20:
warning: ISO C90 does not support the 'z' gnu_printf length modifier
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-printf-2.c:21:
warning: ISO C90 does not support the 't' gnu_printf length modifier

FAIL: gcc.dg/format/ms_c90-scanf-1.c   %L is unsupported (test for warnings,
line 75)
FAIL: gcc.dg/format/ms_c90-scanf-1.c   %L is unsupported (test for warnings,
line 76)
FAIL: gcc.dg/format/ms_c90-scanf-1.c   %L is unsupported (test for warnings,
line 77)
FAIL: gcc.dg/format/ms_c90-scanf-1.c   %L is unsupported (test for warnings,
line 78)
FAIL: gcc.dg/format/ms_c90-scanf-1.c   %L is unsupported (test for warnings,
line 79)
FAIL: gcc.dg/format/ms_c90-scanf-1.c   (test for excess errors)
Excess errors:
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-scanf-1.c:56:
warning: use of 'h' length modifier with 's' type character
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-scanf-1.c:58:
warning: use of 'h' length modifier with 'c' type character
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-scanf-1.c:75:
warning: use of 'L' length modifier with 's' type character
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-scanf-1.c:76:
warning: use of 'L' length modifier with '[' type character
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-scanf-1.c:77:
warning: use of 'L' length modifier with 'c' type character
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/format/ms_c90-scanf-1.c:78:
warning: use of 'L' length modifier with 'p' type character

[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread ktietz at gcc dot gnu dot org


--- Comment #22 from ktietz at gcc dot gnu dot org  2009-01-29 12:52 ---
(In reply to comment #21)
 Created an attachment (id=17210)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17210action=view) [edit]
 Alternative patch suggested
 This is the patch I test at the moment.

The patch I posted works for w64 without any regressions. For linux64 it needs
to be tested, too. I have here at work no linux64 box.


-- 


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



[Bug rtl-optimization/38740] [4.4 Regression] Incorrect delayed branch optimization

2009-01-29 Thread danglin at gcc dot gnu dot org


--- Comment #20 from danglin at gcc dot gnu dot org  2009-01-29 13:05 
---
hppa just uses the generic code for delayed branch optimization.

The target problems that led to this PR were fixed in this series of
changes:

2009-01-05  John David Anglin  dave.ang...@nrc-cnrc.gc.ca

* pa.c (output_call): Relocate non-jump insns in the delay slot of
long absolute calls when generating PA 2.0 code.

2009-01-09  John David Anglin  dave.ang...@nrc-cnrc.gc.ca

* pa.c (last_address): Change to unsigned.
(update_total_code_bytes): Change argument to unsigned.  Don't
check if insn addresses are set.
(pa_output_function_epilogue): Set last_address to UINT_MAX if insn
addresses are not set.
(pa_asm_output_mi_thunk): Handle wrap when updating last_address.

2009-01-12  John David Anglin  dave.ang...@nrc-cnrc.gc.ca

* pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
function when not using named sections on targets with named sections
if branch distance is less than 262132.

All three are installed on 4.3.3 and trunk.  Only the first, the most critical
one, is on 4.2.


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread jakub at gcc dot gnu dot org


--- Comment #23 from jakub at gcc dot gnu dot org  2009-01-29 13:23 ---
I don't see why ix86_expand_epilogue should be changed.  Do you have some
testcase which shows where your change improves generated code?

I can certainly test on Linux, but as frame.nsseregs is always 0 there, it
should make zilch difference.


-- 


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



[Bug c++/39018] New: Cannot take address of template function

2009-01-29 Thread hniksic at gmail dot com
The following code fails to compile under g++ 4.3.2:

class Bar {};

templateint N
class Foo {
  double val[N];
};

templateint N
void fun(FooN* ptr) {
}

typedef void (*T)(Bar*);

T funptr = (T) fun2;

The error message is:

$ g++ -c a.cc
a.cc:14: error: address of overloaded function with no contextual type
information

I don't know if the standard allows this, but it looks like it should be
allowed to take the address of a templated function, because it works in other
contexts (see below).  It seems unambiguous because with foo2 we a specific
variant of the function is requested.  Intel's C++ compiler (icpc versions 9.1
and 10.1) accepts it.

It is possible to work around this error by providing contextual type
information, although how to do that is not immediately obvious to everyone. 
The workaround that worked for me is to replace the last line with:

typedef void (*U)(Foo2*);
T funptr = (T) (U) fun2;

which compiles without errors or warnings.

The error is similar to bug 29143, but I don't think it's a dup.  In that case,
the contextual type information is present, but apparently ignored by the
compiler.  In this case, context doesn't help with type determination, but it
shouldn't be necessary since foo2 uniquely identifies the function.

Detailed version information:

$ g++ -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu11'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11)


-- 
   Summary: Cannot take address of template function
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hniksic at gmail dot com


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread ktietz at gcc dot gnu dot org


--- Comment #24 from ktietz at gcc dot gnu dot org  2009-01-29 13:45 ---
(In reply to comment #23)
 I don't see why ix86_expand_epilogue should be changed.  Do you have some
 testcase which shows where your change improves generated code?
 I can certainly test on Linux, but as frame.nsseregs is always 0 there, it
 should make zilch difference.

It is the same testcase for w64. Just the option -fno-omit-frame-pointer has to
be added. This leads on w64 to an ICE (internal abort) without this patch.


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread jakub at gcc dot gnu dot org


--- Comment #25 from jakub at gcc dot gnu dot org  2009-01-29 13:54 ---
Can't reproduce that with a cross compiler.


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread ktietz at gcc dot gnu dot org


--- Comment #26 from ktietz at gcc dot gnu dot org  2009-01-29 14:04 ---
(In reply to comment #25)
 Can't reproduce that with a cross compiler.

You are right, I changed something else, too. Sorry.

But this patch to expand_epilogue is proper IIUC

Comment tells
If we're only restoring one register and sp is not valid then using a move
instruction to restore the register since it's less work than reloading sp and
popping the register. ...
for w64 the can be more then one register in use but the check in the if
doesn't verify this, and produces therefore slower code.


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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



[Bug middle-end/35854] [4.3/4.4 Regression] life passes dump option still documented

2009-01-29 Thread zadeck at gcc dot gnu dot org


--- Comment #6 from zadeck at gcc dot gnu dot org  2009-01-29 14:35 ---
Subject: Bug 35854

Author: zadeck
Date: Thu Jan 29 14:34:55 2009
New Revision: 143756

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143756
Log:
2009-01-29  Kenneth Zadeck zad...@naturalbridge.com

PR middle-end/35854
* doc/invoke.texi (rtl debug options): Complete rewrite.
* auto-inc-dec.c (pass_inc_dec): Rename pass from auto-inc-dec
to auto_inc_dec.
* mode-switching.c (pass_mode_switching): Rename pass from
mode-sw to mode_sw.
* except.c (pass_convert_to_eh_ranges): Rename pass from
eh-ranges to eh_ranges.
* lower-subreg.c (pass_lower_subreg): Renamed pass from subreg
to subreg1.


2009-01-29  Kenneth Zadeck zad...@naturalbridge.com

PR middle-end/35854
* gcc.dg/lower-subreg-1.c: Renamed dump pass from subreg to subreg1 


Modified:
trunk/gcc/ChangeLog
trunk/gcc/auto-inc-dec.c
trunk/gcc/doc/invoke.texi
trunk/gcc/except.c
trunk/gcc/lower-subreg.c
trunk/gcc/mode-switching.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/lower-subreg-1.c


-- 


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



[Bug ada/38989] How much stack space should c380004 take?

2009-01-29 Thread ebotcazou at gcc dot gnu dot org


--- Comment #5 from ebotcazou at gcc dot gnu dot org  2009-01-29 14:37 
---
 RTEMS has fixed size task stacks.  This test is blowing a stack that is ~100K
 large.  How large does it need to be?  Is is a bug to use this much stack?

It's a QOI issue, the stack usage is already capped (see exp_ch9.adb).


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


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



[Bug middle-end/35854] [4.3/4.4 Regression] life passes dump option still documented

2009-01-29 Thread zadeck at naturalbridge dot com


--- Comment #7 from zadeck at naturalbridge dot com  2009-01-29 14:38 
---
Subject: Re:  [4.3/4.4 Regression] life passes dump
  option still documented

Richard Guenther wrote:
 On Wed, Jan 28, 2009 at 5:03 PM, Kenneth Zadeck
 zad...@naturalbridge.com wrote:
   
 rguenth at gcc dot gnu dot org wrote:
 
 --- Comment #3 from rguenth at gcc dot gnu dot org  2009-01-24 10:20 
 ---
 GCC 4.3.3 is being released, adjusting target milestone.



   
 This may be more a change than is acceptable right now for 4.4.   If so
 I will sit on this patch until 4.5 opens up.   The patch is basically a
 complete rewrite of the part of invoke.texi that deals with dump options
 for the rtl pass.   This section had badly rotted.

 I started from a grep of the sources looking for rtl_opt_pass and
 documented all of the passes that i found in mostly alphabetical
 order.   Where the old version documented several passes together, I
 kept that unless things had changed.   In total there were about a half
 dozen passes that were no longer there and about a dozen new passes that
 had not been documented.

 I did make some changes in the code, which is the reason that this may
 not be acceptable to 4.4.  The changes are pretty harmless:  all of them
 involve either removing the pass name or changing it.

 1) Pass names that contained dashes had the dashes changed to
 underscores.   About half used slashes and half underscores and I went
 with underscores to avoid a possible ambiguity with the options parsing.

 2) I also removed the pass name from 6 passes that do not print anything
 or dump the code.
 

 I think this change is agains what was asked for in the past.  We want to have
 pass names for all passes.

   
 3) Files that contained multiple passes with names of the form xx,
 xx2... were renamed xx1,xx2.
 This later change causes a test suit failure which was fixed.

 All of these changes are pretty minor.  The only possible failure these
 can cause are in the test suite where dump files are scanned.

 I tested this on x86 and ppc both 32 and 64.  It is possible that there
 are platform specific regression tests that scan for dump files that
 were not caught on these four targets.

 I also left in lreg and greg.These are at the end and need to be
 deleted along with those passes.

 I have enclosed a copy of the new text.  The diff is unreadable.

 ok for 4.4 or should i wait for 4.5?
 

 This is ok for 4.4 if you remove the parts that remove pass names.  Please
 wait a day for comments from others.

 Thanks,
 Richard.

   

I put those pass names back, but I documented them as producing no
output.   I also removed the lreg and greg part since the RA removal
patch has been approved. 

committed as revision 143756

kenny

2009-01-29  Kenneth Zadeck zad...@naturalbridge.com

 PR middle-end/35854
* doc/invoke.texi (rtl debug options): Complete rewrite.
* auto-inc-dec.c (pass_inc_dec): Rename pass from auto-inc-dec
to auto_inc_dec.
* mode-switching.c (pass_mode_switching): Rename pass from
mode-sw to mode_sw.
* except.c (pass_convert_to_eh_ranges): Rename pass from
eh-ranges to eh_ranges.
* lower-subreg.c (pass_lower_subreg): Renamed pass from subreg
to subreg1.
  2009-01-29  Kenneth Zadeck zad...@naturalbridge.com

 PR middle-end/35854
* gcc.dg/lower-subreg-1.c: Renamed dump pass from subreg to
subreg1   






Index: doc/invoke.texi
===
--- doc/invoke.texi (revision 143754)
+++ doc/invoke.texi (working copy)
@@ -4545,172 +4545,275 @@ preprocessing.

 Debug dumps can be enabled with a @option{-fdump-rtl} switch or some
 @option{-d} option @var{letters}.  Here are the possible
-letters for use in @var{letters} and @var{pass}, and their meanings:
+letters for use in @var{pass} and @var{letters}, and their meanings:

 @table @gcctabopt
-...@item -dA
-...@opindex dA
-Annotate the assembler output with miscellaneous debugging information.
+
+...@item -fdump-rtl-alignments
+...@opindex fdump-rtl-alignments
+Dump after branch alignments have been computed.
+
+...@item -fdump-rtl-asmcons
+...@opindex fdump-rtl-asmcons
+Dump after fixing rtl statements that have unsatisfied in/out constraints.
+
+...@item -fdump-rtl-auto_inc_dec
+...@opindex fdump-rtl-auto_inc_dec
+Dump after auto-inc-dec discovery.  This pass is only run on
+architectures that have auto inc or auto dec instructions.
+
+...@item -fdump-rtl-barriers
+...@opindex fdump-rtl-barriers
+Dump after cleaning up the barrier instructions.
+
+...@item -fdump-rtl-bbpart
+...@opindex fdump-rtl-bbpart
+Dump after partitioning hot and cold basic blocks.

 @item -fdump-rtl-bbro
 @opindex fdump-rtl-bbro
-Dump after block reordering, to @fi...@var{file}.148r.bbro}.
+Dump after block reordering.
+
+...@item -fdump-rtl-btl1
+...@itemx -fdump-rtl-btl2
+...@opindex fdump-rtl-btl2
+...@opindex fdump-rtl-btl2
+...@option{-fdump-rtl-btl1} and 

[Bug middle-end/35854] [4.3/4.4 Regression] life passes dump option still documented

2009-01-29 Thread zadeck at naturalbridge dot com


--- Comment #8 from zadeck at naturalbridge dot com  2009-01-29 14:42 
---
patch committed.
closed for 4.4.

richi said not to backport to 4.3 on irc.


-- 

zadeck at naturalbridge dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/35854] [4.3/4.4 Regression] life passes dump option still documented

2009-01-29 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.3.4   |4.4.0


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



[Bug c++/39017] ice for legal C++ with -O3

2009-01-29 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-01-29 14:50 ---
This is likely a dup of PR38926 which was fixed Jan 28th.


-- 


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



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2009-01-29 Thread rob1weld at aol dot com


--- Comment #41 from rob1weld at aol dot com  2009-01-29 15:01 ---
(In reply to comment #35)
 In response to comment #34, the -B option overrides GCC_EXEC_PREFIX and the
 compiler being tested in the build directory is invoked with -B. 
 GCC_EXEC_PREFIX will only be used to find files that are not in the build
 directory.

It causes a few problems and is (obviously?) incorrect.


Proof:

To _exactly_ reproduce the conditions may not be necessary but here they are:

Compile, test and install the trunk (from early this year) on an
Athlon-X2. You likely need to ./configure with additional options,
I believe that --with-tune=k8 --with-cpu=k8 --with-arch=k8 would
be the minimum. The full list is at the end of this page:
http://gcc.gnu.org/ml/gcc-testresults/2009-01/msg02197.html

Update your source with contrib/gcc_update and rebuild (it is
possible to use that script and not reconfigure but you may if 
you wish).

Now, do NOT Install gcc.

Run make -i check and when it is complete rename or copy the log.

# mv gcc_build/gcc/testsuite/gcc/gcc.log
gcc_build/gcc/testsuite/gcc/gcc.log.PREVIOUS


Now, run make install.

Run make -i check and when it is complete do this:

# ../gcc_trunk/contrib/compare_tests
../gcc_build/gcc/testsuite/gcc/gcc.log.PREVIOUS_1
../gcc_build/gcc/testsuite/gcc/gcc.log
New tests that FAIL:

gcc.target/i386/funcspec-3.c scan-assembler call\t(.*)popcountdi2
gcc.target/i386/funcspec-3.c scan-assembler popcntq

New tests that PASS:

gcc.target/i386/funcspec-3.c scan-assembler call\t(.*)sse42_pop_l
gcc.target/i386/funcspec-3.c scan-assembler call\t(.*)sse4a_pop_i
gcc.target/i386/funcspec-3.c scan-assembler popcntl
gcc.target/i386/funcspec-3.c (test for excess errors)


That is the Official Log Comparison Script and it reports a 
difference on the result of make -i check on an un-installed
gcc versus an installed gcc.


Can I say This is P1, all test results suspect, most invalid. ?

Rob


-- 


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



[Bug target/39013] Missing @PLT when -fpie is used

2009-01-29 Thread zorry at ume dot nu


--- Comment #11 from zorry at ume dot nu  2009-01-29 15:03 ---
I don't get the link error with gcc 4.2.4 on the code in comment #7


-- 

zorry at ume dot nu changed:

   What|Removed |Added

  Component|c   |target


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



[Bug target/39013] [4.3/4.4 Regression] Missing @PLT when -fpie is used

2009-01-29 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2009-01-29 15:20 
---
My testcase is

 cat t2.c
void foo() {}

 cat t.c
inline void foo ();
int main ()
{
  foo ();
  return 0;
}

which works perfectly fine even with 4.3 and 4.4 if I build both t2.c and t.c
with -fpie and fails with all compilers supporting -fpie if I only build
t.c with -fpie but t2.c not.

They bind locally with 4.3 and 4.4 though.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords|accepts-invalid |
  Known to fail|3.4.6   |4.3.3 4.4.0
  Known to work||4.2.4
Summary|Missing @PLT when -fpie is  |[4.3/4.4 Regression] Missing
   |used|@PLT when -fpie is used
   Target Milestone|--- |4.3.4


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



[Bug target/39013] [4.3/4.4 Regression] Missing @PLT when -fpie is used

2009-01-29 Thread hjl dot tools at gmail dot com


--- Comment #13 from hjl dot tools at gmail dot com  2009-01-29 15:52 
---
(In reply to comment #12)
 My testcase is
 
  cat t2.c
 void foo() {}

The problem happens when t2.c is in a shared library.

  cat t.c
 inline void foo ();
 int main ()
 {
   foo ();
   return 0;
 }
 
 which works perfectly fine even with 4.3 and 4.4 if I build both t2.c and t.c
 with -fpie and fails with all compilers supporting -fpie if I only build
 t.c with -fpie but t2.c not.
 

We can argue that this code is invalid and gcc shouldn't accept it
in the first place.  But from user perspective, gcc 4.3 doesn't work
on their codes any more silently.


-- 


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



[Bug target/39013] [4.3/4.4 Regression] Missing @PLT when -fpie is used

2009-01-29 Thread hjl dot tools at gmail dot com


--- Comment #14 from hjl dot tools at gmail dot com  2009-01-29 15:53 
---
Created an attachment (id=17211)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17211action=view)
A patch

This patch only checks

--- gcc/varasm.c.pie2008-11-30 08:49:54.0 -0800
+++ gcc/varasm.c2009-01-29 07:50:46.0 -0800
@@ -6321,6 +6321,10 @@ default_binds_local_p_1 (const_tree exp,
(DECL_INITIAL (exp) == NULL
   || DECL_INITIAL (exp) == error_mark_node))
 local_p = false;
+  /* Functions without body are not local.  */
+  else if (TREE_CODE (exp) == FUNCTION_DECL
+   DECL_INITIAL (exp) == NULL)
+local_p = false;
   /* Otherwise we're left with initialized (or non-common) global data
  which is of necessity defined locally.  */
   else


-- 


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



[Bug bootstrap/39019] New: Solaris and IRIX libelf cause trouble for build

2009-01-29 Thread ro at gcc dot gnu dot org
Despite they seem to have the same interface, the libelf bundled with Solaris
(at
least as far back as Solaris 8) cause trouble:

* The Solaris libelf.h isn't largefile aware:

#if defined(_ILP32)  (_FILE_OFFSET_BITS != 32)
#error large files are not supported by libelf
#endif

  This is explained in detail in

 
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sgs/libelf/common/README.LFS

* IRIX 6.5 has libelf.h, too, but lacks gelf.h.

* When I use libelf 0.8.10 instead (installed into /vol/gcc/{include, lib}),
  I have to be very careful: using CPPFLAGS=-I/vol/gcc/include doesn't work
  since libelf.h is preferred and thus the copy in /usr/include is used.  Using
  -I/vol/gcc/include/libelf doesn't work either since gelf.h includes
  libelf/libelf.h which isn't found than.  One needs to use
  -I/vol/gcc/include/libelf -I/vol/gcc/include, which is intricate to get
right.
  I think the use of libelf should be handled similarly to gmp/mpfr via
  --with-libelf or some such.


-- 
   Summary: Solaris and IRIX libelf cause trouble for build
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: sparc-sun-solaris2.11
  GCC host triplet: sparc-sun-solaris2.11
GCC target triplet: sparc-sun-solaris2.11


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



[Bug bootstrap/39020] New: lto-plugin requires visibility support

2009-01-29 Thread ro at gcc dot gnu dot org
The lto plugin currently requires a bootstrap compiler with visibility support:

/vol/gcc/src/gcc-lto/lto-plugin/../gcc/lto/common.c:25: warning: visibility
attribute not supported in this configuration; ignored

Since it is built with -Werror, this causes a bootstrap failure if that support
is missing.  This causes problems for Solaris, since the necessary support only
went in in December last year.


-- 
   Summary: lto-plugin requires visibility support
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: sparc-sun-solaris2.11
  GCC host triplet: sparc-sun-solaris2.11
GCC target triplet: sparc-sun-solaris2.11


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



[Bug bootstrap/39021] New: lto requires GCC as bootstrap compiler

2009-01-29 Thread ro at gcc dot gnu dot org
At least gcc/lto/common.c makes unconditional use of __attribute__ ((visibility
(hidden))), which means you are forced to use GCC as a bootstrap compiler. 
If
building lto and the lto-plugin were moved to stage2, this wouldn't be a
problem.


-- 
   Summary: lto requires GCC as bootstrap compiler
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: sparc-sun-solaris2.11
  GCC host triplet: sparc-sun-solaris2.11
GCC target triplet: sparc-sun-solaris2.11


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



[Bug tree-optimization/39007] -ftree-loop-distribution ICEs

2009-01-29 Thread kazu at gcc dot gnu dot org


--- Comment #2 from kazu at gcc dot gnu dot org  2009-01-29 16:11 ---
Patch posted.


-- 

kazu at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2009-
   ||01/msg01449.html


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



[Bug bootstrap/39022] New: lto-plugin is built unconditionally

2009-01-29 Thread ro at gcc dot gnu dot org
I just noticed that lto-plugin is only used with gold, but is built
unconditionally.  This may unnecessarily break builds and should be avoided.


-- 
   Summary: lto-plugin is built unconditionally
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org


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



[Bug bootstrap/39023] New: lto-plugin.c uses mkdtemp unconditionally

2009-01-29 Thread ro at gcc dot gnu dot org
lto-plugin.c uses mkdtemp unconditionally, which breaks Solaris 10/x86
bootstrap
where this function is missing (while it was introduced for Solaris 11).  There
should be a replacement, but the fix for PR bootstrap/39022 would avoid this
since gold currently cannot be used on non-GNU/Linux configurations (cf. PR
gold/7024).


-- 
   Summary: lto-plugin.c uses mkdtemp unconditionally
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: i386-pc-solaris2.10
  GCC host triplet: i386-pc-solaris2.10
GCC target triplet: i386-pc-solaris2.10


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



[Bug bootstrap/39024] New: static libelf needs to be built PIC

2009-01-29 Thread ro at gcc dot gnu dot org
I had built the prerequisite libelf 0.8.10 for lto statically to avoid RPATH
issues, but noticed that by default liblto_plugin.so.0 failed to link since
libelf.a contained non-PIC code.  Building with -fPIC fixed this, but the
requirement better be documented.


-- 
   Summary: static libelf needs to be built PIC
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: sparc-sun-solaris2.11
  GCC host triplet: sparc-sun-solaris2.11
GCC target triplet: sparc-sun-solaris2.11


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread sje at cup dot hp dot com


--- Comment #6 from sje at cup dot hp dot com  2009-01-29 17:00 ---
What GCC options was gsf-scan.i compiled with?  I am trying to see what
variables are getting/not getting promoted during the compilation and I am not
seeing it affect any variables if I just compile gsf-scan.i with -O[0123].


-- 


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



[Bug tree-optimization/38926] [4.4 Regression] ice in find_or_generate_expression, at tree-ssa-pre.c:2769

2009-01-29 Thread hjl at gcc dot gnu dot org


--- Comment #10 from hjl at gcc dot gnu dot org  2009-01-29 17:06 ---
Subject: Bug 38926

Author: hjl
Date: Thu Jan 29 17:06:01 2009
New Revision: 143762

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143762
Log:
2009-01-29  H.J. Lu  hongjiu...@intel.com

Backport from mainline:
2009-01-29  Steve Ellcey  s...@cup.hp.com

PR middle-end/38857
* gcc.c-torture/compile/pr38857.c: New test.

2009-01-28  Richard Guenther  rguent...@suse.de

PR tree-optimization/38926
* gcc.c-torture/compile/pr38926.c: New testcase.

Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/compile/pr38857.c
  - copied unchanged from r143760,
trunk/gcc/testsuite/gcc.c-torture/compile/pr38857.c
branches/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/compile/pr38926.c
  - copied unchanged from r143759,
trunk/gcc/testsuite/gcc.c-torture/compile/pr38926.c
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/38857] [4.4 Regression] ICE in selective scheduler

2009-01-29 Thread hjl at gcc dot gnu dot org


--- Comment #11 from hjl at gcc dot gnu dot org  2009-01-29 17:06 ---
Subject: Bug 38857

Author: hjl
Date: Thu Jan 29 17:06:01 2009
New Revision: 143762

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143762
Log:
2009-01-29  H.J. Lu  hongjiu...@intel.com

Backport from mainline:
2009-01-29  Steve Ellcey  s...@cup.hp.com

PR middle-end/38857
* gcc.c-torture/compile/pr38857.c: New test.

2009-01-28  Richard Guenther  rguent...@suse.de

PR tree-optimization/38926
* gcc.c-torture/compile/pr38926.c: New testcase.

Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/compile/pr38857.c
  - copied unchanged from r143760,
trunk/gcc/testsuite/gcc.c-torture/compile/pr38857.c
branches/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/compile/pr38926.c
  - copied unchanged from r143759,
trunk/gcc/testsuite/gcc.c-torture/compile/pr38926.c
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug bootstrap/39025] New: ICE in start_function, at c-decl.c:6225 while configuring libgcc

2009-01-29 Thread ro at gcc dot gnu dot org
The configure step of libgcc aborts with

checking for suffix of object files... configure: error: in
`/vol/gccsrc/obj/gcc-lto-20090127/11-gcc/sparc-sun-solaris2.11/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

config.log reveals

configure:2590: checking for suffix of object files
configure:2611: /vol/gccsrc/obj/gcc-lto-20090127/11-gcc/./gcc/xgcc
-B/vol/gccsrc/obj/gcc-lto-20090127/11-gcc/./gcc/
-B/vol/gcc/sparc-sun-solaris2.11/bin/ -B/vol/gcc/sparc-sun-solaris2.11/lib/
-isystem /vol/gcc/sparc-sun-solaris2.11/include -isystem
/vol/gcc/sparc-sun-solaris2.11/sys-include -c -g -O2conftest.c 5
conftest.c:16: internal compiler error: Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
configure:2614: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME GNU C Runtime Library
| #define PACKAGE_TARNAME libgcc
| #define PACKAGE_VERSION 1.0
| #define PACKAGE_STRING GNU C Runtime Library 1.0
| #define PACKAGE_BUGREPORT 
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2627: error: in
`/vol/gccsrc/obj/gcc-lto-20090127/11-gcc/sparc-sun-solaris2.11/libgcc':
configure:2629: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

Running cc1 on this conftest.c gives

% ./cc1 conftest.c
main 
conftest.c:5: internal compiler error: in start_function, at c-decl.c:6225
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

The same problem happens on i386-pc-solaris2.10.


-- 
   Summary: ICE in start_function, at c-decl.c:6225 while
configuring libgcc
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: sparc-sun-solaris2.11
  GCC host triplet: sparc-sun-solaris2.11
GCC target triplet: sparc-sun-solaris2.11


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



[Bug target/37364] [4.4 Regression] IRA generates inefficient code due to missing regmove pass

2009-01-29 Thread hjl dot tools at gmail dot com


--- Comment #32 from hjl dot tools at gmail dot com  2009-01-29 17:13 
---
This has been fixed by revision 143757:

http://gcc.gnu.org/ml/gcc-patches/2009-01/msg01410.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/35681] wrong result for vector subscripted array expression in MVBITS

2009-01-29 Thread hjl dot tools at gmail dot com


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


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



[Bug c++/38908] [4.4 regression] Unexplained 'anonymous' is used uninitialized in this function warning in cc1plus -m64

2009-01-29 Thread hjl at gcc dot gnu dot org


--- Comment #15 from hjl at gcc dot gnu dot org  2009-01-29 17:43 ---
Subject: Bug 38908

Author: hjl
Date: Thu Jan 29 17:43:14 2009
New Revision: 143765

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143765
Log:
2009-01-29  H.J. Lu  hongjiu...@intel.com

2009-01-28  Richard Guenther  rguent...@suse.de

PR middle-end/38908
* g++.dg/warn/Wuninitialized-2.C: New testcase.

2009-01-27  Daniel Kraft  d...@domob.eu

PR fortran/38883
* gfortran.dg/mvbits_6.f90:  New test.
* gfortran.dg/mvbits_7.f90:  New test.
* gfortran.dg/mvbits_8.f90:  New test.

2009-01-21  Daniel Kraft  d...@domob.eu

PR fortran/38887
* gfortran.dg/mvbits_5.f90:  New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/warn/Wuninitialized-2.C
  - copied unchanged from r143764,
trunk/gcc/testsuite/g++.dg/warn/Wuninitialized-2.C
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_5.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_5.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_6.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_6.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_7.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_7.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_8.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_8.f90
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/38883] [4.4 Regression] ICE for MVBITS with derived type argument that has run-time subscripts

2009-01-29 Thread hjl at gcc dot gnu dot org


--- Comment #9 from hjl at gcc dot gnu dot org  2009-01-29 17:43 ---
Subject: Bug 38883

Author: hjl
Date: Thu Jan 29 17:43:14 2009
New Revision: 143765

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143765
Log:
2009-01-29  H.J. Lu  hongjiu...@intel.com

2009-01-28  Richard Guenther  rguent...@suse.de

PR middle-end/38908
* g++.dg/warn/Wuninitialized-2.C: New testcase.

2009-01-27  Daniel Kraft  d...@domob.eu

PR fortran/38883
* gfortran.dg/mvbits_6.f90:  New test.
* gfortran.dg/mvbits_7.f90:  New test.
* gfortran.dg/mvbits_8.f90:  New test.

2009-01-21  Daniel Kraft  d...@domob.eu

PR fortran/38887
* gfortran.dg/mvbits_5.f90:  New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/warn/Wuninitialized-2.C
  - copied unchanged from r143764,
trunk/gcc/testsuite/g++.dg/warn/Wuninitialized-2.C
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_5.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_5.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_6.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_6.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_7.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_7.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_8.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_8.f90
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/38887] [4.4 Regression] run-time abort for MVBITS with run-time zero sized array arguments

2009-01-29 Thread hjl at gcc dot gnu dot org


--- Comment #6 from hjl at gcc dot gnu dot org  2009-01-29 17:43 ---
Subject: Bug 38887

Author: hjl
Date: Thu Jan 29 17:43:14 2009
New Revision: 143765

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143765
Log:
2009-01-29  H.J. Lu  hongjiu...@intel.com

2009-01-28  Richard Guenther  rguent...@suse.de

PR middle-end/38908
* g++.dg/warn/Wuninitialized-2.C: New testcase.

2009-01-27  Daniel Kraft  d...@domob.eu

PR fortran/38883
* gfortran.dg/mvbits_6.f90:  New test.
* gfortran.dg/mvbits_7.f90:  New test.
* gfortran.dg/mvbits_8.f90:  New test.

2009-01-21  Daniel Kraft  d...@domob.eu

PR fortran/38887
* gfortran.dg/mvbits_5.f90:  New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/warn/Wuninitialized-2.C
  - copied unchanged from r143764,
trunk/gcc/testsuite/g++.dg/warn/Wuninitialized-2.C
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_5.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_5.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_6.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_6.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_7.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_7.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/mvbits_8.f90
  - copied unchanged from r143764,
trunk/gcc/testsuite/gfortran.dg/mvbits_8.f90
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



Re: [Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread Andrew Thomas Pinski



Sent from my iPhone

On Jan 29, 2009, at 2:01 AM, rguenth at gcc dot gnu dot org gcc-bugzi...@gcc.gnu.org 
 wrote:





--- Comment #3 from rguenth at gcc dot gnu dot org  2009-01-29  
10:01 ---

The best option would be to revert that patch on the branch.


Except it alone could not cause wrong code.  Some other pass is  
causing it.  And then again with a testcase it is hard to figure out  
what is going wrong.  That patch just disables one small optimization  
in one case.






--

rguenth at gcc dot gnu dot org changed:

  What|Removed |Added
--- 
--- 
--
CC||sje at gcc dot gnu  
dot org,
  ||rguenth at gcc dot  
gnu dot

  ||org
  Priority|P3  |P1
  Target Milestone|--- |4.3.4


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread jdassen at debian dot org


--- Comment #7 from jdassen at debian dot org  2009-01-29 17:53 ---
(In reply to comment #3)
 The best option would be to revert that patch on the branch.

Matthias did that in the 4.3.3-3 packages and with them, the problem has
indeed gone away.

(In reply to comment #6)
 What GCC options was gsf-scan.i compiled with?

compile line: /bin/sh ../libtool --mode=compile cc -Wl,-z,defs -Wl,-O1
-Wl,--as-needed -O2 -Wall -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wno-sign-compare  -DG_DISABLE_DEPRECATED -Wno-system-headers
-Wfloat-equal -Wpointer-arith -Wbad-function-cast -Wwrite-strings
-Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wformat -Wnested-externs -Winline
-Wdeclaration-after-statement -Wundef -W -Wmissing-noreturn
-Wmissing-format-attribute -Wno-pointer-sign -DLIBGSF_GNOMEVFS_VIA_GIO -I../..
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2  
-O2 -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith
-Wno-sign-compare  -DG_DISABLE_DEPRECATED -Wno-system-headers -Wfloat-equal
-Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wsign-compare
-Waggregate-return -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wformat -Wnested-externs -Winline
-Wdeclaration-after-statement -Wundef -W -Wmissing-noreturn
-Wmissing-format-attribute -Wno-pointer-sign -DLIBGSF_GNOMEVFS_VIA_GIO -c -o
gsf-scan.lo gsf-scan.c

link line: /bin/sh ../libtool --mode=link cc -Wl,-z,defs -Wl,-O1
-Wl,--as-needed  -O2 -Wall -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wno-sign-compare  -DG_DISABLE_DEPRECATED -Wno-system-headers
-Wfloat-equal -Wpointer-arith -Wbad-function-cast -Wwrite-strings
-Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wformat -Wnested-externs -Winline
-Wdeclaration-after-statement -Wundef -W -Wmissing-noreturn
-Wmissing-format-attribute -Wno-pointer-sign -DLIBGSF_GNOMEVFS_VIA_GIO 
-no-undefined  -o gsf-scan gsf-scan.lo ../gsf/libgsf-1.la -lgobject-2.0
-lglib-2.0 -lxml2   -no-undefined 


-- 


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread pinskia at gmail dot com


--- Comment #8 from pinskia at gmail dot com  2009-01-29 17:53 ---
Subject: Re:  [4.3 regression] wrong code building libgsf



Sent from my iPhone

On Jan 29, 2009, at 2:01 AM, rguenth at gcc dot gnu dot org
gcc-bugzi...@gcc.gnu.org 
  wrote:



 --- Comment #3 from rguenth at gcc dot gnu dot org  2009-01-29  
 10:01 ---
 The best option would be to revert that patch on the branch.

Except it alone could not cause wrong code.  Some other pass is  
causing it.  And then again with a testcase it is hard to figure out  
what is going wrong.  That patch just disables one small optimization  
in one case.




 -- 

 rguenth at gcc dot gnu dot org changed:

   What|Removed |Added
 --- 
 --- 
 --
 CC||sje at gcc dot gnu  
 dot org,
   ||rguenth at gcc dot  
 gnu dot
   ||org
   Priority|P3  |P1
   Target Milestone|--- |4.3.4


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



-- 


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



[Bug target/37364] [4.4 Regression] IRA generates inefficient code due to missing regmove pass

2009-01-29 Thread hjl dot tools at gmail dot com


--- Comment #33 from hjl dot tools at gmail dot com  2009-01-29 17:57 
---
Reopen since revision 143757 isn't supposed to fix it.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug tree-optimization/39007] -ftree-loop-distribution ICEs

2009-01-29 Thread kazu at gcc dot gnu dot org


--- Comment #3 from kazu at gcc dot gnu dot org  2009-01-29 18:23 ---
Subject: Bug 39007

Author: kazu
Date: Thu Jan 29 18:23:21 2009
New Revision: 143767

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143767
Log:
gcc/
PR tree-optimization/39007
* tree-loop-distribution.c (generate_builtin): Use
recompute_dominator to compute the immediate dominator of the
basic block just after the loop.

gcc/testsuite/
PR tree-optimization/39007
* gcc.dg/tree-ssa/pr39007.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr39007.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-loop-distribution.c


-- 


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



[Bug target/39013] [4.3/4.4 Regression] Missing @PLT when -fpie is used

2009-01-29 Thread zorry at ume dot nu


--- Comment #15 from zorry at ume dot nu  2009-01-29 18:23 ---
We have this in the shared library that is compile with -fPIC
inline u_int32_t
libnet_getgre_length(u_int16_t fv)
{
code
}
And the app have 
code
len = libnet_getgre_length(gre_flags);
size += len;
code


-- 


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



[Bug c/39026] New: Gcc accepts invalid code

2009-01-29 Thread hjl dot tools at gmail dot com
+++ This bug was initially created as a clone of Bug #39013 +++

[...@gnu-6 gcc]$ cat /tmp/i.i
inline void foo ();

int
main ()
{
  foo ();
  return 0;
}
[...@gnu-6 gcc]$ gcc  /tmp/i.i  -S

Is this valid C code? From

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39013#c10

--
IMHO this is invalid.  6.7.4/6

... If a function is declared with an inline function specifier, then it
shall also be defined in the same translation unit.
--


-- 
   Summary: Gcc accepts invalid code
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com
 BugsThisDependsOn: 39013


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



[Bug tree-optimization/39007] -ftree-loop-distribution ICEs

2009-01-29 Thread kazu at gcc dot gnu dot org


--- Comment #4 from kazu at gcc dot gnu dot org  2009-01-29 18:31 ---
Fixed.


-- 

kazu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2009-01-29 Thread janis at gcc dot gnu dot org


--- Comment #42 from janis at gcc dot gnu dot org  2009-01-29 18:32 ---
I'm looking into this.  It's all very messy and confusing, so I'm trying to
step back and understand the big picture.

Is there a reason that GCC_EXEC_PREFIX is set to $(libdir)/gcc/ for the
compiler tests but not for the library tests?

Is is a problem that HOSTCC uses LD_LIBRARY_PATH set for the compiler under
test?


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |janis at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-07-15 14:41:05 |2009-01-29 18:32:17
   date||


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



[Bug c/39026] Gcc accepts invalid code

2009-01-29 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2009-01-29 18:34 ---
Icc 11.0 gave:

[...@gnu-6 tmp]$ /opt/intel/cce/11.0/bin/icc -S i.i-Wall
i.i(1): remark #1419: external declaration in primary source file
  inline void foo ();
  ^

[...@gnu-6 tmp]$ /opt/intel/cce/11.0/bin/icc -S i.i 
[...@gnu-6 tmp]$ 


-- 


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



[Bug middle-end/39015] [4.3 regression] wrong code building libgsf

2009-01-29 Thread sje at cup dot hp dot com


--- Comment #9 from sje at cup dot hp dot com  2009-01-29 18:57 ---
So far I have been unable to reproduce this problem.  When compiling gsf-scan.i
I do not even reach the code that I changed in PR 38615 and I get the same code
with or without my change included.

Assuming there is a way to trigger this, I wonder if the program is legal.  In
particular I was looking at the initialization of GbArgTable which has a lot of
holes in it.  If the optimization affects whether or not these holes get set to
zero and if the program is accessing these uninitialized locations that could
cause a change in behaviour.


-- 


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



[Bug c/39027] New: double floating point suffix of 'd' and 'D' not accepted

2009-01-29 Thread tydeman at tybor dot com
With C command line option -std=gnu99
double floating-point constants with either 'd' or 'D' suffix
are not accepted by gcc 4.3.2-7 running on Intel x86/x87 Pentium 4
running Fedora Core 10 Linux
Part of gcc -v is:
gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) 

#define __STDC_WANT_DEC_FP__ /* Tell implementation that we want Decimal FP */
double d1 = 1.0d;  /* binary double (yes) versus decimal double (no) */
double d2 = 2.0D;

gets
error: invalid suffix d on floating constant
error: invalid suffix D on floating constant


-- 
   Summary: double floating point suffix of 'd' and 'D' not accepted
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tydeman at tybor dot com
  GCC host triplet: 4.3.2
GCC target triplet: 4.3.2


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



[Bug target/39027] double floating point suffix of 'd' and 'D' not accepted

2009-01-29 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-01-29 19:38 ---
I think you need to configure GCC with DFP support.

Defining __STDC_WANT_DEC_FP__ is not enough.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |target


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



[Bug middle-end/38157] -fconserve-stack enabled by default

2009-01-29 Thread hjl dot tools at gmail dot com


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


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



[Bug c/39026] Gcc accepts invalid code

2009-01-29 Thread joseph at codesourcery dot com


--- Comment #2 from joseph at codesourcery dot com  2009-01-29 20:02 ---
Subject: Re:   New: Gcc accepts invalid code

On Thu, 29 Jan 2009, hjl dot tools at gmail dot com wrote:

 inline void foo ();
 
 int
 main ()
 {
   foo ();
   return 0;
 }
 [...@gnu-6 gcc]$ gcc  /tmp/i.i  -S

If you use -std=c99 -pedantic-errors you get an error, as expected.  
You're compiling in gnu89 mode.

If you use -std=c99 without -pedantic-errors you get a duplicate warning:

t.c:1: warning: inline function 'foo' declared but never defined
t.c:1: warning: inline function 'foo' declared but never defined


-- 


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



[Bug c++/39028] New: C++ front-end rejects __label__ at the beginning of a block after for and while

2009-01-29 Thread springl-gcc at bfw-online dot de
Trying to compile the c++ program label.C

void c ()
{ for (;;)   {__label__ l; goto l; l:;}
  while (1)  {__label__ l; goto l; l:;}
  if (1) {__label__ l; goto l; l:;}
  do {__label__ l; goto l; l:;} while (1);
 {__label__ l; goto l; l:;}
}

using
  g++ -Wall -Wextra   -c label.C
with g++ versions 4.4.0 20090129 (experimental) and 4.3.3 gives:

label.C: In function 'void c()':
label.C:2: error: '__label__' not at the beginning of a block
label.C:3: error: '__label__' not at the beginning of a block
label.C:3: error: duplicate label 'l'

The fix for bug 32121 C++ front-end accepts invalid __label__
declarations (svn revision 129253) moved handling __label__ declarations
to function cp_parser_compound_statement in gcc/cp/parser.c and omitted
it in function cp_parser_already_scoped_statement.  The newly introduced
tests cases only check the error case for while and for statements,
unfortunately.

Without any deeper understanding of gcc internals, I suggest two
possible fixes:

- copy the two lines handling __label__ declarations
from function cp_parser_compound_statement to function
cp_parser_already_scoped_statement, which might be the smallest change or
- merge part of cp_parser_already_scoped_statement's functionality to
cp_parser_compound_statement avoiding code duplication.


-- 
   Summary: C++ front-end rejects __label__ at the beginning of a
block after for and while
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: springl-gcc at bfw-online dot de
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



Re: [Bug c/39026] New: Gcc accepts invalid code

2009-01-29 Thread Joseph S. Myers
On Thu, 29 Jan 2009, hjl dot tools at gmail dot com wrote:

 inline void foo ();
 
 int
 main ()
 {
   foo ();
   return 0;
 }
 [...@gnu-6 gcc]$ gcc  /tmp/i.i  -S

If you use -std=c99 -pedantic-errors you get an error, as expected.  
You're compiling in gnu89 mode.

If you use -std=c99 without -pedantic-errors you get a duplicate warning:

t.c:1: warning: inline function 'foo' declared but never defined
t.c:1: warning: inline function 'foo' declared but never defined

-- 
Joseph S. Myers
jos...@codesourcery.com


[Bug c/39026] Gcc accepts invalid code

2009-01-29 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2009-01-29 20:09 ---
(In reply to comment #2)
 If you use -std=c99 -pedantic-errors you get an error, as expected.  
 You're compiling in gnu89 mode.
 
 If you use -std=c99 without -pedantic-errors you get a duplicate warning:
 
 t.c:1: warning: inline function 'foo' declared but never defined
 t.c:1: warning: inline function 'foo' declared but never defined
 

So the code is valid in gnu89 mode, which is the default. With -std=c99
and without -pedantic-errors, shouldn't we generate working binary?


-- 


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



[Bug c++/39028] [4.3/4.4 Regression] C++ front-end rejects __label__ at the beginning of a block after for and while

2009-01-29 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Keywords||rejects-valid
Summary|C++ front-end rejects   |[4.3/4.4 Regression] C++
   |__label__ at the beginning|front-end rejects
   |of a block after for and  |__label__ at the beginning
   |while |of a block after for and
   ||while
   Target Milestone|--- |4.3.4


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



Attachments for gcc bugzilla entry #39028

2009-01-29 Thread Stephan Springl

Hi,

I just wanted to upload the attached files to gcc bugzilla entry #39028, 
but I always hit a bugzilla bug.  Could you please attach these files to 
the bug for me?


Thank you.

Regards
Stephancommit a9f24d7b25568b3fde13ae406deb1aeeacf45e23
Author: Stephan Springl stephan-...@springl.homeip.net
Date:   Thu Jan 29 20:00:31 2009 +0100

fix

diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 5baf5f5..e5bc7f7 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -153,6 +153,13 @@ typedef struct cp_token_cache GTY(())
   cp_token * GTY ((skip)) last;
 } cp_token_cache;
 
+enum cp_scope_begin
+{
+  cp_scope_begin_do,
+  cp_scope_begin_try,
+  cp_scope_begin_dont
+};
+
 /* Prototypes.  */
 
 static cp_lexer *cp_lexer_new_main
@@ -1639,7 +1646,7 @@ static void cp_parser_label_for_labeled_statement
 static tree cp_parser_expression_statement
   (cp_parser *, tree);
 static tree cp_parser_compound_statement
-  (cp_parser *, tree, bool);
+  (cp_parser *, tree, enum cp_scope_begin);
 static void cp_parser_statement_seq_opt
   (cp_parser *, tree);
 static tree cp_parser_selection_statement
@@ -3243,7 +3250,7 @@ cp_parser_primary_expression (cp_parser *parser,
 		/* Start the statement-expression.  */
 		expr = begin_stmt_expr ();
 		/* Parse the compound-statement.  */
-		cp_parser_compound_statement (parser, expr, false);
+		cp_parser_compound_statement (parser, expr, cp_scope_begin_do);
 		/* Finish up.  */
 		expr = finish_stmt_expr (expr, false);
 	  }
@@ -6959,7 +6966,7 @@ cp_parser_statement (cp_parser* parser, tree in_statement_expr,
 }
   /* Anything that starts with a `{' must be a compound-statement.  */
   else if (token-type == CPP_OPEN_BRACE)
-statement = cp_parser_compound_statement (parser, NULL, false);
+statement = cp_parser_compound_statement (parser, NULL, cp_scope_begin_do);
   /* CPP_PRAGMA is a #pragma inside a function body, which constitutes
  a statement all its own.  */
   else if (token-type == CPP_PRAGMA)
@@ -7143,22 +7150,25 @@ cp_parser_expression_statement (cp_parser* parser, tree in_statement_expr)
 
 static tree
 cp_parser_compound_statement (cp_parser *parser, tree in_statement_expr,
-			  bool in_try)
+			  enum cp_scope_begin scope_begin)
 {
-  tree compound_stmt;
+  tree compound_stmt = NULL_TREE;
 
   /* Consume the `{'.  */
   if (!cp_parser_require (parser, CPP_OPEN_BRACE, %{%))
 return error_mark_node;
   /* Begin the compound-statement.  */
-  compound_stmt = begin_compound_stmt (in_try ? BCS_TRY_BLOCK : 0);
+  if (scope_begin != cp_scope_begin_dont)
+compound_stmt = begin_compound_stmt (scope_begin == cp_scope_begin_try ?
+	 BCS_TRY_BLOCK : 0);
   /* If the next keyword is `__label__' we have a label declaration.  */
   while (cp_lexer_next_token_is_keyword (parser-lexer, RID_LABEL))
 cp_parser_label_declaration (parser);
   /* Parse an (optional) statement-seq.  */
   cp_parser_statement_seq_opt (parser, in_statement_expr);
   /* Finish the compound-statement.  */
-  finish_compound_stmt (compound_stmt);
+  if (scope_begin != cp_scope_begin_dont)
+finish_compound_stmt (compound_stmt);
   /* Consume the `}'.  */
   cp_parser_require (parser, CPP_CLOSE_BRACE, %}%);
 
@@ -7812,7 +7822,7 @@ cp_parser_implicitly_scoped_statement (cp_parser* parser, bool *if_p)
 }
   /* if a compound is opened, we simply parse the statement directly.  */
   else if (cp_lexer_next_token_is (parser-lexer, CPP_OPEN_BRACE))
-statement = cp_parser_compound_statement (parser, NULL, false);
+statement = cp_parser_compound_statement (parser, NULL, cp_scope_begin_do);
   /* If the token is not a `{', then we must take special action.  */
   else
 {
@@ -7840,13 +7850,7 @@ cp_parser_already_scoped_statement (cp_parser* parser)
   if (cp_lexer_next_token_is_not (parser-lexer, CPP_OPEN_BRACE))
 cp_parser_statement (parser, NULL_TREE, false, NULL);
   else
-{
-  /* Avoid calling cp_parser_compound_statement, so that we
-	 don't create a new scope.  Do everything else by hand.  */
-  cp_parser_require (parser, CPP_OPEN_BRACE, %{%);
-  cp_parser_statement_seq_opt (parser, NULL_TREE);
-  cp_parser_require (parser, CPP_CLOSE_BRACE, %}%);
-}
+cp_parser_compound_statement (parser, NULL, cp_scope_begin_dont);
 }
 
 /* Declarations [gram.dcl.dcl] */
@@ -14464,7 +14468,7 @@ cp_parser_default_argument (cp_parser *parser, bool template_parm_p)
 static void
 cp_parser_function_body (cp_parser *parser)
 {
-  cp_parser_compound_statement (parser, NULL, false);
+  cp_parser_compound_statement (parser, NULL, cp_scope_begin_do);
 }
 
 /* Parse a ctor-initializer-opt followed by a function-body.  Return
@@ -16374,7 +16378,7 @@ cp_parser_try_block (cp_parser* parser)
 
   cp_parser_require_keyword (parser, RID_TRY, %try%);
   try_block = begin_try_block ();
-  cp_parser_compound_statement (parser, NULL, true);
+  cp_parser_compound_statement (parser, NULL, cp_scope_begin_try);
   finish_try_block (try_block);
   

[Bug pch/39029] New: #pragma once is not exported from the precompiled headers

2009-01-29 Thread bohan dot gnu at retropaganda dot info
When precompiling, #pragma once directives are handled correctly, but once we
try to use the pch, these directives are lost and the compiler will #include
again every real header file, even if it's already contained in the pch file.

The easy workaround is to fallback to include guards instead of #pragma once
(or use both).


-- 
   Summary: #pragma once is not exported from the precompiled
headers
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: pch
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bohan dot gnu at retropaganda dot info
 GCC build triplet: x86_64-pc-linux-gnu
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



Re: Attachments for gcc bugzilla entry #39028

2009-01-29 Thread Andrew Pinski
2009/1/29 Stephan Springl springl-...@bfw-online.de:
 Hi,

 I just wanted to upload the attached files to gcc bugzilla entry #39028, but
 I always hit a bugzilla bug.  Could you please attach these files to the bug
 for me?

Well first patches go to gcc-patches@ list with a changelog.  And then
you don't need to upload them.  Also try to login before attaching
them.

Thanks,
Andrew Pinski


[Bug fortran/39030] New: Support -fexcess-precision={standard,fast} also for Fortran

2009-01-29 Thread burnus at gcc dot gnu dot org
From http://gcc.gnu.org/ml/fortran/2009-01/msg00332.html:

The C99 patch (for GCC 4.5),
http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00105.html, fixes the excess
precision problem of the infamous PR 323 (yes, that old). For C99 there exists
a new option -fexcess-precision={standard,fast} which needs front end support.
-- PR 323 is especially about the x87 co-processor rounding, which is not IEEE
conform; work around is -ffloat-store or SSE.

The patch announcement came with Fixes bug 323 for C (other languages would
need their own front-end work to implement suitable predictable semantics under
the same command-line option in order to complete fixing the bug).


-- 
   Summary: Support -fexcess-precision={standard,fast} also for
Fortran
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug target/39027] double floating point suffix of 'd' and 'D' not accepted

2009-01-29 Thread janis at gcc dot gnu dot org


--- Comment #2 from janis at gcc dot gnu dot org  2009-01-29 21:20 ---
In the C99 standard, floating constants are defined in section 6.4.4.2.  A
floating constant of type double is unsuffixed; there is no 'd' or 'D' suffix. 
Unless I'm missing something the test case is invalid.


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||janis at gcc dot gnu dot org


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



[Bug c/39026] Gcc accepts invalid code

2009-01-29 Thread rguenther at suse dot de


--- Comment #4 from rguenther at suse dot de  2009-01-29 21:24 ---
Subject: Re:  Gcc accepts invalid code

On Thu, 29 Jan 2009, joseph at codesourcery dot com wrote:

 
 
 --- Comment #2 from joseph at codesourcery dot com  2009-01-29 20:02 
 ---
 Subject: Re:   New: Gcc accepts invalid code
 
 On Thu, 29 Jan 2009, hjl dot tools at gmail dot com wrote:
 
  inline void foo ();
  
  int
  main ()
  {
foo ();
return 0;
  }
  [...@gnu-6 gcc]$ gcc  /tmp/i.i  -S
 
 If you use -std=c99 -pedantic-errors you get an error, as expected.  
 You're compiling in gnu89 mode.
 
 If you use -std=c99 without -pedantic-errors you get a duplicate warning:
 
 t.c:1: warning: inline function 'foo' declared but never defined
 t.c:1: warning: inline function 'foo' declared but never defined

I think the frontend should, in C89 mode and if just issueing a warning,
set DECL_EXTERNAL properly on the decl.

Richard.


-- 


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



[Bug target/39027] double floating point suffix of 'd' and 'D' not accepted

2009-01-29 Thread tydeman at tybor dot com


--- Comment #3 from tydeman at tybor dot com  2009-01-29 21:52 ---
The Decimal Floating-Point Technical Report (WG14/N1176 and later) added
the suffixes 'd' and 'D' to indicate (binary) double, and 'dd' and 'DD' to 
indicate decimal double (_Decimal64).  The suffixes 'd' and 'D'
are in addition to unsuffixed decimal floating constants (all three
mean 'double').  This is pages 12 and 13 in N1176, section 7 Constants,
which is changing C99 section 6.4.4.2 floating-suffix.


-- 


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



[Bug target/39027] double floating point suffix of 'd' and 'D' not accepted

2009-01-29 Thread janis at gcc dot gnu dot org


--- Comment #4 from janis at gcc dot gnu dot org  2009-01-29 21:57 ---
We missed that.  This is indeed a bug.


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bje at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-01-29 21:57:00
   date||


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



[Bug fortran/38324] Wrong lbound given to allocatable components

2009-01-29 Thread mikael at gcc dot gnu dot org


--- Comment #3 from mikael at gcc dot gnu dot org  2009-01-29 22:03 ---
patch http://gcc.gnu.org/ml/fortran/2009-01/msg00348.html

The failure for ik=8 is not fixed by this patch. 
I thought it was ok because of the kind conversion function call. 
But it seems it's not.

It is impacting function calls too (descriptor with wrong bounds passed), but
the descriptor bounds are never used from within the function.
This needs a bit more investigation.


-- 

mikael at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||patch


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



[Bug fortran/38956] test gfortran.dg/chmod_1.f90 fails on i686-pc-cygwin

2009-01-29 Thread billingd at gcc dot gnu dot org


--- Comment #3 from billingd at gcc dot gnu dot org  2009-01-29 22:09 
---
I asked about this on the cygwin list.

http://cygwin.com/ml/cygwin/2009-01/msg00718.html

On Jan 24 18:40, David Billinghurst wrote:
 I am having a problem with the access() function in cygwin-1.7.

 Under cygwin-1.5
 $ ./test_access
 access = -1

 Under cygwin-1.7
 $  ./test_access.exe
 access = -1

The reply was:

I assume you mean access = 0 under 1.7.  If that's what you see, the
test probably works as designed.  You're running the test under an
administrative account.  Admin accounts have always the right to write,
same as under Linux.  

 ... and my account has Local Administrator rights.


-- 


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



[Bug fortran/38956] tests gfortran.dg/chmod_{1,2,3}.f90 fails on i686-pc-cygwin

2009-01-29 Thread billingd at gcc dot gnu dot org


--- Comment #4 from billingd at gcc dot gnu dot org  2009-01-29 22:14 
---
Tests gfortran.dg/chmod_2.f90 and gfortran.dg/chmod_3.f90 also fail.

There is also some discussion at
http://gcc.gnu.org/ml/fortran/2009-01/msg00353.html

In each case, the failure is due to the test

  i = chmod (n, a-w)
  if (i == 0 .and. getuid() /= 0) then
if (access(n,w) == 0 .or. access(n,W) == 0) call abort
  end if

The problem is that users with Administrator rights can always
write to files - similar to root on unix - but it is not easy to test for this.

I will prepare a patch that moves the parts that fail to a new test that is
UNSUPPORTED on cygwin.


-- 

billingd at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|test gfortran.dg/chmod_1.f90|tests
   |fails on i686-pc-cygwin |gfortran.dg/chmod_{1,2,3}.f9
   ||0 fails on i686-pc-cygwin


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



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2009-01-29 Thread janis at gcc dot gnu dot org


--- Comment #43 from janis at gcc dot gnu dot org  2009-01-29 22:36 ---
Rob, your various assertions do not show that there is a bug here.  The failure
of gcc.target/i386/funcspec-3.c described in comment #41 does not prove that
the compiler under test is using GCC files from the install tree.  I think it's
either an intermittent failure or some problem with running the testsuite where
you've already run them.  In particular, that test doesn't appear to use any
files that are in $(libdir)/gcc/, it's a compile-only test and cc1 is not in
that part of the installation.  The assertion in comment #37 that
GCC_EXEC_PREFIX is simply always set is not true; it is only being set within
the testsuite and from the Makefile as part of an invocation of runtest.  The
others don't make much sense, either.

I built GCC from 20090106, broke a couple of thing affecting cc1, float.h, and
libgcc.a, and installed it.  Then I configured current mainline to use the same
installation location, built it, and ran the tests affected the what I broke;
they all passed.  I added a test to print the value of GCC_EXEC_PREFIX and it
confirmed that it was set.  It does NOT affect the use of the compiler under
test.

Once again, the use of -B in the testsuite overrides GCC_EXEC_PREFIX for files
that are part of GCC.


-- 


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



[Bug middle-end/39015] [4.3/4.4 regression] wrong code building libgsf

2009-01-29 Thread doko at ubuntu dot com


--- Comment #10 from doko at ubuntu dot com  2009-01-29 22:36 ---
I'm able to reproduce it with trunk 20090129. The gsf-scan executable links
against the just built libgsf.so, so I assume we have to look for a miscompiled
file in libgsf.


-- 

doko at ubuntu dot com changed:

   What|Removed |Added

  Known to fail|4.3.4   |4.3.4 4.4.0
Summary|[4.3 regression] wrong code |[4.3/4.4 regression] wrong
   |building libgsf |code building libgsf


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



[Bug c++/38655] Broken diagnostic: 'fixed_point_type' not supported by dump_type_prefix/dump_type_suffix

2009-01-29 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
   |dot org |dot com
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-01-29 22:38:23
   date||


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



[Bug middle-end/39015] [4.3/4.4 regression] wrong code building libgsf

2009-01-29 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2009-01-29 22:39 
---
I don't see anything in gsf-scan.c which would have been changed by that patch.
 All the arrays are already marked as static.  The only ones that changed by
that patch are auto arrays.


-- 


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



[Bug middle-end/39015] [4.3/4.4 regression] wrong code building libgsf

2009-01-29 Thread pinskia at gcc dot gnu dot org


--- Comment #12 from pinskia at gcc dot gnu dot org  2009-01-29 22:41 
---
(In reply to comment #9)
 Assuming there is a way to trigger this, I wonder if the program is legal.  In
 particular I was looking at the initialization of GbArgTable which has a lot 
 of
 holes in it. 

Those holes are all zero but the array GbArgTable is already declared as static
so there will be no difference between before and after the patch.


-- 


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



[Bug target/39002] [4.4 Regression] codegen bug, stack pointer is not restored

2009-01-29 Thread sezeroz at gmail dot com


--- Comment #27 from sezeroz at gmail dot com  2009-01-29 22:48 ---
I can confirm that after applying pr_w64.diff of Kai Tietz to svn rev 143768,
my similar problem which I reported at mingw-w64 site (which is also related
to the 143119 commit) is fixed.  Thanks to all who wonked on this.


-- 

sezeroz at gmail dot com changed:

   What|Removed |Added

 CC||sezeroz at gmail dot com


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



  1   2   >