[Bug fortran/33897] Incorrect host association in module

2007-10-27 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2007-10-27 07:07 ---
The logic is all wrong in parse.c(gfc_fixup_sibling_symbols).  I can fix this
bug but I need to regtest and to check for other such cases in the standard.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.1/4.2/4.3 Regression]|Incorrect host association
   |Entries and modules |in module


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



[Bug tree-optimization/33383] [4.3 Regression] Revision 128092 miscompiles 400.perlbench

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #16 from jakub at gcc dot gnu dot org  2007-10-27 09:42 ---
Created an attachment (id=14413)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14413&action=view)
perl-5.8.7-aliasing.patch

Sure, here is a minimal patch against perl 5.8.7 which cures this (and for
whatever reason happens to apply to SPEC2006 as well).  The
S_{new,del,more}_xiv
changes IMHO aren't controversial at all, perl assumes that IV aka long
can hold a pointer.  For S_{new,del,more}_xnv where NV is double there is an
option to use memcpy as in the patch (for S_new_xnv and S_del_xnv is GCC 4.3
able
to compile exactly the same code as before when those functions are noinline,
S_more_xnv is 2 or 3 insns larger, but nothing serious) which IMHO is standard
conforming, or could e.g. use union { NV nv; NV *xnv; } u; and stuff values
through it (but, as double is bigger than pointer on 32-bit arches wouldn't we
risk issues with signalling NaNs?), or of course can do much bigger changes and
change the data structures that contain e.g. xnv_nv fields to an anonymous
union.

>From quick skimming other S_{new,del,more}_x* routines the other routines don't
violate strict aliasing.


-- 


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



[Bug tree-optimization/33383] [4.3 Regression] Revision 128092 miscompiles 400.perlbench

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #17 from jakub at gcc dot gnu dot org  2007-10-27 09:43 ---
Closing as this isn't really a GCC bug, but perl and 400.perlbench bug.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/33870] [4.3 Regression] miscompiles sqlite

2007-10-27 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2007-10-27 11:10 
---
Subject: Bug 33870

Author: rguenth
Date: Sat Oct 27 11:10:09 2007
New Revision: 129675

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129675
Log:
2007-10-27  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/33870
* tree-ssa-operands.c (add_vars_for_offset): Reduce code
duplication.  Remove redundant call to access_can_touch_variable.
(add_vars_for_bitmap): New helper for recursing over MPT contents.
(add_virtual_operand): Use it.

* gcc.dg/tree-ssa/alias-15.c: New testcase.
* gcc.c-torture/execute/pr33870.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr33870.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-15.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-operands.c


-- 


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



[Bug tree-optimization/33870] [4.3 Regression] miscompiles sqlite

2007-10-27 Thread rguenth at gcc dot gnu dot org


--- Comment #15 from rguenth at gcc dot gnu dot org  2007-10-27 11:18 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/33828] Issues with the implementation of code hoisting in gcse.c

2007-10-27 Thread steven at gcc dot gnu dot org


--- Comment #8 from steven at gcc dot gnu dot org  2007-10-27 11:34 ---
After making hoist_code look down the dominator tree a bit further, and fixing
--param max-gcse-passes for code hoisting, the next problem surfaces.

When we hoist an expression, we replace the expression with the reaching reg,
_and_ we add a REG_EQUAL note for the original expression. Because we add
expressions from REG_EQUAL notes to the hash table, expressions that were
already hoisted in a previous pass still look very busy in the subsequent
passes. Thus, we hoist and hoist and hoist and ... the same expression all over
again.

Solution: prune VBEOUT with AVAIL_OUT.

GCC doesn't compute AVAIL_OUT for code hoisting at the moment. Even local
doen-safety is not computed. The trick that PRE uses for this can be used for
code hoisting as well: Compute AE_KILL as ~(TRANSP | COMP). The result can be
fed to compute_available(), and used for pruning VBEOUT in
compute_code_hoist_data().


-- 


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



[Bug c++/33842] [4.1/4.2/4.3 regression] Broken diagnostic: 'offsetof_expr' not supported by dump_expr

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2007-10-27 11:58 ---
Subject: Bug 33842

Author: jakub
Date: Sat Oct 27 11:58:26 2007
New Revision: 129677

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129677
Log:
PR c++/33842
* cxx-pretty-print.h (pp_cxx_offsetof_expression): New prototype.
* cxx-pretty-print.c (pp_cxx_primary_expression): Handle
OFFSETOF_EXPR.
(pp_cxx_offsetof_expression_1, pp_cxx_offsetof_expression): New
functions.
* error.c (dump_expr): Handle OFFSETOF_EXPR.

* g++.dg/template/error34.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/error34.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cxx-pretty-print.c
trunk/gcc/cp/cxx-pretty-print.h
trunk/gcc/cp/error.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/33842] [4.1/4.2 regression] Broken diagnostic: 'offsetof_expr' not supported by dump_expr

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2007-10-27 12:00 ---
Fixed so far on the trunk.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.1.0 4.2.0
  Known to work||4.3.0
Summary|[4.1/4.2/4.3 regression]|[4.1/4.2 regression] Broken
   |Broken diagnostic:  |diagnostic: 'offsetof_expr'
   |'offsetof_expr' not |not supported by dump_expr
   |supported by dump_expr  |


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



[Bug other/29442] insn-attrtab has grown too large

2007-10-27 Thread rask at gcc dot gnu dot org


--- Comment #6 from rask at gcc dot gnu dot org  2007-10-27 12:46 ---
As far as I can tell (from running cc1 in a debugger), the problem is not so
much the size of the file, but that it contains two large functions and GCC
leaks memory. After compiling the first large function, the process size is 886
megs (basic-block reordering alone being responsible for about 200 megs),
probably littered with pieces of garbage. That'll cause all following
allocations to become scattered thoughout memory and the swapfest begins if you
don't have lots of memory. 256 megs is not enough. The RTL passes in particular
seem to be affected and several df_* functions take ages to run.
I'm working on a patch to split insn-attrtab.c into more files.


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rask at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
  Known to fail||4.3.0
   Last reconfirmed|-00-00 00:00:00 |2007-10-27 12:46:05
   date||


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



[Bug tree-optimization/33856] [4.3 Regression] Segfault in create_data_ref/compute_data_dependences_for_loop

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2007-10-27 13:29 ---
Testing a patch.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-10-22 11:52:43 |2007-10-27 13:29:28
   date||


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



[Bug fortran/33897] Incorrect host association in module

2007-10-27 Thread burnus at gcc dot gnu dot org


--- Comment #11 from burnus at gcc dot gnu dot org  2007-10-27 13:31 ---
To recap (correct me, if I'm wrong):

The program in comment 0 (original bug description) is valid Fortran, but the
"setbd" is an external function which needs to be provided at link time. It is
not the module function as "integer :: setbd" causes "setbd" to be an external
function with an implicit interface. -> wrong-code bug as gfortran uses the
module function. (see also program in comment 4.)

The first program of comment 1: I think this is valid Fortran code; what
puzzles me is that gfortran rejects it with "Global name 'setbd' is already
being used as a FUNCTION". I think these are complete different name spaces
with the function names __ksbin1_aux_mod_MOD_setbd and setbd_: One being part
of a module and the other not. The same for the second program of comment 1. ->
rejects-valid.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org


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



[Bug target/18353] ICE with "movaps" in inline asm when using -masm=intel

2007-10-27 Thread rask at gcc dot gnu dot org


--- Comment #4 from rask at gcc dot gnu dot org  2007-10-27 13:40 ---
*** Bug 33918 has been marked as a duplicate of this bug. ***


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rayer at seznam dot cz


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



[Bug target/33918] GCC failed to produce assembler output with -masm=intel option

2007-10-27 Thread rask at gcc dot gnu dot org


--- Comment #3 from rask at gcc dot gnu dot org  2007-10-27 13:40 ---
This is not a regression (as far as I know), so it won't be fixed in anything
earlier than 4.3.0.
GCC dies trying to figure out which of BYTE PTR, WORD PTR, etc. it should print
for a structure. You may be able to work around it by passing
(&callgate_ptr->offset) instead of (callgate_ptr).

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


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/33920] New: [4.3 Regression] Segfault in combine_blocks/tree-if-conv.c

2007-10-27 Thread tbm at cyrius dot com
With current trunk:

(sid)[EMAIL PROTECTED]:~$ /usr/lib/gcc-snapshot/bin/gcc -c -O3 gclcvs-tinfo.c
gclcvs-tinfo.c: In function 'init_code':
gclcvs-tinfo.c:19: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.


-- 
   Summary: [4.3 Regression] Segfault in combine_blocks/tree-if-
conv.c
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com


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



[Bug tree-optimization/33920] [4.3 Regression] Segfault in combine_blocks/tree-if-conv.c

2007-10-27 Thread tbm at cyrius dot com


--- Comment #1 from tbm at cyrius dot com  2007-10-27 14:16 ---
/* Testcase by Martin Michlmayr <[EMAIL PROTECTED]> */

typedef union lispunion *object;
struct character
{
  long e;
};
extern struct symbol Cnil_body;
extern struct symbol Ct_body;
struct vector
{
  object *v_self;
};
union lispunion
{
  struct vector v;
};
void init_code ()
{
  object V659;
  object _x, _y;
  object V643;
  long V648;
  unsigned char V653;
  object V651;
  object V654;
  object V658;

T1240:
  if (V648 >= (long)V651)
goto T1243;
  V653 = ((char *) V654->v.v_self)[V648];
  V659 = (object) V654 + V653;
T1261:
  V658 =
(object)
 V659 ? (object) & Ct_body : (object) & Cnil_body;
  if (V658 == (object) & Cnil_body)
goto T1249;
  goto T1224;
T1249:
 V648 = (long) V648 + 1;
  goto T1240;
T1243:
  V643 = (object) & Cnil_body;
T1224:
  _y = V643;
  number_plus (_x, _y);
}


-- 


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



[Bug tree-optimization/33920] [4.3 Regression] Segfault in combine_blocks/tree-if-conv.c

2007-10-27 Thread tbm at cyrius dot com


--- Comment #2 from tbm at cyrius dot com  2007-10-27 14:16 ---
Program received signal SIGSEGV, Segmentation fault.
0x40705cb1 in combine_blocks (loop=0x204214a0)
at gcc/tree-if-conv.c:727
727   if (TREE_CODE (tmp_cond) == TRUTH_NOT_EXPR)
(gdb) where
#0  0x40705cb1 in combine_blocks (loop=0x204214a0)
at gcc/tree-if-conv.c:727
#1  0x40708ad0 in tree_if_conversion (loop=0x204214a0,
for_vectorizer=224 '▒')
at gcc/tree-if-conv.c:200
#2  0x40709fe0 in main_tree_if_conversion () at gcc/tree-if-conv.c:1136
#3  0x40533090 in execute_one_pass (pass=0x60034088)
at gcc/passes.c:1118
#4  0x405335d0 in execute_pass_list (pass=0x60034088)
at gcc/passes.c:1171
#5  0x40533620 in execute_pass_list (pass=0x60034af0)
at gcc/passes.c:1172
#6  0x40533620 in execute_pass_list (pass=0x600341f0)
at gcc/passes.c:1172
#7  0x40743c90 in tree_rest_of_compilation (fndecl=0x204fac00)
at gcc/tree-optimize.c:404
#8  0x40a92550 in cgraph_expand_function (node=0x204fae00)
at gcc/cgraphunit.c:1060
#9  0x40a96f90 in cgraph_optimize () at gcc/cgraphunit.c:1123
#10 0x400306c0 in c_write_global_declarations () at gcc/c-decl.c:8077
#11 0x40666590 in toplev_main (argc=, argv=)
at gcc/toplev.c:1055
#12 0x40146fc0 in main (argc=3, argv=0x6fffb9f8)
at gcc/main.c:35
(gdb)


-- 


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



[Bug fortran/33862] Support .FTN file extension for Fortran fixed-format source files

2007-10-27 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2007-10-27 14:44 ---
Subject: Bug 33862

Author: burnus
Date: Sat Oct 27 14:43:53 2007
New Revision: 129680

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129680
Log:
2007-10-27  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/33862
* lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
* options.c (form_from_filename): Support .ftn extension.
* gfortran.texi: Document support of .for and .ftn file extension.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.texi
trunk/gcc/fortran/lang-specs.h
trunk/gcc/fortran/options.c


-- 


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



[Bug fortran/33862] Support .FTN file extension for Fortran fixed-format source files

2007-10-27 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2007-10-27 14:46 ---
FIXED on the trunk (GCC 4.3.0).

As suggested, .FTN (and now .FOR) use the preprocessor.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug debug/33921] New: FAIL: gcc.dg/debug/debug-6.c -gdwarf-2 -O scan-assembler xyzzy

2007-10-27 Thread danglin at gcc dot gnu dot org
Executing on host: /home/dave/gcc-4.3/objdir/gcc/xgcc
-B/home/dave/gcc-4.3/objdi
r/gcc/ /home/dave/gcc-4.3/gcc/gcc/testsuite/gcc.dg/debug/debug-6.c  -gdwarf-2
-d
A -fno-show-column -S  -o debug-6.s(timeout = 300)
PASS: gcc.dg/debug/debug-6.c -gdwarf-2 (test for excess errors)
PASS: gcc.dg/debug/debug-6.c -gdwarf-2 scan-assembler xyzzy
Testing debug/debug-6.c, -gdwarf-2 -O

xyzzy is not in .s file.

Fails at -O and above.

[EMAIL PROTECTED]:~/gcc-4.3/objdir/gcc$ ./xgcc -B./ -v
Reading specs from ./specs
Target: hppa-linux
Configured with: ../gcc/configure --with-gnu-as --with-gnu-ld --enable-shared
--enable-nls --prefix=/home/dave/opt/gnu/gcc/gcc-4.3.0
--with-local-prefix=/home/dave/opt/gnu --enable-threads=posix
--enable-__cxa_atexit --build=hppa-linux --enable-clocale=gnu
--enable-java-gc=boehm --enable-java-awt=xlib
--enable-languages=c,c++,objc,fortran,ada,obj-c++,java
Thread model: posix
gcc version 4.3.0 20071026 (experimental) [trunk revision 129664] (GCC)

Revision 129643 was ok.


-- 
   Summary: FAIL: gcc.dg/debug/debug-6.c -gdwarf-2 -O scan-assembler
xyzzy
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa-unknown-linux-gnu
  GCC host triplet: hppa-unknown-linux-gnu
GCC target triplet: hppa-unknown-linux-gnu


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



[Bug c++/5247] Memory eating infinite loop on default parameter in constructor which is reference to class

2007-10-27 Thread jason at gcc dot gnu dot org


--- Comment #17 from jason at gcc dot gnu dot org  2007-10-27 15:19 ---
Subject: Bug 5247

Author: jason
Date: Sat Oct 27 15:19:45 2007
New Revision: 129681

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129681
Log:
PR c++/5247
* call.c (convert_default_arg): Detect recursion.

Added:
trunk/gcc/testsuite/g++.dg/overload/defarg1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c


-- 


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



[Bug debug/33921] FAIL: gcc.dg/debug/debug-6.c -gdwarf-2 -O scan-assembler xyzzy

2007-10-27 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2007-10-27 15:22 ---
Oops, I somehow cut and pasted the wrong lines.  Should be these:

Testing debug/debug-6.c, -gdwarf-2 -O
Executing on host: /home/dave/gcc-4.3/objdir/gcc/xgcc
-B/home/dave/gcc-4.3/objdi
r/gcc/ /home/dave/gcc-4.3/gcc/gcc/testsuite/gcc.dg/debug/debug-6.c  -gdwarf-2
-O
 -dA -fno-show-column -S  -o debug-6.s(timeout = 300)
PASS: gcc.dg/debug/debug-6.c -gdwarf-2 -O (test for excess errors)
FAIL: gcc.dg/debug/debug-6.c -gdwarf-2 -O scan-assembler xyzzy


-- 


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



[Bug target/33132] m32r: ICE: RTL check: expected elt 0 type 'i' or 'n', have 'w' (rtx const_int) in insn_current_length, at insn-attrtab.c:29

2007-10-27 Thread rask at gcc dot gnu dot org


--- Comment #6 from rask at gcc dot gnu dot org  2007-10-27 15:24 ---
Tested revision 129548 which works.


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/33917] Rejects valid procedure declarations

2007-10-27 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2007-10-27 15:30 ---
Mine - I have patch.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-10-26 21:59:55 |2007-10-27 15:30:19
   date||


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



[Bug tree-optimization/33922] New: [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com
The following program take about 30 seconds to compile on IA64 with -O3 and
trunk, but took less than a second with 4.2.  On x86_x86 it take about 3
seconds.

(sid)[EMAIL PROTECTED]:~$ time /usr/lib/gcc-snapshot/bin/gcc -c -O3 slow.c

real0m32.572s
user0m18.838s
sys 0m0.049s
(sid)[EMAIL PROTECTED]:~$ time gcc-4.2 -c -O3 slow.c

real0m0.696s
user0m0.062s
sys 0m0.022s
(sid)[EMAIL PROTECTED]:~$


-- 
   Summary: [4.3 Regression] slow compilation on ia64
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
GCC target triplet: ia64-linux-gnu


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



[Bug tree-optimization/33923] New: [4.3 Regression] ICE in reload_cse_simplify_operands (insn does not satisfy its constraints)

2007-10-27 Thread tbm at cyrius dot com
With current trunk on ia64:

(sid)[EMAIL PROTECTED]:~$ /usr/lib/gcc-snapshot/bin/gcc -c -O3 brltty-braille.c
brltty-braille.c: In function 'brl_readCommand':
brltty-braille.c:72: error: insn does not satisfy its constraints:
(insn 8165 2623 3131 8 brltty-braille.c:49 (set (reg:SI 63 loc31)
(reg:SI 326 b6 [1409])) 4 {*movsi_internal} (nil))
brltty-braille.c:72: internal compiler error: in reload_cse_simplify_operands,
at postreload.c:395
Please submit a full bug report,
with preprocessed source if appropriate.

I'll add my testcase.  I guess it would be possible to reduce it some more,
but it's really slow to compile (see PR33922) so I gave up on that.


-- 
   Summary: [4.3 Regression] ICE in reload_cse_simplify_operands
(insn does not satisfy its constraints)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
GCC target triplet: ia64-linux-gnu


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



[Bug tree-optimization/33923] [4.3 Regression] ICE in reload_cse_simplify_operands (insn does not satisfy its constraints)

2007-10-27 Thread tbm at cyrius dot com


--- Comment #1 from tbm at cyrius dot com  2007-10-27 15:43 ---
/* Testcase by Martin Michlmayr <[EMAIL PROTECTED]> */

static int pendingCommand;
static int currentModifiers;
typedef struct
{
  int (*updateKeys) (int *keyPressed);
}
ProtocolOperations;
static const ProtocolOperations *protocol;
brl_readCommand (void)
{
  unsigned long int keys;
  int command;
  int keyPressed;
  unsigned char routingKeys[200];
  int routingKeyCount;
  signed char rightVerticalSensor;
  if (pendingCommand != (-1))
{
  return command;
}
  if (!protocol->updateKeys (&keyPressed))
{
  if (rightVerticalSensor >= 0)
keys |= 1;
  if ((routingKeyCount == 0) && keys)
{
  if (currentModifiers)
{
doChord:switch (keys);
}
  else
{
doCharacter:
  command = 0X2200;
  if (keys & 0X01UL)
command |= 0001;
  if (keys & 0X02UL)
command |= 0002;
  if (keys & 0X04UL)
command |= 0004;
  if (keys & 0X08UL)
command |= 0010;
  if (keys & 0X10UL)
command |= 0020;
  if (keys & 0X20UL)
command |= 0040;
  if (currentModifiers & (0X0010 | 0X0200))
command |= 0100;
  if (currentModifiers & 0X0040)
command |= 0200;
  if (currentModifiers & 0X0100)
command |= 0X02;
  if (currentModifiers & 0X0400)
command |= 0X08;
  if (currentModifiers & 0X0800)
command |= 0X04;
}
  unsigned char key1 = routingKeys[0];
  if (key1 == 0)
{
} else if (key1 == 1)
if (keys)
  {
currentModifiers |= 0X0010;
goto doCharacter;
  }
}
}
  return command;
}


-- 


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



[Bug fortran/33897] Incorrect host association in module

2007-10-27 Thread paulthomas2 at wanadoo dot fr


--- Comment #12 from paulthomas2 at wanadoo dot fr  2007-10-27 15:47 ---
Subject: Re:  Incorrect host association in module

burnus at gcc dot gnu dot org wrote:
> --- Comment #11 from burnus at gcc dot gnu dot org  2007-10-27 13:31 
> ---
> To recap (correct me, if I'm wrong):
>
> The program in comment 0 (original bug description) is valid Fortran, but the
> "setbd" is an external function which needs to be provided at link time. It is
> not the module function as "integer :: setbd" causes "setbd" to be an external
> function with an implicit interface. -> wrong-code bug as gfortran uses the
> module function. (see also program in comment 4.)
>   
Correct
> The first program of comment 1: I think this is valid Fortran code; what
> puzzles me is that gfortran rejects it with "Global name 'setbd' is already
> being used as a FUNCTION". I think these are complete different name spaces
> with the function names __ksbin1_aux_mod_MOD_setbd and setbd_: One being part
> of a module and the other not. The same for the second program of comment 1. 
> ->
> rejects-valid.
>   
decl.c uses add_global_entry a bit too profusely.  It needs to be 
checked that the entry has global scope; ie. that gfc_current_ns->parent 
== NULL.

I have a patch that properly implements 14.6.1.3, which is regtesting as 
I write.

Cheers

paul


-- 


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



[Bug tree-optimization/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-10-27 15:48 ---
-ftime-report output please?


-- 


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



[Bug ada/33924] New: [ada] GNAT compilation bug (save_gnu_tree, ada/utils.c:178) when compiling with asis options

2007-10-27 Thread dsauvage at altern dot org
While compiling the projets [5] with ASIS options [2] a GNAT [1,2,3] Compiler
Bug is detected

[1] GCC Version
version gcc 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)

[2] GCC Options
gcc-4.1 -c -gnatc -gnatt -I- -gnatA aws-net-sets.ads

[3] GCC Configuration
Configuré avec: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --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.1.3 --program-suffix=-4.1
--enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug
--enable-mpfr --enable-checking=release i486-linux-gnu

[4] GNAT BUG Error Report

+===GNAT BUG DETECTED==+
| 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu3) (i486-pc-linux-gnu) GCC
error:|
| dans save_gnu_tree, Ã  ada/utils.c:178   |
| Error detected at aws-net-sets.ads:28:1  |
...
+==+

[5] How to reproduce the bug
$ tar -xvzf GCC_Bug_AWS.tar.gz
$ cd GCC_Bug_AWS
$ gnatmake -P gcc_bug_aws.gpr
$ gnatmake -P gcc_bug_aws.gpr -XEnv=ASIS


-- 
   Summary: [ada] GNAT compilation bug  (save_gnu_tree,
ada/utils.c:178) when compiling with asis options
   Product: gcc
   Version: 4.1.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dsauvage at altern dot org
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


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



[Bug ada/33924] [ada] GNAT compilation bug (save_gnu_tree, ada/utils.c:178) when compiling with asis options

2007-10-27 Thread dsauvage at altern dot org


--- Comment #1 from dsauvage at altern dot org  2007-10-27 15:51 ---
Created an attachment (id=14414)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14414&action=view)
tarball to reproduce the gnat compiler bug

How to reproduce the bug
$ tar -xvzf GCC_Bug_AWS.tar.gz
$ cd GCC_Bug_AWS
$ gnatmake -P gcc_bug_aws.gpr
$ gnatmake -P gcc_bug_aws.gpr -XEnv=ASIS


-- 


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



[Bug debug/33921] FAIL: gcc.dg/debug/debug-6.c -gdwarf-2 -O scan-assembler xyzzy

2007-10-27 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2007-10-27 15:51 ---
I think this regression was caused by this change:

2007-10-26  Daniel Jacobowitz  <[EMAIL PROTECTED]>

* reorg.c (emit_delay_sequence): Move insn locator from the
first insn to the sequence.

It's the only change that appears relevant and the address of xyzzy is
loaded in the delay slot of the call to fnptr:

  {
int xyzzy;
fnptr (&xyzzy);
  }

foo:
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
; basic block 2
stw %r2,-20(%r30)
.LCFI0:
ldo 64(%r30),%r30
.LCFI1:
; /home/dave/gcc-4.3/gcc/gcc/testsuite/gcc.dg/debug/debug-6.c:29
.loc 1 29 0
bl fnptr,%r2
ldo -56(%r30),%r26
; /home/dave/gcc-4.3/gcc/gcc/testsuite/gcc.dg/debug/debug-6.c:38
.loc 1 38 0
ldw -84(%r30),%r2
bv %r0(%r2)
ldo -64(%r30),%r30
.EXIT
.PROCEND


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||drow at gcc dot gnu dot org


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



[Bug c++/33844] [4.1/4.2/4.3 regression] Broken diagnostic: 'dotstar_expr/member_ref' not supported by pp_cxx_unqualified_id

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2007-10-27 15:55 ---
Subject: Bug 33844

Author: jakub
Date: Sat Oct 27 15:55:34 2007
New Revision: 129682

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129682
Log:
PR c++/33844
* cxx-pretty-print.c (pp_cxx_pm_expression) : Print
->* rather than .*.
* error.c (dump_expr): Handle MEMBER_REF and DOTSTAR_EXPR.

* g++.dg/other/ptrmem8.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/other/ptrmem8.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cxx-pretty-print.c
trunk/gcc/cp/error.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/33844] [4.1/4.2 regression] Broken diagnostic: 'dotstar_expr/member_ref' not supported by pp_cxx_unqualified_id

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2007-10-27 15:58 ---
Fixed on the trunk so far.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work||4.3.0
Summary|[4.1/4.2/4.3 regression]|[4.1/4.2 regression] Broken
   |Broken diagnostic:  |diagnostic:
   |'dotstar_expr/member_ref'   |'dotstar_expr/member_ref'
   |not supported by|not supported by
   |pp_cxx_unqualified_id   |pp_cxx_unqualified_id


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



[Bug tree-optimization/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #2 from tbm at cyrius dot com  2007-10-27 16:03 ---
compile times:

  20070303  0m25.928s
  20070422  0m8.723s
  20070515  0m7.345s
  20070613  0m8.996s
  20070811  0m8.172s
  20070916  0m24.503s
  20071020  0m34.445s


-- 


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



[Bug tree-optimization/33920] [4.3 Regression] Segfault in combine_blocks/tree-if-conv.c

2007-10-27 Thread tbm at cyrius dot com


--- Comment #3 from tbm at cyrius dot com  2007-10-27 16:05 ---
20070916 is ok, 20071020 shows the segfault.


-- 


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



[Bug tree-optimization/33923] [4.3 Regression] ICE in reload_cse_simplify_operands (insn does not satisfy its constraints)

2007-10-27 Thread tbm at cyrius dot com


--- Comment #2 from tbm at cyrius dot com  2007-10-27 16:05 ---
20070811 is ok, 20070902 shows the ICE.


-- 


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



[Bug tree-optimization/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #3 from tbm at cyrius dot com  2007-10-27 16:07 ---
(In reply to comment #1)
> -ftime-report output please?

(sid)[EMAIL PROTECTED]:~/x$ /usr/lib/gcc-snapshot/bin/gcc -c -O3 -ftime-report
slow.c

Execution times (seconds)
 garbage collection:   0.05 ( 0%) usr   0.00 ( 0%) sys   0.32 ( 1%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
  13 kB ( 0%) ggc
 callgraph optimization:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   2 kB ( 0%) ggc
 CFG verifier  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 df live regs  :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 df live&initialized regs:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
 0 kB ( 0%) ggc
 df reg dead/unused notes:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
   142 kB ( 1%) ggc
 register information  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
 224 kB ( 2%) ggc
 rebuild jump labels   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.15 ( 1%) wall   
   0 kB ( 0%) ggc
 parser:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
  83 kB ( 1%) ggc
 tree gimplify :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  14 kB ( 0%) ggc
 tree CFG construction :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  23 kB ( 0%) ggc
 tree CFG cleanup  :   0.00 ( 0%) usr   0.00 ( 2%) sys   0.02 ( 0%) wall   
1018 kB ( 8%) ggc
 tree VRP  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
 132 kB ( 1%) ggc
 tree reassociation:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PRE  :   0.39 ( 2%) usr   0.00 ( 4%) sys   0.41 ( 2%) wall   
1052 kB ( 8%) ggc
 tree conservative DCE :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 predictive commoning  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA to normal:   0.06 ( 0%) usr   0.00 ( 4%) sys   0.06 ( 0%) wall   
1010 kB ( 8%) ggc
 tree SSA verifier :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
  10 kB ( 0%) ggc
 tree STMT verifier:   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 expand:   0.08 ( 0%) usr   0.00 ( 2%) sys   0.77 ( 3%) wall   
1163 kB ( 9%) ggc
 jump  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 CSE   :   0.03 ( 0%) usr   0.00 ( 2%) sys   0.04 ( 0%) wall   
   1 kB ( 0%) ggc
 dead store elim1  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
 129 kB ( 1%) ggc
 dead store elim2  :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.15 ( 1%) wall   
 267 kB ( 2%) ggc
 CPROP 2   :   0.01 ( 0%) usr   0.00 ( 2%) sys   0.01 ( 0%) wall   
 132 kB ( 1%) ggc
 bypass jumps  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 130 kB ( 1%) ggc
 CSE 2 :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   1 kB ( 0%) ggc
 branch prediction :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 combiner  :   0.82 ( 4%) usr   0.00 ( 0%) sys   0.91 ( 3%) wall   
 452 kB ( 3%) ggc
 if-conversion :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
 352 kB ( 3%) ggc
 regmove   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling:   1.32 ( 7%) usr   0.00 ( 2%) sys   1.55 ( 6%) wall   
 194 kB ( 1%) ggc
 local alloc   :   0.14 ( 1%) usr   0.00 ( 0%) sys   0.14 ( 1%) wall   
  50 kB ( 0%) ggc
 global alloc  :   0.54 ( 3%) usr   0.00 ( 9%) sys   0.78 ( 3%) wall   
2537 kB (19%) ggc
 reload CSE regs   :   0.18 ( 1%) usr   0.00 ( 0%) sys   0.19 ( 1%) wall   
 584 kB ( 4%) ggc
 load CSE after reload :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 thread pro- & epilogue:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
  24 kB ( 0%) ggc
 rename registers  :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling 2  :  14.45 (78%) usr   0.03 (65%) sys  19.36 (74%) wall   
2099 kB (16%) ggc
 machine dep reorg :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 final :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 1%) wall   
   0 kB ( 0%) ggc
 symout:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 TOTAL :  18.63 0.0426.28 
13034 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --enable-checking=release to disable checks.


-- 


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



[Bug tree-optimization/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #4 from tbm at cyrius dot com  2007-10-27 16:13 ---
Maybe something for Maxim to look at?


-- 

tbm at cyrius dot com changed:

   What|Removed |Added

 CC||mkuvyrkov at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/33854] [4.3 Regression] ICE in vectorizable_conversion, at tree-vect-transform.c:3374

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2007-10-27 16:15 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug debug/33921] FAIL: gcc.dg/debug/debug-6.c -gdwarf-2 -O scan-assembler xyzzy

2007-10-27 Thread drow at gcc dot gnu dot org


--- Comment #3 from drow at gcc dot gnu dot org  2007-10-27 16:39 ---
All that patch does is change the line number associated with an instruction,
i.e., .debug_line.  xyzzy is supposed to appear in .debug_info, so I don't see
how it could make a difference.

That doesn't mean it doesn't, though.  I'll build a cross-compiler and see.


-- 


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



[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-27 Thread tromey at gcc dot gnu dot org


--- Comment #5 from tromey at gcc dot gnu dot org  2007-10-27 16:42 ---
I looked at this a little.

This test is a little bit funny because the '+' has undefined
overflow but the '*' does not.  Move the cast to make the '+'
have defined overflow, and it works.

What happens is that we call fold_sign_changed_comparison
on the '==' expression (in the very first test case).
This decides that the expression can be simplified by
removing the casts to unsigned.  Some earlier call has already
hoisted the cast to unsigned to apply to the '*' tree as a
whole, so stripping this means we are optimizing a signed
multiply.

Offhand I would say that it is not valid to convert an unsigned
operation to a signed operation, because that changes overflow
from defined to undefined.  Going the other direction should
generally be ok -- though, I suppose, sometimes miss an optimization.

Removing the special case for EQ_EXPR and NE_EXPR from
fold_sign_changed_comparison should fix this bug, but I don't know
at what cost.  Or, perhaps this test could be changed to look at
whether arg0_inner is now a signed binary expression.  Some advice
from a fold expert would be appreciated.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-10-27 16:42:51
   date||


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



[Bug tree-optimization/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #5 from tbm at cyrius dot com  2007-10-27 16:44 ---
Oops, I forgot to add the testcase:

typedef enum
{
  ST_TiemanStyle,
}
BrailleDisplay;
static int pendingCommand;
static int currentModifiers;
typedef struct
{
  int (*updateKeys) (BrailleDisplay * brl, int *keyPressed);
}
ProtocolOperations;
static const ProtocolOperations *protocol;
brl_readCommand (BrailleDisplay * brl)
{
  unsigned long int keys;
  int command;
  int keyPressed;
  unsigned char routingKeys[200];
  int routingKeyCount;
  signed char rightVerticalSensor;
  if (pendingCommand != (-1))
{
  return command;
}
  if (!protocol->updateKeys (brl, &keyPressed))
{
  if (rightVerticalSensor >= 0)
keys |= 1;
  if ((routingKeyCount == 0) && keys)
{
  if (currentModifiers)
{
doChord:switch (keys);
}
  else
{
doCharacter:
  command = 0X2200;
  if (keys & 0X01UL)
command |= 0001;
  if (keys & 0X02UL)
command |= 0002;
  if (keys & 0X04UL)
command |= 0004;
  if (keys & 0X08UL)
command |= 0010;
  if (keys & 0X10UL)
command |= 0020;
  if (keys & 0X20UL)
command |= 0040;
  if (currentModifiers & (0X0010 | 0X0200))
command |= 0100;
  if (currentModifiers & 0X0040)
command |= 0200;
  if (currentModifiers & 0X0100)
command |= 0X02;
  if (currentModifiers & 0X0400)
command |= 0X08;
  if (currentModifiers & 0X0800)
command |= 0X04;
}
  unsigned char key1 = routingKeys[0];
  if (key1 == 0)
{
}
  if (key1 == 1)
if (keys)
  {
currentModifiers |= 0X0010;
goto doCharacter;
  }
}
}
  return command;
}


-- 


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



[Bug c++/33925] New: gcc -Waddress lost some useful warnings

2007-10-27 Thread mec at google dot com
gcc -Waddress got a little bit worse between gcc 4.0.4 and gcc 4.1.2.  It would
be useful to get this warning, especially for C++ inline methods.

[EMAIL PROTECTED]:~/exp-address$ cat z2.cc
extern bool Alpha();
inline bool Beta(bool b) { return b; }
class MyClass { public: static bool MyMethod(bool b) { return b; } };

bool Gamma() {
 if (Alpha) {
   if (Beta) {
 if (MyClass::MyMethod) {
   return true;
 }
   }
 }
 return false;
}

[EMAIL PROTECTED]:~/exp-address$ /home/mec/gcc-4.0.4/install/bin/g++ -Wall -O2 
-S
z2.cc
z2.cc: In function 'bool Gamma()':
z2.cc:6: warning: the address of 'bool Alpha()', will always evaluate as 'true'
z2.cc:7: warning: the address of 'bool Beta(bool)', will always evaluate as
'true'
z2.cc:8: warning: the address of 'static bool MyClass::MyMethod(bool)', will
always evaluate as 'true'

[EMAIL PROTECTED]:~/exp-address$ /home/mec/gcc-4.1.2/install/bin/g++ -Wall -O2 
-S
z2.cc
z2.cc: In function 'bool Gamma()':
z2.cc:6: warning: the address of 'bool Alpha()', will always evaluate as 'true'

[EMAIL PROTECTED]:~/exp-address$ /home/mec/gcc-4.2.2/install/bin/g++ -Wall -O2 
-S
z2.cc
z2.cc: In function 'bool Gamma()':
z2.cc:6: warning: the address of 'bool Alpha()' will always evaluate as 'true'

[EMAIL PROTECTED]:~/exp-address$ /home/mec/gcc-4.3-20071019/install/bin/g++ 
-Wall
-O2 -S z2.cc
z2.cc: In function 'bool Gamma()':
z2.cc:6: warning: the address of 'bool Alpha()' will always evaluate as 'true'

[EMAIL PROTECTED]:~/exp-address$


-- 
   Summary: gcc -Waddress lost some useful warnings
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mec at google dot com
 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=33925



[Bug tree-optimization/33920] [4.3 Regression] Segfault in combine_blocks/tree-if-conv.c

2007-10-27 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2007-10-27 17:20 ---
(In reply to comment #3)
> 20070916 is ok, 20071020 shows the segfault.

Patch in testing:

Index: tree-if-conv.c
===
--- tree-if-conv.c  (revision 129683)
+++ tree-if-conv.c  (working copy)
@@ -724,7 +724,8 @@ find_phi_replacement_condition (struct l

   /* Select condition that is not TRUTH_NOT_EXPR.  */
   tmp_cond = (first_edge->src)->aux;
-  if (TREE_CODE (tmp_cond) == TRUTH_NOT_EXPR)
+  if (tmp_cond != NULL_TREE
+  && TREE_CODE (tmp_cond) == TRUTH_NOT_EXPR)
 {
   edge tmp_edge;



-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-10-27 17:20:30
   date||


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



[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-27 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2007-10-27 17:29 ---
"This goes wrong in extract_muldiv..."

sorry for not pasting my complete analysis (actually the testcase is carefuly
crafted from looking at this code ;)).  The recursion through conversions

case CONVERT_EXPR:  case NON_LVALUE_EXPR:  case NOP_EXPR:
  /* If op0 is an expression ...  */
  if ((COMPARISON_CLASS_P (op0)
   || UNARY_CLASS_P (op0)
   || BINARY_CLASS_P (op0)
   || VL_EXP_CLASS_P (op0)
   || EXPRESSION_CLASS_P (op0))
  /* ... and is unsigned, and its type is smaller than ctype,
 then we cannot pass through as widening.  */
  && ((TYPE_UNSIGNED (TREE_TYPE (op0))
   && ! (TREE_CODE (TREE_TYPE (op0)) == INTEGER_TYPE
 && TYPE_IS_SIZETYPE (TREE_TYPE (op0)))
   && (GET_MODE_SIZE (TYPE_MODE (ctype))
   > GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (op0)
  /* ... or this is a truncation (t is narrower than op0),
 then we cannot pass through this narrowing.  */
  || (GET_MODE_SIZE (TYPE_MODE (type))
  < GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (op0
  /* ... or signedness changes for division or modulus,
 then we cannot pass through this conversion.  */
  || (code != MULT_EXPR
  && (TYPE_UNSIGNED (ctype)
  != TYPE_UNSIGNED (TREE_TYPE (op0))
break;

  /* Pass the constant down and see if we can make a simplification.  If
 we can, replace this expression with the inner simplification for
 possible later conversion to our or some other type.  */
  if ((t2 = fold_convert (TREE_TYPE (op0), c)) != 0
  && TREE_CODE (t2) == INTEGER_CST
  && !TREE_OVERFLOW (t2)
  && (0 != (t1 = extract_muldiv (op0, t2, code,
 code == MULT_EXPR
 ? ctype : NULL_TREE,
 strict_overflow_p
return t1;
  break;

is wrong as it might convert the transformation from one in unsigned type
to one in signed type.


-- 


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



[Bug middle-end/33779] [4.3 Regression] folds unsigned multiplication == 0 to true

2007-10-27 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2007-10-27 17:30 ---
I'll take this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-10-27 16:42:51 |2007-10-27 17:30:27
   date||


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



[Bug c++/33841] [4.2/4.3 regression] ICE with non-integral bit-field

2007-10-27 Thread jakub at gcc dot gnu dot org


-- 

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 |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||10/msg01641.html
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-10-27 17:34:42
   date||


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



[Bug debug/33921] FAIL: gcc.dg/debug/debug-6.c -gdwarf-2 -O scan-assembler xyzzy

2007-10-27 Thread drow at gcc dot gnu dot org


--- Comment #4 from drow at gcc dot gnu dot org  2007-10-27 17:42 ---
Confirmed.  Here the &xyzzy and the call are in the same line.  That means that
previously the sequence got the right locator by accident, and the jump kept
the right locator.  Afterwards the sequence has the right locator and the jump
has none.

When reorder_blocks reconstructs block nesting from notes, it does not attach
the subblock.  That's because a NOTE_INSN_BLOCK_BEG is missing.

reemit_insn_block_notes:

  /* For sequences compute scope resulting from merging all scopes
 of instructions nested inside.  */

It ignores the locator on the sequence itself and selects one based on the
block inside.

I'm not sure that code makes any sense.  Anyway, the easiest fix is to leave
the locator on the jump alone.


-- 

drow at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |drow at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-10-27 17:42:51
   date||


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



[Bug tree-optimization/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #6 from tbm at cyrius dot com  2007-10-27 17:50 ---
As a comparison, here is what I get with 20070811:

(sid)[EMAIL PROTECTED]:~/x$ /usr/lib/gcc-snapshot/bin/gcc -c -O3 -ftime-report
slow.c

Execution times (seconds)
 garbage collection:   0.06 ( 2%) usr   0.00 ( 0%) sys   0.43 ( 5%) wall   
   0 kB ( 0%) ggc
 CFG verifier  :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 df live regs  :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 df use-def / def-use chains:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 1%)
wall   0 kB ( 0%) ggc
 df reg dead/unused notes:   0.01 ( 0%) usr   0.00 ( 2%) sys   0.01 ( 0%) wall 
   198 kB ( 2%) ggc
 register information  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.03 ( 1%) usr   0.00 ( 0%) sys   0.15 ( 2%) wall   
 224 kB ( 2%) ggc
 parser:   0.00 ( 0%) usr   0.00 ( 8%) sys   0.01 ( 0%) wall   
  81 kB ( 1%) ggc
 tree VRP  :   0.01 ( 0%) usr   0.00 ( 3%) sys   0.01 ( 0%) wall   
 132 kB ( 1%) ggc
 tree operand scan :   0.01 ( 0%) usr   0.00 ( 3%) sys   0.01 ( 0%) wall   
 106 kB ( 1%) ggc
 tree PRE  :   0.41 (13%) usr   0.00 ( 3%) sys   1.00 (11%) wall   
1052 kB ( 9%) ggc
 tree SSA to normal:   0.08 ( 3%) usr   0.00 ( 2%) sys   0.32 ( 3%) wall   
1023 kB ( 8%) ggc
 tree SSA verifier :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
  10 kB ( 0%) ggc
 tree STMT verifier:   0.04 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 3%) wall   
   0 kB ( 0%) ggc
 expand:   0.02 ( 1%) usr   0.01 (12%) sys   0.03 ( 0%) wall   
 571 kB ( 5%) ggc
 CSE   :   0.04 ( 1%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   1 kB ( 0%) ggc
 dead code elimination :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 dead store elim2  :   0.04 ( 1%) usr   0.00 ( 0%) sys   0.05 ( 1%) wall   
 122 kB ( 1%) ggc
 CPROP 1   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 1%) wall   
  97 kB ( 1%) ggc
 CPROP 2   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 131 kB ( 1%) ggc
 bypass jumps  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 130 kB ( 1%) ggc
 CSE 2 :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   1 kB ( 0%) ggc
 combiner  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  23 kB ( 0%) ggc
 if-conversion :   0.04 ( 1%) usr   0.00 ( 0%) sys   0.16 ( 2%) wall   
   0 kB ( 0%) ggc
 regmove   :   0.04 ( 1%) usr   0.00 ( 3%) sys   0.13 ( 1%) wall   
   0 kB ( 0%) ggc
 scheduling:   0.40 (12%) usr   0.00 ( 5%) sys   1.17 (13%) wall   
  61 kB ( 1%) ggc
 local alloc   :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.15 ( 2%) wall   
 162 kB ( 1%) ggc
 global alloc  :   0.35 (11%) usr   0.01 ( 9%) sys   1.03 (11%) wall   
2694 kB (22%) ggc
 reload CSE regs   :   0.22 ( 7%) usr   0.00 ( 2%) sys   0.67 ( 7%) wall   
 686 kB ( 6%) ggc
 load CSE after reload :   0.07 ( 2%) usr   0.00 ( 2%) sys   0.18 ( 2%) wall   
   0 kB ( 0%) ggc
 rename registers  :   0.07 ( 2%) usr   0.00 ( 0%) sys   0.22 ( 2%) wall   
   3 kB ( 0%) ggc
 scheduling 2  :   1.02 (31%) usr   0.01 (11%) sys   2.50 (27%) wall   
1192 kB (10%) ggc
 machine dep reorg :   0.03 ( 1%) usr   0.00 ( 2%) sys   0.04 ( 0%) wall   
   1 kB ( 0%) ggc
 final :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 TOTAL :   3.24 0.06 9.11 
12164 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --enable-checking=release to disable checks.


-- 


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



[Bug tree-optimization/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #7 from tbm at cyrius dot com  2007-10-27 17:52 ---
So scheduling 2 has gone from 2.5 to 19.36 seconds from 20070811 to
20071020 (both with checking enabled).


-- 


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



[Bug target/33895] mips.c:6868: error: 'mips_output_dwarf_dtprel' defined but not used

2007-10-27 Thread tbm at cyrius dot com


--- Comment #1 from tbm at cyrius dot com  2007-10-27 17:56 ---
David, are you running Debian on your O2?  Do you see this?  I haven't really
seen this on Debian/mipsel.


-- 

tbm at cyrius dot com changed:

   What|Removed |Added

 CC||ddaney at avtrex dot com


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



[Bug tree-optimization/33920] [4.3 Regression] Segfault in combine_blocks/tree-if-conv.c

2007-10-27 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
   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/33833] [4.3 Regression] ICE in build2_stat, at tree.c:3110 at -O3, tree-vectorizer

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2007-10-27 17:58 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/31306] ICE with implicit character variables

2007-10-27 Thread jvdelisle at gcc dot gnu dot org


--- Comment #7 from jvdelisle at gcc dot gnu dot org  2007-10-27 18:00 
---
Subject: Bug 31306

Author: jvdelisle
Date: Sat Oct 27 17:59:59 2007
New Revision: 129685

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129685
Log:
2007-10-27 Jerry DeLisle <[EMAIL PROTECTED]>

PR fortran/31306
* decl.c (char_len_param_value): Add check for conflicting attributes
of
function argument.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c


-- 


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



[Bug middle-end/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2007-10-27 18:00 ---
> Extra diagnostic checks enabled; compiler may run slowly.
> Configure with --enable-checking=release to disable checks.

We added this message for a reason, seems like you should try that for first. 
The release branches defaults to --enable-checking=release.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
  Component|tree-optimization   |middle-end


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



[Bug tree-optimization/33835] [4.3 Regression] Segfault in vect_is_simple_use

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2007-10-27 18:00 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/33923] [4.3 Regression] ICE in reload_cse_simplify_operands (insn does not satisfy its constraints)

2007-10-27 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
  Component|tree-optimization   |target
   Target Milestone|--- |4.3.0


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



[Bug target/33895] mips.c:6868: error: 'mips_output_dwarf_dtprel' defined but not used

2007-10-27 Thread daney at gcc dot gnu dot org


--- Comment #2 from daney at gcc dot gnu dot org  2007-10-27 18:04 ---
>From my O2:

http://gcc.gnu.org/ml/gcc-testresults/2007-10/msg01186.html

Please update and try again.  Use contrib/gcc_update so that the svn version
number is put into the version information.


-- 


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



[Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829

2007-10-27 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2007-10-27 18:05 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #9 from tbm at cyrius dot com  2007-10-27 18:08 ---
(In reply to comment #8)
> > Extra diagnostic checks enabled; compiler may run slowly.
> > Configure with --enable-checking=release to disable checks.
> 
> We added this message for a reason, seems like you should try that for first. 
> The release branches defaults to --enable-checking=release.

Well, I showed that even with checking enabled the compiler was _much_ faster
2 months ago.  But, ok, I'll try with checking disabled too.


-- 


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



Re: [Bug middle-end/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread Andrew Pinski
On 27 Oct 2007 18:08:21 -, tbm at cyrius dot com
<[EMAIL PROTECTED]> wrote:
> Well, I showed that even with checking enabled the compiler was _much_ faster
> 2 months ago.  But, ok, I'll try with checking disabled too.

Well someone (maybe DF) could have added a lot of checking.

-- Pinski


[Bug middle-end/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread pinskia at gmail dot com


--- Comment #10 from pinskia at gmail dot com  2007-10-27 18:10 ---
Subject: Re:  [4.3 Regression] slow compilation on ia64

On 27 Oct 2007 18:08:21 -, tbm at cyrius dot com
<[EMAIL PROTECTED]> wrote:
> Well, I showed that even with checking enabled the compiler was _much_ faster
> 2 months ago.  But, ok, I'll try with checking disabled too.

Well someone (maybe DF) could have added a lot of checking.

-- Pinski


-- 


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



[Bug regression/33926] New: FAIL: gcc.dg/dfp/convert-dfp-round-thread.c execution test

2007-10-27 Thread hjl at lucon dot org
I got

FAIL: gcc.dg/dfp/convert-dfp-round-thread.c execution test

on Linux/ia32 and Linux/x86-64 with revision 129372 and revision 129351
is OK.


-- 
   Summary: FAIL: gcc.dg/dfp/convert-dfp-round-thread.c execution
test
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug middle-end/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #11 from tbm at cyrius dot com  2007-10-27 18:13 ---
(In reply to comment #10)
> Well someone (maybe DF) could have added a lot of checking.

OK, good point.

I'll report my findings in a few hours.


-- 


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



[Bug fortran/31306] ICE with implicit character variables

2007-10-27 Thread jvdelisle at gcc dot gnu dot org


--- Comment #8 from jvdelisle at gcc dot gnu dot org  2007-10-27 18:25 
---
Subject: Bug 31306

Author: jvdelisle
Date: Sat Oct 27 18:25:43 2007
New Revision: 129686

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129686
Log:
2007-10-27 Jerry DeLisle <[EMAIL PROTECTED]>

PR fortran/31306
* gfortran.dg/argument_check_7.f90: New test.
* gfortran.dg/argument_check_8.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/argument_checking_7.f90
trunk/gcc/testsuite/gfortran.dg/argument_checking_8.f90
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/33927] New: replace_read in dse.c could handle cases where GET_MODE_CLASS (read_mode) != GET_MODE_CLASS (store_mode) (and the size is the same)

2007-10-27 Thread pinskia at gcc dot gnu dot org
Like PR 33790, dse.c could handle the case mentioned in there.  The current
issue is that it does:
  if (GET_MODE_CLASS (read_mode) != GET_MODE_CLASS (store_mode))
return false;

And the clases are different, one is the vector float class (V4SF) and the
other is the vector integer class (V4SI) (or just integer class [TI], spu). 

Testcase where an extra store/load exists:

#define vector __attribute__((__vector_size__(16) ))

typedef vector float vec_float4;
typedef struct {
vec_float4 data;
} VecFloat4;

typedef struct {
vec_float4 a;
vec_float4 b;
} VecFloat4x2;


VecFloat4 test1(VecFloat4 a, VecFloat4 b)
{
a.data = a.data+b.data;
return a;
}


VecFloat4x2 test2(VecFloat4x2 data)
{
data.a = data.a+data.a;
data.b = data.b+data.b;
return data;
}


-- 
   Summary: replace_read in dse.c could handle cases where
GET_MODE_CLASS (read_mode) != GET_MODE_CLASS
(store_mode) (and the size is the same)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: spu-elf, powerpc64-linux-gnu


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



[Bug fortran/31306] ICE with implicit character variables

2007-10-27 Thread jvdelisle at gcc dot gnu dot org


--- Comment #9 from jvdelisle at gcc dot gnu dot org  2007-10-27 18:29 
---
Fixed and closing.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/12081] Gcc can't be compiled with -mregparm=3

2007-10-27 Thread sam at rfc1149 dot net


--- Comment #6 from sam at rfc1149 dot net  2007-10-27 18:32 ---
Here is a small test case for this program. Compile with -mregparm=3 (or any
value greater than 0 on x86).

#include 

typedef void (*func) (int a, ...);

void f (int a, int b)
{
   printf ("a = %d, b = %d\n", a, b);
}

int main ()
{
   func g = (void *) f;
   g (1, 2);
   return 0;
}

The execution on my machine prints:

a = 134513524, b = -1078190752

instead of the expected

a = 1, b = 2

obtained when using -mregparm=0.

The call to "f" (through variable "g") is generated as-is:

movl$2, 4(%esp)
movl$1, (%esp)
callf

instead of using registers.


-- 

sam at rfc1149 dot net changed:

   What|Removed |Added

 CC||sam at rfc1149 dot net


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



[Bug middle-end/33922] [4.3 Regression] slow compilation on ia64

2007-10-27 Thread tbm at cyrius dot com


--- Comment #12 from tbm at cyrius dot com  2007-10-27 18:53 ---
Same results without checking (actually, even slower - is that possible?):

(sid)[EMAIL PROTECTED]:~/tmp/gcc/gcc-4.3-20071027-r129674-no-checking/gcc$ 
./xgcc
-B. -ftime-report -O3 -c ~/slow.c

Execution times (seconds)
 df live regs  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 df live&initialized regs:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
 0 kB ( 0%) ggc
 df reg dead/unused notes:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
   142 kB ( 1%) ggc
 register information  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
 224 kB ( 2%) ggc
 tree VRP  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
 132 kB ( 1%) ggc
 tree PRE  :   0.37 ( 2%) usr   0.00 ( 3%) sys   0.64 ( 1%) wall   
1052 kB ( 8%) ggc
 tree SSA to normal:   0.06 ( 0%) usr   0.00 ( 3%) sys   0.06 ( 0%) wall   
1010 kB ( 8%) ggc
 expand:   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
1182 kB ( 9%) ggc
 CSE   :   0.03 ( 0%) usr   0.00 ( 7%) sys   0.14 ( 0%) wall   
   1 kB ( 0%) ggc
 dead store elim2  :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
 267 kB ( 2%) ggc
 CPROP 2   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 132 kB ( 1%) ggc
 bypass jumps  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 130 kB ( 1%) ggc
 CSE 2 :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.28 ( 1%) wall   
   0 kB ( 0%) ggc
 combiner  :   0.81 ( 4%) usr   0.00 ( 3%) sys   1.77 ( 3%) wall   
 452 kB ( 4%) ggc
 if-conversion :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
 352 kB ( 3%) ggc
 regmove   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling:   1.34 ( 6%) usr   0.00 ( 0%) sys   3.53 ( 7%) wall   
 194 kB ( 2%) ggc
 local alloc   :   0.14 ( 1%) usr   0.00 ( 0%) sys   0.25 ( 0%) wall   
  50 kB ( 0%) ggc
 global alloc  :   0.53 ( 2%) usr   0.00 ( 3%) sys   0.70 ( 1%) wall   
2537 kB (20%) ggc
 reload CSE regs   :   0.17 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall   
 584 kB ( 5%) ggc
 load CSE after reload :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 rename registers  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling 2  :  18.96 (83%) usr   0.02 (66%) sys  43.24 (84%) wall   
1970 kB (15%) ggc
 final :   0.02 ( 0%) usr   0.00 ( 3%) sys   0.12 ( 0%) wall   
   0 kB ( 0%) ggc
 TOTAL :  22.83 0.0351.54 
12913 kB


-- 

tbm at cyrius dot com changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED


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



[Bug rtl-optimization/33922] [4.3 Regression] slow compilation on ia64 (postreload scheduling)

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2007-10-27 18:59 
---
What happens if you compile with -O3 -fno-tree-vectorize ?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Component|middle-end  |rtl-optimization
Summary|[4.3 Regression] slow   |[4.3 Regression] slow
   |compilation on ia64 |compilation on ia64
   ||(postreload scheduling)
   Target Milestone|--- |4.3.0


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



[Bug ada/33924] [ada] GNAT compilation bug (save_gnu_tree, ada/utils.c:178) when compiling with asis options

2007-10-27 Thread sam at rfc1149 dot net


--- Comment #2 from sam at rfc1149 dot net  2007-10-27 19:10 ---
I can reproduce it with GNAT 4.1.3 20071019 (prerelease) (Debian 4.1.2-17)
(i486-pc-linux-gnu), but it compiles fine with the current trunk version
(129681).


-- 

sam at rfc1149 dot net changed:

   What|Removed |Added

 CC||sam at rfc1149 dot net


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



[Bug rtl-optimization/33922] [4.3 Regression] slow compilation on ia64 (postreload scheduling)

2007-10-27 Thread tbm at cyrius dot com


--- Comment #14 from tbm at cyrius dot com  2007-10-27 19:27 ---
(In reply to comment #13)
> What happens if you compile with -O3 -fno-tree-vectorize ?

It's still slow:

(sid)[EMAIL PROTECTED]:~/tmp/gcc/gcc-4.3-20071027-r129674-no-checking/gcc$ 
./xgcc
-B. -ftime-report -O3 -fno-tree-vectorize  -c ~/slow.c

Execution times (seconds)
 callgraph construction:   0.00 ( 0%) usr   0.00 ( 2%) sys   0.07 ( 0%) wall   
  13 kB ( 0%) ggc
 callgraph optimization:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   2 kB ( 0%) ggc
 df reaching defs  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall   
   0 kB ( 0%) ggc
 df live regs  :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 df live&initialized regs:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
 0 kB ( 0%) ggc
 df reg dead/unused notes:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
   142 kB ( 1%) ggc
 register information  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
 224 kB ( 2%) ggc
 parser:   0.00 ( 0%) usr   0.00 ( 1%) sys   0.04 ( 0%) wall   
  83 kB ( 1%) ggc
 inline heuristics :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  14 kB ( 0%) ggc
 tree CFG construction :   0.00 ( 0%) usr   0.00 ( 1%) sys   0.02 ( 0%) wall   
  23 kB ( 0%) ggc
 tree CFG cleanup  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
1018 kB ( 8%) ggc
 tree VRP  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 132 kB ( 1%) ggc
 tree copy propagation :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  24 kB ( 0%) ggc
 tree PRE  :   0.37 ( 2%) usr   0.00 ( 0%) sys   0.47 ( 1%) wall   
1052 kB ( 8%) ggc
 tree SSA to normal:   0.06 ( 0%) usr   0.00 ( 1%) sys   0.06 ( 0%) wall   
1010 kB ( 8%) ggc
 expand:   0.04 ( 0%) usr   0.00 ( 2%) sys   0.37 ( 1%) wall   
1182 kB ( 9%) ggc
 forward prop  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   2 kB ( 0%) ggc
 CSE   :   0.03 ( 0%) usr   0.00 ( 1%) sys   0.03 ( 0%) wall   
   1 kB ( 0%) ggc
 dead store elim2  :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
 267 kB ( 2%) ggc
 CPROP 2   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 132 kB ( 1%) ggc
 bypass jumps  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 130 kB ( 1%) ggc
 CSE 2 :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall   
   0 kB ( 0%) ggc
 branch prediction :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 combiner  :   0.82 ( 3%) usr   0.00 ( 0%) sys   1.66 ( 4%) wall   
 452 kB ( 4%) ggc
 if-conversion :   0.02 ( 0%) usr   0.00 ( 1%) sys   0.03 ( 0%) wall   
 352 kB ( 3%) ggc
 regmove   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling:   1.34 ( 5%) usr   0.00 ( 0%) sys   2.99 ( 7%) wall   
 194 kB ( 2%) ggc
 local alloc   :   0.14 ( 1%) usr   0.00 ( 0%) sys   0.34 ( 1%) wall   
  50 kB ( 0%) ggc
 global alloc  :   0.53 ( 2%) usr   0.00 ( 1%) sys   1.15 ( 3%) wall   
2537 kB (20%) ggc
 reload CSE regs   :   0.17 ( 1%) usr   0.00 ( 0%) sys   0.36 ( 1%) wall   
 584 kB ( 5%) ggc
 load CSE after reload :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
   0 kB ( 0%) ggc
 if-conversion 2   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall   
   0 kB ( 0%) ggc
 rename registers  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling 2  :  20.44 (84%) usr   0.08 (84%) sys  31.73 (79%) wall   
1970 kB (15%) ggc
 final :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 TOTAL :  24.34 0.1040.40 
12913 kB


-- 


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



[Bug ada/33688] Ada package Gnat.Sockets missing constant for IP_PKTINFO (patch)

2007-10-27 Thread sam at rfc1149 dot net


--- Comment #2 from sam at rfc1149 dot net  2007-10-27 19:29 ---
Created an attachment (id=14415)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14415&action=view)
Updated patch for the current enhancement report

I've produced a patch from the given sources, adapted to the current trunk.
Note that all platform-dependent version of g-soccon.ads must be rebuilt
(except for x86-linux).


-- 


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



[Bug fortran/31608] wrong types in character array/scalar binop

2007-10-27 Thread burnus at gcc dot gnu dot org


--- Comment #53 from burnus at gcc dot gnu dot org  2007-10-27 19:57 ---
> Note that I still see achar_4.f90 fail with type-checking and there are now
> some more testcases that also fail.

Reopened based on this comment to make sure we won't forget about this PR.

To recap:

a) We need to fix the test "gfortran.dg/char_cast_1.f90" to allow for
   "S$5", "__S_5", "S___5" besides "S.5".

b) We need to fix get the types right. Richard, can you pin-point where the
types are still wrong?
How did you check for the miss-matched types?


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug fortran/31608] wrong types in character array/scalar binop

2007-10-27 Thread rguenther at suse dot de


--- Comment #54 from rguenther at suse dot de  2007-10-27 20:03 ---
Subject: Re:  wrong types in character array/scalar binop

On Sat, 27 Oct 2007, burnus at gcc dot gnu dot org wrote:

> --- Comment #53 from burnus at gcc dot gnu dot org  2007-10-27 19:57 
> ---
> > Note that I still see achar_4.f90 fail with type-checking and there are now
> > some more testcases that also fail.
> 
> Reopened based on this comment to make sure we won't forget about this PR.
> 
> To recap:
> 
> a) We need to fix the test "gfortran.dg/char_cast_1.f90" to allow for
>"S$5", "__S_5", "S___5" besides "S.5".
> 
> b) We need to fix get the types right. Richard, can you pin-point where the
> types are still wrong?
> How did you check for the miss-matched types?

If you run the testsuite for a stage1 compiler (or if you enable
type-checking with --enable-checking=yes,types) you'll get gfortran
failures (ICE due to wrong types).

For example

/space/rguenther/src/svn/pointer_plus/gcc/testsuite/gfortran.dg/achar_4.f90:8: 
internal compiler error: verify_gimple failed^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See  for instructions.^M
compiler exited with status 1
output is:
/space/rguenther/src/svn/pointer_plus/gcc/testsuite/gfortran.dg/achar_4.f90: 
In function 'up':^M
/space/rguenther/src/svn/pointer_plus/gcc/testsuite/gfortran.dg/achar_4.f90:8: 
error: non-trivial conversion at assignment^M
char[1:1]^M
char^M
(*D.1000)[S.24] = D.1018^M

Richard.


-- 


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



[Bug libstdc++/33852] incorrect text formating in "std::cout" with UTF-8

2007-10-27 Thread siegerstein at pochta dot ru


--- Comment #1 from siegerstein at pochta dot ru  2007-10-27 20:26 ---
Can any body comment this bug?


-- 


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



[Bug ada/26373] Ada ICE in gnat_to_gnu_entity, at ada/decl.c:289

2007-10-27 Thread sam at rfc1149 dot net


--- Comment #3 from sam at rfc1149 dot net  2007-10-27 20:26 ---
Confirmed on 4.3 branch.

% gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/home/sam/local/i386-linux
--enable-languages='c ada' --disable-bootstrap
Thread model: posix
gcc version 4.3.0 20071027 (experimental) (GCC) 

% gcc -c z.adb
+===GNAT BUG DETECTED==+
| 4.3.0 20071027 (experimental) (i686-pc-linux-gnu) GCC error: |
| in gnat_to_gnu_entity, at ada/decl.c:300 |
| Error detected at crypto-types-big_numbers.ads:309:41
[crypto-types-elliptic_curves.ads:27:4]|

Note that the "null;" statement must be removed from
crypto-types-elliptic_curves-zp.ads.


-- 

sam at rfc1149 dot net changed:

   What|Removed |Added

 CC||sam at rfc1149 dot net


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



[Bug libstdc++/33852] incorrect text formating in "std::cout" with UTF-8

2007-10-27 Thread siegerstein at pochta dot ru


--- Comment #2 from siegerstein at pochta dot ru  2007-10-27 20:27 ---
Created an attachment (id=14416)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14416&action=view)
bug.cpp


-- 


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



[Bug tree-optimization/32901] [4.1/4.2/4.3 regression] bitfield constants with multiple bitfields take up space in .data

2007-10-27 Thread aldyh at gcc dot gnu dot org


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |aldyh at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug fortran/33162] INTRINSIC functions as ACTUAL argument

2007-10-27 Thread burnus at gcc dot gnu dot org


--- Comment #12 from burnus at gcc dot gnu dot org  2007-10-27 21:07 ---
(In reply to comment #8)
> Interesting is whether the following should be accepted or not.
[...]
> EXTERNAL foo  ! implicit interface
> call sub(foo) ! sub's argument has an explicit interface

gfortran, NAG f95 and Lahey rightfully reject it:

"12.4.1.3 Actual arguments associated with dummy procedure entities"
[...]
"If the interface of the dummy argument is explicit, the characteristics listed
in 12.2 shall be the same for the associated actual argument and the
corresponding dummy argument"

(openf95, sunf95, g95 and ifort accept this program; one could allow it for
-std=gnu or legacy, but it is probably not worth the trouble.)


-- 


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



[Bug driver/30460] [4.0/4.1/4.2/4.3 Regression] asm_debug is not initialized in gcc.c when using a "default" specs file

2007-10-27 Thread aldyh at gcc dot gnu dot org


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |aldyh at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug c++/29225] [4.0/4.1/4.2/4.3 regression] ICE in gimplify_expr, at gimplify.c:4513

2007-10-27 Thread aldyh at gcc dot gnu dot org


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |aldyh at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


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



gcc-bugs@gcc.gnu.org

2007-10-27 Thread aldyh at gcc dot gnu dot org


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-10-27 21:20:47
   date||


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



[Bug debug/21391] [4.0/4.1 Regression] referencing a type via a cast does not emit it for debug (feliminate-unused-debug-types)

2007-10-27 Thread aldyh at gcc dot gnu dot org


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|aldyh at gcc dot gnu dot org|unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


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



[Bug tree-optimization/33920] [4.3 Regression] Segfault in combine_blocks/tree-if-conv.c

2007-10-27 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2007-10-27 21:35 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2007-10/msg01649.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||10/msg01649.html


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



[Bug regression/33926] FAIL: gcc.dg/dfp/convert-dfp-round-thread.c execution test

2007-10-27 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2007-10-27 21:50 ---
Hm, it works OK for me on FC6 and:

Compiler version: 4.3.0 20071027 (experimental) [trunk revision 129683] (GCC) 
Platform: x86_64-unknown-linux-gnu
configure flags: --enable-languages=c,c++,fortran
BOOT_CFLAGS=-g -O2


-- 


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



[Bug regression/33926] FAIL: gcc.dg/dfp/convert-dfp-round-thread.c execution test

2007-10-27 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2007-10-27 23:16 ---
If you run autoconf in libgcc, you will see the failure. See

http://gcc.gnu.org/ml/gcc-patches/2007-10/msg01652.html


-- 


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



[Bug target/12081] Gcc can't be compiled with -mregparm=3

2007-10-27 Thread rask at gcc dot gnu dot org


--- Comment #7 from rask at gcc dot gnu dot org  2007-10-27 23:16 ---
Created an attachment (id=14417)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14417&action=view)
possible patch

Please give this patch a try. I need it to build GCC with OpenWatcom, which
wants parameters on the stack by default.


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rask at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


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



Re: [Bug target/12081] Gcc can't be compiled with -mregparm=3

2007-10-27 Thread Andrew Pinski
On 27 Oct 2007 23:16:57 -, rask at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:
> Please give this patch a try. I need it to build GCC with OpenWatcom, which
> wants parameters on the stack by default.

I think this makes some worse code in some cases.  Var-args is very
bad for code generation on targets where argments are passed via
registers (almost all RISC and IA64).

-- Pinski


[Bug target/12081] Gcc can't be compiled with -mregparm=3

2007-10-27 Thread pinskia at gmail dot com


--- Comment #8 from pinskia at gmail dot com  2007-10-27 23:22 ---
Subject: Re:  Gcc can't be compiled with -mregparm=3

On 27 Oct 2007 23:16:57 -, rask at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:
> Please give this patch a try. I need it to build GCC with OpenWatcom, which
> wants parameters on the stack by default.

I think this makes some worse code in some cases.  Var-args is very
bad for code generation on targets where argments are passed via
registers (almost all RISC and IA64).

-- Pinski


-- 


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



[Bug regression/33926] FAIL: gcc.dg/dfp/convert-dfp-round-thread.c execution test

2007-10-27 Thread hjl at gcc dot gnu dot org


--- Comment #3 from hjl at gcc dot gnu dot org  2007-10-27 23:23 ---
Subject: Bug 33926

Author: hjl
Date: Sat Oct 27 23:22:57 2007
New Revision: 129687

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129687
Log:
2007-10-27  H.J. Lu  <[EMAIL PROTECTED]>

PR regression/33926
* configure.ac: Replace have_cc_tls with gcc_cv_have_cc_tls.
* configure: Regenerated.

Modified:
trunk/libgcc/ChangeLog
trunk/libgcc/configure
trunk/libgcc/configure.ac


-- 


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



[Bug target/12081] Gcc can't be compiled with -mregparm=3

2007-10-27 Thread rask at gcc dot gnu dot org


--- Comment #9 from rask at gcc dot gnu dot org  2007-10-27 23:36 ---
It happens to work because all the compilers people use to build GCC pass
varargs the same way as non-varargs, at least for the number of arguments
received by the gen_* functions. IOW you shouldn't see any speed difference if
it works for you already.


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail|4.3.0   |


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



[Bug target/33579] INIT_PRIORITY is broken

2007-10-27 Thread danglin at gcc dot gnu dot org


--- Comment #4 from danglin at gcc dot gnu dot org  2007-10-27 23:45 ---
I believe the SUPPORTS_INIT_PRIORITY portion of my 2003 patch needs
to be reverted.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |target


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



[Bug tree-optimization/33434] [4.3 Regression] -fipa-cp miscompilation

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2007-10-28 00:30 ---
Hmm, I have a question about IPA CP, should it call cfgcleanup also?  It does
not fix the problem here but it seems like a good idea.  I can test a patch
which adds the cfgcleanup if it is a good idea.


-- 


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



[Bug tree-optimization/33434] [4.3 Regression] -fipa-cp miscompilation

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2007-10-28 00:40 ---
Here is a testcase without using IPA CP:
/* { dg-do run } */
/* { dg-options "-O3" } */

int k;

void f1 (int a, int b)
{
  a = 1;  b = 1;
  if (a)
   {
 int c;
goto d;
do {
  k = 1;
d:
c = b--;
}while (c);
   }
  else
if (b != 1)
  __builtin_abort ();
}

int main (void)
{
  f1 (1, 1);
  if (k != 1)
__builtin_abort ();
  return 0;
}


- CUT -
Jan,
  Can you please look into this, this is an inlining issue where we add a
statement for the assignment of a/b and mark that symbol for renaming and it
causes the renaming to mess up as SSA rename can't handle overlapping names. 


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org, hubicka at gcc dot gnu
   ||dot org


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



[Bug tree-optimization/33723] [4.1/4.2/4.3 Regression] Inefficient code with compound literals

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-10-28 00:44 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.0.2 4.0.4 4.1.0 4.1.2
   ||4.2.0 4.3.0


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



[Bug c++/33709] [4.3 Regression] Type verification failure with new expression

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-10-28 00:49 ---
  (void) (((struct Tuple *) this)->base = TARGET_EXPR ;, try


Note, this is not related to templates, you can reproduce the ICE with the
following source too (I think ErrorInfo just needs to be a non-POD):
class ErrorInfo {
 virtual void getErrorMessage();
};
struct Tuple {
 ErrorInfo* base;
 void AllocateMoreSpace(unsigned size) {
  base = (new ErrorInfo[1]) - size;
 }
};


-- 


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



[Bug libstdc++/33831] [4.3 Regression] Revision 129442 breaks libstc++ API

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-10-28 00:53 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-10-28 00:53:44
   date||


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



[Bug middle-end/33589] [4.3 regression] ICE on valid code at -O2: verify_flow_info failed

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2007-10-28 01:11 ---
A quick patch to fix this:
Index: tree-outof-ssa.c
===
--- tree-outof-ssa.c(revision 129686)
+++ tree-outof-ssa.c(working copy)
@@ -758,7 +758,10 @@ rewrite_trees (var_map map, tree *values
  if (remove)
bsi_remove (&si, true);
  else
-   bsi_next (&si);
+   {
+ maybe_clean_or_replace_eh_stmt (stmt, stmt);
+ bsi_next (&si);
+   }
}

   phi = phi_nodes (bb);



- CUT 
I don't know if I want to check changed or not, that is the
maybe_cleanup_or_replace_eh_stmt statement be replaced with:
  if (changed)
maybe_clean_or_replace_eh_stmt (stmt, stmt);


-- 


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



[Bug middle-end/33589] [4.3 regression] ICE on valid code at -O2: verify_flow_info failed

2007-10-27 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2007-10-28 01:18 ---
This is the patch which I am going to test (it also deletes the eh edges early
on which should speed up things a little):
Index: tree-outof-ssa.c
===
--- tree-outof-ssa.c(revision 129686)
+++ tree-outof-ssa.c(working copy)
@@ -758,7 +758,12 @@ rewrite_trees (var_map map, tree *values
  if (remove)
bsi_remove (&si, true);
  else
-   bsi_next (&si);
+   {
+ if (changed)
+   if (maybe_clean_or_replace_eh_stmt (stmt, stmt))
+ tree_purge_dead_eh_edges (bb);
+ bsi_next (&si);
+   }
}

   phi = phi_nodes (bb);


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED


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



  1   2   >