[Bug java/31875] New: "Error loading applet" when playing runescape

2007-05-08 Thread donmerlcp at yahoo dot com
Use GCJ as web plugin for java.
Go to http://www.runescape.com

Click "Play as an existing user" (No need to create user name)
Click "High Definition"
Click "Free membership"

There was an error before playing the game.
The error is "Error loading applet"

Currently using Fedora Core 6 on a 64-bit


-- 
   Summary: "Error loading applet" when playing runescape
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: donmerlcp at yahoo dot com


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



[Bug tree-optimization/31874] [4.3 Regression] gcc.dg/torture/pr28900.c at -Os fails on spu-elf with an ICE

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-05-09 07:35 ---
/home/apinski/src/local/gcc/gcc/testsuite/gcc.dg/torture/pr28900.c:8: note:
-->vectorizing statement: :


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rakdver at gcc dot gnu dot
   ||org
Summary|gcc.dg/torture/pr28900.c at |[4.3 Regression]
   |-Os fails on spu-elf with an|gcc.dg/torture/pr28900.c at
   |ICE |-Os fails on spu-elf with an
   ||ICE
   Target Milestone|--- |4.3.0


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



[Bug fortran/31867] function result with character LEN computed at run time

2007-05-08 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2007-05-09 07:33 ---


valgrind shows:
==7067== Syscall param write(buf) points to uninitialised byte(s)
==7067==at 0x5603550: write (in /lib64/libc-2.5.so)
==7067==by 0x4EC1130: do_write (unix.c:336)
==7067==by 0x4EC11D1: fd_flush (unix.c:386)
==7067==by 0x4EC1E17: fd_write (unix.c:761)
==7067==by 0x4EBE905: _gfortrani_next_record (transfer.c:2530)
==7067==by 0x4EBED15: finalize_transfer (transfer.c:2667)
==7067==by 0x4EBED58: _gfortran_st_write_done (transfer.c:2805)
==7067==by 0x40126D: MAIN__ (in /dev/shm/a.out)
==7067==by 0x4012AB: main (fmain.c:22)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug rtl-optimization/31848] [4.3 regression] Invalid loop optimization causes bootstrap failure in genautomata

2007-05-08 Thread steven at gcc dot gnu dot org


--- Comment #4 from steven at gcc dot gnu dot org  2007-05-09 07:06 ---
Investigating...


-- 

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|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-05-09 07:06:10
   date||


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



[Bug tree-optimization/31874] New: gcc.dg/torture/pr28900.c fails on spu-elf with an ICE

2007-05-08 Thread pinskia at gcc dot gnu dot org
/home/apinski/src/local/gcc/gcc/testsuite/gcc.dg/torture/pr28900.c: In function
'synths_':^M
/home/apinski/src/local/gcc/gcc/testsuite/gcc.dg/torture/pr28900.c:5: internal
compiler error: in vect_transform_loop, at tree-vect-transform.c:5263^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M See
http://gcc.gnu.org/bugs.html> for instructions.^M

FAIL: gcc.dg/torture/pr28900.c  -Os  (internal compiler error) FAIL:
gcc.dg/torture/pr28900.c  -Os  (test for excess errors)


Testcase:
int synths_ ( float * rc)
{
  float r1, r2;
  int i;
  for (i = 0; i < 128; ++i)
{
  r2 = rc[i];
  r1 = ((r2) <= (.99f) ? (r2) : (.99f));
  rc[i] = ((r1) >= (-.99f) ? (r1) : (-.99f));
}
}


-- 
   Summary: gcc.dg/torture/pr28900.c fails on spu-elf with an ICE
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: spu-elf


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



[Bug tree-optimization/30843] [4.3 Regression] ice for legal code with -ftree-vectorize -O2

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2007-05-09 07:30 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2007-05-09 07:30 ---
You are entitled to your opinion.


-- 


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



[Bug rtl-optimization/30957] Misscompare with variable expansion optimization

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #12 from pinskia at gcc dot gnu dot org  2007-05-09 07:27 
---
This testcase (gcc.dg/pr30957-1.c) fails on spu-elf because spu-elf's float
almost always treat -0.0 as 0.0.


-- 


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



[Bug tree-optimization/25809] missed PRE optimization - move "invariant casts" out of loops

2007-05-08 Thread dorit at il dot ibm dot com


--- Comment #8 from dorit at il dot ibm dot com  2007-05-09 07:14 ---
> So I guess this should be handled somewhere else. I'll open a new
> missed-optimization PR instead (not against PRE this time). thanks.

This is now PR31873


-- 


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



[Bug tree-optimization/31873] New: missed optimization: we don't move "invariant casts" out of loops

2007-05-08 Thread dorit at il dot ibm dot com
This PR was originally opened against PRE (PR25809), but turns out PRE can't
solve this problem, so here's a new PR instead:

In testcases that have reduction, like gcc.dg/vect/vect-reduc-2char.c and
gcc.dg/vect-reduc-2short.c, the following casts appear:

signed char sdiff;
unsigned char ux, udiff; 
sdiff_0 = ...
loop:
   # sdiff_41 = PHI ;
   .
   ux_36 = 
   udiff_37 = (unsigned char) sdiff_41;  
   udiff_38 = x_36 + udiff_37;
   sdiff_39 = (signed char) udiff_38;
end_loop

although these casts could be taken out of loop all together. i.e., transform
the code into something like the following:

signed char sdiff;
unsigned char ux, udiff;
sdiff_0 = ...
udiff_1 = (unsigned char) sdiff_0;
loop:
   # udiff_3 = PHI ;
   .
   ux_36 = 
   udiff_2 = ux_36 + udiff_3;
end_loop
sdiff_39 = (signed char) udiff_2;

see this discussion thread:
http://gcc.gnu.org/ml/gcc-patches/2005-12/msg01827.html


-- 
   Summary: missed optimization: we don't move "invariant casts" out
of loops
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dorit at il dot ibm dot com
  GCC host triplet: powerpc64-linux


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



[Bug preprocessor/31869] stringifying empty macros

2007-05-08 Thread neil at gcc dot gnu dot org


--- Comment #2 from neil at gcc dot gnu dot org  2007-05-09 05:01 ---
The space is required by the standard.  Is this a regression?  I believe GCC
used to get this right but I could be wrong.


-- 


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



[Bug fortran/19925] Implied do-loop in an initialization expression is broken

2007-05-08 Thread jvdelisle at gcc dot gnu dot org


--- Comment #8 from jvdelisle at gcc dot gnu dot org  2007-05-09 04:02 
---
Apparently the magic limit here is 65535, not 10 as stated previously. 


-- 


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



[Bug middle-end/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2007-05-09 03:19 ---
> That's why I think we should have a generic option that disables optimizations
> which are safe only in sequential programs (and -fopenmp would imply that
> option).

So it sounds like you don't any thing about threading programming.  People have
to use mutexes and such to get safe code storing/accessing in globals no matter
what, even if it looks like it is thread safe or not because of the way threads
act.  I don't see how this is different from knowning when programs access
memory in some random way.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal
  Component|tree-optimization   |middle-end


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



[Bug preprocessor/31869] stringifying empty macros

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-05-09 03:14 ---
I don't see a problem with this .. are two different tokens (.) so getting rid
of the space is ok here.


-- 


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



[Bug c/31871] C99 failure to diagnose non-integer cast

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-05-09 03:07 ---
Related to PR 29116.


-- 


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



[Bug c/31864] need -print-includes-dirs option

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-05-09 02:17 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-05-09 02:17:25
   date||


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



[Bug libstdc++/21334] Lack of Posix compliant thread safety in std::basic_string

2007-05-08 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|NEW |SUSPENDED


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



[Bug libstdc++/21334] Lack of Posix compliant thread safety in std::basic_string

2007-05-08 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|pcarlini at suse dot de |unassigned at gcc dot gnu
   ||dot org
 Status|SUSPENDED   |NEW


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



[Bug libstdc++/21334] Lack of Posix compliant thread safety in std::basic_string

2007-05-08 Thread gianni at mariani dot ws


--- Comment #40 from gianni at mariani dot ws  2007-05-09 01:54 ---
Paolo writes:
> ... concur that  is better implemented without reference-counting ...

Could I ask you to enumerate the reasons why you come to this conclusion ?  I
just want understand better why (royal) we came to this conclusion.


-- 


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



[Bug tree-optimization/31866] [4.3 Regression] ICE with tree check error: expected ssa_name, have var_decl in create_outofssa_var_map

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-05-09 01:45 ---
Here is a shorter testcase:
int
foo (void)
{
  unsigned int resultvar;
  long int arg = (long int) 0;
  register long int reg asm ("eax") = arg;
  asm ("nop"
  : "=r" (resultvar)
: "0" (reg)
);
  return  resultvar;
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |blocker
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-05-09 01:45:25
   date||


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



[Bug other/31852] Missing __builtin_memchr

2007-05-08 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2007-05-09 01:34 ---
I have a draft...


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pcarlini at suse dot de
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-05-07 12:04:29 |2007-05-09 01:34:09
   date||


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



[Bug fortran/31867] function result with character LEN computed at run time

2007-05-08 Thread jvdelisle at gcc dot gnu dot org


--- Comment #2 from jvdelisle at gcc dot gnu dot org  2007-05-09 01:33 
---
I get:

 words = 'two three'

On x86-64-gnu/linux with latest 4.3 

I wonder if this is one that we recently fixed.  Can you try with a more recent
build?


-- 


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



[Bug fortran/31867] function result with character LEN computed at run time

2007-05-08 Thread jvdelisle at gcc dot gnu dot org


--- Comment #1 from jvdelisle at gcc dot gnu dot org  2007-05-09 01:10 
---
I will look this over tonight.


-- 


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



[Bug debug/31872] Duplicate file numbers for .file directive with -g3 -O0

2007-05-08 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2007-05-09 00:52 ---
Oops, this is against 4.3.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

Version|4.2.0   |4.3.0


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



[Bug debug/31872] New: Duplicate file numbers for .file directive with -g3 -O0

2007-05-08 Thread danglin at gcc dot gnu dot org
Compiling 27_io/basic_istream/extractors_arithmetic/char/12.cc with
-g3 -O0, I get the error:

/var/tmp//ccLYgR4g.s: Assembler messages:
/var/tmp//ccLYgR4g.s:424: Error: file number 1 already allocated

This is the full compilation command:

/test/gnu/gcc/objdir/./gcc/g++ -shared-libgcc -B/test/gnu/gcc/objdir/./gcc
-nostdinc++ -L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/src
-L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/src/.libs
-B/opt/gnu64/gcc/gcc-4.3.0/hppa64-hp-hpux11.11/bin/
-B/opt/gnu64/gcc/gcc-4.3.0/hppa64-hp-hpux11.11/lib/ -isystem
/opt/gnu64/gcc/gcc-4.3.0/hppa64-hp-hpux11.11/include -isystem
/opt/gnu64/gcc/gcc-4.3.0/hppa64-hp-hpux11.11/sys-include -g3 -O0
-D_GLIBCXX_ASSERT -ffunction-sections -fdata-sections -fmessage-length=0 -g3
-O0 -DLOCALEDIR="." -nostdinc++
-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/hppa64-hp-hpux11.11
-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include
-I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc/libstdc++-v3/include/backward
-I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util
/test/gnu/gcc/gcc/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
   -include bits/stdc++.h -c   -o ./12.c

I see in the assembler output:

.LEVEL 2.0w
.file   "12.cc"
.version"01.01"
.section.debug_abbrev,"",@progbits
L$debug_abbrev:
.section.debug_info,"",@progbits
L$debug_info:
.section.debug_line,"",@progbits
L$debug_line:
.section.debug_macinfo,"",@progbits
L$debug_macinfo:
.text
L$text:
.file 1
"/test/gnu/gcc/gcc/libstdc++-v3/testsuite/27_io/basic_istream/ex
tractors_arithmetic/char/12.cc"
...
.uleb128 0x0
.stringz"LOCALEDIR ."
.file 1
"/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/i
stream"
.section.debug_macinfo,"",@progbits
...


-- 
   Summary: Duplicate file numbers for .file directive with -g3 -O0
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa64-hp-hpux11.11
  GCC host triplet: hppa64-hp-hpux11.11
GCC target triplet: hppa64-hp-hpux11.11


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



[Bug c/31871] New: C99 failure to diagnose non-integer cast

2007-05-08 Thread neil at gcc dot gnu dot org
Casts to "void *" are not permitted in integer constant expressions.

Therefore this code violates constraint 6.7.5.2p2 of C99 (C90 is u.b.) and so
must be diagnosed.

extern int c[1 + ((int) (void *) 0)];


-- 
   Summary: C99 failure to diagnose non-integer cast
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: neil at gcc dot gnu dot org


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



[Bug c/31870] New: Failure to diagnose taking address of register variable

2007-05-08 Thread neil at gcc dot gnu dot org
int d (void) { register int a[2]; return a, 1; }


-- 
   Summary: Failure to diagnose taking address of register variable
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: neil at gcc dot gnu dot org


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



[Bug rtl-optimization/28011] [SH] g++ generates wrong code, if '-fno-exceptions' and '-O' options are specified

2007-05-08 Thread kkojima at gcc dot gnu dot org


--- Comment #3 from kkojima at gcc dot gnu dot org  2007-05-08 23:23 ---
Subject: Bug 28011

Author: kkojima
Date: Tue May  8 22:22:49 2007
New Revision: 124557

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124557
Log:
PR rtl-optimization/28011
* reload.c (push_reload): Set dont_share if IN appears in OUT
also when IN is a PLUS rtx.
(reg_overlap_mentioned_for_reload_p): Return true if X and IN
are same PLUS rtx.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload.c


-- 


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



[Bug middle-end/30905] [dataflow] Fails to cross-jump

2007-05-08 Thread steven at gcc dot gnu dot org


--- Comment #3 from steven at gcc dot gnu dot org  2007-05-08 23:15 ---
This patch would fix it, but it's brute-force and it causes a ~1.5% slowdown. 
Some form of DCE a little more delicate than this will be necessary to fix this
bug, though.


Index: cfgcleanup.c
===
--- cfgcleanup.c(revision 124550)
+++ cfgcleanup.c(working copy)
@@ -2286,10 +2286,10 @@ cleanup_cfg (int mode)
 {
   delete_unreachable_blocks (), changed = true;
   if (!(mode & CLEANUP_NO_INSN_DEL)
- && (mode & CLEANUP_EXPENSIVE)
- && !reload_completed)
+ && (mode & (CLEANUP_EXPENSIVE | CLEANUP_CROSSJUMP)))
{
- if (!delete_trivially_dead_insns (get_insns (), max_reg_num ()))
+ gcc_assert (df);
+ if (! run_fast_dce ())
break;
}
   else
@@ -2343,10 +2343,9 @@ static unsigned int
 rest_of_handle_jump2 (void)
 {
   delete_trivially_dead_insns (get_insns (), max_reg_num ());
+  delete_unreachable_blocks ();
   if (dump_file)
 dump_flow_info (dump_file, dump_flags);
-  cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0)
-  | (flag_thread_jumps ? CLEANUP_THREADING : 0));
   return 0;
 }


-- 


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



[Bug rtl-optimization/28011] [SH] g++ generates wrong code, if '-fno-exceptions' and '-O' options are specified

2007-05-08 Thread kkojima at gcc dot gnu dot org


--- Comment #2 from kkojima at gcc dot gnu dot org  2007-05-08 23:11 ---
It turned out that this is a generic reload issue rather than
a target problem.  See
http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00476.html


-- 

kkojima at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||kkojima at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
  Component|target  |rtl-optimization
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-05-08 23:11:07
   date||


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



[Bug fortran/31202] Incorrect rounding generated for NINT

2007-05-08 Thread fxcoudert at gcc dot gnu dot org


--- Comment #4 from fxcoudert at gcc dot gnu dot org  2007-05-08 23:08 
---
Created an attachment (id=13532)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13532&action=view)
New patch

Here's a new patch from a completely different perspective, using C99 lround
and llround functions (and their float and long double variants).


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #13228|0   |1
is obsolete||


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



[Bug pch/14940] PCH largefile test fails on various platforms

2007-05-08 Thread mmitchel at gcc dot gnu dot org


--- Comment #35 from mmitchel at gcc dot gnu dot org  2007-05-08 22:05 
---
Ian Taylor suggests:

The way to fix this is to add a HOST_HOOKS_GT_PCH_GET_ADDRESS to
host-solaris.c.  That hook should try to allocate the space in some
address area that is normally free on Solaris.  See the use of
TRY_EMPTY_VM_SPACE in host-linux.c.


-- 


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



[Bug target/27067] Compile errors with multiple inheritance where the stdcall attribute is applied to virtual functions.

2007-05-08 Thread angray at beeb dot net


--- Comment #14 from angray at beeb dot net  2007-05-08 22:02 ---
(In reply to comment #13)
> Subject: Re:  Compile errors with multiple inheritance where
>  the stdcall attribute is applied to virtual functions.
> rridge at csclub dot uwaterloo dot ca wrote:
> > --- Comment #11 from rridge at csclub dot uwaterloo dot ca  2007-05-08 
> > 12:25 ---
> > MSC includes the calling convention as part of its C++ name mangling.  Would
> > this bug be easier to solve if the calling convention was also included as 
> > part
> > of the C++ name mangling in GCC, instead of done afterwards?  If so, it 
> > might
> > be worth this small ABI breaking change in some future release of MinGW.
> I think that would be fine, from a C++ perspective.

If indeed XPCOM is dependant upon this then making an ABI namemangling change
would break Firefox and Thunderbird addons.

Aaron


-- 


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



[Bug target/31850] gcc.c-torture/compile/limits-fnargs.c is slow at compiling for spu-elf

2007-05-08 Thread sje at cup dot hp dot com


--- Comment #3 from sje at cup dot hp dot com  2007-05-08 21:55 ---
I now think the loc_mentioned_in_p calls are coming from the checking code at
the top of subst_reload.  I commented out this checking code and my compile
speed up by more than 10X.


-- 

sje at cup dot hp dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-05-08 21:55:09
   date||


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



[Bug tree-optimization/25371] -ftree-vectorize results in internal compiler error on AMD64

2007-05-08 Thread Jan dot Sjodin at amd dot com


--- Comment #8 from Jan dot Sjodin at amd dot com  2007-05-08 21:30 ---
Subject: RE:  -ftree-vectorize results in
 internal compiler error on AMD64

I would prefer to make it work instead of disabling the vectorizer for
these cases.

- Jan

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Sebastian
> Pop
> Sent: Tuesday, May 08, 2007 3:19 PM
> To: [EMAIL PROTECTED]
> Cc: Sjodin, Jan
> Subject: Re: [Bug tree-optimization/25371] -ftree-vectorize results in
> internal compiler error on AMD64
> 
> On 5/8/07, Sjodin, Jan <[EMAIL PROTECTED]> wrote:
> > > Okay, I looked at the code, and the problem is that we have to
pass to
> > > force_gimple_operand an expression that is not a chain of
recurrence,
> > > ie. a real expression that can be used to be decomposed in 3 addr
code
> > > by the gimplifier.
> >
> > Thanks! That was the answer I was looking for. Sounds like the
> > vectorizer is biting off more than it can chew :) Perhaps there is a
> > check missing for chrecs somewhere.
> 
> Yes, I also think that the quick fix is to add to the vectorizer the
> missing
> checks for simple enough expressions.
> 
> I went back to look at the testcase, and I saw these nested loops,
> and we are trying to vectorize the innermost ones.  So for avoiding a
> failed vectorization, and making the vectorizer to produce the right
code,
> we want to generate some code for the base address in the outer loop.
> 
> Sebastian
> 


-- 


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



[Bug tree-optimization/25371] -ftree-vectorize results in internal compiler error on AMD64

2007-05-08 Thread spop at gcc dot gnu dot org


--- Comment #7 from spop at gcc dot gnu dot org  2007-05-08 21:19 ---
Subject: Re:  -ftree-vectorize results in internal compiler error on AMD64

On 5/8/07, Sjodin, Jan <[EMAIL PROTECTED]> wrote:
> > Okay, I looked at the code, and the problem is that we have to pass to
> > force_gimple_operand an expression that is not a chain of recurrence,
> > ie. a real expression that can be used to be decomposed in 3 addr code
> > by the gimplifier.
>
> Thanks! That was the answer I was looking for. Sounds like the
> vectorizer is biting off more than it can chew :) Perhaps there is a
> check missing for chrecs somewhere.

Yes, I also think that the quick fix is to add to the vectorizer the missing
checks for simple enough expressions.

I went back to look at the testcase, and I saw these nested loops,
and we are trying to vectorize the innermost ones.  So for avoiding a
failed vectorization, and making the vectorizer to produce the right code,
we want to generate some code for the base address in the outer loop.

Sebastian


-- 


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



[Bug target/31850] gcc.c-torture/compile/limits-fnargs.c is slow at compiling for spu-elf

2007-05-08 Thread sje at cup dot hp dot com


--- Comment #2 from sje at cup dot hp dot com  2007-05-08 21:18 ---
I am seeing this slow compile too.  It compiles OK on HPPA in 32 bit mode (1.5
minutes) but takes over 30 minutes in 64 bit mode.  It also takes 6+ minutes on
IA64 HP-UX.  On an X86 box it took less than 1 minute.

Using gprof on HPPA 64 bit mode I see 2.6 Billion (2614726712) calls to
loc_mentioned_in_p.  I think most are coming from remove_address_replacements
but I am still trying to understand the problem.


-- 

sje at cup dot hp dot com changed:

   What|Removed |Added

 CC||sje at cup dot hp dot com


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



[Bug middle-end/31738] Fortran dot product vectorization is restricted

2007-05-08 Thread dorit at il dot ibm dot com


--- Comment #2 from dorit at il dot ibm dot com  2007-05-08 21:00 ---
Here is what happens in the three loops that don't get vectorized:

(1) the loop in testvectdp2: 
This is the loop we analyze:

  # prephitmp.192_37 = PHI 
  # i_1 = PHI <1(3), i_44(5)>
:;
  D.1437_32 = prephitmp.192_37;
  D.1438_33 = (int8) i_1;
  D.1439_34 = D.1438_33 + -1;
  D.1440_36 = (*a_35(D))[D.1439_34];
  D.1441_40 = (*b_39(D))[D.1439_34];
  D.1442_41 = D.1441_40 * D.1440_36;
  D.1443_42 = prephitmp.192_37 + D.1442_41;
  storetmp.191_38 = D.1443_42;
  c__lsm.199_17 = D.1443_42;
  i_44 = i_1 + 1;
  if (i_1 == D.1429_5)
goto  ();
  else
goto  ();

We recognize the reduction, but we think that it is used in the loop:
  pr31738.f90:14: note: reduction used in loop.

and indeed, prephitmp.192_37 is used in:
  D.1443_42 = prephitmp.192_37 + D.1442_41;
which is ok, because this is the reduction stmt,
but also used here:
  D.1437_32 = prephitmp.192_37;
which is indeed something that we normally don't allow.
so the vectorizer is ok, except that in this case D.1437_32 doesn't seem to be
used anywhere in the function, so this stmt looks dead to me, but for some
reason it is not cleaned away before the vectorizer...  Still need to
investigate why. 


(2) the loop in testvecm:
This looks like the problem reported in PR31756:

failed to compute offset or step for (*a.0_11)[D.1559_52]
create_data_ref: failed to create a dr for (*a.0_11)[D.1559_52]
pr31738.f90:24: note: not vectorized: unhandled data-ref

(3) the loop in testvecm2
Same story (the PR31756 problem):

failed to compute offset or step for (*a.0_10)[D.1509_52]
create_data_ref: failed to create a dr for (*a.0_10)[D.1509_52]
pr31738.f90:32: note: not vectorized: unhandled data-ref


-- 


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



[Bug c++/11814] Code with missing "template" keyword wrongly accepted

2007-05-08 Thread fang at csl dot cornell dot edu


--- Comment #9 from fang at csl dot cornell dot edu  2007-05-08 20:48 
---
Still accepts-invalid with 4.2-20070430 (RC2).


-- 

fang at csl dot cornell dot edu changed:

   What|Removed |Added

 CC||fang at csl dot cornell dot
   ||edu


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



[Bug c++/11764] [DR147] g++ does not treat injected class name correctly.

2007-05-08 Thread fang at csl dot cornell dot edu


--- Comment #7 from fang at csl dot cornell dot edu  2007-05-08 20:44 
---
Still accepts-invalid as of 4.2-20070430 (RC2).


-- 

fang at csl dot cornell dot edu changed:

   What|Removed |Added

 CC||fang at csl dot cornell dot
   ||edu


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



[Bug preprocessor/31869] New: stringifying empty macros

2007-05-08 Thread truedfx at gentoo dot org
#include 

#define MKSTR(x) STR(x)
#define STR(x) #x
#define EMPTY /* nothing */

int main(void) {
puts(MKSTR(.EMPTY.));
puts(MKSTR(.EMPTY .));
}

Using gcc 4.1.2, configured with
../gcc-4.1.2/configure --prefix=$HOME/gcc --enable-languages=c,c++
--disable-multilib, on x86_64-pc-linux-gnu, this program prints out

..
..

rather than

..
. .

as I would expect.


-- 
   Summary: stringifying empty macros
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: truedfx at gentoo dot org


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



[Bug target/27067] Compile errors with multiple inheritance where the stdcall attribute is applied to virtual functions.

2007-05-08 Thread mark at codesourcery dot com


--- Comment #13 from mark at codesourcery dot com  2007-05-08 20:11 ---
Subject: Re:  Compile errors with multiple inheritance where
 the stdcall attribute is applied to virtual functions.

rridge at csclub dot uwaterloo dot ca wrote:
> --- Comment #11 from rridge at csclub dot uwaterloo dot ca  2007-05-08 
> 12:25 ---
> MSC includes the calling convention as part of its C++ name mangling.  Would
> this bug be easier to solve if the calling convention was also included as 
> part
> of the C++ name mangling in GCC, instead of done afterwards?  If so, it might
> be worth this small ABI breaking change in some future release of MinGW.

I think that would be fine, from a C++ perspective.


-- 


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



[Bug libstdc++/21334] Lack of Posix compliant thread safety in std::basic_string

2007-05-08 Thread pcarlini at suse dot de


--- Comment #39 from pcarlini at suse dot de  2007-05-08 19:50 ---
The proper status of this PR is SUSPENDED. Today, mid of 2007, we all more or
less concur that  is better implemented without reference-counting,
optimized for short strings, and, of course, exploiting rvalue references.
Indeed, we are already providing the first two features in ext/vstring.h, and
the latter will be added ASAP. As for changing  itself, of course we
have to wait for the first ABI break.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|ASSIGNED|SUSPENDED


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



[Bug libstdc++/21334] Lack of Posix compliant thread safety in std::basic_string

2007-05-08 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pcarlini at suse dot de
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-01-20 00:55:27 |2007-05-08 19:47:19
   date||


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread pinskia at gmail dot com


--- Comment #8 from pinskia at gmail dot com  2007-05-08 19:45 ---
Subject: Re:  Loop IM and other optimizations harmful for -fopenmp

On 8 May 2007 18:08:26 -, jakub at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:
>
>
> --- Comment #7 from jakub at gcc dot gnu dot org  2007-05-08 19:08 ---
> This really is not specific to OpenMP, I believe the following is valid
> threaded program:

This is not a valid program.  You have to introduce mutexes to get it
to be a valid program with threads.  This is a common misunderstanding
of thread programming.


-- 


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2007-05-08 19:08 ---
This really is not specific to OpenMP, I believe the following is valid
threaded program:
#define _XOPEN_SOURCE 600
#include 
#include 

int v;
pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
pthread_barrier_t b;

void
foo (int x, int y)
{
  int i;
  for (i = 0; i < 100; i++)
{
  if (i > x)
v = y;
}
}

void *
tf (void *arg)
{
  pthread_barrier_wait (&b);
  if (arg == NULL)
{
  pthread_mutex_lock (&m);
  if (v != 0)
abort ();
  foo (50, 10);
  pthread_mutex_unlock (&m);
  pthread_barrier_wait (&b);
  foo (120, 30);
}
  else
{
  foo (100, 20);
  pthread_barrier_wait (&b);
  pthread_mutex_lock (&m);
  if (v != 10)
abort ();
  foo (80, 40);
  if (v != 40)
abort ();
  pthread_mutex_unlock (&m);
}
  return NULL;
}

int
main (void)
{
  pthread_t th[2];
  pthread_barrier_init (&b, NULL, 2);
  if (pthread_create (&th[0], NULL, tf, NULL)
  || pthread_create (&th[1], NULL, tf, (void *) 1L))
return 1;
  pthread_join (th[0], NULL);
  pthread_join (th[1], NULL);
  return 0;
}

and at -O0 works just fine and has no races in it, it is quite easy to show
the shared variable is only ever read or written inside of the critical
section.
But loop IM creates a race even when there is none in the code originally, if I
compile this with -O2 (both 4.1.x and trunk) it will abort after a couple of
attempts.

That's why I think we should have a generic option that disables optimizations
which are safe only in sequential programs (and -fopenmp would imply that
option).


-- 


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



[Bug middle-end/31793] [4.3 Regression] internal compiler error in build_int_cst_wide tree.c:902

2007-05-08 Thread ismail at pardus dot org dot tr


--- Comment #6 from ismail at pardus dot org dot tr  2007-05-08 19:02 
---
Never mind my last comment, it was a local patch causing the problem.


-- 


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



[Bug target/31868] Non-Linux DWARF EH x86-64 targets have broken crtend.o

2007-05-08 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2007-05-08 18:55 ---
Patches against 4.1, 4.2 and 4.3 are at

http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00563.html


-- 


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



[Bug middle-end/31793] [4.3 Regression] internal compiler error in build_int_cst_wide tree.c:902

2007-05-08 Thread ismail at pardus dot org dot tr


--- Comment #5 from ismail at pardus dot org dot tr  2007-05-08 18:48 
---
I had to apply http://gcc.gnu.org/viewcvs?view=rev&revision=122255 to the 4.2.0
branch to be able to bootstrap, else I get :

from gcc-4.2.0-20070430/libstdc++-v3/include/precompiled/stdc++.h:71:
gcc-4.2.0-20070430/build-default-i686-pc-linux-gnu/i686-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h:337:
error: declaration of 'typedef struct std::_Rb_tree_node<_Val>
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Rb_tree_node'
gcc-4.2.0-20070430/build-default-i686-pc-linux-gnu/i686-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h:134:
error: changes meaning of '_Rb_tree_node' from 'struct
std::_Rb_tree_node<_Val>'


-- 


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



[Bug target/31868] Non-Linux DWARF EH x86-64 targets have broken crtend.o

2007-05-08 Thread hjl at lucon dot org


--- Comment #1 from hjl at lucon dot org  2007-05-08 18:12 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00557.html


-- 


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



[Bug target/31868] New: Non-Linux DWARF EH x86-64 targets have broken crtend.o

2007-05-08 Thread hjl at lucon dot org
X86-64 crtend.o with DWARF EH is broken when compiled with
-fasynchronous-unwind-tables, which is the default:

http://gcc.gnu.org/ml/gcc/2002-11/msg00799.html

It was fixed for Linux only:

http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01671.html

That leaves all non-Linux x86-64 with DWARF EH have a broken crtend.o.


-- 
   Summary: Non-Linux DWARF EH x86-64 targets have broken crtend.o
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug c++/986] g++ misses warning for & on temporary

2007-05-08 Thread bangerth at dealii dot org


--- Comment #16 from bangerth at dealii dot org  2007-05-08 17:25 ---
(In reply to comment #14)
> Which was wrong, I reported the bug and a guy from MinGW kindly explained that
> if it worked then that would be purely by accident and added:
> " When you declare the argument without '&' then it will make a temporary copy
> of the Automobile object on the stack, but it is wrong to store a reference to
> a temporary object because it will be invalid after the constructor 
> returns.". 

You misunderstand my point: the international C++ standard quite clearly
specifies under what circumstances a program is what it calls "ill-formed"
and when a compiler has to issue an error. Taking the address of a temporary
is completely valid according to this standard (i.e. it conforms to the
*syntax*
of the C++ language), and consequently a compiler can't issue an error.

The fact that the program does something you may not expect, i.e. that the
*semantics* are not what you want, is an entirely different matter. In this
case, the C++ standard says that the behavior of your program is undefined.
Compilers may warn about this, but they may not issue an error.

W.


-- 


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



[Bug c++/986] g++ misses warning for & on temporary

2007-05-08 Thread raf2 at msux dot cjb dot net


--- Comment #15 from raf2 at msux dot cjb dot net  2007-05-08 17:22 ---
Created an attachment (id=13531)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13531&action=view)
File with wrong code that leads to an unexpected result


-- 


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



[Bug c++/986] g++ misses warning for & on temporary

2007-05-08 Thread raf2 at msux dot cjb dot net


--- Comment #14 from raf2 at msux dot cjb dot net  2007-05-08 17:18 ---
I first was hit by an error using MinGW... when I compiled and executed the
first attached file, it wrote:

John drives a: "bus"
Otto drives a: "bus"

Which was wrong, I reported the bug and a guy from MinGW kindly explained that
if it worked then that would be purely by accident and added:
" When you declare the argument without '&' then it will make a temporary copy
of the Automobile object on the stack, but it is wrong to store a reference to
a temporary object because it will be invalid after the constructor returns.". 


-- 


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



[Bug tree-optimization/31847] [4.3 Regression] Printing to dump file broken

2007-05-08 Thread simartin at gcc dot gnu dot org


--- Comment #4 from simartin at gcc dot gnu dot org  2007-05-08 16:47 
---
This should be fixed (see
http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00527.html for an explanation of
the patch).


-- 

simartin at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |simartin at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-05-08 16:47:37
   date||


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



[Bug tree-optimization/31847] [4.3 Regression] Printing to dump file broken

2007-05-08 Thread simartin at gcc dot gnu dot org


--- Comment #3 from simartin at gcc dot gnu dot org  2007-05-08 16:34 
---
Subject: Bug 31847

Author: simartin
Date: Tue May  8 15:33:56 2007
New Revision: 124551

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124551
Log:
2007-05-08  Simon Martin  <[EMAIL PROTECTED]>

PR 31847
* tree-dump.c (dump_options): Don't use TDF_DIAGNOSTIC in "*-all" tree
dumps.

Added:
trunk/gcc/testsuite/gcc.dg/pr31847.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-dump.c


-- 


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



[Bug fortran/31867] New: function result with character LEN computed at run time

2007-05-08 Thread beliavsky at aol dot com
The program

module util_mod
implicit none
contains
function join(words,sep) result(str)
! trim and concatenate a vector of character variables, 
! inserting sep between them
character (len=*), intent(in):: words(:),sep
character (len=(size(words)-1)*len(sep) + sum(len_trim(words))) :: str
integer  :: i,nw
nw  = size(words)
str = ""
if (nw < 1) then
   return
else
   str = words(1)
end if
do i=2,nw
   str = trim(str) // sep // words(i)
end do
end function join
end module util_mod
!
program xjoin
use util_mod, only: join
implicit none
character (len=5) :: words(2) = (/"two  ","three"/) 
write (*,"(1x,'words = ',a)") "'"//join(words," ")//"'"
end program xjoin

gives

 words = 'two threeg9'

but I think it should give

 words = 'two three'

gfortran -v says

Using built-in specs.
Target: i386-pc-mingw32
Configured with: ../trunk/configure --prefix=/mingw
--enable-languages=c,fortran,c++,objc,obj-c++ --with-gmp=/home/coudert/local
--disable-nls --with-ld=/mingw/bin/ld --with-as=/mingw/bin/as --disable-werror
--enable-bootstrap --enable-threads --build=i386-pc-mingw32 --disable-shared
--enable-libgomp
Thread model: win32
gcc version 4.3.0 20070406 (experimental)


-- 
   Summary: function result with character LEN computed at run time
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: beliavsky at aol dot com


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



[Bug c++/31863] g++-4.1: out of memory with -O1/-O2

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2007-05-08 16:21 ---
Note the interesting debuggable testcase is if you remove from getInstance()
all
template params from ClassSpec on.  Around that one you'll
clearly
see exponential behavior in memory use ;)


-- 


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



[Bug libstdc++/21334] Lack of Posix compliant thread safety in std::basic_string

2007-05-08 Thread james dot kanze at gmail dot com


--- Comment #38 from james dot kanze at gmail dot com  2007-05-08 16:21 
---
Subject: Re:  Lack of Posix compliant thread safety in std::basic_string

On 8 May 2007 05:24:35 -, gianni at mariani dot ws
<[EMAIL PROTECTED]> wrote:

> --- Comment #36 from gianni at mariani dot ws  2007-05-08 06:24 ---

> BTW - you don't need a multi-threaded test to make this problem show up.

> The code below is plain old C++ and breaks.  Again, I hesitate
> in calling this one a bug because begin() on a non-const
> object make be "allowed" to invalidate previous const
> iterators, I'm not sure.

In this case, the standard specifically says that the code is
invalid.  (For all of the standard containers, the standard
specifies what operations invalidate iterators.)

> If it is not allowed to then this is
> a legitimate bug - no threads needed.  BTW, this test works on:

> "Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42"

As does my example:-).  Different implementations will behave
differently.


-- 


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



[Bug libstdc++/21334] Lack of Posix compliant thread safety in std::basic_string

2007-05-08 Thread james dot kanze at gmail dot com


--- Comment #37 from james dot kanze at gmail dot com  2007-05-08 16:11 
---
Subject: Re:  Lack of Posix compliant thread safety in std::basic_string

On 7 May 2007 21:08:05 -, gianni at mariani dot ws
<[EMAIL PROTECTED]> wrote:

> --- Comment #35 from gianni at mariani dot ws  2007-05-07 22:08 ---
> Is this really a bug ?  Any discussion in the upcoming standardization of
> threads that talks about calling a non-const begin() on a std::string ?

> If we take James's code and replace the "g" definition like so:

> std::string g_modifyable ;
> const std::string & g = g_modifyable;

> ... there is no race condition.

> Who said that calling begin() on a non const std::string
> should be thread safe ?

Posix and common sense.  Just as using a char* (rather than a
char const*) to access a char[] is thread safe.

But let's not start that again.  The ISO committee is discussing
the issue, and will doubtlessly decide one way or another.
(Before they get that far, they have to agree on what a thread
means:-).)  In the meantime, all of the other implementations
work (but have other disadvantages); the g++ implementation
doesn't.


-- 


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



[Bug c++/31863] g++-4.1: out of memory with -O1/-O2

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2007-05-08 16:03 ---
Danny, push_fields_onto_fieldstack is going crazy on this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org


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



[Bug c++/31863] g++-4.1: out of memory with -O1/-O2

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-05-08 16:01 ---
cc1plus: out of memory allocating 1764584 bytes after a total of 16482304
bytes

so this actually killed even the 16GB box.


-- 


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread pinskia at gmail dot com


--- Comment #6 from pinskia at gmail dot com  2007-05-08 15:59 ---
Subject: Re:  Loop IM and other optimizations harmful for -fopenmp

On 8 May 2007 14:44:16 -, dnovillo at acm dot org
<[EMAIL PROTECTED]> wrote:
> The original code did not have a race condition.  The compiler
> transformations introduced a race-condition.  This *is*  a compiler
> bug.

Actually the original code has a race condition, if another thread is
reading from var and then acting on that and writting back.  This is
why threading programming is considered hard.


-- 


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



Re: [Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread Andrew Pinski

On 8 May 2007 14:44:16 -, dnovillo at acm dot org
<[EMAIL PROTECTED]> wrote:

The original code did not have a race condition.  The compiler
transformations introduced a race-condition.  This *is*  a compiler
bug.


Actually the original code has a race condition, if another thread is
reading from var and then acting on that and writting back.  This is
why threading programming is considered hard.


[Bug c++/31863] g++-4.1: out of memory with -O1/-O2

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-05-08 15:52 ---
Until I killed cc1plus we have (mainline):

samples  %symbol name
5011528.3000  push_fields_onto_fieldstack
12370 6.9853  bitpos_of_field
10174 5.7453  tree_low_cst
8825  4.9835  host_integerp
5204  2.9387  walk_tree
3666  2.0702  pointer_set_insert
2434  1.3745  cp_walk_subtrees
2199  1.2418  comptypes
2039  1.1514  ggc_alloc_stat

which suspiciously hints at aliasing...!?  Need to go for a bigger machine...


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|tree-optimization   |c++


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



[Bug tree-optimization/31863] g++-4.1: out of memory with -O1/-O2

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-05-08 15:47 ---
This is related to PR29433, but still unresolved.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||compile-time-hog, memory-hog
  Known to fail||4.1.2 4.3.0
   Last reconfirmed|-00-00 00:00:00 |2007-05-08 15:47:11
   date||


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



[Bug tree-optimization/31863] g++-4.1: out of memory with -O1/-O2

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-05-08 15:45 ---
Created an attachment (id=13530)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13530&action=view)
testcase


-- 


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread dnovillo at acm dot org


--- Comment #5 from dnovillo at acm dot org  2007-05-08 15:44 ---
Subject: Re:  Loop IM and other optimizations harmful for -fopenmp

On 8 May 2007 14:37:05 -, rguenth at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:

> OMP is not a good generic programming model for threaded code.  Exactly 
> because
> of this issues.

No.  This is wrong.  The model simply requires the compiler to be
smarter.  Sequential compilers are not aware of parallel semantics.

If the compiler was thread-aware, these issues would be transparent to
the user (as they should be).

The original code did not have a race condition.  The compiler
transformations introduced a race-condition.  This *is*  a compiler
bug.


-- 


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



[Bug fortran/31630] [4.3 regression] ICE on nasty derived types code

2007-05-08 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2007-05-08 15:41 ---
Subject: Bug 31630

Author: pault
Date: Tue May  8 14:40:58 2007
New Revision: 124550

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124550
Log:
2007-05-08  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/31630
* resolve.c (resolve_symbol): Remove the flagging mechanism from the
formal namespace resolution and instead check that the formal
namespace is not the current namespace.

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


-- 


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread dnovillo at acm dot org


--- Comment #4 from dnovillo at acm dot org  2007-05-08 15:39 ---
Subject: Re:  Loop IM and other optimizations harmful for -fopenmp

On 8 May 2007 14:30:45 -, pinskia at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:

> --- Comment #2 from pinskia at gcc dot gnu dot org  2007-05-08 15:30 
> ---
> WTF, this is just sad we have to disable optimizations because openmp folks
> don't know  how to program threaded code.

No need to be insulting.

Another possibility is to require shared variables to be declared
volatile.  It depends on the wording in the standard.


-- 


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-05-08 15:37 ---
OMP is not a good generic programming model for threaded code.  Exactly because
of this issues.


-- 


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



[Bug middle-end/31793] [4.3 Regression] internal compiler error in build_int_cst_wide tree.c:902

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-05-08 15:36 ---
*** Bug 31865 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ismail at pardus dot org dot
   ||tr


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



[Bug middle-end/31865] Internal compiler error: in build_int_cst_wide, at tree.c:864 when compiling MPlayer from SVN

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-05-08 15:36 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|c   |middle-end
 Resolution||DUPLICATE


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



[Bug c++/31860] Spurious error on udecl to class 'n' with object 'n' in the current scope

2007-05-08 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-05-08 15:35 ---
EDG accepts this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||rejects-valid


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



[Bug c++/986] g++ misses warning for & on temporary

2007-05-08 Thread bangerth at dealii dot org


--- Comment #13 from bangerth at dealii dot org  2007-05-08 15:34 ---
(In reply to comment #12)
> The summary says "g++ misses warning for & on temporary". But something that 
> is
> always an error can be called a warning?

The point is that the standard doesn't call it an error, but undefined
behavior. It's perfectly legal to keep a reference to a temporary, it
may just not yield the result you had hoped for.

W.


-- 


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



[Bug tree-optimization/31866] [4.3 Regression] ICE with tree check error: expected ssa_name, have var_decl in create_outofssa_var_map

2007-05-08 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Keywords||ice-on-valid-code
   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-05-08 15:30 ---
WTF, this is just sad we have to disable optimizations because openmp folks
don't know  how to program threaded code.


-- 


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



[Bug target/27067] Compile errors with multiple inheritance where the stdcall attribute is applied to virtual functions.

2007-05-08 Thread angray at beeb dot net


--- Comment #12 from angray at beeb dot net  2007-05-08 15:07 ---
(In reply to comment #11)
> MSC includes the calling convention as part of its C++ name mangling.  Would
> this bug be easier to solve if the calling convention was also included as 
> part
> of the C++ name mangling in GCC, instead of done afterwards?  If so, it might
> be worth this small ABI breaking change in some future release of MinGW.

Does this bug effect Firefox and Thunderbirds XPCOM ?

Aaron


-- 

angray at beeb dot net changed:

   What|Removed |Added

 CC||angray at beeb dot net


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



[Bug tree-optimization/31862] Loop IM and other optimizations harmful for -fopenmp

2007-05-08 Thread dnovillo at acm dot org


--- Comment #1 from dnovillo at acm dot org  2007-05-08 14:10 ---
Subject: Re:  New: Loop IM and other optimizations harmful for -fopenmp

On 8 May 2007 07:59:03 -, jakub at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:
> See http://openmp.org/pipermail/omp/2007/000840.html
> and the rest of the lengthy threads:

Yes, I've been following the thread and I agree that we need to do
something to avoid the problem.  The real solution is, unfortunately,
quite a bit of work.

In the meantime, we should probably annotate the shared variables and
consider them volatile.  This should prevent most optimizers from
messing things up inadvertently.

This should be done within OMP regions.  Orphaned functions may become
a problem, so this should be implemented as an IPA pass.


-- 


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



[Bug fortran/30876] Array valued recursive function rejected

2007-05-08 Thread pault at gcc dot gnu dot org


-- 

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|REOPENED|ASSIGNED
   Last reconfirmed|2007-02-21 17:03:09 |2007-05-08 13:53:03
   date||


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



[Bug fortran/30876] Array valued recursive function rejected

2007-05-08 Thread pault at gcc dot gnu dot org


--- Comment #8 from pault at gcc dot gnu dot org  2007-05-08 13:52 ---
Oops!


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug fortran/30878] Rejects function f1; namelist /nml/ f1

2007-05-08 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2007-05-08 13:51 ---
I'll submit a fix tonight.

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|2007-03-23 21:41:09 |2007-05-08 13:51:33
   date||


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



[Bug fortran/30876] Array valued recursive function rejected

2007-05-08 Thread pault at gcc dot gnu dot org


--- Comment #7 from pault at gcc dot gnu dot org  2007-05-08 13:51 ---
I'll submit a fix tonight.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/31692] Wrong code when passing function name as result to procedures

2007-05-08 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2007-05-08 13:49 ---
Fixed on trunk

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/31692] Wrong code when passing function name as result to procedures

2007-05-08 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2007-05-08 13:45 ---
Subject: Bug 31692

Author: pault
Date: Tue May  8 12:45:31 2007
New Revision: 124546

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124546
Log:
2007-05-08  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/31692
* trans-array.c (gfc_conv_array_parameter): Convert full array
references to the result of the procedure enclusing the call.

2007-05-08  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/31692
* gfortran.dg/actual_array_result_1.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/actual_array_result_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/31866] New: [4.3 Regression] ICE with tree check error: expected ssa_name, have var_decl in create_outofssa_var_map

2007-05-08 Thread kkojima at gcc dot gnu dot org
With -O1, the following testcase

int
foo (void)
{
  return ({
  unsigned int resultvar = ({
  long int arg = (long int) 0;
  register long int reg asm ("eax") = arg;
  asm volatile ("nop"
: "=a" (resultvar)
: "0" (reg)
:"memory");
  (int) resultvar;});
  (int) resultvar;});
}

fails with an ICE:

foo.c: In function 'foo':
foo.c:3: internal compiler error: tree check: expected ssa_name, have var_decl
in create_outofssa_var_map, at tree-ssa-coalesce.c:1051


-- 
   Summary: [4.3 Regression] ICE with tree check error: expected
ssa_name, have var_decl in create_outofssa_var_map
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-checking
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kkojima at gcc dot gnu 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=31866



[Bug other/31858] Hey gcc-bugs@ does not recieve this bug

2007-05-08 Thread cgf at gcc dot gnu dot org


--- Comment #8 from cgf at gcc dot gnu dot org  2007-05-08 13:06 ---
I reverted spamassassin to v3.1.8.

Comments on the net seemed to indicate that 3.2.0 was slower anyway and it
certainly doesn't seem ready for prime time yet.


-- 

cgf at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||overseers at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug other/31858] Hey gcc-bugs@ does not recieve this bug

2007-05-08 Thread cgf at gcc dot gnu dot org


--- Comment #7 from cgf at gcc dot gnu dot org  2007-05-08 13:04 ---
reverting spamassassin


-- 


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



gcc-bug-report- Tuesday May 08 - Portugal

2007-05-08 Thread Miguel Luis
According to http://gcc.gnu.org/bugs.html here is what is requested for 
a bug report.

Regards,
Miguel Luis.

## the exact version of GCC;
$ gcc --version
gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
Copyright (C) 2006 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.
$


## the system type;
$ uname -a
Linux m0x 2.6.20-15-386 #2 Sun Apr 15 07:34:00 UTC 2007 i686 GNU/Linux
$

## the options given when GCC was configured/built;
- Sorry but this is a binary package of gcc installed with 
build-essentials package in ubuntu and I don't know how to answer


## the complete command line that triggers the bug;
$gcc -v -save-temps -c -g -ansi -Wall -O3 system.c

## the compiler output (error messages, warnings, etc.);
$ make
gcc -v -save-temps -c -g -ansi -Wall -O3 system.c
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v 
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr 
--enable-shared --with-system-zlib --libexecdir=/usr/lib 
--without-included-gettext --enable-threads=posix --enable-nls 
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release 
i486-linux-gnu

Thread model: posix
gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
/usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 -E -quiet -v system.c 
-mtune=generic -ansi -Wall -fworking-directory -O3 -fpch-preprocess -o 
system.i

ignoring nonexistent directory "/usr/local/include/i486-linux-gnu"
ignoring nonexistent directory 
"/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/include"

ignoring nonexistent directory "/usr/include/i486-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.1.2/include
/usr/include
End of search list.
/usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 -fpreprocessed system.i -quiet 
-dumpbase system.c -mtune=generic -ansi -auxbase system -g -O3 -Wall 
-ansi -version -fstack-protector -fstack-protector -o system.s

GNU C version 4.1.2 (Ubuntu 4.1.2-0ubuntu4) (i486-linux-gnu)
compiled by GNU C version 4.1.2 (Ubuntu 4.1.2-0ubuntu4).
GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129470
Compiler executable checksum: c0d954aeefbb96d795ff3f6b3b72ef51
system.c: In function ‘system_verbose’:
system.c:80: warning: implicit declaration of function 
‘get_item_id_max_lenght’

system.c:80: internal compiler error: in fold_convert, at fold-const.c:1956
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see .
Preprocessed source stored into /tmp/ccWfv49C.out file, please attach 
this to your bugreport.

make: *** [system.o] Error 1
$

## the /preprocessed/ file (|*.i*|) that triggers the bug, generated by 
adding |-save-temps| to the complete compilation command


# 1 "system.c"
# 1 "/home/myk0n/symlink/xrtdb/current//"
# 1 ""
# 1 ""
# 1 "system.c"
# 1 "/usr/include/stdio.h" 1 3 4
# 28 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 323 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 313 "/usr/include/sys/cdefs.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 314 "/usr/include/sys/cdefs.h" 2 3 4
# 324 "/usr/include/features.h" 2 3 4
# 346 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4



# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 5 "/usr/include/gnu/stubs.h" 2 3 4


# 1 "/usr/include/gnu/stubs-32.h" 1 3 4
# 8 "/usr/include/gnu/stubs.h" 2 3 4
# 347 "/usr/include/features.h" 2 3 4
# 29 "/usr/include/stdio.h" 2 3 4





# 1 "/usr/lib/gcc/i486-linux-gnu/4.1.2/include/stddef.h" 1 3 4
# 214 "/usr/lib/gcc/i486-linux-gnu/4.1.2/include/stddef.h" 3 4
typedef unsigned int size_t;
# 35 "/usr/include/stdio.h" 2 3 4

# 1 "/usr/include/bits/types.h" 1 3 4
# 28 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/types.h" 2 3 4


# 1 "/usr/lib/gcc/i486-linux-gnu/4.1.2/include/stddef.h" 1 3 4
# 32 "/usr/include/bits/types.h" 2 3 4


typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;


typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;




__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;







__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
# 134 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 135 "/usr/include/bits/types.h" 2 3 4


__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typ