[Bug middle-end/26379] [4.0/4.1/4.2 Regression] ICE on vector shift RTL simplification

2006-02-21 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2006-02-21 08:09 ---
Subject: Bug 26379

Author: jakub
Date: Tue Feb 21 08:09:08 2006
New Revision: 111328

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111328
Log:
PR middle-end/26379
* combine.c (simplify_shift_const_1): Disable nested shifts
optimization for vector shifts.

* gcc.target/i386/mmx-7.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/mmx-7.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug java/26390] New: Problem dispatching method call when method does not exist in superclass

2006-02-21 Thread david at jpackage dot org
Classpath 0.21-pre contains the following code in
gnu/java/awt/peer/swing/SwingFramePeer.java:

   public void setBounds(int x, int y, int w, int h)
   {
 super.setBounds(x, y, w, h);
 if (menuBar != null)
   menuBar.setWidth(w);

where the method setBounds(int, int, int, int) does not exist in the immediate
superclass (SwingWindowPeer). The class appears to compile, but during the
linking phase we get undefined reference to
java::awt::peer::swing::SwingWindowPeer::setBounds(int, int, int, int).


-- 
   Summary: Problem dispatching method call when method does not
exist in superclass
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: david at jpackage dot org


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



[Bug fortran/25619] tempary array of constant size character type goes wrong

2006-02-21 Thread fxcoudert at gcc dot gnu dot org


--- Comment #3 from fxcoudert at gcc dot gnu dot org  2006-02-21 09:08 
---
(In reply to comment #2)
 the variable does not have to be a dummy variable either to reproduce this.
 subroutine option_stopwatch_s()
 character(len=1) :: default_clock
call option_stopwatch_a((/default_clock/))
 end subroutine option_stopwatch_s
 

Another example of the (probably) same bug (reported by Vivek Rao, reduced by
myself):

$ cat vivek.f90 
  character(len=1) :: s(1) = 
  integer :: i(1)
  print *, s(i)
  end
$ gfortran -c vivek.f90 
vivek.f90: In function ‘MAIN__’:
vivek.f90:3: internal compiler error: in gimplify_expr, at gimplify.c:5788


The top of the gdb backtrace is:

Breakpoint 1, fancy_abort (file=0x859ff15 ../../../trunk/gcc/gimplify.c, 
line=5788, function=0x85a052e gimplify_expr)
at ../../../trunk/gcc/diagnostic.c:641
641 {
(gdb) where
#0  fancy_abort (file=0x859ff15 ../../../trunk/gcc/gimplify.c, line=5788, 
function=0x85a052e gimplify_expr) at ../../../trunk/gcc/diagnostic.c:641
#1  0x080e49d0 in gimplify_expr (expr_p=0xb7bcc09c, pre_p=0xbfafd324,
post_p=Variable post_p is not available.
)
at ../../../trunk/gcc/gimplify.c:5788
#2  0x080e2b5b in gimplify_expr (expr_p=0xb7b6e434, pre_p=0xbfafd324, 
post_p=0xbfafd320, gimple_test_f=0x80dae80 is_gimple_mem_rhs, 
fallback=fb_rvalue) at ../../../trunk/gcc/gimplify.c:5341
#3  0x080e1a1a in gimplify_modify_expr (expr_p=0xb7bba554, pre_p=0xbfafd324, 
post_p=0xbfafd320, want_value=0 '\0') at ../../../trunk/gcc/gimplify.c:3433
#4  0x080e3b1a in gimplify_expr (expr_p=0xb7bba554, pre_p=0xbfafd324,
post_p=Variable post_p is not available.
)
at ../../../trunk/gcc/gimplify.c:5270
#5  0x080e5dcf in gimplify_stmt (stmt_p=0xb7bba554)
at ../../../trunk/gcc/gimplify.c:4129
#6  0x080e27f7 in gimplify_expr (expr_p=0xb7bb0570, pre_p=0xbfafd3c4, 
post_p=0xbfafd3c0, gimple_test_f=0x80daf90 is_gimple_stmt, 
fallback=fb_none) at ../../../trunk/gcc/gimplify.c:3591
#7  0x080e5dcf in gimplify_stmt (stmt_p=0xb7bb0570)
at ../../../trunk/gcc/gimplify.c:4129
#8  0x080e6c17 in gimplify_to_stmt_list (stmt_p=0xb7bb0570)
at ../../../trunk/gcc/gimplify.c:4137
#9  0x080e7753 in gimplify_bind_expr (expr_p=0xb7bba56c, temp=0x0, 
pre_p=0xbfafd4c4) at ../../../trunk/gcc/gimplify.c:1036
#10 0x080e30e5 in gimplify_expr (expr_p=0xb7bba56c, pre_p=0xbfafd4c4, 
post_p=0xbfafd4c0, gimple_test_f=0x80daf90 is_gimple_stmt, 
fallback=fb_none) at ../../../trunk/gcc/gimplify.c:5376
#11 0x080e5dcf in gimplify_stmt (stmt_p=0xb7bba56c)
at ../../../trunk/gcc/gimplify.c:4129
#12 0x080e27f7 in gimplify_expr (expr_p=0xbfafd5b0, pre_p=0xbfafd564, 
post_p=0xbfafd560, gimple_test_f=0x80daf90 is_gimple_stmt, 
fallback=fb_none) at ../../../trunk/gcc/gimplify.c:3591
#13 0x080e5dcf in gimplify_stmt (stmt_p=0xbfafd5b0)
at ../../../trunk/gcc/gimplify.c:4129
#14 0x080e7c6f in gimplify_and_add (t=0xb7bc88e8, list_p=0xbfafd614)
at ../../../trunk/gcc/gimplify.c:336
#15 0x080e2c8c in gimplify_expr (expr_p=0xb7bba590, pre_p=0xbfafd614, 
post_p=0xbfafd610, gimple_test_f=0x80daf90 is_gimple_stmt, 
fallback=fb_none) at ../../../trunk/gcc/gimplify.c:1241
#16 0x080e5dcf in gimplify_stmt (stmt_p=0xb7bba590)
at ../../../trunk/gcc/gimplify.c:4129
#17 0x080e27f7 in gimplify_expr (expr_p=0xb7bb05c0, pre_p=0xbfafd6b4, 
post_p=0xbfafd6b0, gimple_test_f=0x80daf90 is_gimple_stmt, 
fallback=fb_none) at ../../../trunk/gcc/gimplify.c:3591
#18 0x080e5dcf in gimplify_stmt (stmt_p=0xb7bb05c0)
at ../../../trunk/gcc/gimplify.c:4129
#19 0x080e6c17 in gimplify_to_stmt_list (stmt_p=0xb7bb05c0)
at ../../../trunk/gcc/gimplify.c:4137
#20 0x080e7753 in gimplify_bind_expr (expr_p=0xb7bba5a8, temp=0x0, 
pre_p=0xbfafd7b4) at ../../../trunk/gcc/gimplify.c:1036
#21 0x080e30e5 in gimplify_expr (expr_p=0xb7bba5a8, pre_p=0xbfafd7b4, 
post_p=0xbfafd7b0, gimple_test_f=0x80daf90 is_gimple_stmt, 
fallback=fb_none) at ../../../trunk/gcc/gimplify.c:5376
#22 0x080e5dcf in gimplify_stmt (stmt_p=0xb7bba5a8)
at ../../../trunk/gcc/gimplify.c:4129


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Last reconfirmed|2006-01-27 20:42:14 |2006-02-21 09:08:01
   date||


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



[Bug c/26366] __builtin_expect needs better documentation

2006-02-21 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-02-21 09:57 ---
Another way instead of

if(__builtin_expect((__builtin_expect(x,1)  __builtin_expect(y,1)), 0))

would be

if(__builtin_expect(!(x  y), 1))

I'm sure this does _not_ result in same behavior as __builtin_expect is
evaluated
quite late during compilation.  Some clarification in the docs would be really
nice.

As to standalone __builtin_expect() calls, they should have no effect.  There
was talking about a __builtin_assert() or __builtin_assume() that would force
a known value.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-21 09:57:21
   date||


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



[Bug c/26367] multiple levels of __builtin_expect

2006-02-21 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-02-21 10:03 ---
With exception to 'certain' this doesn't really make sense.  And the 'certain'
one
should be called __builtin_assert().  But then, VRP or DOM might already
extract information from

  if (x == 0)
abort();
  return x;

(no, neither 4.1 nor mainline can do this ATM).


-- 


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



[Bug c/26369] value expectation attribute

2006-02-21 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-21 10:06 ---
This doesn't really make any sense.  Trying to over-educate a compiler usually
leads to worse code.  Please rather try to isolate testcases where gcc does not
extract value range information it could extract.


-- 


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



[Bug c/26370] anon union/struct at top level

2006-02-21 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2006-02-21 10:09 ---
You want to avoid spelling the useless name?  Use the preprocessor.  Also using
a union will prevent a lot of compiler optimization from happening as you are
making alias analysis harder.

As this is never going to happen.  WONTFIX.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


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



[Bug c/26371] dead variable attributes

2006-02-21 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-21 10:14 ---
So you want

typedef struct {
  int bar;
  void *foobar
#if !NEEDED_BY_ARCH
  __attribute__((readas(0)))
#endif
  ;
} Foo;

so Foo.foobar is NULL for !NEEDED_BY_ARCH?  Why not do the proper thing
and provide accessors like f.i. int the LK:

#define foo_foo(x) (x).bar
#if !NEEDED_BY_ARCH
#define foo_foobar(x) NULL
#else
#define foo_foobar(x) (x).foobar
#endif

no need to invent funny attributes for this.  And #defines are properly
localized in some header.  OO makes you happy.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c/26372] opposite of may_alias attribute

2006-02-21 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-02-21 10:17 ---
This needs more explanation.  char pointers are special with and without
strict-aliasing.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug libgcj/17021] libgcj verifier resolves classes too eagerly

2006-02-21 Thread thebohemian at gmx dot net


--- Comment #16 from thebohemian at gmx dot net  2006-02-21 10:37 ---
Fixed by the following patches:

Main patch:
http://gcc.gnu.org/ml/java-patches/2006-q1/msg00124.html

Build fix for ARM:
http://gcc.gnu.org/ml/java-patches/2006-q1/msg00143.html

Stylistic: remove casts
http://gcc.gnu.org/ml/java-patches/2006-q1/msg00144.html

Stylistic: Indentation
http://gcc.gnu.org/ml/java-patches/2006-q1/msg00228.html


-- 

thebohemian at gmx dot net changed:

   What|Removed |Added

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


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



[Bug c++/25878] Excessive memory and compile-time with std::map init sequence

2006-02-21 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2006-02-21 11:11 ---
Worst offenders are (--disable-checking mainline)

 cfg cleanup   :   2.30 ( 3%) usr   0.00 ( 0%) sys   2.36 ( 3%) wall   
1474 kB ( 0%) ggc
 integration   :   5.99 ( 7%) usr   0.29 (11%) sys   6.28 ( 7%) wall 
197009 kB (39%) ggc
 tree CFG cleanup  :   3.04 ( 4%) usr   0.03 ( 1%) sys   3.15 ( 4%) wall  
10852 kB ( 2%) ggc
 tree PTA  :   3.07 ( 4%) usr   0.06 ( 2%) sys   3.14 ( 4%) wall  
10492 kB ( 2%) ggc
 tree alias analysis   :   7.58 ( 9%) usr   0.19 ( 7%) sys   7.81 ( 9%) wall  
13190 kB ( 3%) ggc
 tree SSA incremental  :   3.41 ( 4%) usr   0.01 ( 0%) sys   3.37 ( 4%) wall   
2068 kB ( 0%) ggc
 tree operand scan :   1.97 ( 2%) usr   0.18 ( 7%) sys   2.09 ( 2%) wall  
14274 kB ( 3%) ggc
 dominator optimization:   1.26 ( 2%) usr   0.04 ( 2%) sys   1.26 ( 2%) wall  
16471 kB ( 3%) ggc
 tree PRE  :   2.34 ( 3%) usr   0.08 ( 3%) sys   2.44 ( 3%) wall   
5784 kB ( 1%) ggc
 tree FRE  :   1.85 ( 2%) usr   0.24 ( 9%) sys   2.13 ( 3%) wall  
17853 kB ( 3%) ggc
 dominance frontiers   :   2.78 ( 3%) usr   0.00 ( 0%) sys   2.79 ( 3%) wall   
   0 kB ( 0%) ggc
 expand:   3.94 ( 5%) usr   0.06 ( 2%) sys   4.05 ( 5%) wall  
41170 kB ( 8%) ggc
 CPROP 1   :   2.31 ( 3%) usr   0.01 ( 0%) sys   2.30 ( 3%) wall   
2020 kB ( 0%) ggc
 PRE   :   7.39 ( 9%) usr   0.70 (26%) sys   8.09 (10%) wall   
 516 kB ( 0%) ggc
 CPROP 2   :   2.13 ( 3%) usr   0.01 ( 0%) sys   2.14 ( 3%) wall   
1402 kB ( 0%) ggc
 global alloc  :   1.84 ( 2%) usr   0.01 ( 0%) sys   1.86 ( 2%) wall   
8196 kB ( 2%) ggc
 TOTAL :  81.14 2.6583.81
510593 kB


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||compile-time-hog
   Last reconfirmed|2006-01-20 17:19:33 |2006-02-21 11:11:36
   date||


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2006-02-21 12:02 ---
Created an attachment (id=10884)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10884action=view)
gcc-trunk-pr26208.patch


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2006-02-21 12:02 ---
Created an attachment (id=10885)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10885action=view)
binutils-trunk-pr26208.patch


-- 


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



[Bug fortran/26393] New: CONTAIN-ed + assumed character length + WRITE - ICE at trans-decl.c:849?

2006-02-21 Thread P dot Schaffnit at access dot rwth-aachen dot de
Hi!

I have some severly twisted code (..): a CONTAIN-ed routine with assumed
character length arguments writing out a string (...) which causes an ICE. The
bad news, is that a barebones similar thing compiles (and runs) fine, so I
had to reduce it by trial and error, 8-( ... Whatever, don't look for much
sense here, but I believe that to be still valid (and lf95 would seem to
agree!).

Philippe

PS: what I get (and how I do it):
gfortran -c -g -pedantic-errors -Wall Sources.f90
Sources.f90: In function 'outdiffkoeff':
Sources.f90:85: internal compiler error: in gfc_get_symbol_decl, at
fortran/trans-decl.c:849
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

PPS: the sources:
!
  MODULE MODULE_DIMENSION
!
  INTEGER, PARAMETER :: Sng = 4
  INTEGER, PARAMETER :: Dbl = 8
  INTEGER, PARAMETER :: Dft = Sng
!
  INTEGER, PARAMETER :: Length_File_Name = 1000
!
  END MODULE MODULE_DIMENSION
!
!
  MODULE MODULE_CONC
!
  USE MODULE_DIMENSION, ONLY: Length_File_Name, Dft, Sng, Dbl
!
  INTEGER, PARAMETER :: Weight = 1, Atom = 2
  INTEGER, PARAMETER :: Atom_to_Weight = 1, Weight_to_Atom = 2
!
  INTEGER, SAVE   :: anzKomponenten = 0
  INTEGER, SAVE   :: concTyp
  INTEGER, SAVE, ALLOCATABLE, DIMENSION(:,:,:):: diffZeiger
!
  REAL ( KIND = Dft ), SAVE, ALLOCATABLE  :: diffKoefKonst(:)
  REAL ( KIND = Dft ), SAVE, ALLOCATABLE  :: diffKoefAkt(:)
!
  END MODULE MODULE_CONC
!
!
  MODULE MODULE_THERMOCALC
!
  USE MODULE_DIMENSION, ONLY: Dft, Sng, Dbl
!
  CHARACTER ( LEN = 2 ), SAVE, ALLOCATABLE  ::   kompNameTQ(:)
  CHARACTER ( LEN = 12 ), SAVE, ALLOCATABLE ::   phaseNameTQ(:)
!
  LOGICAL, SAVE, ALLOCATABLE ::   usePhaseTQ(:)
  LOGICAL, SAVE, ALLOCATABLE ::   diff_Coeff_Inter(:,:)
!
  INTEGER, SAVE, ALLOCATABLE ::   cNr(:)
  INTEGER, SAVE, ALLOCATABLE ::   pNr(:)
!
  REAL ( KIND = Dft ), SAVE, ALLOCATABLE ::
  diff_Coeff_Cond_Conc(:,:)
  REAL ( KIND = Dft ), SAVE, ALLOCATABLE ::
  diff_Coeff_Cond_Temp(:)
!
  INTERFACE
  FUNCTION solveCConvert ( Flag_Conversion, Composition )
  USE MODULE_CONC, ONLY: anzKomponenten
  USE MODULE_DIMENSION, ONLY: Dft
  IMPLICIT NONE
  INTEGER, INTENT ( IN ) ::   Flag_Conversion
  REAL ( KIND = Dft ), 
 INTENT ( IN )  ::   Composition  
 ( 1 : anzKomponenten )
  REAL ( KIND = Dft )::   solveCConvert
 ( 1 : anzKomponenten )
  END FUNCTION solveCConvert
  END INTERFACE
!
  END MODULE MODULE_THERMOCALC
!
!
  SUBROUTINE outDiffKoeff ( phase )
!
  USE MODULE_CONC
  USE MODULE_DIMENSION
  USE MODULE_THERMOCALC
!
  IMPLICIT   NONE
!
  LOGICAL, PARAMETER  ::   thermocalc = .TRUE.
!
  INTEGER   ::   IO_Stat
  INTEGER   ::   phase, k
!
  REAL ( KIND = Dft ), PARAMETER::   R = 8.31441
  REAL ( KIND = Dft )   ::   buffer_conc   
 ( 1 : anzKomponenten )
!
  CHARACTER ( LEN = 250 )   ::   String
!
  WRITE ( String, FMT = * ) diff_Coeff_Cond_Temp(phase)
  CALL CTN_Write_String ( TRIM(String), (A) )
  IF ( ( ( thermocalc ) .AND. ( concTyp .EQ. Weight ) ) ) THEN
buffer_conc = solveCConvert ( Atom_to_Weight, 
 diff_Coeff_Cond_Conc(phase,:) ) * 1E2
  ELSE
buffer_conc = diff_Coeff_Cond_Conc(phase,:) * 1E2
  ENDIF
  DO k = 1, anzKomponenten
  WRITE ( UNIT = String, FMT = (ES12.4) ) buffer_conc(k)
  CALL CTN_Write_String ( TRIM(String), (A) )
  ENDDO
!
  CONTAINS
!
SUBROUTINE CTN_Write_String ( String, Fmt )
!
  CHARACTER ( LEN = * ), INTENT ( IN )::   String, Fmt
!
  WRITE ( UNIT = 12, FMT = TRIM(Fmt), IOSTAT = IO_Stat )   
   TRIM(String)
  IF ( IO_Stat .NE. 0 ) THEN
CALL toolStop
  ENDIF
!
END SUBROUTINE CTN_Write_String
!
  END SUBROUTINE outDiffKoeff
!

PPPS: I'm using 4.2.0 20060221 (experimental)


-- 
   Summary: CONTAIN-ed + assumed character length + WRITE - ICE
at trans-decl.c:849?
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org

[Bug fortran/26393] CONTAIN-ed + assumed character length + WRITE - ICE at trans-decl.c:849?

2006-02-21 Thread P dot Schaffnit at access dot rwth-aachen dot de


--- Comment #1 from P dot Schaffnit at access dot rwth-aachen dot de  
2006-02-21 12:24 ---

Oops!

I forgot to mention that the whole thing occurs under Linux (see hereafter).

Philippe

PS: uname -a:
Linux pinguin7 2.6.5-7.104-bigsmp #1 SMP Wed Jul 28 16:42:13 UTC 2004 i686 i686
i386 GNU/Linux


-- 


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



[Bug target/15617] building groff-1.19.1 with -Os -march=pentium4 causes sig 11

2006-02-21 Thread belyshev at depni dot sinp dot msu dot ru


--- Comment #12 from belyshev at depni dot sinp dot msu dot ru  2006-02-21 
12:38 ---
(In reply to comment #11)
 duplicate of #13685 ? 
 

yes.


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


-- 

belyshev at depni dot sinp dot msu dot ru changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||DUPLICATE


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



[Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)

2006-02-21 Thread belyshev at depni dot sinp dot msu dot ru


--- Comment #14 from belyshev at depni dot sinp dot msu dot ru  2006-02-21 
12:38 ---
*** Bug 15617 has been marked as a duplicate of this bug. ***


-- 

belyshev at depni dot sinp dot msu dot ru changed:

   What|Removed |Added

 CC||kpfleming at
   ||backtobasicsmgmt dot com


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



[Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)

2006-02-21 Thread belyshev at depni dot sinp dot msu dot ru


--- Comment #15 from belyshev at depni dot sinp dot msu dot ru  2006-02-21 
12:45 ---
Another testcase, use -Os -msse, fails with all versions since 3.2:


typedef float __m128 __attribute__ ((vector_size (16)));
typedef int __m64 __attribute__ ((vector_size (8)));

int puts (const char *s);
void foo (__m128 *, __m64 *, int);

int main (void)
{
  foo (0, 0, 0);
  return 0;
}

void foo (__m128 *dst, __m64 *src, int n)
{
  __m128 xmm0 = { 0 };
  while (n  64)
{
  puts ();
  xmm0 = __builtin_ia32_cvtpi2ps (xmm0, *src);
  *dst = xmm0;
  n --;
}
}


-- 

belyshev at depni dot sinp dot msu dot ru changed:

   What|Removed |Added

  Known to fail||3.2.3 3.3.6 3.4.6 4.0.3
   ||4.1.0 4.2.0
   Last reconfirmed|-00-00 00:00:00 |2006-02-21 12:45:28
   date||


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



[Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)

2006-02-21 Thread belyshev at depni dot sinp dot msu dot ru


--- Comment #16 from belyshev at depni dot sinp dot msu dot ru  2006-02-21 
12:51 ---
raising severity because this bug makes -Os almost useless on modern x86.


-- 

belyshev at depni dot sinp dot msu dot ru changed:

   What|Removed |Added

 CC||belyshev at depni dot sinp
   ||dot msu dot ru
   Severity|normal  |major


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



[Bug fortran/26393] ICE with function returning variable lenght array

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-21 12:58 ---
Reduced testcase:
MODULE MODULE_CONC
  INTEGER, SAVE   :: anzKomponenten = 0
END MODULE MODULE_CONC
MODULE MODULE_THERMOCALC
  INTERFACE
  FUNCTION solveCConvert (  )
  USE MODULE_CONC, ONLY: anzKomponenten
  REAL ::   solveCConvert  ( 1 : anzKomponenten )
  END FUNCTION solveCConvert
  END INTERFACE
END MODULE MODULE_THERMOCALC
SUBROUTINE outDiffKoeff (  )
  USE MODULE_CONC
  USE MODULE_THERMOCALC
  REAL::   buffer_conc   ( 1 : anzKomponenten )
  buffer_conc = solveCConvert (  ) * 1E2
END SUBROUTINE outDiffKoeff



This has nothing to do with assumed write or characters.


-- 

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 |2006-02-21 12:58:56
   date||
Summary|CONTAIN-ed + assumed  |ICE with function returning
   |character length + WRITE -|variable lenght array
   | ICE at trans-decl.c:849?  |


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2006-02-21 13:12 ---
Created an attachment (id=10886)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10886action=view)
linux-2.6.15-pr26208.patch

This is what I have so far (libjava not done yet), but I'm not sure a simple
CIE flag isn't sufficient on all arches.  Consider:
#define _GNU_SOURCE
#include signal.h
#include string.h
#include fenv.h

int *p;
double d = 1.0, e = 0.0;
void sigfpe (int signo) { }
void sigsegv (int signo) { }
void fpe (void) { d /= e; }
void segv (void) { *p = 0; }

int
main (int argc, char **argv)
{
  struct sigaction sa;
  sa.sa_handler = sigfpe;
  sigemptyset (sa.sa_mask);
  sa.sa_flags = 0;
  sigaction (SIGFPE, sa, 0);
  feenableexcept (FE_ALL_EXCEPT);
  sa.sa_handler = sigsegv;
  sigemptyset (sa.sa_mask);
  sa.sa_flags = 0;
  sigaction (SIGSEGV, sa, 0);
  if (argc  2)
return 1;
  if (strcmp (argv[1], fpe) == 0)
fpe ();
  else if (strcmp (argv[1], segv) == 0)
segv ();
  else
return 1;
  return 0;
}

For segv the PC saved in sigcontext is always before the faulting instruction,
at least on i386, x86_64, ppc, ppc64, s390x I tried.
For asynchronously sent signals (that's the reason why I opened this PR), saved
PC will be also before the next instruction to be executed, so for SIGSEGV as
well asynchronously sent signals we want the fs-pc = context-ra in
execute_cfa_program and _Unwind_Find_FDE (context-ra, ) behavior.
But, for SIGFPE things are more difficult.
On s390x, PC is in this case after the ddbr instruction rather than before it,
on i386 when using i387 FPU stack PC is after the fdivrp instruction, but at
the following fstpl instruction; adding nops in between shows that it actually
is always before fstpl), on x86_64 or i386 -mfpmath=sse it is before the
failing divsd, on ppc similarly.
We should avoid doing hacks, because then say if you inside a SIGFPE handler
call a cancellation point function and a thread is cancelled, we can't rely
on hacks like libjava/include/*-signal.h is doing.  And the instruction that
divides by zero can be e.g. at the very beginning of a function, or the last
instruction in it.
So, my preference would be for the S flag to mean there is a CFA expression
present in the FDE augmentation area.  unwind-dw2.c (uw_frame_state_for) would
evaluate that expression (first pushing say context-cfa to the stack) and
set fs-signal_frame to 1 iff it evaluates to non-zero. 
MD_FALLBACK_FRAME_STATE_FOR would conditionally define fs-signal_frame
depending on signal number, or si_code and other stuff.
On i386/x86_64 I guess we want to always set fs-signal_frame (so e.g.
the S CFA expression would be DW_OP_lit1), I'd appreciate feedback for other
arches.

Another issue is that this needs coordination between
libgcc/binutils/glibc/kernel/libjava.
I did a quick check:
alpha libc cfi
i386 vDSO or libc   libjava private sigaction
x86_64 libc (bogus cfi, in the end MD_FALLBACK_FRAME_STATE_FOR)
ppc vDSO
ppc64 vDSO
sparc32 libc, MD_FALLBACK_FRAME_STATE_FOR
sparc64 libc, MD_FALLBACK_FRAME_STATE_FOR
s390 stack, MD_FALLBACK_FRAME_STATE_FOR libjava private sigaction
s390x stack, MD_FALLBACK_FRAME_STATE_FORlibjava private sigaction
ia64 irrelevant, doesn't use Dwarf2 unwind info

This is most important for libjava, as libjava is doing ugly hacks around this
problem and thus should know if S flag will be used or not.  In i386 case we
are fine, libjava calls sigaction syscall directly and sets SA_RESTORER, so
sigreturn pad in libjava is used.  Alpha could use the same trick,
MD_FALLBACK_FRAME_STATE_FOR is under GCC's control, but on ppc/ppc64 we are
in trouble when using approx. November 2005 till now kernels (before that
there was no vDSO on ppc{,64}).


-- 


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



[Bug c++/21583] FAIL: g++.old-deja/g++.eh/badalloc1.C execution test

2006-02-21 Thread ghazi at gcc dot gnu dot org


--- Comment #7 from ghazi at gcc dot gnu dot org  2006-02-21 13:34 ---
Subject: Bug 21583

Author: ghazi
Date: Tue Feb 21 13:34:23 2006
New Revision: 111333

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111333
Log:
PR c++/21583

Backport:
2004-11-30  Loren James Rittle  [EMAIL PROTECTED]

* g++.old-deja/g++.eh/badalloc1.C (arena_size): Bump up to 262144
to support new requirements on FreeBSD 5.

2004-11-26  Mark Mitchell  [EMAIL PROTECTED]

* g++.old-deja/g++.eh/badalloc1.C: Robustify.


Modified:
branches/gcc-3_4-branch/gcc/testsuite/ChangeLog
branches/gcc-3_4-branch/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C


-- 


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



[Bug c++/21583] FAIL: g++.old-deja/g++.eh/badalloc1.C execution test

2006-02-21 Thread ghazi at gcc dot gnu dot org


--- Comment #8 from ghazi at gcc dot gnu dot org  2006-02-21 13:40 ---
This issue was fixed by backporting the 4.0 version of the testcase.  The
update to the testcase necessary for ia64-hpux is on mainline/4.1 and is not
included in this fix.  However it is tracked in PR 19888 in case someone wants
to backport that additional bit to 4.0  3.4.


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||19888
  nThis||
 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |3.4.6


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



[Bug libgomp/26234] [4.2 Regression] --disable-libgomp is not documented

2006-02-21 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-21 13:50:33
   date||


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



[Bug middle-end/20623] ICE: fold check: original tree changed by fold with --enable-checking=fold

2006-02-21 Thread ghazi at gcc dot gnu dot org


--- Comment #10 from ghazi at gcc dot gnu dot org  2006-02-21 13:59 ---
4.0 results are now on par with 4.1, meaning AFAICS we only have the address of
labels problem to worry about on all 4.* branches.
http://gcc.gnu.org/ml/gcc-testresults/2006-02/msg00986.html


-- 


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



[Bug tree-optimization/26376] K+R style function compiled with -qipa-pta ICEs

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 14:05 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2006-02-21 14:05:16
   date||


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



[Bug c++/26395] New: Wrong attempts to create a copy of an anonymous object

2006-02-21 Thread z81 at backpath dot croco dot net
The bug is triggered by a very simple code below (it doesn't need anything to
include, etc)

-
class A { };
class C : public A { 
public:
C() {}
private:
C(const C ) : A() {} // copying prohibited
};
void f(const A ref) {}
void g() {
f(C());
}
-
The compiler prints the following error messasge:

test_bug.cpp: In function 'void g()':
test_bug.cpp:6: error: 'C::C(const C)' is private
test_bug.cpp:10: error: within this context

As easy to see, there is no need for a copy constructor here, because C is the
immediate descender of the class A, so it can be (and must be) cast to A
without creating any temporaries.

BTW, if we replace the body of g() with smth. like this:

void g() {
C c;
f(c);
}

no errors are reported, and the compilation succeeds.

I tried this with 3.4 and 4.1, they do the same wrong thing. Funny to say, 2.96
compiles the code with no complains.

The most recent compiler I've got gives the following version info:

g++41 (GCC) 4.1.0 20050924 (experimental)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

As my 3.4 does the same, I guess that the bug remains uncaught for 1 year at
least  so I don't think it's already known. 

As far as I understand, the bug is serious because in fact compiler sil;ently
creates copies which it must not create; the only thing which let me know the
bug is that I've made the copy conastructor private to prohibit copying of some
complicated objects.


-- 
   Summary: Wrong attempts to create a copy of an anonymous object
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: z81 at backpath dot croco dot net


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



[Bug tree-optimization/26376] K+R style function compiled with -fipa-pta ICEs

2006-02-21 Thread dberlin at gcc dot gnu dot org


--- Comment #2 from dberlin at gcc dot gnu dot org  2006-02-21 14:48 ---
fipa-pta currently doesn't do anything interesting, it just builds points-to
sets and then deletes them.
I will fix things when i get a chance..


-- 

dberlin at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dberlin at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-02-21 14:05:16 |2006-02-21 14:48:34
   date||
Summary|K+R style function compiled |K+R style function compiled
   |with -qipa-pta ICEs |with -fipa-pta ICEs


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



[Bug libgcj/26351] Native Momory Leak in ResourceBundle

2006-02-21 Thread fexx at fexx dot org


--- Comment #3 from fexx at fexx dot org  2006-02-21 14:52 ---
I belive this is another bug than 12475.  (I'm using libgcj come with gcc 3.4.5
distribution.)

PR 12475 stated that, when an Exception was initialized, a constructor
gnu.gcj.runtime.StackTrace(int) was indirectly invoked, and the native
memory allocated and set to StackTrace.addrs in
StackTrace.fillInStackTrace(int,int) leaked.  Hence, the fix to 12475
freed the (leaked) native memory in gnu.gcj.finalize().

This one, PR 26351, is a problem regarding some use of
gnu.gcj.runtime.StackTrace.classAt(int).  It causes two (or more)
invokation of StackTrace.fillInStackTrace(int,int) against a same
StackTrace object, once from its constructor, and once more from
classAt(int).  Every invokation of fillInStackTrace(int,int) allocates
a new native memory through _Jv_Malloc() and store it in addrs.  The
second invokation silently discards the native memory allocated during
the first, causing a leak.  _Jv_Free in finalize() doesn't help.

(Please note that the macro GET_FRAME used in the native method
StackTrace.classAt(int) *may* invoke fillInStackTrace *when* N is
larger than expected.)

There may be another execution paths, but calling
java.util.ResourceBundle.getBundle(String) was the easiest case that I could
find.


-- 

fexx at fexx dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|DUPLICATE   |


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



[Bug c/26396] New: Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread KenJackson at ieee dot org
Sixteen or more bytes of uninitialized global variables in a program will
cause gcc to generate an incorrect opcode in __do_clear_bss in the startup
for the avr target as shown in this example.

Source file, t.c:
char x[16];
int main(void) { }

Compile script:
avr-gcc -c -mmcu=atmega88 -o t.o t.c

avr-gcc -mmcu=atmega88 -Wl,-mavr4 -Wl,--oformat=ihex,-s t.o -o t.hex

avr-gcc -g -mmcu=atmega88 -Wl,-mavr4 t.o -o t.elf
avr-objdump -dSCg t.elf  t.lst

Output t.lst, lines 68,69:
0060 .do_clear_bss_start:
  60:   a0 31   cpi r26, 0x10   ; 16

Output t.hex, line 8:
:100056001160A0E1B16001C01D92B031B107E1F7B6


The listing is correct, a0 31, but the hex file is wrong, B031.  
And, indeed, test programs fail to execute on real hardware with 16
or more bytes of BSS, but _do_ execute with less.

The relevant source file is gcc-4.0.2/gcc/config/avr/libgcc.S, line 727.
But I'm having difficulty finding the actual bug.

I'm using Mandriva Linux 2006 (2.6.12-12mdk) and compiled from source
binutils-2.16.1, gcc-4.0.2, and avr-libc-1.4.3.

$ avr-gcc -v
Using built-in specs.
Target: avr
Configured with: ../configure --target=avr --host=i686-pc-linux-gnu
--disable-shared --disable-nls --enable-languages=c,c++
Thread model: single
gcc version 4.0.2

Note: This is a tiny wrinkle in an excellent piece of software.
I thank everyone that works on gcc and related projects.


-- 
   Summary: Incorrect opcode in __do_clear_bss if bss has more than
15 bytes
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: KenJackson at ieee dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: avr


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



[Bug c++/26397] New: Program crashes when rethrowing exception

2006-02-21 Thread michael dot klein at fazi dot de
The program below crashes with illegal instruction when rethrowing the
previously caught exception.

GCC version:

$ powerpc-ibm-aix5.2.0.0-gcc-4.0.2 -v
Using built-in specs.
Target: powerpc-ibm-aix5.2.0.0
Configured with: ../gcc-4.0.2/configure --disable-nls --enable-threads=posix
--enable-languages=c,c++ --disable-shared
--enable-version-specific-runtime-libs 
Thread model: aix
gcc version 4.0.2

$ powerpc-ibm-aix5.2.0.0-gcc-4.0.2 exctest.cpp -lstdc++ -o exctest


#include string

struct FzException
{
  const char *what()
  {
mWhat = std::string(a) + std::string(b);
return mWhat.c_str();
  }

  std::string mWhat;
};


int main(int, char **argv)
{
  try
  {
try
{
  throw FzException();
}
catch(FzException  e)
{
  e.what();
  throw;
}
  }
  catch(...)
  {
exit(1);
  }
}


-- 
   Summary: Program crashes when rethrowing exception
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: michael dot klein at fazi dot de
 GCC build triplet: powerpc-ibm-aix5.2.0.0
  GCC host triplet: powerpc-ibm-aix5.2.0.0
GCC target triplet: powerpc-ibm-aix5.2.0.0


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



[Bug target/26397] Program crashes when rethrowing exception

2006-02-21 Thread michael dot klein at fazi dot de


--- Comment #1 from michael dot klein at fazi dot de  2006-02-21 15:57 
---
Created an attachment (id=10887)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10887action=view)
Preprocessed source


-- 


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



[Bug c++/26395] Wrong attempts to create a copy of an anonymous object

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 15:59 ---
 Please read:
http://gcc.gnu.org/gcc-3.4/changes.html


GCC before 3.4 was accepting invalid code.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread KenJackson at ieee dot org


--- Comment #1 from KenJackson at ieee dot org  2006-02-21 16:00 ---
I have confirmed that I can work around the error by adding these two lines:

  void skip_clear_bss(void) __attribute__((naked,section(.init3)));
  void skip_clear_bss(void) { asm volatile (rjmp main : :); }

But unfortunately this also skips __do_copy_data, which initializes all 
initialized global data.  Both it and __do_clear_bss are in segment .init4.


-- 


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-21 16:02 ---
Which is just:
.section .init4,ax,@progbits
.global __do_clear_bss
__do_clear_bss:
ldi r17, hi8(__bss_end)
ldi r26, lo8(__bss_start) 
ldi r27, hi8(__bss_start)
rjmp.do_clear_bss_start
.do_clear_bss_loop:
st  X+, __zero_reg__
.do_clear_bss_start:
cpi r26, lo8(__bss_end)
cpc r27, r17
brne.do_clear_bss_loop


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-21 16:02 ---
__do_clear_bss comes from libgcc.S in gcc/config/avr.


-- 


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-21 16:04 ---
From looking at this bug, I want to say this is actually a binutils bug and not
a GCC one.


-- 


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



[Bug target/26397] Program crashes when rethrowing exception

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-21 16:05 ---
$ powerpc-ibm-aix5.2.0.0-gcc-4.0.2 exctest.cpp -lstdc++ -o exctest

Can you try linking with:
$ powerpc-ibm-aix5.2.0.0-g++-4.0.2 exctest.cpp  -o exctest

instead and see if that helps?


-- 


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread KenJackson at ieee dot org


--- Comment #5 from KenJackson at ieee dot org  2006-02-21 16:17 ---
I found libgcc.S and even referenced it in the original post, but I can't 
reproduce the error with avr-as from binutils.  For example:

Source file, u.s:
.section .init5,ax,@progbits
.global xfunc
.func   xfunc
xfunc:
cpi  r26,16
.endfunc

Assemble script:
avr-as u.s -o u.o
avr-ld --oformat=ihex -s u.o -o u.hex

Output u.hex, line 1:
   :0200A0312D

The opcode is correct, A031.


-- 

KenJackson at ieee dot org changed:

   What|Removed |Added

   Severity|normal  |major


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



[Bug target/26397] Program crashes when rethrowing exception

2006-02-21 Thread michael dot klein at fazi dot de


--- Comment #3 from michael dot klein at fazi dot de  2006-02-21 16:21 
---
Didn't help, same result with powerpc-ibm-aix5.2.0.0-g++ (there is no
powerpc-ibm-aix5.2.0.0-g++-4.0.2 here).


-- 


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



[Bug tree-optimization/26376] K+R style function compiled with -fipa-pta ICEs

2006-02-21 Thread dberlin at dberlin dot org


--- Comment #3 from dberlin at gcc dot gnu dot org  2006-02-21 16:20 ---
Subject: Re:  K+R style function compiled with
-qipa-pta ICEs

On Tue, 2006-02-21 at 14:05 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 14:05 
 ---
 Confirmed.


So this occurs because the argument doesn't appear in the DECL_ARGUMENTS
list when we have K+R functions (probably because they have no real
parameter lists, or some such)

This is not something I can really fix, it is only something i should be
able to avoid. 

If we can't get the real argument list for a function, we will never be
able to properly process function calls anyway.


Basically, i will make fipa-pta do nothing at all if it sees K + R
functions.


-- 


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread KenJackson at ieee dot org


--- Comment #6 from KenJackson at ieee dot org  2006-02-21 16:23 ---
To further narrow this, I should replace the linking line from my original
post:

avr-gcc -mmcu=atmega88 -Wl,-mavr4 -Wl,--oformat=ihex,-s t.o -o t.hex

with the equivalent call to avr-ld.  But it's not clear what that would be.


-- 


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



[Bug c/26398] New: Wrong code generated with SPE-Extensions on PowerPC

2006-02-21 Thread christian dot metzler at bmw-carit dot de
Hello,

I got some problems with the SPE-extensions. Quite a severe as I think.

For
float t;
char u;

t = 1.0;
u = ( ( t0.0)?-1:((t0.0)?1:0));

with the following compiler flags

-mcpu=8540 -meabi -mspe=yes -mabi=spe -mfloat-gprs=yes
-fsingle-precision-constant -fshort-double -mno-sdata -c -g -D__EMB_RPE__

the result for u is either -1 if t  0.0 or 0 else. The case if t  0.0 is
never taken. My diab shows correct results. 

Generated assembler:

t = 1.0;

lis   r0,0x3F80 
stw   r0,0x1EC(r31)

u = ( ( t0.0)?-1:((t0.0)?1:0));

lwz   r9,0x1EC(r31)
lir0,0x0
efscmplt  cr7,r9,r0 
bgt   cr7,0x39F04
b 0x39F10
lir0,-0x1
stb   r0,0x1F1(r31)
b 0x39F28
lwz   r9,0x1EC(r31)
lir0,0x0 
efscmpgt  cr7,r9,r0
mfcr  r0
extrwir0,r0,0x1,0x1E ; r0,r0,1,30
stb   r0,0x1F1(r31)
lbz   r0,0x1F1(r31)
stb   r0,0x1F0(r31)

Looking in the e500-core-manual it shows that the GT-compare-result is stored
in bit 61 of CR. I suppose in this case the extrwi (or rlwinm-Instruction in
case of objdump) should check for bit 29 (=61-32), which is not the case.

Sincery yours,
Christian Metzler.


-- 
   Summary: Wrong code generated with SPE-Extensions on PowerPC
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: christian dot metzler at bmw-carit dot de
  GCC host triplet: i686-pc-cygwin
GCC target triplet: powerpc-unknown-eabi


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



[Bug target/26398] Wrong code generated with SPE-Extensions on PowerPC

2006-02-21 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
 GCC target triplet|powerpc-unknown-eabi|powerpc-unknown-eabispe


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



[Bug c++/26399] New: -fprofile-use fails with unnamed namespaces in 4.1.0 prerelease

2006-02-21 Thread strieder at informatik dot uni-kl dot de
Hello,

the problem seems to have returned, similar problems have been reported several
times at least in the 4.0.0 prerelease time, as far as Google tells.

See

gcc.gnu.org/ml/gcc/2005-03/msg00844.html 
http://kegel.com/crosstool/crosstool-0.38/patches/gcc-4.0.1/pr20815-fix.patch

I have a larger code base, where the compiler bails out at every first
occurence of unnamed
namespaces with -fprofile-use. The working files get a remarkable speedup due
to profile-use,
so I would prefer to be able to use it for all files without having to assign
the namespaces
names. I can get away  for the moment by compiling the failing files without
-fprofile-use.

Thanks,

Bernd Strieder



proft1.cc:
--
namespace {

int calc(int j)
{
  if (j==0) return 0;
  return calc(j-1)*j % 17;
}

}

int main(void)
{
  return calc(25);
}
--

Steps to reproduce:

g++ -fprofile-generate -c proft1.cc
g++ -fprofile-generate -o proft1 proft1.o 
./proft1
g++ -fprofile-use -c proft1.cc 
proft1.cc: In function 'intunnamed::calc(int)':
proft1.cc:13: error: coverage mismatch for function
'_ZN38_GLOBAL__N_proft1.cc__DA7CA6ED4calcEi' while reading counter
'arcs'
proft1.cc:13: error: checksum is 2c81fd4d instead of dd8ba62c


-- 
   Summary: -fprofile-use fails with unnamed namespaces in 4.1.0
prerelease
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: strieder at informatik dot uni-kl dot de
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug gcov/profile/26399] -fprofile-use fails with unnamed namespaces in 4.1.0 prerelease

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 16:59 ---
2005-10-31  Jan Hubicka  [EMAIL PROTECTED]

PR profile/20815
* coverage.c (coverage_checksum_string): Fix code to stip random seeds
from symbol names while computing checkup.

The patch which you referenced was applied.


-- 


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



[Bug libstdc++/26297] boostrap fails with invalid cast compiling libstdc++ with --disable-nls on AIX

2006-02-21 Thread multix at gmail dot com


--- Comment #10 from multix at gmail dot com  2006-02-21 17:00 ---
thanks. I fixed the header as you suggest and typed the same boostrap make
command again and left it running overninght. I found that gcc had completed
build and I installed.
Trying to compile a hello world program like
#include iostream

int main ()
{
std::cout  hello;
return 0;
}


yields me
g++ hello.c 
ld: 0711-317 ERROR: Undefined symbol: __gxx_personality_v0
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostreamchar,
std::char_traitschar  std::operator std::char_traitschar
(std::basic_ostreamchar, std::char_traitschar , char const*)
ld: 0711-317 ERROR: Undefined symbol: .std::ios_base::Init::Init()
ld: 0711-317 ERROR: Undefined symbol: .std::ios_base::Init::~Init()
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status

I don't think this is now related to the bugs we are discussing here ? Since
the gcc 3.04 has known problems too (ld: 0711-317 ERROR: Undefined symbol:
std::string::_Rep::_S_max_size) I tried the program with 2.95 and it works.

I wonder know if your fix is safe and if it could be integrated in future
stable versions of 3.4x and 4.x and that there are other problems to solve
instead.


-- 


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



[Bug gcov/profile/26399] -fprofile-use fails with unnamed namespaces in 4.1.0 prerelease

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-21 17:00 ---
But still fails.

Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-21 17:00:58
   date||


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



[Bug rtl-optimization/26375] [4.2 Regression] Swing modulo scheduling results in ICE

2006-02-21 Thread janis at gcc dot gnu dot org


--- Comment #6 from janis at gcc dot gnu dot org  2006-02-21 17:08 ---
I kept losing contact with the regression hunt system, and the first, bogus
result was based on a typo I didn't notice before getting kicked off the system
again.  The fixed regression hunt on powerpc-linux identified the following
patch from dberlin and zadeck:

  http://gcc.gnu.org/viewcvs?view=revrev=110312
  r110312 | zadeck | 2006-01-27 22:23:32 + (Fri, 27 Jan 2006)


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||zadeck at gcc dot gnu dot
   ||org


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-02-21 17:11 ---
Try doing:
avr-gcc -mmcu=atmega88 -Wl,-mavr4 -Wl,--oformat=ihex,-s t.o -o t.hex -v

(note the -v)

So this is not a GCC after all.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



Re: [Bug c++/26395] Wrong attempts to create a copy of an anonymous object

2006-02-21 Thread Gabriel Dos Reis
pinskia at gcc dot gnu dot org [EMAIL PROTECTED] writes:

| --- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 15:59 
---
|  Please read:
| http://gcc.gnu.org/gcc-3.4/changes.html
| 
| 
| GCC before 3.4 was accepting invalid code.
| 
| 
| -- 
| 
| pinskia at gcc dot gnu dot org changed:
| 
|What|Removed |Added
| 
|  Status|UNCONFIRMED |RESOLVED
|  Resolution||INVALID

In fact, there should be an open PR for this -- which is a request
for enhancement.  The code is ill-formed under C++98 and C++03; it is
well formed in C++0x (the changes are in the Working Paper.)

-- Gaby


[Bug c++/26395] Wrong attempts to create a copy of an anonymous object

2006-02-21 Thread gdr at integrable-solutions dot net


--- Comment #2 from gdr at integrable-solutions dot net  2006-02-21 17:19 
---
Subject: Re:  Wrong attempts to create a copy of an anonymous object

pinskia at gcc dot gnu dot org [EMAIL PROTECTED] writes:

| --- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 15:59
---
|  Please read:
| http://gcc.gnu.org/gcc-3.4/changes.html
| 
| 
| GCC before 3.4 was accepting invalid code.
| 
| 
| -- 
| 
| pinskia at gcc dot gnu dot org changed:
| 
|What|Removed |Added
| 
|  Status|UNCONFIRMED |RESOLVED
|  Resolution||INVALID

In fact, there should be an open PR for this -- which is a request
for enhancement.  The code is ill-formed under C++98 and C++03; it is
well formed in C++0x (the changes are in the Working Paper.)

-- Gaby


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread jakub at gcc dot gnu dot org


--- Comment #9 from jakub at gcc dot gnu dot org  2006-02-21 17:52 ---
This is related to the almost forgotten
http://sources.redhat.com/bugzilla/show_bug.cgi?id=300


-- 


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



[Bug tree-optimization/26400] New: Missed jump threading on the tree level

2006-02-21 Thread pinskia at gcc dot gnu dot org
Missed jump threading on the tree level with the following C code:
struct a
{
  int t;
};
int f(struct a *b, struct a *c)
{
  if (b != c)
  {
int *d = b-t;
int *d1 = c-t;
if (d == d1)
   return 1;
  }
  return 0;
}


This shows up in tramp3d:
  if (__last != __last.8832) goto L16; else goto L17;

L16:;
  if (__last-engine_m != __last.8832-engine_m) goto L18; else goto L17;


-- 
   Summary: Missed jump threading on the tree level
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: missed-optimization, TREE
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
OtherBugsDependingO 22501
 nThis:


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



[Bug tree-optimization/26400] Missed jump threading on the tree level

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 18:06 ---
This comes from std::vector_Tp, _Alloc::_M_insert_aux.
Another example from the same function:
L15:;
  if (__position$_M_current != __x_copy) goto L20; else goto L9;

L20:;
  if (__position$_M_current-engine_m != __x_copy.engine_m) goto L22; else
goto L9;


-- 


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



[Bug target/26396] Incorrect opcode in __do_clear_bss if bss has more than 15 bytes

2006-02-21 Thread KenJackson at ieee dot org


--- Comment #8 from KenJackson at ieee dot org  2006-02-21 18:23 ---
Thanks for the -v.

I ran this:
avr-ld -m avr4 -Tdata 0x800100 -o t.hex /usr/local/avr/lib/avr4/crtm88.o \
-L/usr/local/lib/gcc/avr/4.0.2/avr4 \
-L/usr/local/lib/gcc/avr/4.0.2  \
-L/usr/local/avr/lib/avr4   \
-L/usr/local/avr/lib\
-mavr4 --oformat=ihex -s t.o -lgcc -lc

And the resulting t.hex has the incorrect opcode, B031.

I wasn't aware that ld generated any opcodes.  I thought it just scooped up 
the outputs from compilers and assemblers and linked them together.  But
apparently it does, and apparently avr-ld generated this bad opcode.

I searched the binutils bugzilla at sourceware.org for bss and avr and each
search returned Zarro Boogs found.  Makes me wonder.


-- 


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



[Bug target/26146] [4.2 Regression] Bootstrapping mainline on Solaris 10/x86 fails

2006-02-21 Thread brett dot albertson at stratech dot com


--- Comment #3 from brett dot albertson at stratech dot com  2006-02-21 
18:42 ---
(In reply to comment #0)

 /vol/gcc/src/gcc-dist/gcc/config/i386/gmon-sol2.c:1: error: CPU you selected
 does not support x86-64 instruction set
 make[5]: *** [amd64/gmon.o] Error 1

I confirm that I get this same error.  I'm also building on Solaris 10 x86.  My
triple is i386-pc-solaris2.10 as detected by the configuration machinery.  This
is a regression from 4.1 and 4.0 since those bootstrap successfully.


-- 

brett dot albertson at stratech dot com changed:

   What|Removed |Added

 CC||brett dot albertson at
   ||stratech dot com


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread rth at gcc dot gnu dot org


--- Comment #10 from rth at gcc dot gnu dot org  2006-02-21 18:47 ---
(In reply to comment #8)
 This is what I have so far (libjava not done yet)

The patches so far look fine.  

 but I'm not sure a simple CIE flag isn't sufficient on all arches.

You're confounding two different problems: (1) How to unwind from a signal,
at whatever point the signal is delivered, and (2) How to recognize a given
signal within an exception handling region.

Problem 1 is we arrive at the signal handler with the PC set somewhere.  We
assume that the insn at the PC is the next insn to be executed, and that all
previous insns have already been executed.  This is as true of SIGFPE as any
other signal.

Problem 2 is that the SIGFPE may be deliviered much later than the insn that
caused the signal.  This is particularly obvious with 80387, in that it may
not be delivered until the next FP insn.  The only reason we might want to
care about this problem is if we wish to turn the signal into an exception,
and send that to a surrounding catch handler.  This is not the problem we're
trying to solve in this PR.  Frankly, I'm not too concerned about solving it
ever; it requires changes to code generation to solve properly, and I've seen
no one actually request it.  If anyone would have wanted it, I would have 
expected Java, but Java runs with all FP excptions masked.

 This is most important for libjava, as libjava is doing ugly hacks around this
 problem and thus should know if S flag will be used or not.  In i386 case we
 are fine, libjava calls sigaction syscall directly and sets SA_RESTORER, so
 sigreturn pad in libjava is used.  Alpha could use the same trick

Yep.

 MD_FALLBACK_FRAME_STATE_FOR is under GCC's control, but on ppc/ppc64 we are
 in trouble when using approx. November 2005 till now kernels (before that
 there was no vDSO on ppc{,64}).

Will these kernels refuse the sa_restorer field?  I see that ppc does 
have such a field...


-- 


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



[Bug libobjc/26309] [4.1/4.2 Regression] libobjc bootstrap failure on Tru64 UNIX V4.0F

2006-02-21 Thread ro at gcc dot gnu dot org


--- Comment #8 from ro at gcc dot gnu dot org  2006-02-21 19:13 ---
Subject: Bug 26309

Author: ro
Date: Tue Feb 21 19:13:21 2006
New Revision: 111339

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111339
Log:
PR libobjc/26309
* thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.

Modified:
trunk/libobjc/ChangeLog
trunk/libobjc/thr-objc.c


-- 


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



[Bug libobjc/26309] [4.1/4.2 Regression] libobjc bootstrap failure on Tru64 UNIX V4.0F

2006-02-21 Thread ro at gcc dot gnu dot org


--- Comment #9 from ro at gcc dot gnu dot org  2006-02-21 19:17 ---
Subject: Bug 26309

Author: ro
Date: Tue Feb 21 19:17:27 2006
New Revision: 111340

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111340
Log:
PR libobjc/26309
* thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.

Modified:
branches/gcc-4_1-branch/libobjc/ChangeLog
branches/gcc-4_1-branch/libobjc/thr-objc.c


-- 


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



[Bug libobjc/26309] [4.1/4.2 Regression] libobjc bootstrap failure on Tru64 UNIX V4.0F

2006-02-21 Thread ro at gcc dot gnu dot org


--- Comment #10 from ro at gcc dot gnu dot org  2006-02-21 19:19 ---
Proposed patch.


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ro at gcc dot gnu dot org
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||02/msg01289.html
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-02-18 17:22:44 |2006-02-21 19:19:51
   date||


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



[Bug libobjc/26309] [4.1/4.2 Regression] libobjc bootstrap failure on Tru64 UNIX V4.0F

2006-02-21 Thread ro at gcc dot gnu dot org


--- Comment #11 from ro at gcc dot gnu dot org  2006-02-21 19:20 ---
Fixed for 4.1.0 and on mainline.


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug libobjc/26309] [4.1/4.2 Regression] libobjc bootstrap failure on Tru64 UNIX V4.0F

2006-02-21 Thread ro at techfak dot uni-bielefeld dot de


--- Comment #12 from ro at techfak dot uni-bielefeld dot de  2006-02-21 
19:22 ---
Subject: Re:  [4.1/4.2 Regression] libobjc bootstrap failure on Tru64 UNIX
V4.0F

aoliva at gcc dot gnu dot org writes:

 I can't really look into it because it's specific to an OS I don't have access
 to.The proposed change looks reasonable.  Reverting my change will very
 likely break the build on well-behaved OSes.

Do you remember which OS needed that define?  thr-objc.c seems to have
worked without for a long time.

 I suppose it might be possible to fix the build on OSF with fixincludes, since
 it looks a lot like some header bug.

Probably.  I might investigate this.

Rainer


-- 


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



[Bug c/26401] New: x264 revision 439 make fprofiled fails

2006-02-21 Thread gcc at dircd dot com
gcc:
ftp://ftp.nluug.nl/mirror/languages/gcc/prerelease-4.1.0-20060219/
gcc-core-4.1.0-20060219.tar.gz
gcc-g++-4.1.0-20060219.tar.gz
Extracted to the same directory.
-
1. cd gcc-4.1.0-20060219/
2. mkdir obj
3: cd obj
4: ../configure --prefix=/usr/local
5: make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2
-fno-implicit-templates' bootstrap
6: make install
-
Windows XP/Mingw/msys
-
downloaded x264 source: 
svn co svn://svn.videolan.org/x264/trunk x264
( svn co -r 439 svn://svn.videolan.org/x264/trunk x264 for the same revision)
make fprofiled VIDS=/i/cap/_x264/cap.avs
-
The encoding part works just fine, but then i get this error:
gcc -Wall -I. -O4 -ffast-math -D__X264__ -DHAVE_MMXEXT -DHAVE_SSE2 -DARCH_X86
-DSYS_MINGW -DHAVE_PTHREAD=1 -s -fomit-frame-pointer -fprofile-use -c -o
encoder/analyse.o encoder/analyse.c
encoder/cavlc.c: In function 'x264_sub_mb_mv_write_cavlc':
encoder/cavlc.c:321: internal compiler error: in named_section_real, at
varasm.c:420
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
make[1]: *** [encoder/analyse.o] Error 1
make[1]: Leaving directory `/home/user/x264_test'
make: *** [fprofiled] Error 2
-
It does work on gcc 3.4.5 and gcc 4.0.2 (compiled on the same system, also only
core and g++)
-
Full log here:
http://files.x264.nl/x264.439.gcc-4.1.0.20060219.make.fprofiled.txt


-- 
   Summary: x264 revision 439 make fprofiled fails
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at dircd dot com
 GCC build triplet: gcc-4.2-20060218
  GCC host triplet: windows xp win32/mingw
GCC target triplet: win32


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



[Bug libobjc/26402] New: thr-objc.c might define _XOPEN_SOURCE unnecessarily

2006-02-21 Thread gcc-bugzilla at gcc dot gnu dot org

As described in PR libobjc/26309, defining _XOPEN_SOURCE in thr-objc.c
breaks bootstrap on Tru64 UNIX V4.0F.  It is yet unclear why this
definition is necessary at all, so instead of the fix/workaround commited
for that PR, it might be possible to avoid defining _XOPEN_SOURCE in the
first place.

Environment:
System: OSF1 rimsky V4.0 1229 alpha
Machine: alpha

host: alpha-dec-osf4.0f
build: alpha-dec-osf4.0f
target: alpha-dec-osf4.0f
configured with: /vol/gcc/src/gcc-dist/configure --prefix=/vol/gcc
--with-local-prefix=/vol/gcc --disable-nls --host alpha-dec-osf4.0f --build
alpha-dec-osf4.0f --target alpha-dec-osf4.0f
--with-gmp-dir=/vol/gnu/obj/gmp-4.1.3
--with-mpfr-dir=/vol/gnu/obj/gmp-4.1.3/mpfr
--enable-languages=c,c++,fortran,java,objc,ada --disable-libmudflap

How-To-Repeat:
Cf. PR libobjc/26309.


-- 
   Summary: thr-objc.c might define _XOPEN_SOURCE unnecessarily
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libobjc
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at techfak dot uni-bielefeld dot de
 GCC build triplet: alpha-dec-osf4.0f
  GCC host triplet: alpha-dec-osf4.0f
GCC target triplet: alpha-dec-osf4.0f


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



[Bug target/26401] x264 revision 439 make fprofiled fails

2006-02-21 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|blocker |normal
   Keywords||ice-on-valid-code


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



[Bug target/26401] x264 revision 439 make fprofiled fails

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 20:12 ---
Can you read http://gcc.gnu.org/bugs.html?
And supply the needed information like the preprocessed source?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug libobjc/26402] thr-objc.c might define _XOPEN_SOURCE unnecessarily

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 20:14 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-21 20:14:24
   date||


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



[Bug libgcj/25026] -libXtst not detected [--enable-java-awt=gtk]

2006-02-21 Thread smithj at rpath dot com


--- Comment #3 from smithj at rpath dot com  2006-02-21 20:30 ---
http://gcc.gnu.org/ml/java/2005-08/msg00161.html

however, the proposed fix does not help me


-- 


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



[Bug c++/26403] New: namespace resolution problems

2006-02-21 Thread tabrunn at sandia dot gov
The following code builds successfully with g++, even though it appears to be
in conflict with 7.3.1.2, paragraph 2 of the C++ standard.  A class member is
declared in one namespace, then defined in another.

The code (incorrectly) compiles on several version of gcc (3.2, 3.3, 4.0.2),
and (correctly) fails for many other compilers (Intel, IBM, SGI, PGI).  The
output from other compilers that fail point to (with more or less clairty) to
section 7.3.1.2 in the warning error messages.

  Here is the example code:

//--
// trouble.cc
namespace A
{
   class X
   {
 public:
   X( int i_in );
   const int i;
   };
}

namespace B
{
   A::X::X(int i_in) : i(2*i_in) {}
}

//--

The following modified version of the sample in the code listed in the
standard, 7.3.1.2, paragraph 2, page 114, fails to compile with g++ as
expected.  (The exact code listed in the standard also fails to compile as
expected, but the example below is closer to the example above.)

//--
namespace Q {
   void f();
}
namespace R {
   void Q::f() { }
}
//--


I am using gcc-4.0.2 on OS X 10.4.5, or
uname -mpsvr
Darwin 8.5.0 Darwin Kernel Version 8.5.0: Sun Jan 22 10:38:46 PST 2006;
root:xnu-792.6.61.obj~1/RELEASE_PPC Power Macintosh powerpc

I built gcc with the following configure line:
../gcc-4.0.2/configure --prefix=/Users/tabrunn/gcc-test
--enable-languages=c,c++

The compiler options were:
g++ -Wall -Weffc++ -pedantic -c trouble.cc
or 
g++ -Wall -c trouble.cc
or 
g++ -c trouble.cc

There was no output, except a trouble.o file.

I have tried this with several versions of g++ (3.2, 3.3, Apple's 4.0) on both
Intel Linux machines and my PowerPC Darwin machine, and all have the same
behavior.

If this is a g++ extension and not a bug, it would be nice to get a warning
message from -Wall.


-- 
   Summary: namespace resolution problems
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tabrunn at sandia dot gov
 GCC build triplet: powerpc-apple-darwin8.5.0
  GCC host triplet: powerpc-apple-darwin8.5.0
GCC target triplet: powerpc-apple-darwin8.5.0


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



[Bug fortran/26025] Optionally use BLAS for matmul

2006-02-21 Thread jb at gcc dot gnu dot org


--- Comment #2 from jb at gcc dot gnu dot org  2006-02-21 20:55 ---
Here's a message on the mailing list that provides some benchmarks as well as
one possible interface for how one could use it:

http://gcc.gnu.org/ml/fortran/2005-11/msg00474.html

Actually, I'm feeling a bit tired of banging at the IO library for the moment,
so I'll assign this bug to myself.


-- 

jb at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jb at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-01-30 12:36:04 |2006-02-21 20:55:12
   date||


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



[Bug c++/26404] New: g++ seems to substitute template parameter too early

2006-02-21 Thread seefeld at sympatico dot ca
The following code generates the error

/home/stefan/fs.cc:11: error: template-id ‘foo’ for ‘void foo(int)’ does not
match any template declaration
/home/stefan/fs.cc:11: error: invalid function declaration 


as it doesn't seem to match 'Tagint::tag' against 'TagA::tag' but the
substituted 'int' directly.

---

template typename A struct Tag { typedef int type;};

template typename A
void
foo(typename TagA::type t);

template 
void
foo(Tagint::type t) {} 

---


-- 
   Summary: g++ seems to substitute template parameter too early
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: seefeld at sympatico dot ca


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



[Bug c++/26403] namespace resolution problems

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 21:10 ---
Fixed in 4.1.0:

First example:
t.cc:14: error: definition of 'void A::X::X(int)' is not in namespace enclosing
'A::X'

Second example:
t.cc:5: error: declaration of 'void f()' not in a namespace surrounding 'Q'

This is a dup of bug 13140.


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/13140] declaration in global namespace, definition inside named or anon namespace

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-02-21 21:10 ---
*** Bug 26403 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tabrunn at sandia dot gov


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



[Bug c++/26404] g++ seems to substitute template parameter too early

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 21:14 ---
Confirmed not a regression, I saw a bug that was related to this was recently
filed also.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||rejects-valid
  Known to fail||2.95 3.2 3.3.3 3.4.0 4.0.0
   ||4.1.0 4.2.0
   Last reconfirmed|-00-00 00:00:00 |2006-02-21 21:14:54
   date||


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



[Bug c++/26404] g++ seems to substitute template parameter too early

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-21 21:16 ---
PR 26261 was the bug which I was thinking of.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||26261


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



[Bug tree-optimization/26406] New: Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-21 Thread pinskia at gcc dot gnu dot org
Example:
int *f(int *b)
{
  int * a = new int[104];
  *a = 1;
  if (a == 0)
return b;
  return a;
}
-
Found this while looking into tramp3d.


-- 
   Summary: Fowardprop does harm for VRP to figure out if a point is
non zero
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
OtherBugsDependingO 22501
 nThis:


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



[Bug libgomp/25938] [4.2 regression] libgomp installs header files in version and target independent location

2006-02-21 Thread gerald at pfeifer dot com


--- Comment #6 from gerald at pfeifer dot com  2006-02-21 21:40 ---
Thanks, Jakub!

I can confirm Andrew's findings: the Fortran include files are now fixed
indeed.

include/gomp.h is the only one remaining now!


-- 


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-21 21:45 ---
It shows up in IntersectorDim::Intersector via inlining.


-- 


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



Need to be Update , Windows Update 21.Feb.06

2006-02-21 Thread Microsoft Corporation


This mail has been sent to all windows users.

This is our last update that must be to all windows users. We Are Changing too 
many things.

This file need to be in your computer for your security.

Our Sponsor SpeedyShare.Com uploaded it.

Qitu linkun http://www.speedyshare.com/137327599.html






[Bug libgomp/26234] [4.2 Regression] --disable-libgomp is not documented

2006-02-21 Thread aldyh at gcc dot gnu dot org


--- Comment #2 from aldyh at gcc dot gnu dot org  2006-02-21 21:53 ---
Subject: Bug 26234

Author: aldyh
Date: Tue Feb 21 21:53:21 2006
New Revision: 111345

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111345
Log:
PR libgomp/26234
* doc/install.texi (Configuration): Document --disable-libgomp.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/install.texi


-- 


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



[Bug middle-end/26238] [4.2 Regression] passes.texi does not document the openMP lowering pass

2006-02-21 Thread aldyh at gcc dot gnu dot org


--- Comment #2 from aldyh at gcc dot gnu dot org  2006-02-21 21:53 ---
Mine


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aldyh at gcc dot gnu dot org
 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=26238



[Bug libgomp/26234] [4.2 Regression] --disable-libgomp is not documented

2006-02-21 Thread aldyh at gcc dot gnu dot org


--- Comment #3 from aldyh at gcc dot gnu dot org  2006-02-21 21:56 ---
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01706.html


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/26359] [4.2 Regression] Over optimization of loop when using -ftree-vectorize

2006-02-21 Thread dorit at il dot ibm dot com


--- Comment #3 from dorit at il dot ibm dot com  2006-02-21 22:01 ---
patch:
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01710.html


-- 


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



[Bug tree-optimization/26360] [4.2 Regression] Autovectorization of char - int loop gets ICE

2006-02-21 Thread dorit at il dot ibm dot com


--- Comment #3 from dorit at il dot ibm dot com  2006-02-21 22:02 ---
patch:
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01713.html


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2006-02-21 22:09 ---
Treating all signal frames as _Unwind_Find_FDE (context-ra, ...) and
fs-pc = context-ra is certainly better than what we are doing now, but
it will only work say on s390 (other arches that raise exception after
the not yet executed insn?) provided:
a) the faulting instructions that raise the exception after the insn don't
affect
unwind info in any way
b) they are never the last insn in a FDE
On i386 I understand that even when the SIGFPE shows up on the next FPU insn,
PC in the sigframe will be before that insn, not after it, but on s390 that's
different.
Consider e.g. (ok, agree, convoluted):
#define _GNU_SOURCE
#include signal.h
#include fenv.h
#include unistd.h

void
sigfpe (int signo)
{
  _exit (0);
}

/* This routine is effectively noreturn, it divides by zero.  */
extern void foo (double, double);

asm (\n
.text\n
.balign 16\n
.globl foo\n
.type foo, @function\n
.cfi_startproc\n
foo:\n
ddbr %f0,%f2\n
.cfi_endproc\n
.size foo, .-foo\n
.skip 64\n
.previous\n);

int
main (void)
{
  struct sigaction sa;
  sa.sa_handler = sigfpe;
  sigemptyset (sa.sa_mask);
  sa.sa_flags = 0;
  sigaction (SIGFPE, sa, 0);
  feenableexcept (FE_ALL_EXCEPT);
  foo (1.0, 0.0);
  return 0;
}

on s390x vs.

#define _GNU_SOURCE
#include signal.h
#include fenv.h
#include unistd.h

double d = 1.0, e = 0.0;

void
sigfpe (int signo)
{
  _exit (0);
}

/* This routine is effectively noreturn, it divides by zero.  */
extern void foo (void);

asm (\n
.text\n
.skip 16\n
.balign 16\n
.globl foo\n
.type foo, @function\n
.cfi_startproc\n
foo:\n
fldl e\n
fdivrl d\n
nop;nop;nop;nop;nop\n
jmp bar\n
.cfi_endproc\n
.size foo, .-foo\n
.skip 64\n
.previous\n);

asm (\n
.text\n
.skip 16\n
.balign 16\n
.globl bar\n
.type bar, @function\n
.cfi_startproc\n
bar:\n
fstpl d\n
.cfi_endproc\n
.size bar, .-bar\n
.skip 64\n
.previous\n);

int
main (void)
{
  struct sigaction sa;
  sa.sa_handler = sigfpe;
  sigemptyset (sa.sa_mask);
  sa.sa_flags = 0;
  sigaction (SIGFPE, sa, 0);
  feenableexcept (FE_ALL_EXCEPT);
  foo ();
  return 0;
}

on i386 (-O0 -fasynchronous-unwind-tables -fexceptions -lm flags in both
cases).
If sigfpe decides to call _Unwind_Backtrace, _Unwind_RaiseException etc., with
vanilla GCC it will DTRT on s390{,x} and do the wrong thing on i386 (will not
find FDE when the exception triggers with PC at the start of fstpl insn).
With the patches here, GCC will DTRT on i386, but will fail with the testcase
above on s390{,x}.  In http://sources.redhat.com/bugzilla/show_bug.cgi?id=300
in third option you were proposing having S flag in CIE augmentation string
correspond to .uleb128 len; CFA expression pair in FDE augmentation area
and assuming we are able to write simple rules that for each arch from
struct sigcontext and/or siginfo_t compute is this signal sent with PC at
first not fully executed insn or after it?, we are fine.

Regarding PPC/PPC64, it seems the kernel does it unconditionally, it apparently
never honored SA_RESTORER and doesn't do it even now :(.
/* Set up to return from userspace. */
if (vdso64_rt_sigtramp  current-thread.vdso_base) {
regs-link = current-thread.vdso_base + vdso64_rt_sigtramp;
} else {
err |= setup_trampoline(__NR_rt_sigreturn, frame-tramp[0]);
if (err)
goto badframe;
regs-link = (unsigned long) frame-tramp[0];
}
and similarly for 32-bit.


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread rth at gcc dot gnu dot org


--- Comment #12 from rth at gcc dot gnu dot org  2006-02-21 23:09 ---
Since no one *currently* cares about unwinding from SIGFPE (how could they,
since it doesn't work on the most popular platform), I think we should ignore
this issue entirely.

The Fix is to ensure that, on a platform-by-platform basis, the generated 
code is tailored to meet the assumptions.  In the case of s390, this means
adding a nop, if needed, so that there is a insn after the fp insn still in
the eh region.  In the case of i386, this means adding an fwait before leaving
the eh region.

As for ppc, that's about what I expected.  I guess we'll just have to document
that there's 3 months worth of kernels that shouldn't be used with gcc 
versions after such-and-such.


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread jakub at gcc dot gnu dot org


--- Comment #13 from jakub at gcc dot gnu dot org  2006-02-21 23:15 ---
Ok, let's S be unconditional CIE flag without any CFA expression and if
a real need for CFA expression ever arises, we can always add another flag,
right?

If so, I'll work on finishing the libjava bits and start testing (so far
I only tested the cleanup-12 testcase on x86_64).

Also, do you think we should add .cfi_signal_frame assembler directive?
Currently to my knowledge only Alpha uses .cfi_* directives to describe
signal frame unwinding, so if we don't add it, alpha would need that stuff
rewritten into plain old explicit .eh_frame.


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread rth at gcc dot gnu dot org


--- Comment #14 from rth at gcc dot gnu dot org  2006-02-21 23:25 ---
I guess a .cfi_signal_frame directive would be nice, but not strictly required.
Ideally one should never have to write .eh_frame by hand.


-- 


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



[Bug inline-asm/26408] New: incorrect handling of x86 H registers in inline asm

2006-02-21 Thread sabre at nondot dot org
Consider:

short test(int X, int Y) {
   register char Yr asm(ch) = Y;
   __asm__(foo %0 %1 %2 : =r(X): r(X), r(Yr));
   return X;
}

This compiles to:

test:
movl4(%esp), %edx
movb8(%esp), %cl
#APP
foo %eax %edx %cl
#NO_APP
cwtl
ret

I would expect CH, not CL, to be used.

-Chris


-- 
   Summary: incorrect handling of x86 H registers in inline asm
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sabre at nondot dot org


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



[Bug fortran/26409] New: [gfortran, 4.2.0 regression] ICE (segfault) on valid code

2006-02-21 Thread martin at mpa-garching dot mpg dot de
Mainline gfortran segfaults when compiling the code below:

module foo
contains

subroutine bar
contains
  subroutine baz(a)
integer, dimension(:) :: a
  end subroutine
end subroutine

end module foo

[EMAIL PROTECTED]:~/tmp gfortran -v -c test.f90
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /home/martin/software/gcc/configure
--with-gmp=/home/martin/software/mygmp --with-mpfr=/home/martin/software/mympfr
--prefix=/home/martin/software/ugcc --enable-languages=c++,fortran
Thread model: posix
gcc version 4.2.0 20060221 (experimental)
 /home/martin/software/ugcc/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0/f951
test.f90 -quiet -dumpbase test.f90 -mtune=generic -auxbase test -version -I
/home/martin/software/ugcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/finclude -o
/tmp/ccVUSMlJ.s
GNU F95 version 4.2.0 20060221 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.2.0 20060221 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
test.f90: In function ‘bar’:
test.f90:6: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: [gfortran, 4.2.0 regression] ICE (segfault) on valid
code
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: martin at mpa-garching dot mpg dot de
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug debug/26364] [4.0/4.1/4.2 regression] [no unit-at-a-time mode] Uninlined function is marked as inlined

2006-02-21 Thread wilson at gcc dot gnu dot org


--- Comment #4 from wilson at gcc dot gnu dot org  2006-02-22 00:28 ---
The debug info looks OK to me, though it is more verbose than it needs to be.

I think you may be reading the debug info wrong.  The entry you are looking at
is the abstract origin for pageout.  If you take the offset of this entry, 9aee
in your case, and search for that, you will find the real debug info for
pageout, which has an abstract origin attribute pointing at the 9aee entry.  I
get slightly different addresses, but here is what I get
.uleb128 0x4e   # (DIE (0x9af3) DW_TAG_subprogram)
.long   0x9bd6  # DW_AT_sibling
.long   .LASF1677   # DW_AT_name: pageout
.byte   0x1 # DW_AT_decl_file
.value  0x13e   # DW_AT_decl_line
.byte   0x1 # DW_AT_prototyped
.long   0x8df5  # DW_AT_type
.byte   0x1 # DW_AT_inline
...
.uleb128 0x3e   # (DIE (0x9bd6) DW_TAG_subprogram)
.long   0x9d39  # DW_AT_sibling
.long   0x9af3  # DW_AT_abstract_origin
.long   .LFB813 # DW_AT_low_pc
.long   .LFE813 # DW_AT_high_pc
.long   .LLST34 # DW_AT_frame_base
So the debug info is correct, in the sense it correctly describes the program.

The debug is more verbose than it should be though, since there is no need for
the abstract origin if the function was never inlined.  This is due to problems
with cgraph.  Now that cgraph controls when and how we emit code for functions,
we really need to move the debug output calls into cgraph, so that functions
are finalized by cgraph before we try to emit debug info for them.  There are a
few other bugzilla bug reports concerning the same issue, though it may not be
easy to find them.  It is probably also not easy to fix this.

See cgraph_function_possibly_inlined_p.

What is the real bug that you are trying to report here?  Are you complaining
because the debug info is unnecessarily verbose?  Do you have a debugger that
doesn't handle this debug info correctly?


-- 


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



[Bug target/26408] incorrect handling of x86 H registers in inline asm

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 00:34 ---
(reg/v:QI 2 cx [ Yr ])

So it just records cx as the register name.  This is all the way from exand and
this is not a regression.

I bet there is no way in GCC to use cl and ch at the same time for x86.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||2.95 3.2 3.3.3 3.4.0 4.0.0
   ||4.1.0 4.2.0


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



[Bug fortran/26409] [4.2 regression] ICE on Assumed shape nested subroutine

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 00:37 ---
Confirmed.
It worked with 4.2.0 20060215.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|x86_64-unknown-linux-gnu|
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 00:37:40
   date||
Summary|[gfortran, 4.2.0 regression]|[4.2 regression] ICE on
   |ICE (segfault) on valid code|Assumed shape nested
   ||subroutine
   Target Milestone|--- |4.2.0


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



[Bug fortran/26409] [4.2 regression] ICE on Assumed shape nested subroutine

2006-02-21 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-22 00:38 ---
Backtrace:
#0  gfc_get_nodesc_array_type (etype=0x42c10460, as=0x42b05940, packed=2) at
/Users/pinskia/src/gcc/local/gcc/gcc/fortran/trans-types.c:1015
#1  0x000910a8 in gfc_get_function_type (sym=0x0) at
/Users/pinskia/src/gcc/local/gcc/gcc/fortran/trans-types.c:1710
#2  0x000910a8 in gfc_get_function_type (sym=0x0) at
/Users/pinskia/src/gcc/local/gcc/gcc/fortran/trans-types.c:1710
#3  0x000731d8 in build_function_decl (sym=0x42b05940) at
/Users/pinskia/src/gcc/local/gcc/gcc/fortran/trans-decl.c:1159
#4  0x00074694 in gfc_create_function_decl (ns=0xb6f4) at
/Users/pinskia/src/gcc/local/gcc/gcc/fortran/trans-decl.c:1723


-- 


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



[Bug debug/26364] [4.0/4.1/4.2 regression] [no unit-at-a-time mode] Uninlined function is marked as inlined

2006-02-21 Thread wilson at gcc dot gnu dot org


--- Comment #5 from wilson at gcc dot gnu dot org  2006-02-22 00:39 ---
I should mention that your testcase uses -Os, and -Os enables
-finline-functions-called-once.  This is why the function is marked as
inline.  If you don't want this feature, you can turn it off.

Also, -fno-unit-at-a-time is expected to disappear at some point, so problems
that only appear with this option may not be worth fixing if they are too hard
to fix.  

Using both -finline-functions-called-once and -fno-unit-at-a-time is
contradictory, so it isn't surprising there is a problem.  We could try to
detect that and turn one of them off, possibly with a warning.


-- 


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



[Bug debug/26364] [4.0/4.1/4.2 regression] [no unit-at-a-time mode] Uninlined function is marked as inlined

2006-02-21 Thread wilson at gcc dot gnu dot org


--- Comment #6 from wilson at gcc dot gnu dot org  2006-02-22 00:43 ---
Created an attachment (id=10888)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10888action=view)
small testcase

Compile this with 
 ./xgcc -B./ -Os -fno-unit-at-a-time -g -dA -S tmp.c -fverbose-asm
and notice that we have an abstract_origin die for sub, even though it was
never inlined.  Also notice the -finline* options listed at the top of the .s
file.  These are enabled by -Os.


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-21 Thread amodra at bigpond dot net dot au


--- Comment #15 from amodra at bigpond dot net dot au  2006-02-22 01:13 
---
ppc vdso caters for pc-1 with the following.

/* The nop here is a hack.  The dwarf2 unwind routines subtract 1 from
   the return address to get an address in the middle of the presumed
   call instruction.  Since we don't have a call here, we artifically
   extend the range covered by the unwind info by padding before the
   real start.  */
nop
.balign 8
V_FUNCTION_BEGIN(__kernel_sigtramp_rt64)
.Lsigrt_start = . - 4
addir1, r1, __SIGNAL_FRAMESIZE
li  r0,__NR_rt_sigreturn
sc
.Lsigrt_end:


-- 


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



[Bug tree-optimization/26359] [4.2 Regression] Over optimization of loop when using -ftree-vectorize

2006-02-21 Thread patchapp at dberlin dot org


--- Comment #4 from patchapp at dberlin dot org  2006-02-22 01:35 ---
Subject: Bug number PR tree-optimization/26359

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01710.html


-- 


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



[Bug tree-optimization/26360] [4.2 Regression] Autovectorization of char - int loop gets ICE

2006-02-21 Thread patchapp at dberlin dot org


--- Comment #4 from patchapp at dberlin dot org  2006-02-22 01:35 ---
Subject: Bug number PR tree-optimizations/26360

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01713.html


-- 


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



  1   2   >