[Bug middle-end/38533] [4.2/4.3 regression] tree-ssa-reassoc.c increases register pressure several times

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2008-12-18 07:56 ---
Fixed on the trunk.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.2/4.3/4.4 regression]|[4.2/4.3 regression] tree-
   |tree-ssa-reassoc.c increases|ssa-reassoc.c increases
   |register pressure several   |register pressure several
   |times   |times


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



[Bug tree-optimization/38564] [4.4 Regression] Revision 142662 caused ICE in insert_into_preds_of_block

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-12-18 08:13 ---
struct S
{
  struct S *n, *p;
} *s;

void bar (void *);

int
foo (int x)
{
  struct S p = { p, p };
  int i;
  for (i = 0; i  x; i++)
bar (s);
  return p.n == p;
}

I guess the reason is that unlike tcc_binary the result of tcc_comparison is
bool, not necessarily equal to the type of its operands.  So it can't be
handled exactly like tcc_binary.


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-18 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2008-12-18 09:13 ---
I am most of the way onto a solution for this so I'll assign myself.

The source of the problem is highlighted by two tests:

s/call foo(func(_//bar()))/call foo(func(bar()))/

works fine as does a modified testcase with integers instead of characters and
the concatenation replaced by another operation such as 1 + bar().

Thus the likely problem is the string length.  This is confirmed by setting it
to gfc_index_one_node in gfc_conv_expr_descriptor, whereupon the compilation
completes because it is now possible to calculate a (wrong!) size for the
temporary.

An elemental function argument works because this is explicitly taken care of
by get_elemental_fcn_charlen. When I wrote this function, I noted that this PR
was a possibility but could not see an easy way to deal with it.  The time has
come to do the difficult thing! We'll have to scan the expression and sum the
string lengths, calling get_elemental_fcn_charlen as necessary.  It is a happy
chance that there is only the concatenation operator:-)

It is increasingly my opinion that interface mapping should be done in
resolution, at the end of resolve_call and resolve_function, but that will have
to wait for gcc-4.6.

Paul

Cheers

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-12-16 15:35:45 |2008-12-18 09:13:47
   date||


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



[Bug c++/35319] [4.3 regression] ICE throwing fixed-point types

2008-12-18 Thread reichelt at gcc dot gnu dot org


--- Comment #7 from reichelt at gcc dot gnu dot org  2008-12-18 09:17 
---
Fixed on mainline.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.3/4.4 regression] ICE|[4.3 regression] ICE
   |throwing fixed-point types  |throwing fixed-point types


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



[Bug c++/38517] Uninitialized reference variable is accepted after an extern declaration

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2008-12-18 09:39 ---
4297  if (init == NULL_TREE)
4298{
4299  if ((DECL_LANG_SPECIFIC (decl) == 0
4300   || DECL_IN_AGGR_P (decl) == 0)
4301   ! DECL_THIS_EXTERN (decl))
4302error (%qD declared as reference but not initialized, decl);
4303  return NULL_TREE;
4304}

DECL_THIS_EXTERN is sticky, if something has been ever declared with extern, it
is preserved through duplicate_decls.  I wonder why this doesn't use
 ! DECL_EXTERNAL (decl) instead.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu dot org


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



[Bug fortran/31822] Missing run-time bound checks for character pointer = target

2008-12-18 Thread domob at gcc dot gnu dot org


--- Comment #4 from domob at gcc dot gnu dot org  2008-12-18 10:07 ---
Subject: Bug 31822

Author: domob
Date: Thu Dec 18 10:05:54 2008
New Revision: 142808

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142808
Log:
2008-12-18  Daniel Kraft  d...@domob.eu

PR fortran/31822
* gfortran.h (gfc_check_same_strlen): Made public.
* trans.h (gfc_trans_same_strlen_check): Made public.
* check.c (gfc_check_same_strlen): Made public and adapted error
message output to be useful not only for intrinsics.
(gfc_check_merge): Adapt to gfc_check_same_strlen change.
* expr.c (gfc_check_pointer_assign): Use gfc_check_same_strlen for
string length compile-time check.
* trans-expr.c (gfc_trans_pointer_assignment): Add runtime-check for
equal string lengths using gfc_trans_same_strlen_check.
* trans-intrinsic.c (gfc_trans_same_strlen_check): Renamed and made
public from conv_same_strlen_check.
(gfc_conv_intrinsic_merge): Adapted accordingly.

2008-12-18  Daniel Kraft  d...@domob.eu

PR fortran/31822
* gfortran.dg/char_pointer_assign_2.f90: Updated expected error message
to be more detailed.
* gfortran.dg/char_pointer_assign_4.f90: New test.
* gfortran.dg/char_pointer_assign_5.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/char_pointer_assign_4.f90
trunk/gcc/testsuite/gfortran.dg/char_pointer_assign_5.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/char_pointer_assign_2.f90


-- 


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



[Bug fortran/31822] Missing run-time bound checks for character pointer = target

2008-12-18 Thread domob at gcc dot gnu dot org


--- Comment #5 from domob at gcc dot gnu dot org  2008-12-18 10:12 ---
Fixed on trunk/4.4.


-- 

domob at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/38469] Wrong code for a function with long long argument returning int.

2008-12-18 Thread niva at niisi dot msk dot ru


--- Comment #2 from niva at niisi dot msk dot ru  2008-12-18 10:47 ---
Subject: Re:  Wrong code for a function with long long
argument returning int.


Unfortunately it doesn't. 

I have added the necessary static functions (reg_truncated_to_mode,
record_truncated_value, check_conversions) which are missing in
combine.c in gcc-4.1.x and the invocation of check_conversions.
But it didn't help.

Gcc-4.1.3 generates proper code for this test if I just substitute the
whole combine.c with the one from gcc-4.2.x (with minimal changes to
conform the infrastructure of gcc-4.1.x).




÷ ðÎÄ, 15/12/2008 × 21:40 +, rsandifo at gcc dot gnu dot org ÐÉÛÅÔ: 
 
 --- Comment #1 from rsandifo at gcc dot gnu dot org  2008-12-15 21:40 
 ---
 I think this was fixed by:
 
 http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01996.html
 
 Could you check whether it works for you?
 
 


-- 


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



[Bug c++/38566] New: FAIL: g++.dg/cpp0x/auto12.C scan-assembler _ZN1AIiE1gIiEEDTplsTT_sRjES2_

2008-12-18 Thread howarth at nitro dot med dot uc dot edu
We are now failing...

FAIL: g++.dg/cpp0x/auto12.C scan-assembler _ZN1AIiE1gIiEEDTplsTT_sRjES2_

on i686-apple-darwin9 as of at least r142799.


-- 
   Summary: FAIL: g++.dg/cpp0x/auto12.C scan-assembler
_ZN1AIiE1gIiEEDTplsTT_sRjES2_
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: howarth at nitro dot med dot uc dot edu
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug c++/38566] FAIL: g++.dg/cpp0x/auto12.C scan-assembler _ZN1AIiE1gIiEEDTplsTT_sRjES2_

2008-12-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2008-12-18 
12:02 ---
Created an attachment (id=16927)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16927action=view)
assembly file for g++.dg/cpp0x/auto12.C on i686-apple-darwin9


-- 


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



[Bug c++/38566] FAIL: g++.dg/cpp0x/auto12.C scan-assembler _ZN1AIiE1gIiEEDTplsTT_sRjES2_

2008-12-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2008-12-18 
12:04 ---
Attached auto12.s created with...

/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/gcc/testsuite/g++/../../g++
-B/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/gcc/testsuite/g++/../../
/sw/src/fink.build/gcc44-4.3.999-20081217/gcc-4.4-20081217/gcc/testsuite/g++.dg/cpp0x/auto12.C
-nostdinc++
-I/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/i686-apple-darwin9/libstdc++-v3/include/i686-apple-darwin9
-I/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/i686-apple-darwin9/libstdc++-v3/include
-I/sw/src/fink.build/gcc44-4.3.999-20081217/gcc-4.4-20081217/libstdc++-v3/libsupc++
-I/sw/src/fink.build/gcc44-4.3.999-20081217/gcc-4.4-20081217/libstdc++-v3/include/backward
-I/sw/src/fink.build/gcc44-4.3.999-20081217/gcc-4.4-20081217/libstdc++-v3/testsuite/util
-fmessage-length=0 -std=c++0x -S -m32 -o auto12.s

during the make check on i686-apple-darwin9.


-- 


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



[Bug libstdc++/38567] New: FAIL: abi/demangle/regression/cw-16.cc execution test at -m32

2008-12-18 Thread howarth at nitro dot med dot uc dot edu
As of at least r142799, we are now failing...

FAIL: abi/demangle/regression/cw-16.cc execution test

at -m32 on i686-apple-darwin9. This occurs with the errors...

Setting LD_LIBRARY_PATH to
:/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/gcc:/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/i686-apple-darwin9/./libstdc++-v3/src
/.libs::/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/gcc:/sw/src/fink.build/gcc44-4.3.999-20081217/darwin_objdir/i686-apple-darwin9/./libstdc++-v3/src/.libs:/usr/local/NM
RPipe/xview/mac/lib:/usr/openwin/lib:/usr/local/NMRPipe/nmrbin.mac/lib:/usr/local/lib
terminate called after throwing an instance of 'std::runtime_error'
  what():  error code = -2: invalid mangled name
FAIL: abi/demangle/regression/cw-16.cc execution test
extra_tool_flags are:
  -include bits/stdc++.h


-- 
   Summary: FAIL: abi/demangle/regression/cw-16.cc execution test at
-m32
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: howarth at nitro dot med dot uc dot edu
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug bootstrap/38300] [4.4 Regression] libstdc++ and libgcj contain a reference to _Unwind_GetIPInfo

2008-12-18 Thread mrs at apple dot com


--- Comment #9 from mrs at apple dot com  2008-12-18 12:21 ---
Ok with the:

+  *-*-darwin[3-8]*) have_unwind_getipinfo=no ;;

spelling.  It matches the spelling in the rest of the compiler, which makes it
easier to spot and modify.  Technically, the:

*-*-darwin[0-8]|*-*-darwin[0-8].*) ...

is a bit more perfect, but, I'm not terribly worried about darwin1 or darwin2
systems.  They won't work for other reasons.


-- 


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



[Bug libstdc++/38567] FAIL: abi/demangle/regression/cw-16.cc execution test at -m32

2008-12-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2008-12-18 
12:49 ---
This regression did not occur at r142777.


-- 


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



[Bug libstdc++/38567] FAIL: abi/demangle/regression/cw-16.cc execution test at -m32

2008-12-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2008-12-18 
12:51 ---
Suspect this regression is due to...

r142799 | jason | 2008-12-17 14:08:14 -0500 (Wed, 17 Dec 2008) | 20 lines

gcc/cp:
* semantics.c (describable_type): New function.
(finish_decltype_type): Use it for dependent exprs.
* cp-tree.h: Declare it.
* mangle.c (write_type) [DECLTYPE_TYPE]: Set skip_evaluation.
(write_expression): If skip_evaluation, use type stubs.
* tree.c (cp_tree_equal): Handle PARM_DECLs from different
declarations of a function.
* init.c (build_new): Do auto deduction if type is describable.
* decl.c (cp_finish_decl): Likewise.
* parser.c (cp_parser_omp_for_loop): Likewise.
gcc/testsuite:
* g++.dg/cpp0x/auto6.C: Test more stuff.
* g++.dg/cpp0x/auto12.C: New test.
libiberty:
* cp-demangle.c (d_expression): Handle rvalue stubs too.
[DEMANGLE_COMPONENT_CAST]: Update mangling.
(d_print_comp): Avoid extra ,  with empty template argument packs.
Remove handling for obsolete T() mangling.

since we are also failing the new auto12.C testcase on i686-apple-darwin9.


-- 


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



[Bug c++/38561] [4.4 Regression] Revision 142799 may cause C++ demangle failures

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-12-18 13:30 ---
*** Bug 38567 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c++/38561] [4.4 Regression] Revision 142799 may cause C++ demangle failures

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2008-12-18 13:30 ---
*** Bug 38566 has been marked as a duplicate of this bug. ***


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||howarth at nitro dot med dot
   ||uc dot edu


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




[Bug c++/38566] FAIL: g++.dg/cpp0x/auto12.C scan-assembler _ZN1AIiE1gIiEEDTplsTT_sRjES2_

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-12-18 13:30 ---


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


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug libstdc++/38567] FAIL: abi/demangle/regression/cw-16.cc execution test at -m32

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-12-18 13:30 ---


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


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/37922] [4.3/4.4 Regression] code generation error

2008-12-18 Thread zadeck at gcc dot gnu dot org


--- Comment #19 from zadeck at gcc dot gnu dot org  2008-12-18 13:40 ---
Subject: Bug 37922

Author: zadeck
Date: Thu Dec 18 13:38:39 2008
New Revision: 142809

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142809
Log:
2008-12-18  Kenneth Zadeck zad...@naturalbridge.com

PR rtl-optimization/37922
* dse.c (bb_info): Added regs_live field.
(look_for_hardregs): New function.
(replace_read): Added regs_live parameter and code to check that
shift sequence does not clobber live hardregs.
(check_mem_read_rtx): Added parameter to replace_read.
(dse_step1): Added regs_live bitmap and initialize it.
(rest_of_handle_dse): Added DF_NOTES problem and earlier call to
df_analyze.
* df-problems.c Renamed to 
df_simulate_initialize_backwards.
(df_simulate_one_insn): Renamed to
df_simulate_one_insn_backwards.
(df_simulate_artificial_refs_at_top): Renamed to 
df_simulate_finalize_backwards.
(df_simulate_initialized_forwards,
df_simulate_one_insn_forwards,
df_simulate_finalize_backwards): New functions.
* df.h (df_simulate_artificial_refs_at_end): Renamed to 
df_simulate_initialize_backwards.
(df_simulate_one_insn): Renamed to
df_simulate_one_insn_backwards.
(df_simulate_artificial_refs_at_top): Renamed to 
df_simulate_finalize_backwards.
(df_simulate_initialized_forwards,
df_simulate_one_insn_forwards,
df_simulate_finalize_backwards): New functions.
* ra-conflict.c (global_conflicts): Renamed
df_simulate_artificial_refs_at_end to
df_simulate_initialize_backwards.
* sel-sched.c (propagate_lv_set): Renamed df_simulate_one_insn to
df_simulate_one_insn_backwards.
* ifcvt.c (dead_or_predicable): Renamed
df_simulate_artificial_refs_at_end to
df_simulate_initialize_backwards. Renamed df_simulate_one_insn to
df_simulate_one_insn_backwards.
* recog.c (peephole2_optimize): Ditto.
* rtl-factoring (collect_pattern_seqs, clear_regs_live_in_seq): Ditto.

2008-12-18  Kenneth Zadeck zad...@naturalbridge.com

PR rtl-optimization/37922
* g++.dg/torture/pr37922.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/torture/pr37922.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
trunk/gcc/df.h
trunk/gcc/dse.c
trunk/gcc/ifcvt.c
trunk/gcc/ra-conflict.c
trunk/gcc/recog.c
trunk/gcc/rtl-factoring.c
trunk/gcc/sel-sched.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/37922] [4.3/4.4 Regression] code generation error

2008-12-18 Thread zadeck at naturalbridge dot com


--- Comment #20 from zadeck at naturalbridge dot com  2008-12-18 14:23 
---
committed patch to fix this.


-- 

zadeck at naturalbridge dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/37922] [4.3/4.4 Regression] code generation error

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #21 from hjl dot tools at gmail dot com  2008-12-18 14:32 
---
It is only fixed on trunk. 4.3 is still broken.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
  Known to fail||4.3.2
  Known to work||4.4.0
 Resolution|FIXED   |


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



[Bug fortran/38568] New: ICE with invalid bounds for I/O FMT= array

2008-12-18 Thread burnus at gcc dot gnu dot org
The following program is invalid, however, there should be no ICE. Warning
printed:

Warning: Upper array reference at (1) is out of bounds (9  1) in dimension 1

hello.f90:2: internal compiler error: Segmentation fault

valgrind:
==32039== Invalid read of size 4
==32039==at 0x49C0DD: gfc_conv_scalarized_array_ref (trans-array.c:2414)
==32039==by 0x49D9A4: gfc_conv_array_ref (trans-array.c:2462)
==32039==by 0x4B7511: gfc_conv_variable (trans-expr.c:679)


 character(len=9) :: fmt(1)
 fmt = '(Hello)'
 WRITE(*, FMT(1:9) )  ! Invalid 1:9 is regarded as array bounds not at
substring
end

Found at:
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/250dfb55a30226da


-- 
   Summary: ICE with invalid bounds for I/O FMT= array
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-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=38568



[Bug c++/38561] [4.4 Regression] Revision 142799 may cause C++ demangle failures

2008-12-18 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2008-12-18 14:53 ---
Subject: Bug 38561

Author: jason
Date: Thu Dec 18 14:51:56 2008
New Revision: 142814

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142814
Log:
PR c++/38561
* cp-demangle.c (d_expression, d_print_comp): Revert
cast changes.

Modified:
trunk/libiberty/ChangeLog
trunk/libiberty/cp-demangle.c


-- 


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



[Bug c++/38561] [4.4 Regression] Revision 142799 may cause C++ demangle failures

2008-12-18 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2008-12-18 14:57 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



20 �ves l�ny keresi sexre v�gy� p�rj�t!

2008-12-18 Thread Brigitta

20 éves mult szöke leányzó keresi komoly párját! Bármilyen Sexuális formát
felveszek!

Telefonszámom: 06-30-769-75-92 hívjatok benne vagyok mindenben


[Bug libmudflap/28077] [4.2/4.3 regression] pass39-frag.c produces mudflap violation on alpha

2008-12-18 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-12-18 15:31 ---
This does not fail on 4.4 [1] branch.

[1] http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg01564.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|[4.2/4.3/4.4 regression]|[4.2/4.3 regression] pass39-
   |pass39-frag.c produces  |frag.c produces mudflap
   |mudflap violation on alpha  |violation on alpha


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



[Bug target/34571] [4.3/4.4 Regression] Segfault in alpha_expand_mov at -O3

2008-12-18 Thread ubizjak at gmail dot com


--- Comment #15 from ubizjak at gmail dot com  2008-12-18 15:36 ---
(In reply to comment #14)
 Patch exists, tested and all, and just needs a re-test and then submit...

I will re-bootstrap/re-test this patch. Will take some days to retest.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|rask at gcc dot gnu dot org |ubizjak at gmail dot com
 Status|ASSIGNED|UNCONFIRMED


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



[Bug c++/38485] [4.4 Regression] GCC can't parse a parenthesized comma in a template-id within a default argument

2008-12-18 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2008-12-18 15:55 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/38485] [4.4 Regression] GCC can't parse a parenthesized comma in a template-id within a default argument

2008-12-18 Thread jason at gcc dot gnu dot org


--- Comment #7 from jason at gcc dot gnu dot org  2008-12-18 15:56 ---
Subject: Bug 38485

Author: jason
Date: Thu Dec 18 15:54:59 2008
New Revision: 142815

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142815
Log:
PR c++/38485
* parser.c (cp_parser_token_starts_cast_expression): An EOF
can't start a cast-expression.

Added:
trunk/gcc/testsuite/g++.dg/parse/defarg13.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/38569] New: SLES11: SEGV with try/throw/catch/terminate() at -q64

2008-12-18 Thread aixing at ca dot ibm dot com
The following cut-down code gets core-dump with g++ on SLES11, the problem does
not exist on CELL and AIX g++.

#include stdio.h
#include stdlib.h
#include exception

int f(int);
int g(int i);
void my_terminate();
typedef void(*Function_Pointer) ();

int xx_exceptions = 0;
class xx {
public:
xx(int i) { v = i;}
int v;
};

class aa {
public:
aa() {}
~aa() { throw xx(1); } 
};

int main()
{
Function_Pointer set_terminate(Function_Pointer);
std::set_terminate(my_terminate); 
f(1);
return 55;
}

void my_terminate()
{
fflush(0);
exit(55);
}

int f(int i)
{
aa x;

try {
return g(0);
}
catch ( xx xobj) {
xx_exceptions ++ ;  
}
}

int g(int i)
{
if (i == 0) throw xx(1);
}



Part of core-dump details:

the coredump is from libgcc_s.so.1
warning: Can't read pathname for load map: Input/output error.
Reading symbols from
/nfs/adam/.../torolab.ibm.com/fs/proj/p0/vabld/run/vacpp/dev/sles10_ppc/daily/081216/opt.ibmcmp.lib64/libibmc++.so.1...done.
Loaded symbols for
/.../torolab.ibm.com/fs/projects/vabld/run/vacpp/dev/sles10_ppc/daily/081216//opt/ibmcmp/lib64/libibmc++.so.1
Reading symbols from /usr/lib64/libstdc++.so.6...done.
Loaded symbols for /usr/lib64/libstdc++.so.6
Reading symbols from /lib64/libm.so.6...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libgcc_s.so.1...done.
Loaded symbols for /lib64/libgcc_s.so.1
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/ld64.so.1...done.
Loaded symbols for /lib64/ld64.so.1
Core was generated by `./abc '.
Program terminated with signal 11, Segmentation fault.
#0  0x042fd1ec in ?? () from /lib64/libgcc_s.so.1


-- 
   Summary: SLES11: SEGV with try/throw/catch/terminate() at -q64
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aixing at ca dot ibm dot com


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



[Bug fortran/38538] ICE with elemental character function

2008-12-18 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2008-12-18 16:35 ---
Created an attachment (id=16928)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16928action=view)
Provisional patch for the PR

Testcase follows in next attachement.


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-18 Thread pault at gcc dot gnu dot org


--- Comment #7 from pault at gcc dot gnu dot org  2008-12-18 16:38 ---
Created an attachment (id=16929)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16929action=view)
testcase for the PR

This might have departed somewhat from the original but it does at least work
with the patch!

Note that the patch is not regtested.

Paul


-- 


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



[Bug rtl-optimization/38245] [4.4 Regression] stack corruption when a call is removed but not the outgoing argument pushes

2008-12-18 Thread steven at gcc dot gnu dot org


--- Comment #12 from steven at gcc dot gnu dot org  2008-12-18 16:55 ---
Let me try, I'm kinda sorta responsible for this bug in a way, you know...


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |steven at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-12-05 10:28:01 |2008-12-18 16:55:52
   date||


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



[Bug c/38570] New: 'GCC/THUMB generates sub-optimal prolog/epilog

2008-12-18 Thread daniel dot sherwood at sepura dot com
When generating relatively trivial leaf-functions that contains local branch
instructions (not calling sub functions), the compiler generates unnecessary
PUSH/POP instructions to store the LR on the stack.

Richard Earnshaw [richard.earns...@arm.com] has confirmed that this is a bug
and requested that I raise it in bugzilla.

In the attached example (test.c), it can be seen in the generated assembly file
(test-prologue-thumb.s) that all of the wcstrlenN() functions have unnecessary
'push{lr}/pop{pc}' which could be replaced by just doing 'bx lr' in the epilog.

Command line was:

arm-none-eabi-gcc -mthumb -mno-thumb-interwork test.c -Os -S -o
test-prologue-thumb.s


-- 
   Summary: 'GCC/THUMB generates sub-optimal prolog/epilog
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: daniel dot sherwood at sepura dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-mingw32
GCC target triplet: arm-none-eabi


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



[Bug c/38570] 'GCC/THUMB generates sub-optimal prolog/epilog

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #1 from daniel dot sherwood at sepura dot com  2008-12-18 17:20 
---
Created an attachment (id=16930)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16930action=view)
Source


-- 


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



[Bug c/38570] 'GCC/THUMB generates sub-optimal prolog/epilog

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #2 from daniel dot sherwood at sepura dot com  2008-12-18 17:20 
---
Created an attachment (id=16931)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16931action=view)
Generated assembly


-- 


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



[Bug c/38570] 'GCC/THUMB generates sub-optimal prolog/epilog

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #3 from daniel dot sherwood at sepura dot com  2008-12-18 17:21 
---
Created an attachment (id=16932)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16932action=view)
gcc -v output


-- 


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



[Bug c/38570] 'GCC/THUMB generates sub-optimal prolog/epilog

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #4 from daniel dot sherwood at sepura dot com  2008-12-18 17:22 
---
Following comment received from richard.earns...@arm.com by e-mail.

==

Hmm, yes, I think this is happening because the body of the function contains
branch instructions.  The Thumb branch instructions have quite limited range,
and in the worst case the compiler needs to use the BL instruction (which of
course, will destroy the contents of r14).
Unfortunately, it's nearly impossible to say exactly when it will be necessary
to fall back to this method, so all branches are assumed to do so.  It's
relatively unusual to find leaf functions that have branches but do not need to
stack any other registers (non-leaf functions have to save r14 anyway), but
you've managed to find a couple.

R.

[I've just had a quick look at the sources.  There appears to be code in there
that is supposed to deal with this case, but it clearly contains broken
assumptions (fortunately, the broken assumptions essentially mean that we
always get correct, though at times sub-optimal, code).]


-- 


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



[Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions

2008-12-18 Thread daniel dot sherwood at sepura dot com
WHen generating code, the compiler adds unnecessary '.align 2' assembeler
directives (where '.align 2' means align on a four byte boundary).  This
results in extra padding being added between functions.

This occurs even when -fno-align-functions  -fno-align-labels are specified.

Richard Earnshaw [richard.earns...@arm.com] has confirmed that this is an issue
and requested that I raise it in bugzilla.

In the attached example (test.c), it can be seen in the generated assembly file
(test-align-thumb.s) that various .align 2 statements appear.

Command line was:

arm-none-eabi-gcc test.c -Os -S -mthumb -fno-align-functions -fno-align-labels
-o test-align-thumb.s


-- 
   Summary: GCC/THUMB generates unnecessary padding between
functions
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: daniel dot sherwood at sepura dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-mingw32
GCC target triplet: arm-none-eabi


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



[Bug c/38571] GCC/THUMB generates unnecessary padding between functions

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #1 from daniel dot sherwood at sepura dot com  2008-12-18 17:41 
---
Created an attachment (id=16933)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16933action=view)
gcc -v output


-- 


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



[Bug c/38571] GCC/THUMB generates unnecessary padding between functions

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #2 from daniel dot sherwood at sepura dot com  2008-12-18 17:42 
---
Created an attachment (id=16934)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16934action=view)
Source


-- 


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



[Bug c/38571] GCC/THUMB generates unnecessary padding between functions

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #2 from daniel dot sherwood at sepura dot com  2008-12-18 17:42 
---
Created an attachment (id=16934)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16934action=view)
Source


--- Comment #3 from daniel dot sherwood at sepura dot com  2008-12-18 17:42 
---
Created an attachment (id=16935)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16935action=view)
Source


-- 


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



[Bug c/38571] GCC/THUMB generates unnecessary padding between functions

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #4 from daniel dot sherwood at sepura dot com  2008-12-18 17:42 
---
Created an attachment (id=16936)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16936action=view)
Generated assembly


-- 


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



[Bug c/38571] GCC/THUMB generates unnecessary padding between functions

2008-12-18 Thread daniel dot sherwood at sepura dot com


--- Comment #5 from daniel dot sherwood at sepura dot com  2008-12-18 17:43 
---
Following comment received from richard.earns...@arm.com by e-mail.

==

Often this is necessary (for example, if the function contains a literal pool);
but it isn't always so.  Again, if there is no existing case in bugzilla,
perhaps you could file one.


-- 


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



[Bug c/38528] ICE while building libgfortran (gcc bootstrap)

2008-12-18 Thread bernard at brenda-arkle dot me dot uk


--- Comment #4 from bernard at brenda-arkle dot me dot uk  2008-12-18 18:45 
---
Is that official?  Do you want to maintain a list of documented gcc
options which unlikely ever to work, for the benefit of the rest of
us?


-- 


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



[Bug c/37865] gfortran build fails in stage 3 bootstrap with --enable-intermodule

2008-12-18 Thread bernard at brenda-arkle dot me dot uk


--- Comment #7 from bernard at brenda-arkle dot me dot uk  2008-12-18 18:54 
---
Sorry about the bug-number error. 38528 was what I meant.
Andrew Pinski's reply there suggests that --enable-intermodule
is simply doomed anyway.

(a) Since submitting the original bug report I corrected
-march=athlon64-sse3 to -march=athlon64.  The abbreviated
report of the late failure failed to show this, and I forgot
to mention it.

(b) It still doesn't work, even without trying to specify
any particular target architecture with -march.  But that
belongs in 38528, if anywhere.


-- 


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



[Bug middle-end/38572] New: [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bero at arklinux dot org
While compiling xulrunner with yesterday's gcc 4.4 svn rev 142782:

c++ -o jsparse.o -c -I./dist/include/system_wrappers -include
./config/gcc_hidden.h -DAVMPLUS_IA32 -DAVMPLUS_UNIX -DAVMPLUS_LINUX
-DFEATURE_NANOJIT -DJS_TRACER -DOSTYPE=\Linux2.6.28-0.rc7\ -DOSARCH=Linux
-DEXPORT_JS_API  -DJS_USE_SAFE_ARENA  -I. -I.  -I./dist/include  
-I./dist/include/js -I/usr/include/nspr -I/sdk/include -I.-fPIC   -fno-rtti
-fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth
-Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof
-Wno-long-long -pedantic -m32 -O2 -march=i686 -fomit-frame-pointer -fweb
-frename-registers -mmmx
-Wl,-O2,-z,combreloc,-z,relro,--enable-new-dtags,--hash-style=gnu,--sort-common
-msse -fvisibility-inlines-hidden -fno-strict-aliasing -fshort-wchar -pthread
-pipe  -DNDEBUG -DTRIMMED -m32 -O2 -march=i686 -fomit-frame-pointer -fweb
-frename-registers -mmmx
-Wl,-O2,-z,combreloc,-z,relro,--enable-new-dtags,--hash-style=gnu,--sort-common
-msse   -DMOZILLA_CLIENT -include ./mozilla-config.h -Wp,-MD,.deps/jsparse.pp
jsparse.cpp
jsparse.cpp: In function 'JSParseNode* Statement(JSContext*, JSTokenStream*,
JSTreeContext*)':
jsparse.cpp:2764: warning: suggest parentheses around '' within '||'
jsopcode.cpp: In function 'jsbytecode* Decompile(SprintStack*, jsbytecode*,
intN, JSOp)':
jsopcode.cpp:1720: internal compiler error: in set_value_range, at
tree-vrp.c:398
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: [4.4 Regression] ICE in set_value_range, at tree-
vrp.c:398
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bero at arklinux dot org
 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=38572



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bero at arklinux dot org


--- Comment #1 from bero at arklinux dot org  2008-12-18 19:26 ---
Created an attachment (id=16937)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16937action=view)
gzipped preprocessed source


-- 


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



[Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity

2008-12-18 Thread jsjodin at gcc dot gnu dot org


--- Comment #6 from jsjodin at gcc dot gnu dot org  2008-12-18 19:39 ---
 This still fails here:
 
 gfortran  -v -O2 -g -ffree-form -fgraphite -fgraphite-identity -cpp -D__FFTSG
 PR38492.f90
 

I looked into this failure. It fails because the number of iterations cannot be
computed (chrec_unknown) when the loop domain is translated, and is ignored by
scan_tree_for_params. In general it can be dangerous to throw away
chrec_unknown, because it may code that we must generate. 
  The patch will prevent the scop from being transformed if the number of
iterations cannot be analyzed, and it will no longer ignore chrec_unknown. I
will run some more tests to make sure it does not break anything else. The
patch is below:

Index: graphite.c
===
--- graphite.c  (revision 142764)
+++ graphite.c  (working copy)
@@ -2356,6 +2356,7 @@ graphite_loop_normal_form (loop_p loop)
   tree nit;
   gimple_seq stmts;
   edge exit = single_dom_exit (loop);
+  tree iv = NULL_TREE;

   if (!number_of_iterations_exit (loop, exit, niter, false))
 gcc_unreachable ();
@@ -2369,7 +2370,14 @@ graphite_loop_normal_form (loop_p loop)
   if (nb_reductions_in_loop (loop)  0)
 return NULL_TREE;

-  return canonicalize_loop_ivs (loop, NULL, nit);
+  iv = canonicalize_loop_ivs (loop, NULL, nit);
+
+  nit = number_of_latch_executions (loop);
+  nit = analyze_scalar_evolution (loop, nit);
+  if (nit == chrec_dont_know)
+return NULL_TREE;
+
+  return iv;
 }

 /* Record LOOP as occuring in SCOP.  Returns true when the operation
@@ -2602,7 +2610,7 @@ scan_tree_for_params (scop_p s, tree e, 
   int cst_col, param_col;

   if (e == chrec_dont_know)
-return;
+gcc_unreachable ();

   switch (TREE_CODE (e))
 {


-- 

jsjodin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jsjodin at gcc dot gnu dot
   ||org


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2008-12-18 19:45 ---
Works for me as of revision 142793.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2008-12-18 19:48 ---
I don't see any changes between revision 142782 and revision 142793
which may impact this. How is your gcc configured?


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com


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



[Bug target/34571] [4.3/4.4 Regression] Segfault in alpha_expand_mov at -O3

2008-12-18 Thread ubizjak at gmail dot com


--- Comment #16 from ubizjak at gmail dot com  2008-12-18 19:53 ---
(In reply to comment #15)

 I will re-bootstrap/re-test this patch. Will take some days to retest.

It looks to me, that we need to fix this from the other side. According to the
comment above symbolic_operand predicate, we should also accept label_ref with
an offset, so:

Index: varasm.c
===
--- varasm.c(revision 142326)
+++ varasm.c(working copy)
@@ -3710,7 +3710,7 @@
   /* FALLTHRU  */

 case LABEL_REF:
-  tmp = XEXP (x, 0);
+  tmp = XEXP (tmp, 0);
   gcc_assert (!INSN_DELETED_P (tmp));
   gcc_assert (!NOTE_P (tmp)
  || NOTE_KIND (tmp) != NOTE_INSN_DELETED);
Index: config/alpha/predicates.md
===
--- config/alpha/predicates.md  (revision 142326)
+++ config/alpha/predicates.md  (working copy)
@@ -390,7 +390,8 @@
   (ior (match_code symbol_ref,label_ref)
(and (match_code const)
(match_test GET_CODE (XEXP (op,0)) == PLUS
- GET_CODE (XEXP (XEXP (op,0), 0)) == SYMBOL_REF
+ (GET_CODE (XEXP (XEXP (op,0), 0)) == SYMBOL_REF
+|| GET_CODE (XEXP (XEXP (op,0), 0)) == LABEL_REF)
  GET_CODE (XEXP (XEXP (op,0), 1)) == CONST_INT

 ;; Return true if OP is valid for 16-bit DTP relative relocations.


BTW: The fix to varasm.c is already in mainline, need to backport

2008-03-31  James E. Wilson  wil...@tuliptree.org

* varasm.c (output_constant_pool_1): In LABEL_REF check,
use tmp consistently.

BTW: The test doesn't fail anymore neither on 4.4 and neither on 4.3 branch.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-12-18 19:53:11
   date||


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bero at arklinux dot org


--- Comment #4 from bero at arklinux dot org  2008-12-18 20:08 ---
Sorry, I misread the error message - I saw the warnings about jsparse.cpp, but
the actual ice occurs in jsopcode.cpp


-- 

bero at arklinux dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|WORKSFORME  |


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bero at arklinux dot org


--- Comment #5 from bero at arklinux dot org  2008-12-18 20:10 ---
Created an attachment (id=16938)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16938action=view)
gzipped preprocessed source of file actually causing the problem

Attaching correct preprocessed source

# g++ -o test.o -O2 -c jsopcode.ii
jsopcode.cpp: In function 'jsbytecode* Decompile(SprintStack*, jsbytecode*,
intN, JSOp)':
jsopcode.cpp:1720: internal compiler error: in set_value_range, at
tree-vrp.c:398
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 

bero at arklinux dot org changed:

   What|Removed |Added

  Attachment #16937|0   |1
is obsolete||


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2008-12-18 20:18 ---
Reducing ...


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #7 from hjl dot tools at gmail dot com  2008-12-18 20:20 ---
(In reply to comment #5)
 Created an attachment (id=16938)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16938action=view) [edit]
 gzipped preprocessed source of file actually causing the problem
 
 Attaching correct preprocessed source
 
 # g++ -o test.o -O2 -c jsopcode.ii
 jsopcode.cpp: In function 'jsbytecode* Decompile(SprintStack*, jsbytecode*,
 intN, JSOp)':
 jsopcode.cpp:1720: internal compiler error: in set_value_range, at
 tree-vrp.c:398
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See http://gcc.gnu.org/bugs.html for instructions.


It works for me:

[...@gnu-9 gcc]$ ./xgcc -B./ /net/gnu-27//export/gnu/import/rrs/jsopcode.ii -O2
-S
./xgcc [...@gnu-9 gcc]$ ./xgcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /net/gnu-13/export/gnu/src/gcc/gcc/configure
--enable-clocale=gnu --with-system-zlib --enable-checking=assert
--with-demangler-in-ld --enable-shared --enable-threads=posix --enable-haifa
--prefix=/usr/gcc-4.4 --with-local-prefix=/usr/local
Thread model: posix
gcc version 4.4.0 20081217 (experimental) [trunk revision 142793] (GCC) 
[...@gnu-9 gcc]$ 


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2008-12-18 20:23 ---
(In reply to comment #7)
 gcc version 4.4.0 20081217 (experimental) [trunk revision 142793] (GCC) 

It ICEs for me with gcc version 4.4.0 20081216 (experimental) [trunk revision
142782] (GCC)  on i386-darwin8.11.


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2008-12-18 20:24 ---
(In reply to comment #8)
 (In reply to comment #7)
  gcc version 4.4.0 20081217 (experimental) [trunk revision 142793] (GCC) 
 
 It ICEs for me with gcc version 4.4.0 20081216 (experimental) [trunk revision
 142782] (GCC)  on i386-darwin8.11.

Plus there is nothing which touched the tree optimizers in that time.


-- 


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



[Bug c++/38569] SLES11: SEGV with try/throw/catch/terminate() at -q64

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-12-18 20:47 ---
Works for me on the trunk.  If it fails for you on SUSE11, you might as well
report it to them rather than to us.


-- 


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



[Bug c++/38427] [4.4 Regression] crash for reference init code

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2008-12-18 20:52 ---
Subject: Bug 38427

Author: jakub
Date: Thu Dec 18 20:51:07 2008
New Revision: 142818

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142818
Log:
PR c++/38427
* init.c (perform_member_init): For value-initialized
references call permerror instead of warning and don't emit any
INIT_EXPR.

* g++.dg/init/ctor9.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/init/ctor9.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/init.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/38427] [4.4 Regression] crash for reference init code

2008-12-18 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-12-18 20:57 ---
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=38427



[Bug rtl-optimization/38245] [4.4 Regression] stack corruption when a call is removed but not the outgoing argument pushes

2008-12-18 Thread steven at gcc dot gnu dot org


--- Comment #13 from steven at gcc dot gnu dot org  2008-12-18 21:19 ---
Jakub's idea of comment #10 is nice conceptually, but it's a bit complicated in
practice for most cases where a libcall is emitted.  Before subreg lowering we
have this:

(insn 8 7 9 2 t.c:19 (set (mem:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0 S8 A32])
(const_int 2123 [0x84b])) 63 {*movdi_2} (nil))

(insn 9 8 10 2 t.c:19 (set (mem:DI (reg/f:SI 7 sp) [0 S8 A32])
(reg:DI 60)) 63 {*movdi_2} (nil))

(call_insn/u 10 9 11 2 t.c:19 (set (reg:DI 0 ax)
(call (mem:QI (symbol_ref:SI (__umoddi3) [flags 0x43]) [0 S1 A8])
(const_int 16 [0x10]))) 676 {*call_value_0}
(expr_list:REG_EH_REGION (const_int -1 [0x])
(nil))
(expr_list:REG_DEP_TRUE (use (mem:DI (reg/f:SI 7 sp) [0 S8 A8]))
(expr_list:REG_DEP_TRUE (use (mem:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0 S8 A8]))
(nil


But after subreg lowering (and some more, fwprop dump shown) we have split the
DImode store of g into two separate stores, without updating the REG_DEP notes
in the CALL_INSN:

(insn 8 33 34 2 t.c:19 (set (mem:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0 S8 A32])
(const_int 2123 [0x84b])) 63 {*movdi_2} (nil))

(insn 34 8 35 2 t.c:19 (set (mem:SI (reg/f:SI 7 sp) [0 S4 A32])
(reg:SI 61 [ g ])) 41 {*movsi_1} (nil))

(insn 35 34 10 2 t.c:19 (set (mem:SI (plus:SI (reg/f:SI 7 sp)
(const_int 4 [0x4])) [0 S4 A32])
(const_int 0 [0x0])) 41 {*movsi_1} (nil))

(call_insn/u 10 35 36 2 t.c:19 (set (reg:DI 0 ax)
(call (mem:QI (symbol_ref:SI (__umoddi3) [flags 0x43]) [0 S1 A8])
(const_int 16 [0x10]))) 676 {*call_value_0}
(expr_list:REG_EH_REGION (const_int -1 [0x])
(nil))
(expr_list:REG_DEP_TRUE (use (mem:DI (reg/f:SI 7 sp) [0 S8 A8]))
(expr_list:REG_DEP_TRUE (use (mem:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0 S8 A8]))
(nil

Most interesting libcalls for x86 -m32 probably are the DImode ones, and if
subreg lowering does this for all arguments, we would have to update the
REG_REP notes in the CALL_INSN, or do a lot of DSE-like work...


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-18 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2008-12-18 21:20 ---
With the patch in comment #6, this pr is fixed but now the code

  character(len=1) :: string
  print *, transfer(((transfer(string,x,1))), x)
  end

and friends (from pr31608) gives a bus error:

pr31608_1.f90: In function 'MAIN__':
pr31608_1.f90:1: internal compiler error: Bus error
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Note also that I have been unable to read the test in comment #7.


-- 


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



[Bug c++/38569] SLES11: SEGV with try/throw/catch/terminate() at -q64

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2008-12-18 21:26 ---
It works for me with gcc 4.3.2 from Fedora 10/x86-64 at -O0. -O1 and -O2.


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-18 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2008-12-18 21:36 ---
Another bus error with

! { dg-do run }
! Test fix of PR28118, in which a substring reference to an
! actual argument with an array reference would cause a segfault.
!
! Contributed by Paul Thomas  pa...@gcc.gnu.org
!
program gfcbug33
  character(12) :: a(2)
  a(1) = abcdefghijkl
  a(2) = mnopqrstuvwx
  call foo ((a(2:1:-1)(6:)))
  call bar ((a(:)(7:11)))
contains
  subroutine foo (chr)
character(7) :: chr(:)
if (chr(1)//chr(2) .ne. rstuvwxfghijkl) call abort ()
  end subroutine foo
  subroutine bar (chr)
character(*) :: chr(:)
if (trim(chr(1))//trim(chr(2)) .ne. ghijkstuvw) call abort ()
  end subroutine bar
end program gfcbug33

pr28118.f90: In function 'gfcbug33':
pr28118.f90:10: internal compiler error: Bus error


-- 


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



[Bug middle-end/38565] [4.3 Regression] ICE with vector code

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-12-18 21:55 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/38565] [4.3 Regression] ICE with vector code

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2008-12-18 21:56 ---
Subject: Bug 38565

Author: pinskia
Date: Thu Dec 18 21:55:31 2008
New Revision: 142820

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142820
Log:
2008-12-18  Andrew Pinski  andrew_pin...@playstation.sony.com

PR middle-end/38565
* gimplifier.c (gimplify_init_constructor): For constant vector
CONSTRUCTORs use GENERIC_TREE_OPERAND instead of TREE_OPERAND.

2008-12-18  Andrew Pinski  andrew_pin...@playstation.sony.com

PR middle-end/38565
* testsuite/g++.dg/torture/pr38565.C: New test. 



Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/torture/pr38565.C
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/gimplify.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/38565] [4.3 Regression] ICE with vector code

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2008-12-18 22:02 ---
Subject: Bug 38565

Author: pinskia
Date: Thu Dec 18 22:00:46 2008
New Revision: 142821

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142821
Log:
2008-12-18  Andrew Pinski  andrew_pin...@playstation.sony.com

PR middle-end/38565
* testsuite/g++.dg/torture/pr38565.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/torture/pr38565.C
  - copied unchanged from r142820,
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/torture/pr38565.C
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/38573] New: Missing markers for translation

2008-12-18 Thread goeran at uddeborg dot se
In the function gfc_check_intrinsic_standard in gcc/fortran/intrinsic.c there
is a message written:

gfc_warning (Intrinsic '%s' (is %s) is used at %L,
 isym-name, _(symstd_msg), where);

The string pointed to by sysstd_msg is sent for translation.  But the values
this string can get are not marked for translation.  It looks like this:

  symstd_msg = available since Fortran 77;

Nothing tells xgettext to extract this to the po files so it can be translated.
 This needs to be changed to

  symstd_msg = N_(available since Fortran 77);

Similarily for the other possible values of symstd_msg.


-- 
   Summary: Missing markers for translation
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: goeran at uddeborg dot se


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



[Bug middle-end/38574] New: -fvisibility=hidden not affecting thread variables while attribute hidden does.

2008-12-18 Thread hp at gcc dot gnu dot org
Compile the following, with -O2 -fvisibility=hidden -S without/with -DH. 
Compare assembly code. For this target, you'll see the following diff, but the
difference was noticed on the CRIS TLS w.i.p. using [gcc-4_3-branch revision
135713]:

--- hh.s2008-12-18 23:14:54.0 +0100
+++ h.s 2008-12-18 23:15:05.0 +0100
@@ -13,5 +13,6 @@ foo:
popl%ebp
ret
.size   foo, .-foo
+   .hidden xyzzy
.ident  GCC: (GNU) 4.3.0 20080428 (Red Hat 4.3.0-8)
.section.note.GNU-stack,,@progbits


-- 
   Summary: -fvisibility=hidden not affecting thread variables while
attribute hidden does.
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hp at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug middle-end/38574] -fvisibility=hidden not affecting thread variables while attribute hidden does.

2008-12-18 Thread hp at gcc dot gnu dot org


--- Comment #1 from hp at gcc dot gnu dot org  2008-12-18 22:21 ---
Oops, forgot the code:

extern __thread char xyzzy[64] __attribute__ ((tls_model
   (initial-exec)
#ifdef H
   , visibility (hidden)
#endif
   ));

char *
foo (void)
{
  return xyzzy+9;
}


-- 


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



[Bug target/38574] -fvisibility=hidden not affecting thread variables while attribute hidden does.

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-12-18 22:24 ---
Works on PPC-linux-gnu on the trunk.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|middle-end  |target


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



[Bug fortran/34955] transfer_assumed_size_1.f90: Valgrind error: invalid read of size 3

2008-12-18 Thread pault at gcc dot gnu dot org


--- Comment #19 from pault at gcc dot gnu dot org  2008-12-18 22:29 ---
I have noticed that the scalar TRANSFER does not respect the undefined
condition for the rest of the result if the SOURCE size is less than the MOLD
size.  I have a patch for this, which is probably not complete but goes in the
right direction. In particular, it assumes that array types are compelete,
which was not the case when array TRANSFER was written. My inclination is to
combine the two to ensure complete bomb-proofness.  I will post my provisional
patch tomorrow.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-03-24 18:43:13 |2008-12-18 22:29:38
   date||


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



[Bug middle-end/38574] -fvisibility=hidden not affecting thread variables while attribute hidden does.

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2008-12-18 22:25 ---
Actually this is expected behavior of -fvisibility=hidden IIRC.  


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|target  |middle-end


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



[Bug middle-end/38574] -fvisibility=hidden not affecting thread variables while attribute hidden does.

2008-12-18 Thread hp at gcc dot gnu dot org


--- Comment #4 from hp at gcc dot gnu dot org  2008-12-18 22:35 ---
(In reply to comment #3)
 Actually this is expected behavior of -fvisibility=hidden IIRC.  

Oh right, it's at the end of the doc paragraph.
Ok, I've done my share of the noise for today. :)


-- 

hp at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/38245] [4.4 Regression] stack corruption when a call is removed but not the outgoing argument pushes

2008-12-18 Thread steven at gcc dot gnu dot org


--- Comment #14 from steven at gcc dot gnu dot org  2008-12-18 22:35 ---
Created an attachment (id=16939)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16939action=view)
make all functions with nonzero crtl-outgoing_args_size non-leaf

The result of this patch is that DCE of dead const/pure calls still happens,
but the argument pushes will stay around.  Removing the pushes too is just hard
and not really worth it.

A nice-to-have would be some mechanism to detect this situation where we remove
a call but not the pushes, because it probably will be the result of a missed
optimization on GIMPLE...


-- 


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



[Bug rtl-optimization/38245] [4.4 Regression] stack corruption when a call is removed but not the outgoing argument pushes

2008-12-18 Thread steven at gcc dot gnu dot org


--- Comment #15 from steven at gcc dot gnu dot org  2008-12-18 22:58 ---
Created an attachment (id=16940)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16940action=view)
Make targets allocate outgoing args space if necessary

Alternative approach is to let all targets check if crtl-outgoing_args_size is
nonzero, instead of assuming so when the function is leaf.


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2008-12-18 23:20 
---
Reduced testcase:
enum JSOp {
  JSOP_GETELEM = 5,
  JSOP_LIMIT
}  ;
typedef struct JSFrameRegs {
  unsigned char *pc;
} JSFrameRegs;
struct JSStackFrame {
  JSFrameRegs *regs;
};
int
f( unsigned char *pc,   enum JSOp nextop )
{
  unsigned char *startpc, *endpc, *pc2, *done;
  enum JSOp op, lastop, saveop;
  while ( pc  endpc)
  {
JSStackFrame *fp;
unsigned format, mode, type;
if ( ( fp   fp-regs   pc == fp-regs-pc ) || pc == startpc )
{
  if (mode == (2U5))
op = (JSOp) ((format  (1U8)) ? 256 : 1);
  else
if (mode == (3U5))
  op = (JSOp) ((format  (1U8)) ? 257 : 2);
  else
op = JSOP_GETELEM;
}
if (op = JSOP_LIMIT) {
  if (((format)  0x001f) != 8)
return 0;
}
  }
}


-- CUT ---
This is related to enums as if I change the type of op to int, GCC does not
crash.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2008-12-18 23:20:57
   date||
   Target Milestone|--- |4.4.0


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #10 from hjl dot tools at gmail dot com  2008-12-18 23:20 
---
It is caused by revision 140288:

http://gcc.gnu.org/ml/gcc-cvs/2008-09/msg00447.html

If gcc is configured with --enable-checking=assert, you won't see the bug.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||bonzini at gnu dot org


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #12 from pinskia at gcc dot gnu dot org  2008-12-18 23:21 
---
(In reply to comment #10)
 If gcc is configured with --enable-checking=assert, you won't see the bug.

Well that is called real checking code :).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-checking


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #13 from hjl dot tools at gmail dot com  2008-12-18 23:26 
---
Testcase in comment 11 also fails on Linux/x86-64.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

  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=38572



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #14 from hjl dot tools at gmail dot com  2008-12-18 23:28 
---
(In reply to comment #12)
 (In reply to comment #10)
  If gcc is configured with --enable-checking=assert, you won't see the bug.
 
 Well that is called real checking code :).
 

There are

 397   cmp = compare_values (min, max);
 398   gcc_assert (cmp == 0 || cmp == -1 || cmp == -2);

Doesn't --enable-checking=assert turn on gcc_assert?


-- 


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



[Bug fortran/38573] Missing markers for translation

2008-12-18 Thread schwab at suse dot de


--- Comment #1 from schwab at suse dot de  2008-12-18 23:45 ---
It needs to be rephrased anyway to be i18n friendly.


-- 


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



[Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity

2008-12-18 Thread jv244 at cam dot ac dot uk


--- Comment #7 from jv244 at cam dot ac dot uk  2008-12-19 00:43 ---
(In reply to comment #6)

 I looked into this failure. It fails because the number of iterations cannot 
 be
 computed (chrec_unknown) when the loop domain is translated, and is ignored by
 scan_tree_for_params. In general it can be dangerous to throw away
 chrec_unknown, because it may code that we must generate. 

tested the patch, and seems to do its job on the testcase here. That's great.
The code in PR38431 also compiles with the patch, but is still segfaulting at
runtime, however.


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #15 from pinskia at gcc dot gnu dot org  2008-12-19 01:19 
---
(In reply to comment #14)
 Doesn't --enable-checking=assert turn on gcc_assert?

Yes but not when that code is wrapped with:
#if defined ENABLE_CHECKING

:)


-- 


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



[Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity

2008-12-18 Thread spop at gcc dot gnu dot org


--- Comment #8 from spop at gcc dot gnu dot org  2008-12-19 01:35 ---
Subject: Re:  [graphite] segfaulting code when compiled with -fgraphite
-fgraphite-identity

  The patch will prevent the scop from being transformed if the number of
 iterations cannot be analyzed, and it will no longer ignore chrec_unknown. I
 will run some more tests to make sure it does not break anything else. The
 patch is below:
[...]
 +  if (nit == chrec_dont_know)
 +return NULL_TREE;

Replace this test with

if (chrec_contains_undetermined (nit))

With this change the patch looks good.
Please apply to trunk and branch.

Sebastian


-- 


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



[Bug libfortran/24685] real(16) formatted input is broken for huge values (gfortran.dg/default_format_2.f90)

2008-12-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #35 from howarth at nitro dot med dot uc dot edu  2008-12-19 
01:38 ---
Revision 142724 causes...

FAIL: gfortran.dg/default_format_denormal_2.f90  -O0  execution test
FAIL: gfortran.dg/default_format_denormal_2.f90  -O1  execution test
FAIL: gfortran.dg/default_format_denormal_2.f90  -O2  execution test
FAIL: gfortran.dg/default_format_denormal_2.f90  -O3 -fomit-frame-pointer 
execution test
FAIL: gfortran.dg/default_format_denormal_2.f90  -O3 -fomit-frame-pointer
-funroll-loops  execution test
FAIL: gfortran.dg/default_format_denormal_2.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  execution test
FAIL: gfortran.dg/default_format_denormal_2.f90  -O3 -g  execution test
FAIL: gfortran.dg/default_format_denormal_2.f90  -Os  execution test

on powerpc-apple-darwin8.5.0.


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com


--- Comment #16 from hjl dot tools at gmail dot com  2008-12-19 01:40 
---
C compiler doesn't crash:

(gdb) f 0
#0  set_value_range (vr=0x15e7bf40, t=VR_RANGE, min=0x2af40ef86fc0, 
max=0x2af40ef86fc0, equiv=0x0) at ../../src/gcc/tree-vrp.c:398
398   gcc_assert (cmp == 0 || cmp == -1 || cmp == -2);
(gdb) call debug_tree (min)
 integer_cst 0x2af40ef86fc0 type enumeral_type 0x2af40ef776c0 JSOp constant
256
(gdb) call debug_tree (max)
 integer_cst 0x2af40ef86fc0 type enumeral_type 0x2af40ef776c0 JSOp constant
256
(gdb) p cmp
$4 = 0
(gdb) 

C++ compiler crashes:

(gdb) f 1
#1  0x00c9b2a5 in set_value_range (vr=0x2f069e0, t=VR_RANGE, 
min=0x2ac27d43b330, max=0x2ac27d429ab0, equiv=0x0)
at ../../src/gcc/tree-vrp.c:398
398   gcc_assert (cmp == 0 || cmp == -1 || cmp == -2);
(gdb) call debug_tree (min)
 integer_cst 0x2ac27d43b330 type enumeral_type 0x2ac27d433cc0 JSOp constant
256
(gdb) call debug_tree (max)
 integer_cst 0x2ac27d429ab0 type enumeral_type 0x2ac27d433cc0 JSOp constant
7
(gdb) p cmp
$2 = 1
(gdb) 

Enum looks different in C++.


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #17 from pinskia at gcc dot gnu dot org  2008-12-19 01:49 
---
(In reply to comment #16)
 Enum looks different in C++.

Yes they are different because of the way C++ talks about out of range values
and such.


-- 


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



[Bug c/38575] New: free() accept argument that has the same name with standard/builtin function

2008-12-18 Thread m dot shulhan at gmail dot com
Any variable that has the same name with standard/builtin function name will be
accepted by free parameter.

example of code,


#include stdlib.h
int main(int argc, char *argv[])
{
free(rand);
return 0;
}


This sample code will success on compile,

$ gcc -Wall -g -O0 free-bug.c

but error on run,

$ ./a.out

*** glibc detected *** ./a.out: free(): invalid pointer: 0x08048364 ***
=== Backtrace: =
/lib/libc.so.6[0xb7ee94b6]
/lib/libc.so.6(cfree+0x89)[0xb7eeb179]
./a.out[0x8048421]
/lib/libc.so.6(__libc_start_main+0xe0)[0xb7e98fe0]
./a.out[0x80483a1]
=== Memory map: 
08048000-08049000 r-xp  08:03 7946378   
/home/rv77ax/doc/sandbox/c/a.out
08049000-0804a000 r--p  08:03 7946378   
/home/rv77ax/doc/sandbox/c/a.out
0804a000-0804b000 rw-p 1000 08:03 7946378   
/home/rv77ax/doc/sandbox/c/a.out
0804b000-0806c000 rw-p 0804b000 00:00 0  [heap]
b7e76000-b7e8 r-xp  08:01 817696 /lib/libgcc_s.so.1
b7e8-b7e82000 rw-p 9000 08:01 817696 /lib/libgcc_s.so.1
b7e82000-b7e83000 rw-p b7e82000 00:00 0
b7e83000-b7fb r-xp  08:01 817612 /lib/libc-2.6.1.so
b7fb-b7fb1000 r--p 0012c000 08:01 817612 /lib/libc-2.6.1.so
b7fb1000-b7fb3000 rw-p 0012d000 08:01 817612 /lib/libc-2.6.1.so
b7fb3000-b7fb6000 rw-p b7fb3000 00:00 0
b7fcb000-b7fcc000 rw-p b7fcb000 00:00 0
b7fcc000-b7fe6000 r-xp  08:01 819693 /lib/ld-2.6.1.so
b7fe6000-b7fe8000 rw-p 0001a000 08:01 819693 /lib/ld-2.6.1.so
bfd0a000-bfd2 rw-p bfd0a000 00:00 0  [stack]
e000-f000 r-xp  00:00 0  [vdso]
Aborted


-- 
   Summary: free() accept argument that has the same name with
standard/builtin function
   Product: gcc
   Version: 4.2.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: m dot shulhan at gmail dot com
 GCC build triplet: -Wall -g -O0
  GCC host triplet: i586-suse-linux
GCC target triplet: i586-suse-linux


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



[Bug c/38575] free() accept argument that has the same name with standard/builtin function

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-12-19 03:16 ---
Yes you are passing free a function pointer.  a function decays to a function
pointer and an implicit conversion to void* happens.
If you use -pedantic you get an error message as a function pointer cannot be
converted to void* in standard C:
t.c:4: error: ISO C forbids passing argument 1 of 'free' between function
pointer and 'void *'
/usr/include/stdlib.h:159: note: expected 'void *' but argument is of type 'int
(*)(void)'


-- 


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



[Bug middle-end/38575] free() accept argument that has the same name with standard/builtin function

2008-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-12-19 03:18 ---
Now maybe maybe_emit_free_warning should be enhanced to warn about this.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|minor   |enhancement
  Component|c   |middle-end


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



[Bug c++/38362] [4.4 regression] AltiVec context-sensitive keywords broke test for __vector bool

2008-12-18 Thread bje at gcc dot gnu dot org


--- Comment #1 from bje at gcc dot gnu dot org  2008-12-19 04:15 ---
Fixed; posting a patch to gcc-patches.


-- 


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



[Bug middle-end/38510] Matrix.c from pymol 1.1r2 fails to compile with -O2 -fgraphite

2008-12-18 Thread hjagasia at gcc dot gnu dot org


--- Comment #3 from hjagasia at gcc dot gnu dot org  2008-12-19 05:31 
---
Created an attachment (id=16942)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16942action=view)
Proposed patch

2008-12-18  Harsha Jagasia  harsha.jaga...@amd.com

PR tree-optimization/38510
* gcc.dg/graphite/pr38510.c: New.
* graphite.c (translate_clast): Call mark_irreducible_loops before
 graphite_verify.
(gloog): Call mark_irreducible_loops before graphite_verify.


-- 


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



[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bonzini at gnu dot org


--- Comment #18 from bonzini at gnu dot org  2008-12-19 06:05 ---
mine.


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bonzini at gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-12-18 23:20:57 |2008-12-19 06:05:15
   date||


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