[Bug ada/34290] Problem with procedure visibility at the prefixed view call

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #4 from sam at gcc dot gnu dot org  2007-11-30 09:54 ---
Of course, you should read "reference" instead of "dereference" in the previous
comment.


-- 


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



[Bug ada/15803] Illegal program not detected, RM 8.3(19)

2007-11-30 Thread ludovic at ludovic-brenta dot org


--- Comment #4 from ludovic at ludovic-brenta dot org  2007-11-30 21:28 
---
Samuel, this PR is not about variant parts.  I think you closed the wrong bug.


-- 

ludovic at ludovic-brenta dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug ada/15799] Legal program rejected, using 'Base

2007-11-30 Thread ludovic at ludovic-brenta dot org


--- Comment #3 from ludovic at ludovic-brenta dot org  2007-11-30 21:22 
---
But Boolean'Base is not an expression, since it does not define "the
computation or retrieval of a value" (4.4(1)) but instead "denotes an
unconstrained subtype" (3.5(15)).  So, it really is a subtype_name.


-- 


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



[Bug libfortran/34291] [4.3 Regression] Segfault in io/list_read.c handling of end conditions

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #8 from jvdelisle at gcc dot gnu dot org  2007-11-30 23:19 
---
Subject: Bug 34291

Author: jvdelisle
Date: Fri Nov 30 23:19:34 2007
New Revision: 130548

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

PR libfortran/34291
* io/list_read.c (read_character): When reading an unquoted string,
return if special characters that could signify the end of the namelist
read are encountered.

Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/list_read.c


-- 


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



[Bug fortran/29648] Inlining only done for contained procedures

2007-11-30 Thread bdavis at gcc dot gnu dot org


--- Comment #3 from bdavis at gcc dot gnu dot org  2007-12-01 02:24 ---
in case someone does not know what a contained procedure is (i sure didn't
without getting out the Metcalf and Reid book), below is an example:

   program fred
   integer j
   j = 0
   call a(j)
   print*,j
   contains
   subroutine a(i)
   integer i
   i = i +2
   end subroutine a
   end program fred

compile it with no optimization and look at the assembler code, then compile it
with -O2, the subroutine is inlined by gfortran.

not really relevant to this PR, but something I learned and verified, which
might be of use.

--bud


-- 


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



[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #16 from jvdelisle at gcc dot gnu dot org  2007-12-01 04:34 
---
OK, found some other regressions as well.  I think we are still on the right
trail.  We can think about back porting after we get it really fixed. :)


-- 


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



[Bug c++/34307] New: when data member name is same as parameter name, possible to omit parameter name in constructor without warning

2007-11-30 Thread myselfhimself at free dot fr
under Linux 2.6.20, KUbuntu Gutsy with gcc 4.1.3
compiling for use on linux

#if 0

//first here:
//g++ accepts to compile no parameter name is given anytime (not in the class
definition neither in the constructor implementation)
//the program runs ok though
#include 
using namespace std;

class Hop
{
public:
Hop(string);
void fct(string);

};

Hop::Hop(string)
{}

void Hop::fct(string)
{}

int main()
{
Hop a("txt");
return 0;
}
#endif

#if 1

//second: when using an option parameter for constructor
//if we use this parameter name again for member initialisation and it's the
same as a data member name
//this gives no compile pb
//+a crash when running
#include 
using namespace std;
class Hop
{
public:
Hop(string msg="no_msg");
void sayMsg();
string msg;
};

Hop::Hop(string):msg(msg)
{}

void Hop::sayMsg()
{
cout << "msg is:"

[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #14 from jvdelisle at gcc dot gnu dot org  2007-12-01 04:22 
---
This is embarrassing and good at the same time:

Index: unix.c
===
--- unix.c  (revision 130547)
+++ unix.c  (working copy)

@@ -669,11 +669,8 @@ fd_seek (unix_stream * s, gfc_offset off
   if (s->file_length == -1)
 return SUCCESS;

-  if (s->physical_offset == offset) /* Are we lucky and avoid syscall?  */
-{
-  s->logical_offset = offset;
-  return SUCCESS;
-}
+  if (s->logical_offset == offset) /* Are we lucky and avoid syscall?  */
+return SUCCESS;

   if (lseek (s->fd, offset, SEEK_SET) >= 0)
 {

According to the comment we have been unlucky for a long time.  :) With this
simple change alone, my sequential read benchmark goes from 23 seconds to .5
seconds.  There is a regression in backspace_6.f90 which implies we need to fix
back space and leave the above fix in place if possible.  The read test I am
using is reading a 36 megabyte unformatted file with ACCESS="stream".  This is
impressive!

My write test with same file goes from about 6 seconds to about .5 seconds as
well.


-- 


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



[Bug ada/34287] Simple Ada bug [Barnes' Silly]

2007-11-30 Thread sam at gcc dot gnu dot org


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


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



[Bug ada/34287] Simple Ada bug [Barnes' Silly]

2007-11-30 Thread sam at gcc dot gnu dot org


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |sam at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-12-01 01:00:33
   date||


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



[Bug fortran/34306] misprinting of derived types

2007-11-30 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2007-11-30 23:59 ---
If this may help, I have extracted the following piece from the
-fdump-tree-original:

  {
struct __st_parameter_dt dt_parm.11;

dt_parm.11.common.filename = &"pr18022_red.f90"[1]{lb: 1 sz: 1};
dt_parm.11.common.line = 21;
dt_parm.11.internal_unit = &buf1[1]{lb: 1 sz: 1};
dt_parm.11.internal_unit_len = 30;
dt_parm.11.internal_unit_desc = 0B;
dt_parm.11.common.unit = 0;
dt_parm.11.common.flags = 16512;
_gfortran_st_write (&dt_parm.11);
{
  integer(kind=4) S.12;

  S.12 = 1;
  while (1)
{
  if (S.12 > 4) goto L.9;
  {
struct point * D.853;

D.853 = &pts[S.12 + -1];
_gfortran_transfer_character (&dt_parm.11, &D.853->x, 2);
_gfortran_transfer_character (&dt_parm.11, &D.853->y, 2);
  }
  S.12 = S.12 + 1;
}
  L.9:;
}
_gfortran_st_write_done (&dt_parm.11);
  }
  {
struct __st_parameter_dt dt_parm.13;

dt_parm.13.common.filename = &"pr18022_red.f90"[1]{lb: 1 sz: 1};
dt_parm.13.common.line = 22;
dt_parm.13.internal_unit = &buf2[1]{lb: 1 sz: 1};
dt_parm.13.internal_unit_len = 30;
dt_parm.13.internal_unit_desc = 0B;
dt_parm.13.common.unit = 0;
dt_parm.13.common.flags = 16512;
_gfortran_st_write (&dt_parm.13);
{
  struct array2_unknown parm.14;

  parm.14.dtype = 178;
  parm.14.dim[0].lbound = 1;
  parm.14.dim[0].ubound = 4;
  parm.14.dim[0].stride = 1;
  parm.14.dim[1].lbound = 1;
  parm.14.dim[1].ubound = 2;
  parm.14.dim[1].stride = 4;
  parm.14.data = (void *) (character(kind=1)[0:][1:2] *) &tab_c[0];
  parm.14.offset = -5;
  _gfortran_transfer_array (&dt_parm.13, &parm.14, 1, 2);
}
_gfortran_st_write_done (&dt_parm.13);
  }


-- 


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



[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread howarth at nitro dot med dot uc dot edu


--- Comment #15 from howarth at nitro dot med dot uc dot edu  2007-12-01 
04:28 ---
Hopefully this performance improvement can be backported for gcc 4.2.3 as well.


-- 


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



[Bug libfortran/34291] [4.3 Regression] Segfault in io/list_read.c handling of end conditions

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #9 from jvdelisle at gcc dot gnu dot org  2007-11-30 23:22 
---
Subject: Bug 34291

Author: jvdelisle
Date: Fri Nov 30 23:21:48 2007
New Revision: 130549

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

PR libfortran/34291
* gfortran.dg/namelist_41.f90: New test.


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


-- 


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



[Bug fortran/34306] New: misprinting of derived types

2007-11-30 Thread dominiq at lps dot ens dot fr
While looking at PR18022, I stumbled over the following problem illustrated by
the reduced code from the original one:

program test_bug

  implicit none

  character(len=2), dimension(4,2) :: tab_c
  character(len=30) :: buf1, buf2

  type :: point
 character(len=2) :: x,y
  end type point
  type(point), dimension(4) :: pts

  tab_c(:,1)(:) = (/'1','2','3','4'/)
  tab_c(:,2)(:) = (/'2','3','4','5'/)

  pts%x =  tab_c(:,1)
  pts%y =  tab_c(:,2)

  if (any(pts%x /= tab_c(:,1)) .or. any(pts%y /= tab_c(:,2))) call abort()

  write (buf1, *) pts
  write (buf2, *) tab_c

  print *, buf1
  print *, buf2

  if (buf1 /= buf2) call abort()

end program test_bug

which gives

  1 2 2 3 3 4 4 5  
  1 2 3 4 2 3 4 5  
Abort


-- 
   Summary: misprinting of derived types
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug c++/34298] [3.4] ICE on templated class with statically sized array computed from static const member

2007-11-30 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-11-30 23:11 ---
3.4.x is no longer supported.


-- 


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



[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread tkoenig at gcc dot gnu dot org


--- Comment #12 from tkoenig at gcc dot gnu dot org  2007-11-30 22:57 
---
(In reply to comment #11)
> Thanks,
> 
> I will look this over.  I was saving this for when I really had some time.  We
> need to test it with everything we can find.  I am glad you are as sensitive 
> to
> the potential regression issue as I am.  :)

Actually, I just found that this doesn't really help a lot (too many
reads...).

I'll need to tweak this a bit.


-- 


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



[Bug target/34261] Directed rounding doesn't work on MacOS X

2007-11-30 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-11-30 22:20 ---
(In reply to comment #2)
> In a strict sense maybe not. fprintf() in GCC works fine on other  
> Unix-based systems. The trouble would be that GCC's communication  
> with the OS kernel somehow screwed up on this particular system. So  
> you can blame the kernel, not GCC. This is way beyond my capability  
> as a user to fix or even understand, so I have to rely on you experts  
> to fix it.

Lets put it this way.  If fprintf failed, it does not mean it is a GCC bug as
GCC does not provide the fprintf library function.  Yes GCC could have an ABI
bug but that would mean everything else would be broken but since just fprintf
is broken, it is most likely a bug in fprintf.

> Interval arithmetic IA is in a unique position. It *also* relies on a  
> basic and simple communication with the OS, namely the ability to  
> switch rounding mode. If you can do this, your IA software works. If  
> you can't, it doesn't.

Well since fesetround is not provided by GCC, it is provided by the system. 
Also are you using Apple's provided GCC, if so please file a bug with them.  We
cannot support their modified version anyways.

> This violates the IEEE754 standard, which of course mandates rounding to
> nearest as the default.

Of course x87 violates it anyways.

When I ran the test on a x86 machine, I get:
[EMAIL PROTECTED]:~$ ./a.out 1 3
fesetround(0) returned 0
Then fegetround() returned 0
fesetround(1) returned 1
Then fegetround() returned 0
fesetround(2) returned 1
Then fegetround() returned 0
fesetround(3) returned 1
Then fegetround() returned 0
z0=0.15, z1=0.15, z2-z1=0, z1-z3=0



But when I run it on a PowerPC machine (which does not violate the IEEE
standard):
fesetround(0) returned 0
Then fegetround() returned 0
fesetround(1) returned 0
Then fegetround() returned 1
fesetround(2) returned 0
Then fegetround() returned 2
fesetround(3) returned 0
Then fegetround() returned 3
z0=0.15, z1=0.15, z2-z1=5.55112e-17, z1-z3=0


So I think this is just an x87 issue of execusive precission.

Please read bug 323.


-- 


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



[Bug ada/15804] Illegal program not detected, RM 3.8.1(2)

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #2 from sam at gcc dot gnu dot org  2007-11-30 22:11 ---
Fixed in SVN trunk


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug ada/15803] Illegal program not detected, RM 8.3(19)

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #5 from sam at gcc dot gnu dot org  2007-11-30 21:47 ---
Thanks for reopening it Ludovic. Yes, I mixed up the PR#, I'll fix the
ChangeLog and close the right one. It's been two times this week, I guess it's
bad for my health to go through so many Ada PR at a time :)


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||sam at gcc dot gnu dot org


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



[Bug preprocessor/33907] Empty macro definitions not considered equal

2007-11-30 Thread gdr at gcc dot gnu dot org


--- Comment #18 from gdr at gcc dot gnu dot org  2007-11-30 21:10 ---
The program is invalid, there is no point in getting into special
cased corner cases.  If you happen to have those macros in the same program
from real world applications, you probably should be watching for
bigger issues.


-- 

gdr at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||INVALID


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



[Bug target/34304] OpenJDK7 b23 is miscompiled with -O3 on amd64

2007-11-30 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-11-30 20:15 ---
Does -O2 -fno-strict-aliasing work?


-- 


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



[Bug target/34304] New: OpenJDK7 b23 is miscompiled with -O3 on amd64

2007-11-30 Thread doko at ubuntu dot com
This report is incomplete

When building with GCC 4.2 from the 4.2 branch, all the demos in demos/jfc and
the gcjwebplugin crash. Lowering the optimization for the jdk to -O2 results in
working demos and plugin. The build with GCC 4.1 does fail for me on amd64, GCC
4.3 from trunk works fine with -O2 and -O3.

thread on OpenJDK:
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2007-November/000685.html


-- 
   Summary: OpenJDK7 b23 is miscompiled with -O3 on amd64
   Product: gcc
   Version: 4.2.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: doko at ubuntu dot com
GCC target triplet: x86_64-linux-gnu


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



[Bug c++/34303] New: C++ class variable gets compiler error "declared 'threadprivate' after first use"

2007-11-30 Thread geir at cray dot com
+++ This bug was initially created as a clone of Bug #27557 +++

This bug presented here is likely the same as Bug #27557, but this test case
does not involve a non-POD type.

Following program gets a compile time error with g++, but is able to compile
and execute using PGI and PathScale compilers.  


$ cat bug2907.cpp
/*  derived from OpenMP API Ver 2.5 p. 159 Example A.22.3c  */
#include 
#include 
#define NT 4

class T {
 public:
  int val;
  T (int);
  T (const T&);
};
T :: T (int v){
  val = v;
}
T :: T (const T& t) {
  val = t.val;
}

int x = 1;
const T b_aux(x);
T b(b_aux);

#pragma omp threadprivate(b)

int main()
{
  int save_val;
  omp_set_num_threads(NT);
  x++;

#pragma omp parallel default(none) shared(save_val)
  {
if (omp_get_thread_num()==0)  save_val = b.val;
  }

  printf("save_val=%d\n",save_val);
  return 0;
}

$ g++ -fopenmp bug2907.cpp
bug2907.cpp:23: error: 'b' declared 'threadprivate' after first use
bug2907.cpp: In function 'int main()':
bug2907.cpp:33: error: 'b' not specified in enclosing parallel
bug2907.cpp:31: error: enclosing parallel
$ pathCC -mp bug2907.cpp; ./a.out
save_val=1
$ pgCC -mp=nonuma bug2907.cpp; ./a.out
Warning: omp_set_num_threads (4) greater than available cpus (1)
save_val=1
$


-- 
   Summary: C++ class variable gets compiler error "declared
'threadprivate' after first use"
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: geir at cray dot com


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



[Bug preprocessor/34288] ssize_t used in libcpp/files.c without autoconf detection

2007-11-30 Thread tromey at gcc dot gnu dot org


--- Comment #3 from tromey at gcc dot gnu dot org  2007-11-30 18:35 ---
Created an attachment (id=14674)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14674&action=view)
patch to check for ssize_t

Please try this patch.  It applies to svn trunk.
It includes the changes to configure and config.in as well.
If this works for you, I will check it in.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug preprocessor/32868] Don't warn about redefinitions of __STDC_FORMAT_MACROS

2007-11-30 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2007-11-30 18:24 ---
Subject: Bug 32868

Author: tromey
Date: Fri Nov 30 18:24:01 2007
New Revision: 130544

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130544
Log:
libcpp
PR preprocessor/32868:
* macro.c (_cpp_create_definition): Special case
__STDC_FORMAT_MACROS.
gcc/testsuite
PR preprocessor/32868:
* gcc.dg/cpp/pr32868.c: New file.

Added:
trunk/gcc/testsuite/gcc.dg/cpp/pr32868.c
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/libcpp/ChangeLog
trunk/libcpp/macro.c


-- 


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



[Bug rtl-optimization/34171] [4.3 Regression] Segfault in df_chain_remove_problem with -O3 on alpha

2007-11-30 Thread spark at gcc dot gnu dot org


--- Comment #18 from spark at gcc dot gnu dot org  2007-11-30 17:02 ---
Subject: Bug 34171

Author: spark
Date: Fri Nov 30 17:02:43 2007
New Revision: 130539

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130539
Log:
gcc/testsuite/ChangeLog:

2007-11-30  Martin Michlmayr <[EMAIL PROTECTED]>

PR rtl-optimization/34171
* gcc.dg/pr34171.c: New testcase.

gcc/ChangeLog:

2007-11-30  Seongbae Park <[EMAIL PROTECTED]>

PR rtl-optimization/34171
* cfgrtl.c (update_bb_for_insn_chain): New function,
refactored from update_bb_for_insn.
(update_bb_for_insn): Call update_bb_for_insn.
(rtl_merge_blocks, try_redirect_by_replacing_jump):
Replace a loop with update_bb_for_insn_chain call.
(cfg_layout_merge_blocks): Add a call to
update_bb_for_insn_chain. Replace the for loop
with a call to update_bb_for_insn_chain.


Added:
trunk/gcc/testsuite/gcc.dg/pr34171.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgrtl.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug ada/34301] GNAT Bug detected: visibility

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #3 from sam at gcc dot gnu dot org  2007-11-30 16:57 ---
As I said, there were a real problem, but it has already been fixed in GCC
4.3.0 which has not yet been released.

For what you are trying to achieve, you should rather declare X as

  X : T_Type;
  for X'Address use System.Storage_Elements.To_Address (50);

but this question should have been brought onto the comp.lang.ada newsgroup
instead of here :)


-- 


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



[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #11 from jvdelisle at gcc dot gnu dot org  2007-11-30 22:45 
---
Thanks,

I will look this over.  I was saving this for when I really had some time.  We
need to test it with everything we can find.  I am glad you are as sensitive to
the potential regression issue as I am.  :)


-- 


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



[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread tkoenig at gcc dot gnu dot org


--- Comment #10 from tkoenig at gcc dot gnu dot org  2007-11-30 22:27 
---
Created an attachment (id=14675)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14675&action=view)
proposed patch

Hi Jerry,

could you look at this?  This also fixes excessive seeking
when writing, but this is deep regression country
(backspace_5.f, backspace_6.f and streamio_12.f90
are candidates for failure here :-) and the more people
look at this, the better.


-- 


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



[Bug c++/34303] C++ class variable gets compiler error "declared 'threadprivate' after first use"

2007-11-30 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-11-30 21:56 ---
>This bug presented here is likely the same as Bug #27557, but this test case
>does not involve a non-POD type.

T is a non POD type.  It has a non trivial copy constructor and/or constructor.

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


-- 

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



[Bug c++/27557] OpenMP threadprivate directive does not work with non-POD types

2007-11-30 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-11-30 21:56 ---
*** Bug 34303 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||geir at cray dot com


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



[Bug ada/15803] Illegal program not detected, RM 8.3(19)

2007-11-30 Thread sam at gcc dot gnu dot org


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|ASSIGNED
   Last reconfirmed|2007-11-26 21:36:27 |2007-11-30 21:51:58
   date||


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



[Bug tree-optimization/34265] Missed optimizations

2007-11-30 Thread ubizjak at gmail dot com


--- Comment #25 from ubizjak at gmail dot com  2007-11-30 21:38 ---
(In reply to comment #24)

> Then the loop is vectorized again.

IMO, SLP should vectorize the sequence.


-- 


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



[Bug fortran/34246] gfortran.dg/bind_c_usage_16.f03 doesn't work

2007-11-30 Thread burnus at gcc dot gnu dot org


--- Comment #8 from burnus at gcc dot gnu dot org  2007-11-30 16:07 ---
> powerpc64-unknown-linux-gnu shows the same pattern as powerpc-apple-darwin9:
> anything linked to endianness?
Well, x86-32 and x86-64 should have the same endianness.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||32630
  nThis||
   Keywords||wrong-code


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



[Bug ada/22559] Bug box, Program_Error at sinput.adb:404, derived fixed-point type

2007-11-30 Thread anhvofrcaus at gmail dot com


--- Comment #5 from anhvofrcaus at gmail dot com  2007-11-30 18:58 ---
Oops! I did not realize that. By the way, I will verify it with gcc-20071130. 


-- 


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



[Bug rtl-optimization/34302] [4.3 regression] Invalid code reordering

2007-11-30 Thread zadeck at naturalbridge dot com


--- Comment #3 from zadeck at naturalbridge dot com  2007-11-30 15:33 
---
32 or 64 bit?


-- 


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



[Bug tree-optimization/29415] [4.2 Regression] bad code reordering around inline asm block

2007-11-30 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2007-11-30 15:27 
---
As you can see from the target milestone it should be fixed in all released
versions (it was only broken during 4.2.0 development).


-- 


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



[Bug tree-optimization/29415] [4.2 Regression] bad code reordering around inline asm block

2007-11-30 Thread cfriedt at visible-assets dot com


--- Comment #13 from cfriedt at visible-assets dot com  2007-11-30 15:25 
---
Is there a release of gcc where is this problem fixed, or is it only in the
repository?

I've been running into this problem for the last 2 days and was working around
the clock, assuming that something was wrong with my code.

(In reply to comment #12)
> Fixed.
> 


-- 

cfriedt at visible-assets dot com changed:

   What|Removed |Added

 CC||cfriedt at visible-assets
   ||dot com


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



[Bug preprocessor/32868] Don't warn about redefinitions of __STDC_FORMAT_MACROS

2007-11-30 Thread tromey at gcc dot gnu dot org


--- Comment #5 from tromey at gcc dot gnu dot org  2007-11-30 18:24 ---
Fix checked in.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug target/32086] [4.3 Regression] 10% to 20% Performance Regression Between 4.1.3 and 4.3

2007-11-30 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2007-11-30 15:23 ---
> I think we should turn on cost model by default, at least for i386.

Although the information on cost model are very scarce in the gcc manual, if
its goal is to avoid too costly vectorization, it should certainly turned on by
default.  And probably if this increases the execution time, the cost model
would need some tuning.  Concerning the induct code it is not a good test case
on PPC since it uses double FP.  On a 2.16Ghz Core2Duo I get for induct:

-O3 -ffast-math -funroll-loops induct.f90
93.192u 0.066s 1:33.28 99.9%0+0k 0+1io 0pf+0w
-O3 -ffast-math -funroll-loops -fvect-cost-model induct.f90
73.453u 0.107s 1:13.57 99.9%0+0k 0+1io 0pf+0w
-O3 -ffast-math -funroll-loops -mfpmath=387 induct.f90
105.564u 0.128s 1:45.69 99.9%   0+0k 0+1io 0pf+0w
-O3 -ffast-math -funroll-loops -mfpmath=387 -fvect-cost-model induct.f90
79.162u 0.088s 1:19.25 99.9%0+0k 0+0io 0pf+0w


With the patch in comment #5 of PR34265, the timings are:
without -mfpmath=387  and with or without -fvect-cost-model
37.014u 0.065s 0:37.08 99.9%0+0k 0+0io 0pf+0w
with -mfpmath=387  and with or without -fvect-cost-model
39.820u 0.071s 0:39.89 100.0%   0+0k 0+0io 0pf+0w


-- 


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



[Bug testsuite/34253] Lots of failures in gcc.dg/vect

2007-11-30 Thread andreasmeier80 at gmx dot de


--- Comment #8 from andreasmeier80 at gmx dot de  2007-11-30 15:07 ---
So some new informations. 
In revision 128088 it is fine, but it fails in revision 128109. I have no
information for the revisions between, because of the commit in 128089 I have
about 15000 failures in the C testsuite. 
128089 and 128101 have been reverted in 128109, so because of the language C
and my system i686-pc-linux-gnu only

128091,128092, 128105, 128107, 128108

are possible reasons for the failures


-- 


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



[Bug target/29524] [4.2/4.3 Regression] Too much RAM used: __clz_tab[] linked

2007-11-30 Thread wvangulik at xs4all dot nl


--- Comment #14 from wvangulik at xs4all dot nl  2007-11-30 14:59 ---
Note that the use of clz for the avr is avoided by using avr-libc's math
library.
See http://lists.gnu.org/archive/html/avr-libc-dev/2007-11/msg00048.html for
more details.


-- 

wvangulik at xs4all dot nl changed:

   What|Removed |Added

 CC||wvangulik at xs4all dot nl


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



[Bug regression/33928] [4.3 Regression] 22% performance slowdown from 4.2.2 to 4.3.0 in floating-point code

2007-11-30 Thread bonzini at gnu dot org


--- Comment #18 from bonzini at gnu dot org  2007-11-30 14:58 ---
It would be -fno-forward-propagate, but what I meant is that the changes
*connected to* fwprop could be the culprit.  One has to look at dumps to
understand if this is the case.

It would be possible, maybe, to put an asm around the problematic basic block,
so that one could plot the number of instructions in that basic block over
time?


-- 


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



[Bug fortran/33998] ICE in make_decl_rtl, at varasm.c:1263

2007-11-30 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2007-11-30 17:06 ---
I think that I have a fix

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-11-05 23:46:09 |2007-11-30 17:06:19
   date||


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



[Bug regression/33928] [4.3 Regression] 22% performance slowdown from 4.2.2 to 4.3.0 in floating-point code

2007-11-30 Thread lucier at math dot purdue dot edu


--- Comment #17 from lucier at math dot purdue dot edu  2007-11-30 14:47 
---
Subject: Re:  [4.3 Regression] 22% performance slowdown from 4.2.2 to 4.3.0 in
floating-point code

On Nov 30, 2007, at 12:39 AM, bonzini at gnu dot org wrote:

> One suspect is fwprop.  Anyone can confirm?

How does one turn off fwprop?  It doesn't seem to like "-fno-fwprop".


-- 


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



[Bug middle-end/31529] ICE in cgraph_expand_function with IMA

2007-11-30 Thread aldot at gcc dot gnu dot org


--- Comment #4 from aldot at gcc dot gnu dot org  2007-11-30 16:59 ---
Breakpoint 2, cgraph_expand_function (node=0xb7c7a280)
at ../../../src/gcc-4.3/gcc/cgraphunit.c:1138
1138  tree decl = node->decl;
1141  gcc_assert (!node->global.inlined_to);
1143  if (flag_unit_at_a_time)
1144announce_function (decl);
1146  gcc_assert (node->lowered);

trips the node->lowered assert.


-- 


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



[Bug ada/34301] GNAT Bug detected: visibility

2007-11-30 Thread tomas at cernaj dot de


--- Comment #2 from tomas at cernaj dot de  2007-11-30 16:53 ---
Subject: Re:  GNAT Bug detected: visibility

> 29. X : constant access T_Type := TA.To_Pointer (50);
[...]
> You have to use "System.Storage_Elements.To_Address (50)" here.

Hmm, thank you for the quick response, but the problem persists
anyway... As I mentioned it compiles alright when moving the declaration
into the public part of the spec (i.e. not deferred).

Am I missing a point or is this indeed a valid construct? (I want the
compiler to optimize an access to a fixed memory location.)

Tomas


-- 


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



[Bug tree-optimization/29415] [4.2 Regression] bad code reordering around inline asm block

2007-11-30 Thread cfriedt at visible-assets dot com


--- Comment #15 from cfriedt at visible-assets dot com  2007-11-30 15:48 
---
Right - I guess I should make the Gentoo folks aware of this, because in their
current tree anything >= 4.2.0 is marked as unstable. 

Thanks for the reply.

(In reply to comment #14)
> As you can see from the target milestone it should be fixed in all released
> versions (it was only broken during 4.2.0 development).
> 


-- 


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



[Bug rtl-optimization/34302] [4.3 regression] Invalid code reordering

2007-11-30 Thread schwab at suse dot de


--- Comment #2 from schwab at suse dot de  2007-11-30 14:16 ---
The bug is introduced during auto-inc-dec.


-- 

schwab at suse dot de changed:

   What|Removed |Added

  Component|target  |rtl-optimization


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



[Bug target/32086] [4.3 Regression] 10% to 20% Performance Regression Between 4.1.3 and 4.3

2007-11-30 Thread bonzini at gnu dot org


--- Comment #8 from bonzini at gnu dot org  2007-11-30 13:30 ---
Testing a one-liner.


-- 


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



[Bug target/34302] New: [4.3 regression] Invalid code reordering

2007-11-30 Thread schwab at suse dot de
((c_addr)=(Char *)(sp[2]));
((u1)=(UCell)(sp[1]));
((wfileid)=(Cell)((sp[0])));
sp += -1;
{
struct Cellquad r = read_line(c_addr, u1, wfileid);

lwz 6,0(19)  #* sp, wfileid ((wfileid)=(Cell)((sp[0])));
addi 19,19,-4# sp, sp,  sp += -1;
mr 29,19 # temp.1416, sp
mr 28,19 # temp.1418, sp
addi 3,1,72  #,,
lwzu 4,8(29) #, ((c_addr)=(Char *)(sp[2]));
lwzu 5,4(28) #, ((u1)=(UCell)(sp[1]));
bl read_line #


-- 
   Summary: [4.3 regression] Invalid code reordering
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: schwab at suse dot de
GCC target triplet: powerpc*-suse-linux


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



[Bug target/34302] [4.3 regression] Invalid code reordering

2007-11-30 Thread schwab at suse dot de


--- Comment #1 from schwab at suse dot de  2007-11-30 13:21 ---
Created an attachment (id=14672)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14672&action=view)
Preprocessed source

Compile with -O or higher.


-- 


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



[Bug target/32086] [4.3 Regression] 10% to 20% Performance Regression Between 4.1.3 and 4.3

2007-11-30 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2007-11-30 13:20 ---
This is with latest SVN:

   Benchmark
Name 387   387c  sse   ssec
   -   ---   ---   ---   ---
  ac 16.57 16.57 22.66 22.65
  aermod 55.85 54.72 50.23 51.08
 air 14.95 15.02 15.92 15.94
capacita 78.60 78.55 81.89 81.95
 channel  9.90  9.78  9.90  9.65
   doduc 59.82 59.65 67.81 68.97
 fatigue 20.06 18.27 21.65 21.27
 gas_dyn 11.47 11.35 10.62 10.68
  induct 60.60 50.92 73.82 58.74
   linpk 27.26 27.20 28.24 28.17
mdbx 30.41 30.36 33.33 33.23
  nf 33.63 33.69 31.97 32.03
 protein 73.16 72.87 72.67 72.76
  rnflow 57.18 57.18 42.19 42.46
test_fpu 20.71 20.86 21.61 21.54
tfft  4.86  5.10  4.92  5.11

 27.48 27.03 28.26 27.93

gcc version 4.3.0 20071130 (experimental) [trunk revision 130533] (GCC)

Family: 15 Model: 4 Stepping: 10 Type: 0 Brand: 0
CPU Model: Pentium 4 D (Foster) Original OEM
Processor name string: Intel(R) Xeon(TM) CPU 3.60GHz

Compile Command :
-march=opteron -ffast-math -funroll-loops -ftree-loop-linear -msse3 -O3

387 : -mfpmath=387
387c: -mfpmath=387 -fvec-cost-model
sse : -mfpmath=sse
ssec: -mfpmath=sse -fvec-cost-model


-- 


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



[Bug ada/34301] GNAT Bug detected: visibility

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #1 from sam at gcc dot gnu dot org  2007-11-30 12:52 ---
GCC 4.3.0 will give a proper error message:

29. X : constant access T_Type := TA.To_Pointer (50);
 |
>>> expected private type "System.Address"
>>> found type universal integer

You have to use "System.Storage_Elements.To_Address (50)" here.


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/34300] gcc 4.2.2 miscompiles code that uses global register variables

2007-11-30 Thread ismail at pardus dot org dot tr


--- Comment #4 from ismail at pardus dot org dot tr  2007-11-30 11:56 
---
Are we sure it works with trunk? Because this is initially found as a clisp
crash bug and it still crashes with gcc 4.3 trunk but only when compiled with
-O2.


-- 


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



[Bug middle-end/34300] gcc 4.2.2 miscompiles code that uses global register variables

2007-11-30 Thread ismail at pardus dot org dot tr


--- Comment #5 from ismail at pardus dot org dot tr  2007-11-30 11:59 
---
Indeed testcase doesn't abort with gcc 4.3 20071130 , so there must be another
gcc bug hiding there :(


-- 


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



[Bug ada/34301] New: GNAT Bug detected: visibility

2007-11-30 Thread tomas at cernaj dot de
I got the following message with GNAT on Ubuntu 7.10 using following command:

$ gcc-4.2 -O -S testpkg.adb
+===GNAT BUG DETECTED==+
| 4.2.1 (Ubuntu 4.2.1-5ubuntu6) (x86_64-pc-linux-gnu) GCC error:   |
| in gnat_to_gnu_entity, bei ada/decl.c:230|
| Error detected at testpkg.adb:24:9   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc-4.2 or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

testpkg.adb
testpkg.ads

compilation abandoned


It doesn't matter if the -O switch is given or not.
The files compiled are:

testpkg.ads:

with System;
with System.Address_To_Access_Conversions;

package TestPkg is

type T_Type is
record
Bit0: Boolean;
Bit1: Boolean;
Bit2: Boolean;
Bit3: Boolean;
Bit4: Boolean;
Bit5: Boolean;
Bit6: Boolean;
Bit7: Boolean;
end record;
pragma Pack (T_Type);
for T_Type'Size use 8;

X : constant access T_Type;

Y : T_Type;

procedure TestIt;

private

package TA is new System.Address_To_Access_Conversions (T_Type);
X : constant access T_Type := TA.To_Pointer (50);

end TestPkg;


testpkg.adb:

with System.Address_To_Access_Conversions;

package body TestPkg is

type U_Type is
record
Bit0: Boolean;
Bit1: Boolean;
Bit2: Boolean;
Bit3: Boolean;
Bit4: Boolean;
Bit5: Boolean;
Bit6: Boolean;
Bit7: Boolean;
end record;
pragma Pack (U_Type);
for U_Type'Size use 8;

package UA is new System.Address_To_Access_Conversions (U_Type);
Z : UA.Object_Pointer := UA.To_Pointer (49);

procedure TestIt is
begin
X.Bit4 := True;
Y.Bit5 := True;
Z.Bit6 := True;
end TestIt;

end TestPkg;


The error does only occur when using a deferred constant declaration for X. If
it's not deferred it compiles OK.


-- 
   Summary: GNAT Bug detected: visibility
   Product: gcc
   Version: 4.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tomas at cernaj dot de
  GCC host triplet: x86_64-pc-linux-gnu


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



[Bug middle-end/34300] gcc 4.2.2 miscompiles code that uses global register variables

2007-11-30 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-11-30 11:09 ---
Works with trunk as well.  (Aliasing should be not the issue here,
strict-aliasing
is off)


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.2.2
  Known to work||4.1.2 4.3.0


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



[Bug target/32086] [4.3 Regression] 10% to 20% Performance Regression Between 4.1.3 and 4.3

2007-11-30 Thread bonzini at gnu dot org


--- Comment #6 from bonzini at gnu dot org  2007-11-30 10:59 ---
Looking at
http://physik.fu-berlin.de/~tburnus/gcc-trunk/benchmark/gfortran-run.dat and
http://physik.fu-berlin.de/~tburnus/gcc-trunk/benchmark/gfortranVecCost-run.dat
I think we should turn on cost model by default, at least for i386.

Uros?


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-11-30 10:59:33
   date||


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



[Bug middle-end/34300] gcc 4.2.2 miscompiles code that uses global register variables

2007-11-30 Thread bruno at clisp dot org


--- Comment #1 from bruno at clisp dot org  2007-11-30 10:46 ---
Created an attachment (id=14671)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14671&action=view)
source code exhibiting the bug


-- 


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



[Bug middle-end/34300] New: gcc 4.2.2 miscompiles code that uses global register variables

2007-11-30 Thread bruno at clisp dot org
$ gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.2.2/configure --prefix=/packages/gnu-inst-gcc/4.2.2
--enable-shared --enable-version-specific-runtime-libs --enable-nls
--enable-threads=posix --enable-__cxa_atexit --with-as=/packages/gnu/bin/as
--with-ld=/packages/gnu/bin/ld --with-gmp=/packages/gnu-inst-gcc/4.2.2
--with-mpfr=/packages/gnu-inst-gcc/4.2.2
--with-ecj-jar=/gfs/ibook/Volumes/ExtData/source/gnu/gcc/sourceware.org-ecj/ecj-latest.jar
Thread model: posix
gcc version 4.2.2
$ gcc bug.c
$ ./a.out ; echo $?
0
$ gcc -O bug.c
$ ./a.out ; echo $?
Aborted
134

= bug.c 
typedef unsigned char UBYTE;
typedef long SLONG;
typedef unsigned long ULONG;
typedef ULONG uint32;
typedef SLONG sint32;
typedef sint32 sintL;
typedef uint32 uintL;
typedef sint32 sintP;
typedef uint32 uintP;
typedef void * gcv_object_t;
typedef uintP oint;
typedef uint32 tint;
typedef uint32 aint;
typedef uint32 uintV;
typedef gcv_object_t object;
typedef struct {
  gcv_object_t cdr ;
  gcv_object_t car ;
} cons_;
typedef cons_ * Cons;
typedef struct {
  gcv_object_t GCself;
} symbol_;
typedef symbol_ * Symbol;
typedef struct {
  gcv_object_t GCself;
  gcv_object_t data[2] ;
} svector_;
typedef svector_ * Svector;
register gcv_object_t* STACK __asm__("%ebx");
extern object allocate_vector (uintL len);
struct symbol_tab_ {
  symbol_ S_nil;
} symbol_tab_data = { { (UBYTE*)&symbol_tab_data.S_nil+2 } };
extern void newinsert (object sym, uintL size);
extern void abort (void);
static gcv_object_t stackspace[100];
object rehash_symtab (object symtab)
{
  STACK[0] = symtab, STACK += 1;
  {
uintL oldsize =
((uintV)(((oint)Svector)((oint)(symtab)-2))->data[0]))&((oint)0x2000UL-1))>>5));
{
  uintL newsize;
  {
object size;
STACK[0] = ((Svector)((oint)(symtab)-2))->data[1], STACK += 1;
STACK[0] = (object)((UBYTE*)(&symbol_tab_data.S_nil)+2), STACK += 1;
{
  uint32 prod = oldsize * 205UL;
  newsize = (prod < (1UL<<31) ? prod>>7 : 0xffUL);
}
newsize = (newsize - 1) | 1 ;
size = ((gcv_object_t)((oint)(tint)0xC000 + ((oint)(aint)(newsize)
<< 5)));
{
  object newtable = allocate_vector(newsize);
  STACK[0] = newtable, STACK += 1;
}
{
  gcv_object_t* offset = 0;
  uintL count;
  count = oldsize;
  do
{
  object oldentry =
*(gcv_object_t*)(((UBYTE*)(&((Svector)((oint)(((STACK[-3])))-2))->data[0])+((aint)offset)));
  if (((oint)(oldentry) & 3) == 2)
do
  {
STACK[0] = ((Cons)((oint)(oldentry)-2))->cdr, STACK += 1;
((Cons)((oint)(oldentry)-2))->cdr = STACK[-3];
STACK[-3] = oldentry;
newinsert(((Cons)((oint)(oldentry)-2))->car,newsize);
oldentry = (STACK -= 1, STACK[0]);
  }
while (((oint)(oldentry) & 3) == 2);
  offset++;
}
  while(!(--count==0));
}
if (STACK != &stackspace[54])
  abort();
{
  object newtable = (STACK -= 1, STACK[0]);
  STACK -= 2;
  symtab = (STACK -= 1, STACK[0]);
  ((Svector)((oint)(symtab)-2))->data[0] = size;
  ((Svector)((oint)(symtab)-2))->data[1] = newtable;
}
return symtab;
  }
}
  }
}
object allocate_vector (uintL len)
{
  return 0;
}
void newinsert (object sym, uintL size)
{
  if (STACK != &stackspace[55])
abort();
}
static cons_ cons2 = { (void*)0, (void*)'2' };
static cons_ cons1 = { (UBYTE*)&cons2+2, (void*)'1' };
static svector_ vector1 = { (UBYTE*)&vector1+2, { (UBYTE*)&cons1+2, 0 } };
static svector_ symtab1 = { (UBYTE*)&symtab1+2, { (void*)0x2020,
(UBYTE*)&vector1+2 } };
int main ()
{
  STACK = &stackspace[50];
  rehash_symtab((UBYTE*)&symtab1+2);
  return 0;
}


This is a regression, because gcc 3.4.4, gcc 4.0.4, and gcc 4.1.2 all compile
this program fine, even with higher optimization levels (-O2).

What happens is that gcc 4.2.2 keeps a "cache" of the STACK = %ebx variable
in another register, %edi, in the inner loop, around the function call of
newinsert(). Two things are wrong here:
1) It is wrong to assume that newinsert() will leave STACK unmodified.
   newinsert() could also always decrement STACK by 2, for example. You can
   see that the code is unchanged if the newinsert() function is put into a
   different compilation unit.
2) The value cached in %edi and used for this statement
 oldentry = (STACK -= 1, STACK[0]);
   is the value of STACK at the beginning of the loop MINUS 1.
   If assuming that newinsert() does not change the STACK, the value cached
   in %edi should be the value of STACK at the beginning of the loop
   (since th

[Bug c++/32245] [4.1 Regression] wrong POD type initialization with pointer to member

2007-11-30 Thread aaw at gcc dot gnu dot org


--- Comment #5 from aaw at gcc dot gnu dot org  2007-11-30 10:43 ---
Should this bug be marked as resolved, then?


-- 

aaw at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aaw at gcc dot gnu dot org


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



[Bug middle-end/34300] gcc 4.2.2 miscompiles code that uses global register variables

2007-11-30 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-11-30 10:50 ---
hmm, i see some alias issues.


-- 


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



[Bug c++/32245] [4.1 Regression] wrong POD type initialization with pointer to member

2007-11-30 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2007-11-30 10:49 ---
It's still broken in 4.1, so we want to keep it open (generally we don't close
wrong-code bugs as fixed only in later releases - unless the branch is closed).


-- 


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



[Bug target/32086] [4.3 Regression] 10% to 20% Performance Regression Between 4.1.3 and 4.3

2007-11-30 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2007-11-30 10:27 ---
gfortran -march=opteron -ffast-math -funroll-loops -ftree-loop-linear -msse3
-O3 -mfpmath=sse induct.f90:
user1m32.226s
gfortran -march=opteron -ffast-math -funroll-loops -ftree-loop-linear -msse3
-O3 -mfpmath=sse -fno-tree-vectorize induct.f90
user0m58.492s
fortran -march=opteron -ffast-math -funroll-loops -ftree-loop-linear -msse3 -O3
-mfpmath=387 induct.f90
user1m40.906s
gfortran -march=opteron -ffast-math -funroll-loops -ftree-loop-linear -msse3
-O3 -mfpmath=387 -fno-tree-vectorize induct.f90
user0m46.439s
gfortran -march=opteron -ffast-math -funroll-loops -ftree-loop-linear -msse3
-O3 -mfpmath=sse -fvect-cost-model induct.f90
user0m58.168s
gfortran -march=opteron -ffast-math -funroll-loops -ftree-loop-linear -msse3
-O3 -mfpmath=387 -fvect-cost-model induct.f90
user0m46.415s

All on:

Family: 15 Model: 4 Stepping: 10 Type: 0 Brand: 0
CPU Model: Pentium 4 D (Foster) Original OEM
Processor name string: Intel(R) Xeon(TM) CPU 3.60GHz

(so -march=opteron is a bit misleading)

I'd say that vectorizer cost model is doing its job pretty well.


-- 


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



[Bug ada/34289] Systematic recompilation of up-to-date object files when using the "-s" gnatmake option GNAT 4.3.0 on x86-*-Darwin8

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #5 from sam at gcc dot gnu dot org  2007-11-30 09:36 ---
I sent a mail to the author of this change to ask if and why it was necessary.
Note that it may have been perfectly valid in 2004 as this target was not
covered yet.


-- 


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



[Bug fortran/34186] dump-parse-tree: ICE for ts->cl->length, if ts->cl == NULL

2007-11-30 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2007-11-30 09:32 ---
Subject: Bug 34186

Author: burnus
Date: Fri Nov 30 09:31:56 2007
New Revision: 130534

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

PR fortran/34186
* symbol.c (generate_isocbinding_symbol): Set string length.
* dump-parse-tree.c (gfc_show_attr): Show BIND(C) attribute.
* misc.c (gfc_basic_typename): Handle BT_VOID.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/dump-parse-tree.c
trunk/gcc/fortran/misc.c
trunk/gcc/fortran/symbol.c


-- 


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



[Bug fortran/34186] dump-parse-tree: ICE for ts->cl->length, if ts->cl == NULL

2007-11-30 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-11-30 09:32 ---
FIXED on the trunk (4.3.0); 4.2.x and 4.1.x should be unaffected as the crash
seems to be due to C Binding changes.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug ada/34289] Systematic recompilation of up-to-date object files when using the "-s" gnatmake option GNAT 4.3.0 on x86-*-Darwin8

2007-11-30 Thread bechir dot zalila at gmail dot com


--- Comment #4 from bechir dot zalila at gmail dot com  2007-11-30 09:30 
---
Created an attachment (id=14670)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14670&action=view)
Patchfile that solves the poblem

This patchfile is valid only if the order among -g* and -m* switches is not
important.


-- 


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



[Bug libfortran/33583] FAIL: gfortran.dg/gamma_1.f90

2007-11-30 Thread fxcoudert at gcc dot gnu dot org


--- Comment #23 from fxcoudert at gcc dot gnu dot org  2007-11-30 09:27 
---
This time it can probably be marked as fixed. Please reopen it if the problem
persists.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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



[Bug ada/15611] Invalid program not detected, RM 3.7(11)

2007-11-30 Thread ludovic at ludovic-brenta dot org


--- Comment #3 from ludovic at ludovic-brenta dot org  2007-11-30 21:51 
---
7.3(15) says that a private type has a partial view and a full view, and the
properties of the partial view apply in some places, and the properties of the
full view apply in other places.  So in places where the full view applies, the
type is considered tagged, and cannot have default expressions in the
known_discriminant part.

You seem to imply that the full view does not apply in the completion of the
type, as the full view does not even exist yet.  Taking the RM literally, you
may be right but the annotated AARM 3.7(11.b/2) provides guidance:

   Defaults for discriminants of tagged types are disallowed so that
   every object of a tagged type is constrained, either by an explicit
   constraint, or by its initial discriminant values. This substantially
   simplifies the semantic rules and the implementation of inherited
   dispatching operations. For generic formal types, the restriction
   simplifies the type matching rules. If one simply wants a "default"
   value for the discriminants, a constrained subtype can be declared for
   future use.

I think this rule would be violated for objects of the type declared in the
private part where the full view applies, i.e. you could declare unconstrained
objects of the tagged type.

So, I confirm this to be a bug.


-- 

ludovic at ludovic-brenta dot org changed:

   What|Removed |Added

 Status|WAITING |NEW


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



[Bug ada/15799] Legal program rejected, using 'Base

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #4 from sam at gcc dot gnu dot org  2007-11-30 21:32 ---
I checked in the RM. "subtype_mark" is defined as a "/subtype/_name" which is
equivalent to a "name" which is not specifically defined. And "subtype_mark" is
used in "relation" which accepts T'Base after the "in" keyword, so I guess you
are right here.


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2005-06-14 04:55:55 |2007-11-30 21:32:34
   date||


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



[Bug c++/10179] alignment attributes are not inherited correctly with empty classes

2007-11-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug ada/22559] Bug box, Program_Error at sinput.adb:404, derived fixed-point type

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #4 from sam at gcc dot gnu dot org  2007-11-30 17:25 ---
Well, given that you tried the test with a version from November 23 and given
that I fixed it on November 28, it is quite normal that you see the bug :)


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|sam at rfc1149 dot net  |sam at gcc dot gnu dot org,
   ||anhvofrcaus at gmail dot com


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



[Bug ada/22559] Bug box, Program_Error at sinput.adb:404, derived fixed-point type

2007-11-30 Thread anhvofrcaus at gmail dot com


--- Comment #3 from anhvofrcaus at gmail dot com  2007-11-30 17:21 ---
The problem still exists as shown below.

bash-2.05b$ gcc -c test_deltas.adb
+===GNAT BUG DETECTED==+
| 4.3.0 20071123 (experimental) (i686-pc-linux-gnu) Program_Error
sinput.adb:403 explicit raise|
| Error detected at test_deltas.adb:1:1|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.

list may be incomplete
compilation abandoned


-- 


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



[Bug tree-optimization/34195] missed optimization with store motion (vectorizer)

2007-11-30 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-11-30 13:41 ---
Created an attachment (id=14673)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14673&action=view)
updated patch

I have updated Zdeneks patch for using an alias oracle for store motion and
loop invariant motion to mainline.  Of the store-motion cases in the testcase
there fail two, test4 and test5.


-- 


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



[Bug fortran/34133] Bind(c,name="") should be rejected for dummies; F2008: allow bind(c) for internal procs

2007-11-30 Thread burnus at gcc dot gnu dot org


--- Comment #9 from burnus at gcc dot gnu dot org  2007-11-30 12:16 ---
Subject: Bug 34133

Author: burnus
Date: Fri Nov 30 12:16:35 2007
New Revision: 130535

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

PR fortran/34133
* match.h: Add bool allow_binding_name to gfc_match_bind_c.
* decl.c
* (match_attr_spec,gfc_match_bind_c_stmt,gfc_match_entry):
Adjust accordingly.
(gfc_match_bind_c): Add allow_binding_name argument, reject
binding name for dummy arguments.
(gfc_match_suffix,gfc_match_subroutine): Make use of
allow_binding_name.

2007-11-20  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34133
* gfortran.dg/bind_c_usage_9.f03: Fixes; add -std=f2003.
* gfortran.dg/bind_c_usage_11.f03: New.
* gfortran.dg/bind_c_usage_12.f03: New.


Added:
trunk/gcc/testsuite/gfortran.dg/bind_c_usage_11.f03
trunk/gcc/testsuite/gfortran.dg/bind_c_usage_12.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/match.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/bind_c_usage_9.f03


-- 


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



[Bug ada/34289] Systematic recompilation of up-to-date object files when using the "-s" gnatmake option GNAT 4.3.0 on x86-*-Darwin8

2007-11-30 Thread bechir dot zalila at gmail dot com


--- Comment #3 from bechir dot zalila at gmail dot com  2007-11-30 09:19 
---
In gcc/config/i386/darwin.h, we can see:

#define CC1_SPEC "%(cc1_cpu) \
  %{!mkernel:%{!static:%{!mdynamic-no-pic:-fPIC}}} \
  %{!mmacosx-version-min=*:-mmacosx-version-min=%(darwin_minversion)} \
  %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols
}}"

which cintains the addition of -mmacosx-version-min=... if it is not given,

In gcc/ada/lang-spec.h we can see the following:

%{O*} %{W*} %{w} %{p} %{pg:-p} %{a} %{f*} %{d*} %{g*&m*} "
#if defined(TARGET_VXWORKS_RTP)
   "%{fRTS=rtp:-mrtp} "
#endif
#if CONFIG_DUAL_EXCEPTIONS
   "%{fRTS=sjlj:-fsjlj} "
#endif
   "%1 %{!S:%{o*:%w%*-gnatO}} \

The %1 (processing of CC1_SPEC) comes after the %{g*&m*} which should result in
adding the -mmacosx-version-min=... after all options that begins with -g* and
especially -gnatez, and it should not be added in the .ali file. For some
reason, the -mmacosx-version-min=... is added before all options that begins
with -g...

I replaced %{g*&m*} by %{g*} %{m*} in lang-specs.h and this solved the problem.
However, I don't know whether its is very important to conserve the order among
-g* and -m* switches when passing them to gnat1. The change 83658 did not say
why:

* lang-specs.h: Keep -g and -m switches in the same order, and as the
last switches.


-- 


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



[Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox

2007-11-30 Thread hjl at lucon dot org


--- Comment #12 from hjl at lucon dot org  2007-11-30 08:56 ---
gcc.dg/tree-ssa/pr34244.c in

http://gcc.gnu.org/viewcvs?view=rev&revision=130527

has duplicated content.


-- 

hjl at lucon dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug target/34299] New: [avr] ICE on function attribute syntax for main()

2007-11-30 Thread marek dot jawurek at gmx dot net
+++ This bug was initially created as a clone of Bug #31331 +++

On a Mac(Tiger) compilation of a TinyOS standard example application "Blink"
does not compile. Please mail me if important information is missing. As I
cannot access the MAC I cannot provide the C file created by the Nesc Compiler.


make micaz
sh: line 1: sha1sum: command not found
sh: line 1: sha1sum: command not found
mkdir -p build/micaz
compiling BlinkAppC to a micaz binary
ncc -o build/micaz/main.exe -Os -fnesc-separator=\never1096WritE -Wall -Wshadow
-Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb --param
max-inline-insns-single=10 -I/sw/include/python2.5/
-DIDENT_PROGRAM_NAME=\"BlinkAppC\" -DIDENT_USER_ID=\"admin\"
-DIDENT_HOSTNAME=\"macbook-zina.in\" -DIDENT_USER_HASH=0L
-DIDENT_UNIX_TIME=0x474aa64cL -DIDENT_UID_HASH=0L -fnesc-dump=wiring
-fnesc-dump='interfaces(!abstract())' -fnesc-dump='referenced(interfacedefs,
components)' -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkAppC.nc -lm 
/sw/tinyos-2.x/tinyos-2.x/tos/chips/atm128/timer/HplAtm128Timer0AsyncP.nc:178:
internal compiler error: in start_function, at c-decl.c:6177
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
make: *** [exe0] Error 1


The NesC Compiler involved is:
nescc: 1.2.9
gcc -_fnesc-gcc=gcc -specs=/opt/tinyostools//lib/ncc/tdspecs
-_fnesc-include=nesc_nx -I/opt/tinyostools//lib/ncc -v -DNESC=129
Using built-in specs.
Reading specs from /opt/tinyostools//lib/ncc/tdspecs
Target: i386-apple-darwin8.10.1
Configured with: ../gcc-4.2.2/configure --prefix=/opt/local
--enable-languages=c,c++,java,objc,obj-c++,fortran
--libdir=/opt/local/lib/gcc42 --includedir=/opt/local/include/gcc42
--infodir=/opt/local/share/info --mandir=/opt/local/share/man
--with-local-prefix=/opt/local --with-system-zlib --disable-nls
--disable-multilib --program-suffix=-mp-4.2
--with-gxx-include-dir=/opt/local/include/gcc42/c++/ --with-gmp=/opt/local
--with-mpfr=/opt/local
Thread model: posix
gcc version 4.2.2


avr-gcc -v produces:

Using built-in specs.
Target: avr
Configured with: ../configure --target=avr --prefix=/opt/tinyostools/
--disable-nls --enable-languages=c --disable-libsp : (reconfigured)
../configure --target=avr --prefix=/opt/tinyostools/ --disable-nls
--enable-languages=c --disable-libssp
Thread model: single
gcc version 4.2.2


-- 
   Summary: [avr] ICE on function attribute syntax for main()
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: marek dot jawurek at gmx dot net
GCC target triplet: avr


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



[Bug ada/34290] Problem with procedure visibility at the prefixed view call

2007-11-30 Thread sam at gcc dot gnu dot org


--- Comment #3 from sam at gcc dot gnu dot org  2007-11-30 09:51 ---
As a workaround, it looks like you can use an explicit dereference instead of
an implicit one for the Set_Central_Widget call:


Main_Windows.Impl.Main_Window_Impl (Result.all)'Access.Set_Central_Widget
  (Main_Windows.Impl.Main_Window_Impl (Result.all).Text_Edit);


-- 


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



[Bug tree-optimization/34172] Missed store ccp optimization

2007-11-30 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-11-30 10:25 ---
Mine.  I have a patch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-11-21 12:04:28 |2007-11-30 10:25:34
   date||


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



[Bug target/34261] Directed rounding doesn't work on MacOS X

2007-11-30 Thread j dot d dot pryce at ntlworld dot com


--- Comment #2 from j dot d dot pryce at ntlworld dot com  2007-11-30 12:40 
---
Subject: Re:  Directed rounding doesn't work on MacOS X

Dear Pinskia

On 28 Nov 2007, at 17:08, pinskia at gcc dot gnu dot org wrote:
> --- Comment #1 from pinskia at gcc dot gnu dot org  2007-11-28  
> 17:08 ---
> I doubt that this is a gcc bug.

Consider this. Suppose I just downloaded the vanilla GCC system on to  
the shiny new Mac from which I am writing. And I find everything  
works fine except that whenever I use fprintf(), it crashes the  
system. I report this as a bug, and I get back the comment
 "I doubt that this is a gcc bug."

In a strict sense maybe not. fprintf() in GCC works fine on other  
Unix-based systems. The trouble would be that GCC's communication  
with the OS kernel somehow screwed up on this particular system. So  
you can blame the kernel, not GCC. This is way beyond my capability  
as a user to fix or even understand, so I have to rely on you experts  
to fix it.

Of course as it's fprintf() that's crashing, you wouldn't say, in  
effect, "It's none of my business, guvnor". You would aim to fix it  
ASAP, because a C++ system without fprintf() is simply not credible.

Interval arithmetic IA is in a unique position. It *also* relies on a  
basic and simple communication with the OS, namely the ability to  
switch rounding mode. If you can do this, your IA software works. If  
you can't, it doesn't.

When it works, it can *provably* get correct answers to problems that  
are hard or even impractical by other means, e.g. see chapter 4 by  
Stan Wagon in the "100 dollar, 100 digit challenge" book.

The hardware hooks to switch rounding mode are there on any IEEE754- 
compliant CPU, as this one is. Languages support it: e.g. C has  
fegetround/fegetround.

The trouble seems to be that the detail of how rounding mode is  
handled at machine instruction level varies widely between machines.  
E.g. is the mode a global flag in the floating-point unit or is it  
encoded within each FP instruction? So perhaps it is tricky to make  
it work on each new architecture. While making fprintf() work is  
routine.

Tricky though it may be, the buck stops at you compiler writers.  
Interval computation is an increasingly important mainstream  
scientific computing activity. We interval folk haven't the skills to  
make it work on a new machine. If you don't help us, who will?

John Pryce
[EMAIL PROTECTED]


-- 


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



[Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox

2007-11-30 Thread jakub at gcc dot gnu dot org


--- Comment #13 from jakub at gcc dot gnu dot org  2007-11-30 13:24 ---
Zdenek fixed that.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/34195] missed optimization with store motion (vectorizer)

2007-11-30 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-11-30 13:46 ---
That moves the stores

  pS[i].x += (a[i]+b[i]);
  pS[i].y += (a[i]-b[i]);

out of the inner loop, but still none of the loops are vectorized (on x86_64).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2007-11-30 13:46:49
   date||


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



[Bug rtl-optimization/34302] [4.3 regression] Invalid code reordering

2007-11-30 Thread schwab at suse dot de


--- Comment #4 from schwab at suse dot de  2007-11-30 15:37 ---
Both.  The testcase is for 32 bit, but the equivalent source for 64 bit
produces basically the same bad code.


-- 


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



[Bug fortran/34133] Bind(c,name="") should be rejected for dummies; F2008: allow bind(c) for internal procs

2007-11-30 Thread burnus at gcc dot gnu dot org


--- Comment #10 from burnus at gcc dot gnu dot org  2007-11-30 16:04 ---
FIXED on the trunk (4.3.0).


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug preprocessor/34288] ssize_t used in libcpp/files.c without autoconf detection

2007-11-30 Thread antoine64leca at hotmail dot com


--- Comment #2 from antoine64leca at hotmail dot com  2007-11-30 16:26 
---
(In reply to comment #1)
> The check in gcc/configure.ac defaults ssize_t to int if it isn't found.
> But, we also need to do this in libcpp/configure.ac.

Thanks to confirm my intuition.


> If I send you a patch, can you test it?
> I will send a patch for configure as well.

I appreciate your help.
With configure's diffs, sure I can (although it won't be until Monday).


-- 


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



[Bug middle-end/31529] ICE in cgraph_expand_function with IMA

2007-11-30 Thread aldot at gcc dot gnu dot org


--- Comment #3 from aldot at gcc dot gnu dot org  2007-11-30 16:53 ---
Target independent. Reduced from toplev.c and i386.c:

$ cat one.i 
getline ()
{
}
$ cat two.i 
extern __inline
getline ()
{
}

$ /scratch/obj.i686/gcc-4.3/./prev-gcc/xgcc -v
-B/scratch/obj.i686/gcc-4.3/./prev-gcc/
-B/opt/i686/gcc-4.3//i686-linux-gnu/bin/ -c one.i two.i -o pr.o -combine
Reading specs from /scratch/obj.i686/gcc-4.3/./prev-gcc/specs
Target: i686-linux-gnu
Configured with: ../../src/gcc-4.3/configure -v
--enable-languages=c,c++,fortran,treelang --prefix=/opt/i686/gcc-4.3/
--enable-shared --with-system-zlib --libexecdir=/opt/i686/gcc-4.3/lib
--enable-nls --without-included-gettext --enable-threads=posix
--program-suffix=-4.3-HEAD --enable-__cxa_atexit
--enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug
--enable-mpfr --disable-werror --enable-checking=yes --enable-debug
--with-gmp=/opt/i686/gmp-4.2.2/ --with-mpfr=/opt/i686/mpfr-2.3.0
--disable-multilib --enable-intermodule i686-linux-gnu
Thread model: posix
gcc version 4.3.0 20071128 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-B/scratch/obj.i686/gcc-4.3/./prev-gcc/'
'-B/opt/i686/gcc-4.3//i686-linux-gnu/bin/' '-c' '-o' 'pr.o' '-combine'
'-mtune=generic'
 /scratch/obj.i686/gcc-4.3/./prev-gcc/cc1 -fpreprocessed one.i two.i -quiet
-dumpbase one.i -mtune=generic -auxbase-strip pr.o -version -o /tmp/ccCpNIlO.s
GNU C (GCC) version 4.3.0 20071128 (experimental) (i686-linux-gnu)
compiled by GNU C version 4.1.2 20061115 (prerelease) (Debian
4.1.1-21), GMP version 4.2.1, MPFR version 2.3.0-p4.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 67dafa8bc8cc74b9ccacf5609573a661
two.i:4: internal compiler error: in cgraph_expand_function, at
cgraphunit.c:1146


-- 


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



[Bug fortran/33888] ICE - CHARACTER expression using an ELEMENTAL FUNCTION as actual arg

2007-11-30 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2007-11-30 17:05 ---
I can see what to do - watch this spot.

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-10-25 06:30:06 |2007-11-30 17:05:04
   date||


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



[Bug rtl-optimization/34171] [4.3 Regression] Segfault in df_chain_remove_problem with -O3 on alpha

2007-11-30 Thread jakub at gcc dot gnu dot org


--- Comment #19 from jakub at gcc dot gnu dot org  2007-11-30 17:07 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/34195] missed optimization with store motion (vectorizer)

2007-11-30 Thread eres at il dot ibm dot com


--- Comment #5 from eres at il dot ibm dot com  2007-11-30 17:24 ---
(In reply to comment #4)
> That moves the stores
>   pS[i].x += (a[i]+b[i]);
>   pS[i].y += (a[i]-b[i]);
> out of the inner loop, but still none of the loops are vectorized (on x86_64).

Also on ppc64.  It seems to be the same problem as PR32824. Nevertheless lim
can improved performance regardless of vectorization, as was mentioned before.

Taken from the vectorizer dump:
u.c:17: note: vect_is_simple_use: operand pS_I__ypS_I_I_lsm.16_15
u.c:17: note: def_stmt: pS_I__ypS_I_I_lsm.16_15 = PHI

u.c:17: note: Unsupported pattern.
u.c:17: note: not vectorized: unsupported use in stmt.
u.c:17: note: unexpected pattern.(get_loop_exit_condition


-- 


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



[Bug fortran/34248] ICE on assumed length character function

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #5 from jvdelisle at gcc dot gnu dot org  2007-11-30 17:56 
---
Subject: Bug 34248

Author: jvdelisle
Date: Fri Nov 30 17:55:55 2007
New Revision: 130542

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

PR fortran/34248
* gfortran.dg/result_in_spec_3.f90: Add dg-option -std=gnu.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/result_in_spec_3.f90


-- 


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



[Bug fortran/34305] New: ICE with array(real) declaration

2007-11-30 Thread tkoenig at gcc dot gnu dot org
$ cat foo.f
  program test
  parameter (datasize = 1000)
  dimension idata(datasize)
  idata(1)   =  -1
  end

$ gfortran foo.f
foo.f:3.22:

  dimension idata(datasize) 
 1
Error: Expression at (1) must be of INTEGER type
foo.f:3.21:

  dimension idata(datasize) 
1
Error: The module or main program array 'idata' at (1) must have constant shape
foo.f:5.72:

  end   
   1
Internal Error at (1):
compare_bound(): Bad expression


-- 
   Summary: ICE with array(real) declaration
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org


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



[Bug libfortran/34291] [4.3 Regression] Segfault in io/list_read.c handling of end conditions

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #10 from jvdelisle at gcc dot gnu dot org  2007-11-30 23:22 
---
Fixed on trunk.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #13 from jvdelisle at gcc dot gnu dot org  2007-11-30 23:55 
---
Created an attachment (id=14676)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14676&action=view)
Another idea borrowing from Thomas

Thomas, This patch regression tests OK and passes streamio_12.f90, the original
that regressed on my first patch.  Just tinkering here a bit.  


-- 


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



[Bug libfortran/33985] access="stream",form="unformatted" doesn't buffer

2007-11-30 Thread kargl at gcc dot gnu dot org


--- Comment #17 from kargl at gcc dot gnu dot org  2007-12-01 07:34 ---
(In reply to comment #15)
> Hopefully this performance improvement can be backported for gcc 4.2.3 as 
> well.
> 

This is not a regression fix.  It therefore can't be backported.


-- 


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