[Bug debug/19523] [4.0/4.1/4.2/4.3 Regression] DBX_USE_BINCL support broken in the C++ compiler

2008-01-06 Thread ebotcazou at gcc dot gnu dot org


--- Comment #12 from ebotcazou at gcc dot gnu dot org  2008-01-06 08:07 
---
> I don't like it much.  I think it puts the work in the wrong place --
> libcpp and the lexer -- when, IMO, the problem should be addressed
> by changing dbxout.c (and perhaps the debug API).

I'm afraid that changing dbxout.c is out of the question at this point.  Maybe
we should simply concede defeat and close this as WONTFIX.


-- 


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



[Bug fortran/34662] inout argument with parameter

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-01-06 09:08 ---
Subject: Bug 34662

Author: burnus
Date: Sun Jan  6 09:07:47 2008
New Revision: 131348

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131348
Log:
2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34662
* interface.c (compare_actual_formal): Reject parameter
actual to intent(out) dummy.

2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34662
* gfortran.dg/intent_out_3.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/intent_out_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/34660] elemental and dummy procedure

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2008-01-06 09:19 ---
Subject: Bug 34660

Author: burnus
Date: Sun Jan  6 09:18:43 2008
New Revision: 131349

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131349
Log:
2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34660
* resolve.c (resolve_formal_arglist): Reject dummy procedure in
ELEMENTAL functions.

2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34660
* gfortran.dg/elemental_args_check_2.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/elemental_args_check_2.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/34654] no unformatted on internal file

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2008-01-06 09:22 ---
Subject: Bug 34654

Author: burnus
Date: Sun Jan  6 09:21:27 2008
New Revision: 131350

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131350
Log:
2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34654
* io.c (check_io_constraints): Disallow unformatted I/O for
internal units.

2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34654
* gfortran.dg/internal_io_unf.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/internal_io_unf.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/io.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/34387] FAIL: gfortran.dg/optional_dim_2.f90: FE vs library argument missmatch

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #14 from burnus at gcc dot gnu dot org  2008-01-06 09:39 ---
Posted patch for this PR and PR 34540.
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00192.html


-- 


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



[Bug libfortran/34540] cshift, eoshift, kind=1 and kind=2 arguments...

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #18 from burnus at gcc dot gnu dot org  2008-01-06 09:40 ---
Posted patch for this PR and PR 34387.
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00192.html


-- 


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



[Bug tree-optimization/34683] compile-time problem with -fstrict-aliasing

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-01-06 09:56 ---
The problem is we have loads of unpartitionable SFTs.  There are workarounds
possible that only might affect performance of generated code, for example
you can use --param salias-max-array-elements=0, which will reduce the number
of unpartitionable SFTs somewhat.  Or as a more big hammer, disable generating
SFTs completely by --param max-fields-for-field-sensitive=0.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


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



[Bug fortran/34654] no unformatted on internal file

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2008-01-06 10:02 ---
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=34654



[Bug fortran/34660] elemental and dummy procedure

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2008-01-06 10:03 ---
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=34660



[Bug fortran/34662] inout argument with parameter

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2008-01-06 10:03 ---
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=34662



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2008-01-06 10:07 ---
Note that this shouldn't really be affected by strict aliasing or not.  Note
that the FE generated IL causes the first alias pass to emit too conservative
alias info as well:

  # VUSE 
  D.6049_4652 = atmp.1110.data;
  D.6050_4653 = (complex(kind=4)[0:] *) D.6049_4652;
  D.6051_4654 = S.1113_289 + D.3340_4634;
  # VUSE 
  D.6052_4655 = (*D.6050_4653)[D.6051_4654];

I suppose the atmp.1110.data type is something like (void *), so the
cast is required.  But this really pessimizes the middle-end IL and
it looks like the FE knows it will be complex(kind=4)[4] at the point
of creation.  Note fixing this will also improve optimization and thus
runtime performance.

I also see the FE creates lots of array temporaries:

  struct array2_complex(kind=4) atmp.1093;
  complex(kind=4) A.1094[4];
  struct array2_complex(kind=4) atmp.1095;
  complex(kind=4) A.1096[4];
  struct array2_complex(kind=4) atmp.1100;
  complex(kind=4) A.1101[4];
  struct array2_complex(kind=4) atmp.1102;
  complex(kind=4) A.1103[4];
  struct array2_complex(kind=4) atmp.1106;
  complex(kind=4) A.1107[4];
  real(kind=4) D.3326;
...

instead of re-using a single one.  This also causes internal representation
to blow up.

So, to sum up, the situation could be significantly improved by improving
the FE.  (Like I noticed for I/O statements, where I provided a patch -
that was not accepted - to share temporary variables created for the I/O
context)

As we already have bugs for the middle-end partitioning problems, I make
this one a Fortran FE bug instead.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||33974
  Component|tree-optimization   |fortran
Summary|compile-time problem with - |Fortran FE generated IL
   |fstrict-aliasing|pessimizes middle-end IL and
   ||analysis


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



[Bug fortran/34681] SAVEd derived type with allocatable components causes ICE

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-01-06 10:08 ---
Patch posted by Paul:
http://gcc.gnu.org/ml/fortran/2008-01/msg00048.html


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-06 10:08:09
   date||


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



[Bug fortran/34685] New: [patch] Honour parentheses in expressions

2008-01-06 Thread burnus at gcc dot gnu dot org
This is just a reminder to ensure that Richard's patch does not get forgotten:
  http://gcc.gnu.org/ml/fortran/2008-01/msg00019.html
(especially since the patch tracker is currently down.)

> > This adds a middle-end PAREN_EXPR tree code that acts as re-association
> > barrier for floating point expressions.  This allows to model the Fortran
> > semantics that allow re-association for expressions that are not
> > explicitly wrapped inside parentheses.


-- 
   Summary: [patch] Honour parentheses in expressions
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #8 from burnus at gcc dot gnu dot org  2008-01-06 10:24 ---
> So, to sum up, the situation could be significantly improved by improving
> the FE.  (Like I noticed for I/O statements, where I provided a patch -
> that was not accepted - to share temporary variables created for the I/O
> context)

Could you add a link to that patch? I quickly searched my mail archive, but
could not find it.


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2008-01-06 10:34 ---
Basically, not re-using array descriptor variables is as bad as not re-using
I/O descriptor variables.  I also wonder what this _gfortran_internal_{un,}pack
is about?

For

   taux=gn(p2+p4)

gfortran generates

real(kind=4) A.1[4];
struct array1_real(kind=4) atmp.0;

atmp.0.dtype = 281;
atmp.0.dim[0].stride = 1;
atmp.0.dim[0].lbound = 0;
atmp.0.dim[0].ubound = 3;
atmp.0.data = (void *) &A.1;
atmp.0.offset = 0;
{
  integer(kind=4) S.2;

  S.2 = 0;
  while (1)
{
  if (S.2 > 3) goto L.1;
  (*(real(kind=4)[0:] *) atmp.0.data)[S.2] = (*p2)[S.2] + (*p4)[S.2];
  S.2 = S.2 + 1;
}
  L.1:;
}
D.531 = _gfortran_internal_pack (&atmp.0);
D.533 = gn (D.531);
if ((real(kind=4)[0:] *) D.531 != (real(kind=4)[0:] *) atmp.0.data)
  {
_gfortran_internal_unpack (&atmp.0, D.531);
{
  void * D.532;

  D.532 = D.531;
  if (D.532 != 0B)
{
  __builtin_free (D.532);
}
}
  }

why does it not know the result of

if ((real(kind=4)[0:] *) D.531 != (real(kind=4)[0:] *) atmp.0.data)

at the point it creates the IL?  I suppose this is about arrays with
stride != 1?


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2008-01-06 10:38 
---
This one:

http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01762.html

basically it mentiones async I/O as a reason to not do it, but instead the
callee can copy the I/O structure in that case instead (it probably needs
to anyway, as currently those structures live on the stack, so with async
I/O you'd need otherwise to guarantee that the I/O finished before the
current frame is left).


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2008-01-06 10:50 
---
So, currently you can build up arbitrary large chains of virtual clobbers with

  write (*,*) 'hello'
  write (*,*) 'hello'
  ...

as each of those writes create two un-partitionable SFTs.  For arrays
temporaries
this is the same (no idea what is the most simple statement to create one).
Without the fix for PR34093 this would even reliably ICE the compiler (and it
of course creates compile-time and memory-usage problems, because the growth
of the IL is non-linear).


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2008-01-06 11:09 
---
Actually it isn't that bad for I/O as long as there are no pointers to the
dt_parm structs in the IL (function arguments are ok).


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2008-01-06 11:13 
---
For array temporaries the pinning of SFTs happens because we have the address
of
the actual array _data_ in the IL:

  # SFT.10_52 = VDEF 
  atmp.0.data = &A.1;

the array descriptor itself is not the problem (the redundant descriptors still
consume memory, but should not cause compile-time problems where observed).


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2008-01-06 11:46 
---
As of optimization, the conversion sequence

  atmp.0.data = &A.1;
  D.540_5 = atmp.0.data;
  D.541_6 = (real(kind=4)[0:] *) D.540_5;
...
  (*D.541_6)[S.5_1] = D.545_14;

can be optimized to

  A.1[S.5_1] = D.545_14;

with the following patch that makes sure we use (real(kind=4)[4] *) instead
of the unknown size array type.

Index: trans-types.c
===
--- trans-types.c   (revision 131336)
+++ trans-types.c   (working copy)
@@ -1511,10 +1511,12 @@ gfc_get_array_type_bounds (tree etype, i
   /* TODO: known offsets for descriptors.  */
   GFC_TYPE_ARRAY_OFFSET (fat_type) = NULL_TREE;

-  /* We define data as an unknown size array. Much better than doing
+  /* We define data as an array with the correct size. Much better than doing
  pointer arithmetic.  */
   arraytype =
-build_array_type (etype, gfc_array_range_type);
+build_array_type (etype, build_range_type (gfc_array_index_type,
+   gfc_index_zero_node, int_const_binop (MINUS_EXPR, stride,
+   integer_one_node, 0)));
   arraytype = build_pointer_type (arraytype);
   GFC_TYPE_ARRAY_DATAPTR_TYPE (fat_type) = arraytype;

(the patch needs to be adjusted for the cases stride is not the actual array
size, but you should get the idea)


-- 


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



[Bug fortran/34685] [patch] Honour parentheses in expressions

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-01-06 12:01 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-06 12:01:49
   date||


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



[Bug fortran/34685] [patch] Honour parentheses in expressions

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-01-06 12:02 ---
Mine.


-- 

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|2008-01-06 12:01:49 |2008-01-06 12:02:10
   date||


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



[Bug target/34682] 70% slowdown with SSE enabled

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-01-06 12:18 ---
Please narrow down the particular loop in your testcase that gets slower.  It
looks like the testsuite measures several things.


-- 


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



[Bug fortran/34686] New: Aliasing bug when returning character pointers

2008-01-06 Thread rsandifo at gcc dot gnu dot org
char_pointer_func.f90 is failing at -O3 on mips-linux-gnu because
of an aliasing bug.  We have a function sfoo() that returns a pointer
to a string of length 4:

  function sfoo () result (sc1)
character*4, pointer   :: sc1
allocate (sc1)
sc1 = "abcd"
  end function sfoo

It gets the C prototype:

  static void sfoo (character(kind=1)[1:4] * &, integer(kind=4));

However, the first caller is:

  c1 = sfoo ()

and it passes a 0-based array, pstr.3:

  {
character(kind=1)[4] * pstr.3;

sfoo (&pstr.3, 4);
__builtin_memmove ((void *) c1, (void *) pstr.3, 4);
  }

So after inlining sfoo(), we get the following code at final_cleanup:

  D.617 = (character(kind=1)[1:4] *) D.616;
  *(character(kind=1)[1:4] * &) &pstr.3 = D.617;
  __builtin_memcpy (D.617, &"abcd"[1]{lb: 1 sz: 1}, 4);
  __builtin_memmove (c1, pstr.3, 4);

where __builtin_memcpy is small enough to open-code; we do not use a call.
The two pointer types ([4]-based and [1:4]-based) have different alias sets,
so in the failing case, we then schedule the read of pstr.3 before the
store to *(character(kind=1)[1:4] * &) &pstr.3.

The problem appears to be in this part of gfc_conv_function_call.
which deliberately ignores the bounds on the return value:

  /* Pass the string length.  */
  type = gfc_get_character_type (ts.kind, ts.cl);
  type = build_pointer_type (type);

  /* Return an address to a char[0:len-1]* temporary for
 character pointers.  */
  if (sym->attr.pointer || sym->attr.allocatable)
{
  /* Build char[0:len-1] * pstr.  */
  tmp = fold_build2 (MINUS_EXPR, gfc_charlen_type_node, len,
 build_int_cst (gfc_charlen_type_node, 1));
  tmp = build_range_type (gfc_array_index_type,
  gfc_index_zero_node, tmp);
  tmp = build_array_type (gfc_character1_type_node, tmp);
  var = gfc_create_var (build_pointer_type (tmp), "pstr");

  /* Provide an address expression for the function arguments.  */
  var = build_fold_addr_expr (var);
}
  else
var = gfc_conv_string_tmp (se, type, len);

(I believe TYPE is unused in the sym->attr.pointer || sym->attr.allocatable
case).


-- 
   Summary: Aliasing bug when returning character pointers
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rsandifo at gcc dot gnu dot org
GCC target triplet: mips-linux-gnu


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



[Bug fortran/34686] Aliasing bug when returning character pointers

2008-01-06 Thread rsandifo at gcc dot gnu dot org


--- Comment #1 from rsandifo at gcc dot gnu dot org  2008-01-06 12:24 
---
Testing a patch.


-- 

rsandifo at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rsandifo at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
  Known to fail||4.3.0
   Last reconfirmed|-00-00 00:00:00 |2008-01-06 12:24:09
   date||


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #15 from rguenth at gcc dot gnu dot org  2008-01-06 12:07 
---
Note that the large FRE compile-time is a dup of PR34450, try experimenting
with --param sccvn-max-scc-size=N and find a N where the problem vanishes.


-- 


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



[Bug target/34684] Cross DLL Exceptions

2008-01-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-01-06 12:29 ---
This is a target specific issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |target


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



[Bug fortran/34685] [patch] Honour parentheses in expressions

2008-01-06 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2008-01-06 12:52 ---
I bet this also fixes PR 14741.


-- 


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



[Bug ada/34674] Assert_Failure sinfo.adb:2141

2008-01-06 Thread sam at gcc dot gnu dot org


--- Comment #3 from sam at gcc dot gnu dot org  2008-01-06 13:41 ---
This is already fixed in the current SVN version.

When you report bugs against an unreleased version, please make sure you use a
recent one before reporting the bug.


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/34678] Optimization generates incorrect code with -frounding-math option (#pragma STDC FENV_ACCESS not implemented)

2008-01-06 Thread joseph at codesourcery dot com


--- Comment #5 from joseph at codesourcery dot com  2008-01-06 15:12 ---
Subject: Re:  Optimization generates incorrect code
 with -frounding-math option (#pragma STDC FENV_ACCESS not implemented)

On Sat, 5 Jan 2008, rguenth at gcc dot gnu dot org wrote:

> I wouldn't read the language this way.  Because that will forcefully disable
> all redundancy removing optimizations (which is what happens in this 
> testcase).
> What it currently guards is expression rewriting that changes the outcome if
> a rounding mode different than round-to-nearest is used.

My understanding has always been that -frounding-math should be usable for 
the code that calls rounding-mode-changing functions, rather than having 
no way to compile that code safely with GCC, as well as the code that does 
not call those functions but may execute with non-default rounding modes.  
The FENV_ACCESS pragma does not distinguish between the two.

> The finer-grained control the documentation mentions should not be globbed
> to -frounding-math IMHO.

The pragma would in effect set -frounding-math for particular regions of 
code; it isn't more fine-grained regarding whether the code sets the mode 
or merely runs under a different mode.

It is of course possible that -frounding-math should be split into 
multiple options (more fine-grained than the pragma) as the other related 
flags have been split over time.


-- 


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



[Bug rtl-optimization/34263] missed optimization: cleanup loop latch (SMS)

2008-01-06 Thread eres at il dot ibm dot com


--- Comment #1 from eres at il dot ibm dot com  2008-01-06 15:26 ---
A patch was committed to trunk r131352.


-- 


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



[Bug c++/31780] [4.2/4.3 regression] ICE with incompatible types for ?: with "complex type" conversion

2008-01-06 Thread gdr at cs dot tamu dot edu


--- Comment #23 from gdr at cs dot tamu dot edu  2008-01-06 15:28 ---
Subject: Re:  [4.2/4.3 regression] ICE with incompatible types for ?: with
"complex type" conversion

"mark at codesourcery dot com" <[EMAIL PROTECTED]> writes:

| Subject: Re:  [4.2/4.3 regression] ICE with incompatible types
|  for ?: with "complex type" conversion
| 
| gdr at cs dot tamu dot edu wrote:
| 
| > | > I'd rather distinguish the constructor taking __complex__ by adding
| > | > a dummy parameter:
| > | > 
| > | >enum _DummyArg { };
| > | >complex(__complex__ double __z, _DummyArg);
| > | 
| > | That will, however, break backwards compatibility for user programs (if
| > | any) relying on the constructor.
| > 
| > That isn't a concern because I never published that constructor as a
| > contract in the interface of std::complex.
| 
| I'm not sure what you mean by that.  It's a public constructor;

I mean that it is not a standard constructor, and it is not a
constructor I documented as a GNU extension.  The fact that it is a
public constructor is not, by itself, a documentation that it is a
standard constructor or a constructor that users should use.

-- Gaby


-- 


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



[Bug middle-end/34678] Optimization generates incorrect code with -frounding-math option (#pragma STDC FENV_ACCESS not implemented)

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-01-06 15:57 ---
I see.  So basically we need to split all floating point operators into two
variants, one specifying a default rounding mode is used and one specifying the
rounding mode is unknown.  I suppose the frontend parts would be actually quite
simple then?


-- 


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



[Bug fortran/34658] save / common

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-01-06 16:20 ---
Patch: http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00200.html


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-04 07:26:43 |2008-01-06 16:20:45
   date||


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



[Bug middle-end/34678] Optimization generates incorrect code with -frounding-math option (#pragma STDC FENV_ACCESS not implemented)

2008-01-06 Thread joseph at codesourcery dot com


--- Comment #7 from joseph at codesourcery dot com  2008-01-06 16:28 ---
Subject: Re:  Optimization generates incorrect code
 with -frounding-math option (#pragma STDC FENV_ACCESS not implemented)

On Sun, 6 Jan 2008, rguenth at gcc dot gnu dot org wrote:

> I see.  So basically we need to split all floating point operators into two
> variants, one specifying a default rounding mode is used and one specifying 
> the
> rounding mode is unknown.  I suppose the frontend parts would be actually 
> quite
> simple then?

More than two variants, in the end, depending on how you handle all the 
other flags - but eventually, everything about GIMPLE semantics controlled 
by the global flags should be directly represented in the GIMPLE and the 
pragmas, together with the command-line options determining global 
defaults, would map to appropriate choices of operations / flags on those 
operations.  This is desirable for LTO optimizing between objects compiled 
with different options as well.


-- 


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



[Bug c++/34152] Erratic behaviour: Exception translation (throw from signal handlers)

2008-01-06 Thread asteinarson at gmail dot com


--- Comment #7 from asteinarson at gmail dot com  2008-01-06 17:02 ---
(In reply to comment #2)
> Created an attachment (id=14728)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14728&action=view) [edit]
> proposed fix
> 
> I'm seeing similar behavior on x86-64 with both g++-4.1.3 (ubuntu-7.10 dist)
> and g++-4.2.2 build from sources.  I spent some time in the debugger and I've
> identified the problem and a fix.
> 

I've applied this path to GCC 4.3.0 (as of 2008-01-04). Unfortunately the
problem is still there for me. Both in the original test case and in the
non-call-except-cpp test case. 

Regards
// ATS

> 
> Thanks,
> -Ted
> 


-- 


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



[Bug target/34684] Cross DLL Exceptions

2008-01-06 Thread XuHotdogs at gmail dot com


--- Comment #2 from XuHotdogs at gmail dot com  2008-01-06 17:18 ---
(In reply to comment #1)
> This is a target specific issue.
> Yet in MinGW's release 3.4.5, the problem got solved. I don't know why this 
> happened again in GCC's official release 4.2.*.
Are there anyone having the same problems?


-- 


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



[Bug c++/34687] New: my gcc wont compile

2008-01-06 Thread jokehell2 at hotmail dot com
I got a bug while I was trying to compile an emulator i got this error msg:
gpp.exe internal error: (null) (program as)
I use this line to compile: gpp -g GBA.gpp -o gba.exe


-- 
   Summary: my gcc wont compile
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jokehell2 at hotmail dot com


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



[Bug c++/34687] my gcc wont compile

2008-01-06 Thread jokehell2 at hotmail dot com


--- Comment #1 from jokehell2 at hotmail dot com  2008-01-06 18:02 ---
Created an attachment (id=14886)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14886&action=view)
one of the files got by the line suggested by bug reportin instructions


-- 


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



[Bug fortran/34655] 5.5.2.5

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-01-06 18:08 ---
Subject: Bug 34655

Author: burnus
Date: Sun Jan  6 18:07:52 2008
New Revision: 131353

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131353
Log:
2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34655
* resolve.c (resolve_equivalence_derived): Reject derived types
* with
default initialization if equivalenced with COMMON variable.

2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34655
* gfortran.dg/equiv_constraint_9.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/equiv_constraint_9.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/34655] 5.5.2.5

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2008-01-06 18:13 ---
FIXED on the trunk (4.3.0).

Patch: http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00202.html


-- 

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



[Bug fortran/34658] save / common

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2008-01-06 18:17 ---
FIXED on the trunk (4.3.0).

Thanks for the bug report!


-- 

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



[Bug fortran/34658] save / common

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2008-01-06 18:17 ---
Subject: Bug 34658

Author: burnus
Date: Sun Jan  6 18:17:14 2008
New Revision: 131355

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

PR fortran/34658
* match.c (gfc_match_common): Remove blank common in
DATA BLOCK warning.
* resolve.c (resolve_common_vars): New function.
(resolve_common_blocks): Move checks to resolve_common_vars
and invoke that function.
(resolve_types): Call resolve_common_vars for blank commons.

2007-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

PR fortran/34658
* gfortran.dg/common_11.f90: New.
* gfortran.dg/blockdata_1.f90: Update test case.
* gfortran.dg/blockdata_2.f90: Update test case.


Added:
trunk/gcc/testsuite/gfortran.dg/common_11.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/blockdata_1.f90
trunk/gcc/testsuite/gfortran.dg/blockdata_2.f90


-- 


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



[Bug fortran/34387] FAIL: gfortran.dg/optional_dim_2.f90: FE vs library argument missmatch

2008-01-06 Thread jvdelisle at gcc dot gnu dot org


--- Comment #15 from jvdelisle at gcc dot gnu dot org  2008-01-06 18:19 
---
Subject: Bug 34387

Author: jvdelisle
Date: Sun Jan  6 18:19:06 2008
New Revision: 131356

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131356
Log:
2008-01-06  Jerry DeLisle  <[EMAIL PROTECTED]>

PR fortran/34387
* trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type
convert
the dummy variable expression, test for NULL, and pass the variable
address to the called function.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-expr.c


-- 


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



[Bug middle-end/34688] New: [4.1/4.2] ICE: output_operand: invalid expression as operand

2008-01-06 Thread tbm at cyrius dot com
[ Forwarded from http://bugs.debian.org/459429 ]

With 4.1 and 4.2 we get the following ICE on m68k with -O2.  This doesn't
happen with 4.3.

(etch)3889:[EMAIL PROTECTED]: ..-m68k-20080106-r131352/gcc] ./xgcc -B. -c -O2
~/erlexec.preprocessed.4.2.c
./erlexec.c: In function ‘build_args_from_string’:
./erlexec.c:1364: internal compiler error: output_operand: invalid expression
as operand
Please submit a full bug report,


-- 
   Summary: [4.1/4.2] ICE: output_operand: invalid expression as
operand
   Product: gcc
   Version: 4.2.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
GCC target triplet: m68k-linux-gnu


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



[Bug middle-end/34688] [4.1/4.2] ICE: output_operand: invalid expression as operand

2008-01-06 Thread tbm at cyrius dot com


--- Comment #1 from tbm at cyrius dot com  2008-01-06 18:23 ---
Created an attachment (id=14887)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14887&action=view)
preprocessed source


-- 


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



[Bug fortran/34689] New: [4.3 Regression] libgomp.fortran/appendix-a/a.33.3.f90 -O (test for excess errors)

2008-01-06 Thread hjl at lucon dot org
On Linux/Intel64, revision 131352 has

FAIL: libgomp.fortran/appendix-a/a.33.3.f90  -O  (test for excess errors)
FAIL: libgomp.fortran/appendix-a/a.38.1.f90  -O  (test for excess errors)
FAIL: libgomp.fortran/appendix-a/a.33.3.f90  -O  (test for excess errors)
FAIL: libgomp.fortran/appendix-a/a.38.1.f90  -O  (test for excess errors)

Revision 131341 is OK.


-- 
   Summary: [4.3 Regression] libgomp.fortran/appendix-a/a.33.3.f90
-O  (test for excess errors)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug fortran/34690] New: gfortran.dg/elemental_args_check_2.f90 doesn't work

2008-01-06 Thread hjl at lucon dot org
On Linux/Intel64, I got

FAIL: gfortran.dg/elemental_args_check_2.f90  -O   (test for errors, line 14)
FAIL: gfortran.dg/elemental_args_check_2.f90  -O  (test for excess errors)

with revision 131352.


-- 
   Summary: gfortran.dg/elemental_args_check_2.f90 doesn't work
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug libfortran/34540] cshift, eoshift, kind=1 and kind=2 arguments...

2008-01-06 Thread jvdelisle at gcc dot gnu dot org


--- Comment #19 from jvdelisle at gcc dot gnu dot org  2008-01-06 18:35 
---
Subject: Bug 34540

Author: jvdelisle
Date: Sun Jan  6 18:34:14 2008
New Revision: 131357

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131357
Log:
2008-01-06  Jerry DeLisle  <[EMAIL PROTECTED]>

PR libfortran/34540
* gfortran.dg/optional_dim_3.f90: New test.

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


-- 


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



[Bug c++/34687] my gcc wont compile

2008-01-06 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-01-06 18:37 ---
> gpp.exe internal error: (null) (program as)


as is crashing and as is part of the binutils project.

Can you give the output of compiling and add -v ?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal


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



[Bug fortran/34387] FAIL: gfortran.dg/optional_dim_2.f90: FE vs library argument missmatch

2008-01-06 Thread jvdelisle at gcc dot gnu dot org


--- Comment #16 from jvdelisle at gcc dot gnu dot org  2008-01-06 18:40 
---
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=34387



[Bug libfortran/34540] cshift, eoshift, kind=1 and kind=2 arguments...

2008-01-06 Thread jvdelisle at gcc dot gnu dot org


--- Comment #20 from jvdelisle at gcc dot gnu dot org  2008-01-06 18:40 
---
Fixed with patch to 34387.


-- 

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



[Bug fortran/34545] ICE when compiling Fortran 95 code

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #15 from burnus at gcc dot gnu dot org  2008-01-06 18:48 ---
Patch: http://gcc.gnu.org/ml/fortran/2008-01/msg00017.html

Paul, what is with your patch (see above)? (I OKed it a few days ago.)


-- 


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



[Bug libgomp/34689] [4.3 Regression] libgomp.fortran/appendix-a/a.33.3.f90 -O (test for excess errors)

2008-01-06 Thread dfranke at gcc dot gnu dot org


--- Comment #1 from dfranke at gcc dot gnu dot org  2008-01-06 18:57 ---
I can't remember any recent OMP-related changes in gfortran?! 
Moving to component libgomp, adding Jakub as CC.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dfranke at gcc dot gnu dot
   ||org, jakub at gcc dot gnu
   ||dot org
  Component|fortran |libgomp


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



[Bug fortran/34689] [4.3 Regression] libgomp.fortran/appendix-a/a.33.3.f90 -O (test for excess errors)

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-01-06 19:04 ---
Mine. Try gfortran on the test case and you see why it is mine - it has nothing
to do with OpenMP.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|jakub at gcc dot gnu dot org|
 AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
  Component|libgomp |fortran
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-06 19:04:32
   date||


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



[Bug fortran/34659] [4.3 Regression] corner case continuation line

2008-01-06 Thread jvdelisle at gcc dot gnu dot org


--- Comment #3 from jvdelisle at gcc dot gnu dot org  2008-01-06 19:24 
---
This is a regression.  I thought in the back of my mind that I had this working
right before.  Sure enough, 4.2 gives a warning.

gfc42 -static pr34659.f90 
Warning: '&' not allowed by itself in line 1


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|corner case continuation|[4.3 Regression] corner case
   |line|continuation line


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



[Bug libstdc++/34680] [4.3 Regression] Unconditional use of dynamic_cast in locale_facets.tcc breaks compilation with -fno-rtti

2008-01-06 Thread mmitchel at gcc dot gnu dot org


--- Comment #13 from mmitchel at gcc dot gnu dot org  2008-01-06 19:35 
---
I'm not keen on silently changing dynamic_cast to static_cast.  But, with
-fno-rtti, making dynamic_cast and static casts work seems OK.  Does
that not work now?

And, certainly, adding preprocessor macros (__GNU_CXX_EXCEPTIONS,
__GNU_CXX_RTTI) to indicate whether or not exceptions and RTTI are turned on or
not seems like a good idea.


-- 


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



[Bug fortran/34689] [4.3 Regression] libgomp.fortran/appendix-a/a.33.3.f90 -O (test for excess errors)

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2008-01-06 19:37 ---
Subject: Bug 34689

Author: burnus
Date: Sun Jan  6 19:36:44 2008
New Revision: 131359

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131359
Log:
2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

   PR fortran/34689
   * interface.c (compare_actual_formal): Fix intent(out) check for
   function result variables.

2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

   PR fortran/34689
   * gfortran.dg/intent_out_4.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/intent_out_4.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/34689] [4.3 Regression] libgomp.fortran/appendix-a/a.33.3.f90 -O (test for excess errors)

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2008-01-06 19:47 ---
FIXED on the trunk (4.3.0). Caused by the fix for PR34662.

Thanks for the report.


-- 

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



[Bug c++/34691] New: Default argument checking not performed after overload resolution.

2008-01-06 Thread rideau3 at gmail dot com
The following code is ill-formed according to the standard, but accepted by
GCC:

namespace A {
extern "C" void f(int = 5);
}
namespace B {
extern "C" void f(int = 4);
}

using A::f;
using B::f;
int main() {
f(3);//OK
f(); //ERROR
}

When a default argument is used as in the second call, it needs to be looked up
to make sure it isn't declared twice. If it is, then it's an error. GCC will
also accept the code whether the default arguments to f() are given the same or
different values.


-- 
   Summary: Default argument checking not performed after overload
resolution.
   Product: gcc
   Version: 4.1.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rideau3 at gmail dot com


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



[Bug libstdc++/34680] [4.3 Regression] Unconditional use of dynamic_cast in locale_facets.tcc breaks compilation with -fno-rtti

2008-01-06 Thread pcarlini at suse dot de


--- Comment #14 from pcarlini at suse dot de  2008-01-06 20:05 ---
(In reply to comment #13)
> I'm not keen on silently changing dynamic_cast to static_cast.  But, with
> -fno-rtti, making dynamic_cast and static casts work seems OK.  Does
> that not work now?

Yes, I checked, and that works.

> And, certainly, adding preprocessor macros (__GNU_CXX_EXCEPTIONS,
> __GNU_CXX_RTTI) to indicate whether or not exceptions and RTTI are turned on 
> or
> not seems like a good idea.

Great. We can use that for a library-only solution. Today I posted a patch, we
already have __EXCEPTIONS, and, for the new one, I choosen __GXX_RTTI
consistently with other existing C++ only predefine macros, if you would rather
prefer __GNU_CXX_RTTI, just let me know...


-- 


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



[Bug fortran/34689] [4.3 Regression] libgomp.fortran/appendix-a/a.33.3.f90 -O (test for excess errors)

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2008-01-06 20:18 ---
Subject: Bug 34689

Author: burnus
Date: Sun Jan  6 20:18:01 2008
New Revision: 131360

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131360
Log:
2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

   PR fortran/34689
   * gfortran.dg/intent_out_4.f90: Fix test case.


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


-- 


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



[Bug c++/34152] Erratic behaviour: Exception translation (throw from signal handlers)

2008-01-06 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2008-01-06 20:26 ---
Subject: Bug 34152

Author: jakub
Date: Sun Jan  6 20:25:57 2008
New Revision: 131361

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131361
Log:
PR c++/34152
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Check
_GLIBCXX_HAVE_GETIPINFO instead of HAVE_GETIPINFO.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/libsupc++/eh_personality.cc


-- 


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



[Bug fortran/34690] gfortran.dg/elemental_args_check_2.f90 doesn't work

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-01-06 20:30 ---
Subject: Bug 34690

Author: burnus
Date: Sun Jan  6 20:30:10 2008
New Revision: 131362

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131362
Log:
2008-01-06  Tobias Burnus  <[EMAIL PROTECTED]>

   PR fortran/34690
   * gfortran.dg/elemental_args_check_2.f90: Fix test case.


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


-- 


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



[Bug fortran/34690] gfortran.dg/elemental_args_check_2.f90 doesn't work

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-01-06 20:31 ---
FIXED my stupid mistake on the trunk (4.3.0) by changing the test case.

Introduced test case as fix for PR34660.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/34545] ICE when compiling Fortran 95 code

2008-01-06 Thread paulthomas2 at wanadoo dot fr


--- Comment #16 from paulthomas2 at wanadoo dot fr  2008-01-06 20:39 ---
Subject: Re:  ICE when compiling Fortran 95 code

Tobias,

Nothing - I have just updated to FC8 and blew all my nice set-up to 
pieces.  This is the first time that Fedora has let me down.  I will be 
operational first thing tomorrow morning - I just got back in action 
about 20 minutes ago but am too dog-tired to do anything right now.

BTW The PR34431 etc. patch is coming along.  I have cured all the 
regressions but have found other, very curious bugs.

eg.

integer (kind(1_8)) foo ()

fails with the patch.  The bailing out to defer kind association until 
USE and IMPORT are over is too soon - the kind expression needs to be 
converted and, on the basis of the expression, the deferral mechanism 
triggered.  I think that it is sufficient to do this if the expression 
contains a variable.

I am pretty sure that I know what I have to do to complete this but it 
will take a couple of days yet.  I'll tidy up the statement decoding, 
whilst I am about it.

Cheers

Paul


-- 


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



[Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage

2008-01-06 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-01-06 20:54 ---
2.95.4 says

t.C:9: `B::f(int)' conflicts with used function
t.C:2: `void A::f(int = 5)' previously declared here
t.C:9: default argument given for parameter 1 of `void B::f(int = 4)'
t.C:2: after previous specification in `void A::f(int = 5)'

fails since at least 3.3.6.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||accepts-invalid
  Known to fail||3.3.6
  Known to work||2.95.4
   Last reconfirmed|-00-00 00:00:00 |2008-01-06 20:54:23
   date||
Summary|Default argument checking   |[4.1/4.2/4.3 Regression]
   |not performed after overload|Default argument checking
   |resolution with C linkage   |not performed after overload
   ||resolution with C linkage
   Target Milestone|--- |4.2.3


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



[Bug c++/31780] [4.2/4.3 regression] ICE with incompatible types for ?: with "complex type" conversion

2008-01-06 Thread mark at codesourcery dot com


--- Comment #24 from mark at codesourcery dot com  2008-01-06 21:06 ---
Subject: Re:  [4.2/4.3 regression] ICE with incompatible types
 for ?: with "complex type" conversion

gdr at cs dot tamu dot edu wrote:

> | I'm not sure what you mean by that.  It's a public constructor;
> 
> I mean that it is not a standard constructor, and it is not a
> constructor I documented as a GNU extension.  The fact that it is a
> public constructor is not, by itself, a documentation that it is a
> standard constructor or a constructor that users should use.

But, it's also not documentation that users should *not* use it.  And,
now it's been out there for a long time, so it's quite likely that some
users somewhere *are* using it.  The run-time library has various
extensions to the standard, and the way people use a run-time library is
partly to open its header files and use what they see.  I think we have
to accept that this is indeed an incompatible change and likely to
affect users.

That said, I do think it's reasonable to break backwards compatibility
here if we have no other choice.  Right now, we have this odd wart in
the language with our handling of __complex__ (treating is as a
non-artithmetic type) which causes other problems.  So, it's possible
that we have to choose between making an incompatible change to the
library and leaving the language wart -- and I think we're all agreed
that in that case we'd rather add the dummy parameter you suggest.

But, you've not shown that my suggestion of adding additional
constructors is detectable by users.  If it's not, then that would be a
better solution: it would allow us to avoid the incompatible change to
the library.  Of course, if adding constructors itself breaks
compatibility, then that's a powerful argument against my suggestion.
So far, all you've said is that it makes you nervous.  Does it actually
break something?


-- 


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



[Bug target/34150] ICE: output_operand: invalid expression as operand on hppa

2008-01-06 Thread danglin at gcc dot gnu dot org


--- Comment #3 from danglin at gcc dot gnu dot org  2008-01-06 21:35 ---
This bug is present on 4.2 branch but head doesn't fail for me.  The problem
is a deleted label.

Breakpoint 1, output_operand (x=0x4be5a208, code=0)
at ../../gcc/gcc/final.c:3171
3171  gcc_assert (!x || !REG_P (x) || REGNO (x) < FIRST_PSEUDO_REGISTER);
(gdb) p debug_rtx (x)
(note/s 1897 4221 1898 ("*.LJpc=819954") NOTE_INSN_DELETED_LABEL 13722)
$1 = void
(gdb) bt
#0  output_operand (x=0x4be5a208, code=0) at ../../gcc/gcc/final.c:3171
#1  0x0013dc10 in output_asm_insn (template=,
operands=0x460ba0) at ../../gcc/gcc/final.c:3102
#2  0x0013e914 in final_scan_insn (insn=0x4bd755a0,
file=, optimize=,
nopeepholes=, seen=0xfafc2d48)
at ../../gcc/gcc/final.c:2468
#3  0x0013eab4 in final_scan_insn (insn=0x4bf32cd0, file=0x48c670,
optimize=, nopeepholes=,
seen=0xfafc2d48) at ../../gcc/gcc/final.c:2143
#4  0x0013ed48 in final (first=, file=0x48c670,
optimize=2) at ../../gcc/gcc/final.c:1610
#5  0x0013ee48 in rest_of_handle_final () at ../../gcc/gcc/final.c:3916
#6  0x002404b0 in execute_one_pass (pass=0x43924c)
at ../../gcc/gcc/passes.c:881
#7  0x00240630 in execute_pass_list (pass=0x43924c)
at ../../gcc/gcc/passes.c:932
#8  0x00240644 in execute_pass_list (pass=0x439e58)
at ../../gcc/gcc/passes.c:933
#9  0x00240644 in execute_pass_list (pass=0x439e24)
at ../../gcc/gcc/passes.c:933
#10 0x00077834 in tree_rest_of_compilation (fndecl=0x49d9de00)
at ../../gcc/gcc/tree-optimize.c:462
---Type  to continue, or q  to quit---q
Quit
(gdb) frame 2
#2  0x0013e914 in final_scan_insn (insn=0x4bd755a0,
file=, optimize=,
nopeepholes=, seen=0xfafc2d48)
at ../../gcc/gcc/final.c:2468
2468output_asm_insn (template, recog_data.operand);
(gdb) p debug_rtx (insn)
(jump_insn:TI 1452 1450 1455 (set (pc)
(if_then_else (eq (reg:SI 28 %r28 [orig:1024+-3 ] [1024])
(const_int 0 [0x0]))
(label_ref [1897 deleted])
(pc))) 25 {*pa.md:1712} (nil)
(expr_list:REG_BR_PRED (const_int 50 [0x32])
(expr_list:REG_DEAD (reg:SI 28 %r28 [orig:1024+-3 ] [1024])
(expr_list:REG_BR_PROB (const_int 200 [0xc8])
(nil)


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-06 21:35:49
   date||


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



[Bug preprocessor/34692] New: [4.2/4.3 regression]

2008-01-06 Thread reichelt at gcc dot gnu dot org
The following testcase triggers an internal error in the preprocessor
since GCC 4.2.0:


#define FOO(expr) (#expr)

FOO(
#pragma GCC diagnostic
)


bug.c:5:1: internal error: unspellable token PRAGMA
bug.c:5:1: internal error: unspellable token PRAGMA_EOL
bug.c:3: error: expected identifier or '(' before string constant

This is similar to PR34602, but not yet fixed on mainline.


-- 
   Summary: [4.2/4.3 regression]
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug preprocessor/34692] [4.2/4.3 regression] Internal error with prgama in macro

2008-01-06 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||34602
   Keywords||ice-on-invalid-code
Summary|[4.2/4.3 regression]|[4.2/4.3 regression]
   ||Internal error with prgama
   ||in macro
   Target Milestone|--- |4.2.3


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



[Bug libfortran/34670] bounds checking for array intrinsics

2008-01-06 Thread tkoenig at gcc dot gnu dot org


--- Comment #3 from tkoenig at gcc dot gnu dot org  2008-01-06 21:44 ---
Created an attachment (id=14888)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14888&action=view)
partial implementation

This is an implementation for the array intrinsics, but I'm having
trouble with writing test cases.  See next attachment.


-- 


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



[Bug fortran/34693] New: [4.3 Regression] gfortran.dg/common_6.f90 -O

2008-01-06 Thread hjl at lucon dot org
On Linux/Intel64, revision 131362 gives

FAIL: gfortran.dg/common_6.f90  -O  (internal compiler error)
FAIL: gfortran.dg/common_6.f90  -O  (test for excess errors)

Revision 131352 is OK.


-- 
   Summary: [4.3 Regression]  gfortran.dg/common_6.f90  -O
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug libfortran/34670] bounds checking for array intrinsics

2008-01-06 Thread tkoenig at gcc dot gnu dot org


--- Comment #4 from tkoenig at gcc dot gnu dot org  2008-01-06 21:46 ---
Created an attachment (id=14889)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14889&action=view)
Test case that doesn't work

This test case fails with my patch, although the "dg-shouldfail" directive
should take care of that.

Does anybody have any idea what I could do here?  If I can't get this
to work, I'll submit the patch without test cases.


-- 


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



[Bug fortran/34693] [4.3 Regression] gfortran.dg/common_6.f90 -O

2008-01-06 Thread hjl at lucon dot org


--- Comment #1 from hjl at lucon dot org  2008-01-06 21:47 ---
It may be introduced by the fix for bug 34658.


-- 

hjl at lucon dot org changed:

   What|Removed |Added

OtherBugsDependingO||34658
  nThis||


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



[Bug fortran/34693] [4.3 Regression] gfortran.dg/common_6.f90 -O

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-01-06 21:50 ---
To my understanding the problem existed before though it did not crash as often
as it does now. Before it failed here only with -m64 now also with -m32, but I
believe it is the same problem and thus unrelated to the fix of PR34658.

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


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/33375] ICE (segfault) gfortran.dg/common_6.f90

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2008-01-06 21:50 ---
*** Bug 34693 has been marked as a duplicate of this bug. ***


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hjl at lucon dot org


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



[Bug fortran/34693] [4.3 Regression] gfortran.dg/common_6.f90 -O

2008-01-06 Thread hjl at lucon dot org


--- Comment #3 from hjl at lucon dot org  2008-01-06 21:54 ---
Why didn't I see it with revision 131352?


-- 

hjl at lucon dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|DUPLICATE   |


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



[Bug middle-end/34694] New: [4.3 regression] Wrong line number for uninitialized variable

2008-01-06 Thread reichelt at gcc dot gnu dot org
The warning for the following testcase contains a wrong line number
on mainline (compile with "-fopenmp -O -Wall"):


int i;

void foo()
{
#pragma omp parallel
  {
int j;
i = j;
  }
}


bug.c: In function 'foo.omp_fn.0':
bug.c:8: warning: 'j' is used uninitialized in this function
bug.c:8: note: 'j' was declared here

The variable 'j' is in fact declared in line 7, and not 8.

The regression appeared between 2007-08-15 and 2007-09-14.
The bug is triggered with the C and C++ frontend.


-- 
   Summary: [4.3 regression] Wrong line number for uninitialized
variable
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug middle-end/34694] [4.3 regression] Wrong line number for uninitialized variable

2008-01-06 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug middle-end/34694] [4.3 regression] Wrong line number for uninitialized variable

2008-01-06 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
   Severity|normal  |minor
   Keywords||openmp


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



[Bug target/34150] ICE: output_operand: invalid expression as operand on hppa

2008-01-06 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #4 from dave at hiauly1 dot hia dot nrc dot ca  2008-01-06 
21:59 ---
Subject: Re:  ICE: output_operand: invalid expression as
operand on hppa

> This bug is present on 4.2 branch but head doesn't fail for me.  The problem
> is a deleted label.

The label is deleted in the dbr pass.  The uses count seems wrong, but
still the in_struct flag is set and the label should not have been deleted.

Dave


--- Comment #5 from dave at hiauly1 dot hia dot nrc dot ca  2008-01-06 
21:59 ---
Created an attachment (id=14890)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14890&action=view)


--- Comment #6 from dave at hiauly1 dot hia dot nrc dot ca  2008-01-06 
21:59 ---
Created an attachment (id=14891)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14891&action=view)


-- 


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



[Bug fortran/34545] ICE when compiling Fortran 95 code

2008-01-06 Thread pault at gcc dot gnu dot org


--- Comment #17 from pault at gcc dot gnu dot org  2008-01-06 22:00 ---
Subject: Bug 34545

Author: pault
Date: Sun Jan  6 22:00:00 2008
New Revision: 131364

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131364
Log:
2008-01-06  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/34545
* module.c (load_needed): If the namespace has no proc_name
give it the module symbol.

2008-01-06  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/34545
* gfortran.dg/use_12.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/use_12.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/module.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread jaydub66 at gmail dot com


--- Comment #16 from jaydub66 at gmail dot com  2008-01-06 22:08 ---
I've done some experimenting with older GCC versions I have floating around on
my machines:

Compiling the test case with both 4.1.2 and 4.2.1 gives an ICE, so I guess we
can't exactly call this a regression.

But then compiling with older 4.3 trunk builds works much better:
I have a version from August 24 of last year, which runs the test case at full
-O3 in a perfect 8sec, with 32MB memory usage (that is with
--enable-checking=release). And I have two other builds from October 8 and
November 9, which both run the test case in about 38s with 85MB mem-usage (they
are built with --enable-checking=debug, so this is probably just debugging
overhead). At least none of them takes the crazy 800MB of recent builds.

To sum up: It seems like trunk versions up to at least November 9 seem to work
fine on this test case.


-- 


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



[Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread rguenther at suse dot de


--- Comment #17 from rguenther at suse dot de  2008-01-06 22:12 ---
Subject: Re:  Fortran FE generated IL pessimizes middle-end
 IL and analysis

On Sun, 6 Jan 2008, jaydub66 at gmail dot com wrote:

> --- Comment #16 from jaydub66 at gmail dot com  2008-01-06 22:08 ---
> I've done some experimenting with older GCC versions I have floating around on
> my machines:
> 
> Compiling the test case with both 4.1.2 and 4.2.1 gives an ICE, so I guess we
> can't exactly call this a regression.
> 
> But then compiling with older 4.3 trunk builds works much better:
> I have a version from August 24 of last year, which runs the test case at full
> -O3 in a perfect 8sec, with 32MB memory usage (that is with
> --enable-checking=release). And I have two other builds from October 8 and
> November 9, which both run the test case in about 38s with 85MB mem-usage 
> (they
> are built with --enable-checking=debug, so this is probably just debugging
> overhead). At least none of them takes the crazy 800MB of recent builds.
> 
> To sum up: It seems like trunk versions up to at least November 9 seem to work
> fine on this test case.

Well, we know what introduced this regression on the trunk.  It was
the fix for PR33870.

Richard.


-- 


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



[Bug middle-end/34683] [4.3 Regression] Fortran FE generated IL pessimizes middle-end IL and analysis

2008-01-06 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||33870
  Component|fortran |middle-end
Summary|Fortran FE generated IL |[4.3 Regression] Fortran FE
   |pessimizes middle-end IL and|generated IL pessimizes
   |analysis|middle-end IL and analysis
   Target Milestone|--- |4.3.0


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



[Bug preprocessor/34692] [4.2/4.3 regression] Internal error with pragma in macro

2008-01-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-01-06 22:14 ---
I think this was introduced with the pragma changes from the openmp branch.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug preprocessor/34695] New: Preprocessor warning->error conversion from -Werror is silent

2008-01-06 Thread ed at catmur dot co dot uk
When -Werror is passed in, libcpp silently converts warnings to errors:
$ gcc foo.c -Wall -Werror
foo.c:3:1: error: "FOO" redefined
foo.c:2:1: error: this is the location of the previous definition

This is potentially confusing, and inconsistent with cc, which displays:
$ gcc foo.c -Wall -Werror
cc1: warnings being treated as errors
foo.c:1: warning: return type defaults to ‘int’
foo.c: In function ‘main’:
foo.c:1: warning: control reaches end of non-void function


-- 
   Summary: Preprocessor warning->error conversion from -Werror is
silent
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ed at catmur dot co dot uk


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



[Bug fortran/34693] [4.3 Regression] gfortran.dg/common_6.f90 -O

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2008-01-06 22:23 ---
I don't know. When I investigated PR 33375, I found that that the symbol
existed but was uninitialized. I do not understand why it started to fail with
x86-64 but valgrind showed it used also before uninitialized memory.

I assume that now that one accesses the symbol much more often, the chance of
crashes increases. At least it now also crashes here for -m32. But as the
symptoms are the same (crash for invalid COMMON) and as valgrind shows the same
error (invalid read), I still believe this is a duplicate of PR 33375.

You can try valgrind with an older version.

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


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/33375] ICE (segfault) gfortran.dg/common_6.f90

2008-01-06 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2008-01-06 22:23 ---
*** Bug 34693 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c++/33665] [4.1/4.2 regression] Bogus warning: `this.0' is used uninitialized in this function

2008-01-06 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2008-01-06 22:30 
---
Confirmed. Here's a further reduced testcase that triggers the warning
already with "-O -Wall":


struct A {};

struct B : A
{
  double x, y;

  B() : x(), y() {}
};

inline B getB()
{
  return B();
}

struct C : B
{
  C() : B(getB()) {}
};

C c;


bug.cc: In function 'void __static_initialization_and_destruction_0(int, int)':
bug.cc:7: warning: 'this.0' is used uninitialized in this function
bug.cc:7: note: 'this.0' was declared here

The bug appeared in GCC 4.1.2, but seems to be fixed on mainline.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2008-01-06 22:30:19
   date||
Summary|Warning: `this.11' is used  |[4.1/4.2 regression] Bogus
   |uninitialized in this   |warning: `this.0' is used
   |function|uninitialized in this
   ||function
   Target Milestone|--- |4.1.3


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



[Bug libstdc++/34680] [4.3 Regression] Unconditional use of dynamic_cast in locale_facets.tcc breaks compilation with -fno-rtti

2008-01-06 Thread paolo at gcc dot gnu dot org


--- Comment #15 from paolo at gcc dot gnu dot org  2008-01-06 22:31 ---
Subject: Bug 34680

Author: paolo
Date: Sun Jan  6 22:30:32 2008
New Revision: 131366

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131366
Log:
gcc/
2008-01-06  Paolo Carlini  <[EMAIL PROTECTED]>

PR libstdc++/34680
* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
* doc/cpp.texi ([Common Predefined Macros]): Document.

gcc/testsuite/
2008-01-06  Paolo Carlini  <[EMAIL PROTECTED]>

PR libstdc++/34680
* g++.dg/rtti/predefined-rtti-macro-1.C: New.
* g++.dg/rtti/predefined-rtti-macro-2.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/rtti/predefined-rtti-macro-1.C
trunk/gcc/testsuite/g++.dg/rtti/predefined-rtti-macro-2.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-cppbuiltin.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug preprocessor/34695] Preprocessor warning->error conversion from -Werror is silent

2008-01-06 Thread ed at catmur dot co dot uk


--- Comment #1 from ed at catmur dot co dot uk  2008-01-06 22:35 ---
Created an attachment (id=14892)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14892&action=view)
gcc-cpp-Werror-message.patch

Proposed patch.


-- 


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



[Bug libfortran/34669] libgfortran doesn't build with -pipe

2008-01-06 Thread steven at gcc dot gnu dot org


--- Comment #2 from steven at gcc dot gnu dot org  2008-01-06 22:40 ---
See http://gcc.gnu.org/ml/fortran/2008-01/msg00067.html


-- 


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



[Bug c++/34696] New: Overloaded template losing type in invoking a superclass method?

2008-01-06 Thread mrsam at courier-mta dot com
Given the following test program:

#include 
#include 

class X : private std::ostringstream {

public:

template X &operator<<(a arg)
{
#if 0
std::ostringstream &o= *this;

o << arg;
#else
std::ostringstream::operator<<(arg);
#endif
return *this;
}

using std::ostringstream::str;
};

int main(int argc, char **argv)
{
X x;

x << "foo";

std::cerr << x.str() << std::endl;
}


The output that I get is:

$ ./t
0x4014f0

... or some other hexadecimal pointer value.

If I change the "#if 0" to "#if 1" and compile the alternate version, I get the
expected results:

$ ./t
foo

After staring at this for a while, I can't see what the difference is here. It
almost looks like "std::ostringstream::operator<<(arg)" ends up invoking
std::ostringstream::operator<<(void *) even though arg's type is char * (or a
const char *).


-- 
   Summary: Overloaded template losing type in invoking a superclass
method?
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mrsam at courier-mta dot com
 GCC build triplet: x86_64-redhat-linux
  GCC host triplet: x86_64-redhat-linux
GCC target triplet: x86_64-redhat-linux


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



[Bug fortran/34659] [4.3 Regression] corner case continuation line

2008-01-06 Thread jvdelisle at gcc dot gnu dot org


--- Comment #4 from jvdelisle at gcc dot gnu dot org  2008-01-06 23:11 
---
This trivial patch fixes this:

Index: scanner.c
===
--- scanner.c   (revision 131355)
+++ scanner.c   (working copy)
@@ -1176,7 +1176,7 @@ load_line (FILE *input, char **pbuf, int
seen_ampersand = 1;
}

-  if ((c != '&' && c != '!') || (c == '!' && !seen_ampersand))
+  if ((c != '&' && c != '!' && c != ' ') || (c == '!' && !seen_ampersand))
seen_printable = 1;

   /* Is this a fixed-form comment?  */

I will commit as such and add a test case.  I may refine on this a bit. :)


-- 


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



[Bug c++/34152] Erratic behaviour: Exception translation (throw from signal handlers)

2008-01-06 Thread asteinarson at gmail dot com


--- Comment #9 from asteinarson at gmail dot com  2008-01-06 23:18 ---
(In reply to comment #8)
> Subject: Bug 34152
> 
> Author: jakub
> Date: Sun Jan  6 20:25:57 2008
> New Revision: 131361
> 
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131361
> Log:
> PR c++/34152
> * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Check
> _GLIBCXX_HAVE_GETIPINFO instead of HAVE_GETIPINFO.

I've checked this. From line 446 of libsupc++/eh_personality.cc: 

  // Parse the LSDA header.
  p = parse_lsda_header (context, language_specific_data, &info);
  info.ttype_base = base_of_encoded_value (info.ttype_encoding, context);
#ifdef _GLIBCXX_HAVE_GETIPINFO
  ip = _Unwind_GetIPInfo (context, &ip_before_insn);
#else
  ip = _Unwind_GetIP (context);
#endif

I've rebuild with the patch in a clean directory. g++ --version gives: 

$ g++43 --version
g++43 (GCC) 4.3.0 20080104 (experimental)


Regards
// ATS

> 
> Modified:
> trunk/libstdc++-v3/ChangeLog
> trunk/libstdc++-v3/libsupc++/eh_personality.cc
> 


-- 


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



[Bug c/34697] New: gcc -std=gnu99 emits global symbol for extern inline function declarations

2008-01-06 Thread dan at math dot uiuc dot edu
Here's the source code:

   extern inline void f() {}
   int main () {}

Compile with

gcc -c -std=gnu99 filename.c

Use nm filename.o to see that a global symbol f has been declared, but it
shouldn't be.

This prevents libgmp from being usable under Mac OS 10.5.

% uname -a
Darwin indigo.local 9.1.0 Darwin Kernel Version 9.1.0: Wed Oct 31 17:46:22 PDT
2007; root:xnu-1228.0.2~1/RELEASE_I386 i386


-- 
   Summary: gcc -std=gnu99 emits global symbol for extern inline
function declarations
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dan at math dot uiuc dot edu
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug c/34697] gcc -std=gnu99 emits global symbol for extern inline function declarations

2008-01-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-01-06 23:25 ---
Well extern inline for 4.3.0 and before in C99 mode was the GNU 89 extern
inline and not the C99 extern inline.  This was fixed for 4.3.0.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/34150] ICE: output_operand: invalid expression as operand on hppa

2008-01-06 Thread danglin at gcc dot gnu dot org


--- Comment #7 from danglin at gcc dot gnu dot org  2008-01-06 23:27 ---
Breakpoint 1, delete_insn (insn=0x4be5a208) at ../../gcc/gcc/cfgrtl.c:111
111   if (LABEL_P (insn))
(gdb) bt
#0  delete_insn (insn=0x4be5a208) at ../../gcc/gcc/cfgrtl.c:111
#1  0x001a8f30 in delete_related_insns (insn=0x4be5a208)
at ../../gcc/gcc/jump.c:1411
#2  0x001a9ed8 in redirect_jump_2 (jump=0x4bd7aae0, olabel=0x4be5a208,
nlabel=0x4bf325c8, delete_unused=1, invert=0) at ../../gcc/gcc/jump.c:1702
#3  0x001aa03c in redirect_jump (jump=0x4bd7aae0, nlabel=0x4bf325c8,
delete_unused=1) at ../../gcc/gcc/jump.c:1659
#4  0x0035b40c in fill_slots_from_thread (insn=0x4bd7aae0,
condition=0x4000d218, thread=0x4bef85f0,
opposite_thread=, likely=1, thread_if_true=1,
own_thread=0, slots_to_fill=1, pslots_filled=0xfb5e0e08,
delay_list=0x4bf33180) at ../../gcc/gcc/reorg.c:2900
#5  0x0035c8c0 in fill_simple_delay_slots (non_jumps_p=0)
at ../../gcc/gcc/reorg.c:2363
#6  0x0035d548 in dbr_schedule (first=0x4bd17840) at ../../gcc/gcc/reorg.c:3611
#7  0x0035e5a0 in rest_of_handle_delay_slots () at ../../gcc/gcc/reorg.c:3784
#8  0x002404b0 in execute_one_pass (pass=0x43b828)
at ../../gcc/gcc/passes.c:881
#9  0x00240630 in execute_pass_list (pass=0x43b828)
at ../../gcc/gcc/passes.c:932
#10 0x00240644 in execute_pass_list (pass=0x439e58)
at ../../gcc/gcc/passes.c:933
#11 0x00240644 in execute_pass_list (pass=0x439e24)
---Type  to continue, or q  to quit---
at ../../gcc/gcc/passes.c:933
#12 0x00077834 in tree_rest_of_compilation (fndecl=0x49d9de00)
at ../../gcc/gcc/tree-optimize.c:462
#13 0x0027abe8 in cgraph_expand_function (node=0x4bc944d0)
at ../../gcc/gcc/cgraphunit.c:1243
#14 0x0027c5c8 in cgraph_assemble_pending_functions ()
at ../../gcc/gcc/cgraphunit.c:373
#15 0x0027c0e8 in cgraph_finalize_function (decl=0x49d9de00, nested=0 '\0')
at ../../gcc/gcc/cgraphunit.c:502
#16 0x0004ad94 in end_java_method () at ../../gcc/gcc/java/decl.c:2002
#17 0x00063af8 in parse_class_file () at ../../gcc/gcc/java/jcf-parse.c:956
#18 0x000663ac in java_parse_file (set_yydebug=)
at ../../gcc/gcc/java/jcf-parse.c:1450
#19 0x0021cec8 in toplev_main (argc=,
argv=) at ../../gcc/gcc/toplev.c:1032
#20 0x403b6234 in __libc_start_main () from /lib/libc.so.6
#21 0x0001bfb0 in _start ()
(gdb) p debug_rtx (insn)
(code_label/s 1897 4221 1898 13722 ("*.LJpc=819954") [0 uses])
$4 = void


-- 


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



  1   2   >