[Bug fortran/46313] [OOP] class container naming collisions

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46313

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #26 from janus at gcc dot gnu.org 2011-09-10 08:22:13 UTC ---
(In reply to comment #25)
> > Is there anything left to do here, or should we finally close this one?
> 
> I think we might need to revisit the issue when submodules are implemented -
> but until then everything should work - even the program below works - thus
> closing as FIXED should be OK.

Finally closing as fixed.


[Bug c/50347] New: unexpected -Wconversion error from gcc builtin

2011-09-10 Thread gcc.hall at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50347

 Bug #: 50347
   Summary: unexpected -Wconversion error from gcc builtin
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: gcc.h...@gmail.com


This message is produced from the code example below.

bug.c: In function 'main':
bug.c:17:2: warning: conversion to 'long long int' from 'long long unsigned
int' may change the sign of the result [-Wsign-conversion]

builtin_ffsll is documented as:-
Built-in Function: int __builtin_ffsll (unsigned long long)

Similar to __builtin_ffs, except the argument type is unsigned long long. 

Note this does not happen with the other similar builtin's (__ctzll for
example)

-
#include 
#include 

int
main( int argc, char *argv[] )
{
  if( argc > 1 )
  {
char *tail;
unsigned long long n = strtoull( argv[1], &tail, 0 );
if( tail == argv[1] )
  return 1;

int lsb = __builtin_ffsll( n );

printf("lsb = %d\n", lsb );
  }
  return 0;
}
---
* gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/4.6.1/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.6.1/configure
Thread model: posix
gcc version 4.6.1 (GCC)


[Bug fortran/37297] [OOP] Ambiguity check for GENERIC bindings is not yet fully conformant

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37297

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE
Summary|Ambiguity check for F2003   |[OOP] Ambiguity check for
   |GENERIC bindings is not yet |GENERIC bindings is not yet
   |fully conformant|fully conformant

--- Comment #1 from janus at gcc dot gnu.org 2011-09-10 08:45:00 UTC ---
Note: The test case in comment #0 is (correctly) rejected with

PROCEDURE, PASS :: proc1
 1
Error: Non-polymorphic passed-object dummy argument of 'proc1' at (1)



However, when correcting this, it is still accepted:

MODULE m

  IMPLICIT NONE

  TYPE t
  CONTAINS
PROCEDURE, PASS :: proc1
PROCEDURE, NOPASS :: proc2
GENERIC :: gen => proc1, proc2
  END TYPE

CONTAINS

  SUBROUTINE proc1 (me)
CLASS(t) :: me
  END SUBROUTINE

  SUBROUTINE proc2 ()
  END SUBROUTINE

END MODULE

PROGRAM main
  USE m
  IMPLICIT NONE
  TYPE(t) :: myobj
  CALL myobj%gen ()
END PROGRAM main



This is the same issue as the one reported in PR47710.

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


[Bug fortran/47710] [OOP] Improve ambiguity check for GENERIC TBP w/ PASS and NOPASS

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47710

janus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||domob at gcc dot gnu.org

--- Comment #2 from janus at gcc dot gnu.org 2011-09-10 08:45:01 UTC ---
*** Bug 37297 has been marked as a duplicate of this bug. ***


[Bug fortran/47710] [OOP] Improve ambiguity check for GENERIC TBP w/ PASS and NOPASS

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47710

--- Comment #3 from janus at gcc dot gnu.org 2011-09-10 08:47:40 UTC ---
Another example test case (from PR37297):


MODULE m

  IMPLICIT NONE

  TYPE t
  CONTAINS
PROCEDURE, PASS :: proc1
PROCEDURE, NOPASS :: proc2
GENERIC :: gen => proc1, proc2
  END TYPE

CONTAINS

  SUBROUTINE proc1 (me)
CLASS(t) :: me
  END SUBROUTINE

  SUBROUTINE proc2 ()
  END SUBROUTINE

END MODULE

PROGRAM main
  USE m
  IMPLICIT NONE
  TYPE(t) :: myobj
  CALL myobj%gen ()
END PROGRAM main


[Bug target/38306] [4.4/4.5/4.6/4.7 Regression] 15% slowdown w.r.t. 4.3 of computational kernel on some architectures

2011-09-10 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38306

Manuel López-Ibáñez  changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #25 from Manuel López-Ibáñez  2011-09-10 
09:43:58 UTC ---
(In reply to comment #24)
> 
> The issue is that at -O3 the subroutine PD2VAL is not vectorized, while it is
> at -O2.

If you are interested in investigating why this is so by yourself, I would
suggest that you use the various -fdump- options to check what GCC is doing
differently between the two variants. 

1) Dump everything you can dump.

2) Then find the earliest optimization pass where they differ (you may even use
diff to make this faster).

3) Check subsequent dumps to see if that difference is actually what makes -O3
to not vectorize. (At this point you can play with -f* -fno-* to reduce the
differences further and isolate the trigger).


[Bug ada/48835] Porting GNAT to GNU/Linux/m68k

2011-09-10 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835

--- Comment #29 from Mikael Pettersson  2011-09-10 
09:52:34 UTC ---
(In reply to comment #28)
> Created attachment 24791 [details]
> working patch for gcc-4.7-20110709
> 
> gcc-4.7-20110709 bootstrapped fine with the attached forward-port of the
> gcc-4.5 patch.  I'm starting a bisection to see when trunk started to work
> again, hoping that the same change will unbreak 4.6.1.

After a lengthy bisection process, I've now finally identified r171341
 as the critical change
that unbroke GNAT/m68k on trunk.  r171341 mixes cleanups with bugfixes, and is
far too big to backport as-is to 4.6, so I'm now trying to split it up to
identify a minimal bugfix-only fragment that unbreaks GNAT/m68k.


[Bug c/50347] unexpected -Wconversion error from gcc builtin

2011-09-10 Thread gcc.hall at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50347

--- Comment #1 from Jeremy  2011-09-10 10:15:15 UTC 
---
I see this builtin is presumably intended to implement the library function
ffsll() which takes a signed argument.  In which case this is just a
documentation issue.


[Bug fortran/35831] Type-mismatch check missing for dummy procedure argument

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35831

janus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||janus at gcc dot gnu.org

--- Comment #6 from janus at gcc dot gnu.org 2011-09-10 10:18:58 UTC ---
(In reply to comment #0)
> Fortran 2003's "12.4.1.3 Actual arguments associated with dummy procedure
> entities" has about this:
> 
> "If the interface of the dummy argument is explicit, the characteristics 
> listed
> in 12.2 shall be the same for the associated actual argument and the
> corresponding dummy argument, except that a pure actual argument may be
> associated with a dummy argument that is not pure and an elemental intrinsic
> actual procedure may be associated with a dummy procedure (which is prohibited
> from being elemental)."


Note: The same restrictions are already listed in F95's chapter 12.4.1.2, as
well as F08's chapter 12.5.2.9. At first sight there are no differences between
the different versions of the standard in the quoted passage.


[Bug fortran/35831] [F95] Shape mismatch check missing for dummy procedure argument

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35831

janus at gcc dot gnu.org changed:

   What|Removed |Added

Summary|Shape mismatch check|[F95] Shape mismatch check
   |missing for dummy procedure |missing for dummy procedure
   |argument|argument

--- Comment #7 from janus at gcc dot gnu.org 2011-09-10 11:24:02 UTC ---
Some more F08 standard quotes:

"12.5.2.9 Actual arguments associated with dummy procedure entities
If the interface of a dummy procedure is explicit, its characteristics as a
procedure (12.3.1) shall be the same as those of its effective argument, ..."

"12.3.1 Characteristics of procedures
The characteristics of a procedure are the classification of the procedure as a
function or subroutine, whether it is pure, whether it is elemental, whether it
has the BIND attribute, the characteristics of its dummy arguments, ..."

"12.3.2.2 Characteristics of dummy data objects
The characteristics of a dummy data object are its type, its type parameters
(if any), its shape, ...
If a shape, size, or type parameter is assumed or deferred, it is a
characteristic."


Combining the three statements above, F08 clearly demands that the *shape* of
the argument should be the same (meaning that the bounds themselves may
differ).


"1.3.128 shape
array dimensionality of a data entity, represented as a rank-one array whose
size is the rank of the data entity and whose elements are the extents of the
data entity"


So I would conclude that:
 * comment #0 is invalid (as well as the original c.l.f. example)
 * comment #2 is valid (ifort's check seems to be too strict)


[Bug fortran/35831] [F95] Shape mismatch check missing for dummy procedure argument

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35831

--- Comment #8 from janus at gcc dot gnu.org 2011-09-10 11:26:50 UTC ---
(In reply to comment #7)
> "12.3.1 Characteristics of procedures
> The characteristics of a procedure are the classification of the procedure as a
> function or subroutine, whether it is pure, whether it is elemental, whether 
> it
> has the BIND attribute, the characteristics of its dummy arguments, ..."
> 
> "12.3.2.2 Characteristics of dummy data objects
> The characteristics of a dummy data object are its type, its type parameters
> (if any), its shape, ...
> If a shape, size, or type parameter is assumed or deferred, it is a
> characteristic."
> 
> 
> Combining the three statements above, F08 clearly demands that the *shape* of
> the argument should be the same (meaning that the bounds themselves may
> differ).

Note that the same restrictions on dummy characteristics also apply to other
situations, like e.g. overriding type-bound procedures (cf. PR47978).


[Bug fortran/47978] [OOP] Invalid INTENT in overriding TBP not detected

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47978

--- Comment #4 from janus at gcc dot gnu.org 2011-09-10 11:30:21 UTC ---
Relevant F08 standard quote:

4.5.7.3 Type-bound procedure overriding

1 If a specific type-bound procedure specified in a type definition has the same
binding name as a type-bound procedure from the parent type then the binding
specified in the type definition overrides the one from the parent type.

2 The overriding and overridden type-bound procedures shall satisfy the
following conditions.
 * Either both shall have a passed-object dummy argument or neither shall. If
the overridden type-bound procedure is pure then the overriding one shall also
be pure.
 * Either both shall be elemental or neither shall.
 * They shall have the same number of dummy arguments.
 * Passed-object dummy arguments, if any, shall correspond by name and
position.
 * Dummy arguments that correspond by position shall have the same names and
characteristics, except for the type of the passed-object dummy arguments.
 * Either both shall be subroutines or both shall be functions having the same
result characteristics (12.3.3).
 * If the overridden type-bound procedure is PUBLIC then the overriding one
shall not be PRIVATE.


[Bug target/38306] [4.4/4.5/4.6/4.7 Regression] 15% slowdown w.r.t. 4.3 of computational kernel on some architectures

2011-09-10 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38306

--- Comment #26 from Uros Bizjak  2011-09-10 12:31:23 
UTC ---
At -O3, vectorizer says:

pr38306.f90:246: note: not vectorized: the size of group of strided accesses is
not a power of 2D.2258_518 = *c0_193(D)[D.2257_517];


[Bug ada/48835] Porting GNAT to GNU/Linux/m68k

2011-09-10 Thread tg at mirbsd dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835

--- Comment #30 from Thorsten Glaser  2011-09-10 13:11:16 
UTC ---
(In reply to comment #29)

> After a lengthy bisection process, I've now finally identified r171341
>  as the critical change
> that unbroke GNAT/m68k on trunk.  r171341 mixes cleanups with bugfixes, and is

Wow, kudos for the work! You’re doing great!

> far too big to backport as-is to 4.6, so I'm now trying to split it up to
> identify a minimal bugfix-only fragment that unbreaks GNAT/m68k.

That’s nice, Debian apparently switched to GNAT 4.6 for Wheezy.


[Bug c++/50346] Function call foils VRP/jump-threading of redundant predicate on struct member

2011-09-10 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50346

Steven Bosscher  changed:

   What|Removed |Added

   Keywords||alias
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-09-10
 CC||rguenth at gcc dot gnu.org,
   ||steven at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Steven Bosscher  2011-09-10 
13:35:50 UTC ---
Confirmed. Here is the .143t.optimized dump for trunk r178747:

void test() ()
{
  struct foo f;
  bool D.2119;
  bool retval.0;

:
  # .MEM_13 = VDEF <.MEM_8(D)>
  f.b = 0;
  # .MEM_10 = VDEF <.MEM_13>
  retval.0_2 = bar ();
  if (retval.0_2 != 0)
goto ;
  else
goto ;

:
  # .MEM_11 = VDEF <.MEM_10>
  f.b = 1;
  goto ;

:
  # VUSE <.MEM_10>
  D.2119_5 = f.b;
  if (D.2119_5 != 0)
goto ;
  else
goto ;

:
Invalid sum of incoming frequencies 5000, should be 3898
  # .MEM_16 = PHI <.MEM_10(4), .MEM_11(3)>
  # .MEM_12 = VDEF <.MEM_16>
  foo::baz (&f);

:
Invalid sum of incoming frequencies 8898, should be 1
  # .MEM_7 = PHI <.MEM_10(4), .MEM_12(5)>
  # VUSE <.MEM_7>
  return;

}

Note how the call to bar() clobbers .MEM_13 which is f.b.

Alias related => Richi in CC.


[Bug middle-end/50343] [4.7 Regression] FAIL: gfortran.dg/graphite/id-22.f

2011-09-10 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50343

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-09-10
 Ever Confirmed|0   |1

--- Comment #5 from Dominique d'Humieres  2011-09-10 
13:53:08 UTC ---
Confirmed on x86_64-apple-darwin10, backtrace is

#0  vect_recog_dot_prod_pattern (stmts=, type_in=, type_out=)
at ../../work/gcc/tree-vect-patterns.c:261
#1  0x000100961623 in vect_pattern_recog (loop_vinfo=)
at ../../work/gcc/tree-vect-patterns.c:1295
#2  0x00010098b997 in vect_analyze_loop (loop=) at
../../work/gcc/tree-vect-loop.c:1500
#3  0x00010099bf78 in vectorize_loops () at
../../work/gcc/tree-vectorizer.c:203
#4  0x0001006f6bec in execute_one_pass (pass=0x100de7360) at
../../work/gcc/passes.c:2063
#5  0x0001006f6fad in execute_pass_list (pass=0x100de7360) at
../../work/gcc/passes.c:2118
#6  0x0001006f6fbf in execute_pass_list (pass=0x100de7540) at
../../work/gcc/passes.c:2119
#7  0x0001006f6fbf in execute_pass_list (pass=0x100de67c0) at
../../work/gcc/passes.c:2119
#8  0x00010083d848 in tree_rest_of_compilation (fndecl=) at ../../work/gcc/tree-optimize.c:420
#9  0x0001003ff24a in cgraph_expand_function (node=)
at ../../work/gcc/cgraphunit.c:1797
#10 0x0001004010da in cgraph_optimize () at
../../work/gcc/cgraphunit.c:1856
#11 0x0001004017da in cgraph_finalize_compilation_unit () at
../../work/gcc/cgraphunit.c:1310
#12 0x0001006880ed in write_global_declarations () at
../../work/gcc/langhooks.c:303
#13 0x0001007b656a in toplev_main (argc=4, argv=0x7fff5fbfd9d0) at
../../work/gcc/toplev.c:564
#14 0x00011004 in start ()


[Bug fortran/49479] [4.6/4.7 Regression] reshape / optionals / zero sized arrays

2011-09-10 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49479

--- Comment #10 from Thomas Koenig  2011-09-10 
14:07:01 UTC ---
Author: tkoenig
Date: Sat Sep 10 14:06:57 2011
New Revision: 178748

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178748
Log:
2011-09-10  Thomas Koenig  

PR fortran/49479
* generated/m4/ifunction.m4:  Always call internal_malloc_size
even when there is a zero-sized return array.
* generated/generated/maxloc1_16_i16.c: Regenerated.
* generated/generated/maxloc1_16_i1.c: Regenerated.
* generated/generated/maxloc1_16_i2.c: Regenerated.
* generated/generated/maxloc1_16_i4.c: Regenerated.
* generated/generated/maxloc1_16_i8.c: Regenerated.
* generated/generated/maxloc1_16_r10.c: Regenerated.
* generated/generated/maxloc1_16_r16.c: Regenerated.
* generated/generated/maxloc1_16_r4.c: Regenerated.
* generated/generated/maxloc1_16_r8.c: Regenerated.
* generated/generated/maxloc1_4_i16.c: Regenerated.
* generated/generated/maxloc1_4_i1.c: Regenerated.
* generated/generated/maxloc1_4_i2.c: Regenerated.
* generated/generated/maxloc1_4_i4.c: Regenerated.
* generated/generated/maxloc1_4_i8.c: Regenerated.
* generated/generated/maxloc1_4_r10.c: Regenerated.
* generated/generated/maxloc1_4_r16.c: Regenerated.
* generated/generated/maxloc1_4_r4.c: Regenerated.
* generated/generated/maxloc1_4_r8.c: Regenerated.
* generated/generated/maxloc1_8_i16.c: Regenerated.
* generated/generated/maxloc1_8_i1.c: Regenerated.
* generated/generated/maxloc1_8_i2.c: Regenerated.
* generated/generated/maxloc1_8_i4.c: Regenerated.
* generated/generated/maxloc1_8_i8.c: Regenerated.
* generated/generated/maxloc1_8_r10.c: Regenerated.
* generated/generated/maxloc1_8_r16.c: Regenerated.
* generated/generated/maxloc1_8_r4.c: Regenerated.
* generated/generated/maxloc1_8_r8.c: Regenerated.
* generated/generated/maxval_i16.c: Regenerated.
* generated/generated/maxval_i1.c: Regenerated.
* generated/generated/maxval_i2.c: Regenerated.
* generated/generated/maxval_i4.c: Regenerated.
* generated/generated/maxval_i8.c: Regenerated.
* generated/generated/maxval_r10.c: Regenerated.
* generated/generated/maxval_r16.c: Regenerated.
* generated/generated/maxval_r4.c: Regenerated.
* generated/generated/maxval_r8.c: Regenerated.
* generated/generated/minloc1_16_i16.c: Regenerated.
* generated/generated/minloc1_16_i1.c: Regenerated.
* generated/generated/minloc1_16_i2.c: Regenerated.
* generated/generated/minloc1_16_i4.c: Regenerated.
* generated/generated/minloc1_16_i8.c: Regenerated.
* generated/generated/minloc1_16_r10.c: Regenerated.
* generated/generated/minloc1_16_r16.c: Regenerated.
* generated/generated/minloc1_16_r4.c: Regenerated.
* generated/generated/minloc1_16_r8.c: Regenerated.
* generated/generated/minloc1_4_i16.c: Regenerated.
* generated/generated/minloc1_4_i1.c: Regenerated.
* generated/generated/minloc1_4_i2.c: Regenerated.
* generated/generated/minloc1_4_i4.c: Regenerated.
* generated/generated/minloc1_4_i8.c: Regenerated.
* generated/generated/minloc1_4_r10.c: Regenerated.
* generated/generated/minloc1_4_r16.c: Regenerated.
* generated/generated/minloc1_4_r4.c: Regenerated.
* generated/generated/minloc1_4_r8.c: Regenerated.
* generated/generated/minloc1_8_i16.c: Regenerated.
* generated/generated/minloc1_8_i1.c: Regenerated.
* generated/generated/minloc1_8_i2.c: Regenerated.
* generated/generated/minloc1_8_i4.c: Regenerated.
* generated/generated/minloc1_8_i8.c: Regenerated.
* generated/generated/minloc1_8_r10.c: Regenerated.
* generated/generated/minloc1_8_r16.c: Regenerated.
* generated/generated/minloc1_8_r4.c: Regenerated.
* generated/generated/minloc1_8_r8.c: Regenerated.
* generated/generated/minval_i16.c: Regenerated.
* generated/generated/minval_i1.c: Regenerated.
* generated/generated/minval_i2.c: Regenerated.
* generated/generated/minval_i4.c: Regenerated.
* generated/generated/minval_i8.c: Regenerated.
* generated/generated/minval_r10.c: Regenerated.
* generated/generated/minval_r16.c: Regenerated.
* generated/generated/minval_r4.c: Regenerated.
* generated/generated/minval_r8.c: Regenerated.
* generated/generated/product_c10.c: Regenerated.
* generated/generated/product_c16.c: Regenerated.
* generated/generated/product_c4.c: Regenerated.
* generated/generated/product_c8.c: Regenerated.
* generated/generated/product_i16.c: Regenerated.
* generated/generated/product_i1.c: Regenerated.
* generated/generated/product_i2.c: Regenerated.
* generated/generated/product_i4.c: Regenerated.
* generated/generated/product_i8.c: Regenerated.
* generated/generated/product_r10.c: Regenerated.
* generated/generated/product_r16.c: Regenerated.
* generated/generated/product_r4.c: Regen

[Bug bootstrap/50237] [4.7 regression] bootstrap comparison failure for libcpp/lex.o

2011-09-10 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50237

H.J. Lu  changed:

   What|Removed |Added

URL|http://gcc.gnu.org/ml/gcc-p |http://gcc.gnu.org/ml/gcc-p
   |atches/2011-09/msg00223.htm |atches/2011-09/msg00668.htm
   |l   |l

--- Comment #18 from H.J. Lu  2011-09-10 14:45:40 
UTC ---
The updated patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00668.html


[Bug fortran/37222] [OOP] Checks when overriding type-bound procedures are incomplete

2011-09-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37222

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords|rejects-valid   |
Summary|Checks when overriding  |[OOP] Checks when
   |type-bound procedures are   |overriding type-bound
   |incomplete  |procedures are incomplete

--- Comment #1 from janus at gcc dot gnu.org 2011-09-10 15:02:33 UTC ---
(In reply to comment #0)
> At the moment, only gfc_compare_types is called; among the items that fail to
> be checked are rank, array shape (if known), ALLOCATABLE/POINTER attributes 
> and
> INTENT declarations.

There are a few related PRs:
 * for the INTENT check there is PR47978
 * PR35831 concerns the shape check (originally for dummy procedure arguments,
but it applies to TBP overriding in the same way)

This PR can be used to track some of the missing checks:
 * ALLOCATABLE/POINTER
 * string length
 * ...


[Bug tree-optimization/50326] [4.7 regression] ICE in set_lattice_value, at tree-ssa-ccp.c:456

2011-09-10 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50326

Andreas Schwab  changed:

   What|Removed |Added

 CC||mjambor at suse dot cz
  Component|rtl-optimization|tree-optimization

--- Comment #4 from Andreas Schwab  2011-09-10 15:21:49 
UTC ---
c746e7c154c7956a558958496ff6a0a04274dcb3 is the first bad commit
commit c746e7c154c7956a558958496ff6a0a04274dcb3
Author: jamborm 
Date:   Wed Sep 7 14:25:39 2011 +

2011-09-07  Martin Jambor  

PR tree-optimization/49911
* tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
enumerations to the corresponding plain integer type.

* testsuite/g++.dg/tree-ssa/pr49911.C: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178639
138bc75d-0d04-0410-961f-82ee72b054a4


[Bug libstdc++/50348] New: -fvisibility=hidden doesn't hide stl implementation details.

2011-09-10 Thread pluto at agmk dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50348

 Bug #: 50348
   Summary: -fvisibility=hidden doesn't hide stl implementation
details.
Classification: Unclassified
   Product: gcc
   Version: 4.6.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pl...@agmk.net


$ cat x.hpp
#ifndef x_hpp
#define x_hpp

#include 
struct X { void foo(); };
typedef std::vector< X > VX;
VX bar() __attribute((visibility( "default" )));

#endif

$ cat x.cpp
#include "x.hpp"
VX bar() { return VX(); }


$ g++ -fvisibility=hidden -fvisibility-inlines-hidden -fPIC x.cpp -Wall -shared
-o libx.so -s
$ readelf -sW libx.so | grep -v UND | c++filt

Symbol table '.dynsym' contains 20 entries:
   Num:Value  Size TypeBind   Vis  Ndx Name
 2: 07b0 0 FUNCGLOBAL DEFAULT   10 _init
 3: 09f8 0 FUNCGLOBAL DEFAULT   13 _fini
 6: 090c30 FUNCGLOBAL DEFAULT   12 bar()
 7: 092a26 FUNCWEAK   DEFAULT   12 std::vector >::vector()
 8: 092a26 FUNCWEAK   DEFAULT   12 std::vector >::vector()
 9: 094426 FUNCWEAK   DEFAULT   12 std::_Vector_base >::_Vector_base()
10: 095e61 FUNCWEAK   DEFAULT   12 std::_Vector_base >::_Vector_impl::_Vector_impl()
11: 095e61 FUNCWEAK   DEFAULT   12 std::_Vector_base >::_Vector_impl::_Vector_impl()
12: 099c26 FUNCWEAK   DEFAULT   12
std::allocator::allocator()
13: 09b610 FUNCWEAK   DEFAULT   12
__gnu_cxx::new_allocator::new_allocator()
14: 094426 FUNCWEAK   DEFAULT   12 std::_Vector_base >::_Vector_base()
15: 099c26 FUNCWEAK   DEFAULT   12
std::allocator::allocator()
16: 09b610 FUNCWEAK   DEFAULT   12
__gnu_cxx::new_allocator::new_allocator()
17: 1dc0 0 NOTYPE  GLOBAL DEFAULT  ABS _edata
18: 1dc0 0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
19: 1dd0 0 NOTYPE  GLOBAL DEFAULT  ABS _end


imho the std::vector details shouldn't have default visiblity in this case.


[Bug middle-end/50343] [4.7 Regression] FAIL: gfortran.dg/graphite/id-22.f

2011-09-10 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50343

--- Comment #6 from H.J. Lu  2011-09-10 17:29:45 
UTC ---
With SPEC CPU 2006, I got

456.hmmer:

histogram.c: In function 'Lawless416':
histogram.c:1028:1: internal compiler error: tree check: expected ssa_name,
have real_cst in vect_recog_dot_prod_pattern, at tree-vect-patterns.c:261
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
specmake[3]: *** [histogram.o] Error 1

435.gromacs:

princ.c: In function 'calc_xcm':
princ.c:189:6: internal compiler error: tree check: expected ssa_name, have
real_cst in vect_recog_dot_prod_pattern, at tree-vect-patterns.c:261
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
specmake[3]: *** [princ.o] Error 1


[Bug pch/38101] dbxout_expand_expr() doesn't check return value of DECL_VALUE_EXPR()

2011-09-10 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38101

Dmitry Gorbachev  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #6 from Dmitry Gorbachev  
2011-09-10 18:30:42 UTC ---
Can't reproduce.


[Bug libstdc++/50349] New: /usr/bin/ld: warning: wildcard match appears in both version 'GLIBCXX_3.4' and 'CXXABI_1.3' in script

2011-09-10 Thread pluto at agmk dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50349

 Bug #: 50349
   Summary: /usr/bin/ld: warning: wildcard match appears in both
version 'GLIBCXX_3.4' and 'CXXABI_1.3' in script
Classification: Unclassified
   Product: gcc
   Version: 4.6.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pl...@agmk.net
  Host: x86_64-gnu-linux
Target: x86_64-gnu-linux
 Build: x86_64-gnu-linux


during native gcc-4.6 bootstrap the linker reports few warnings
on libstdc++-symbols.ver script:

(...)
/usr/bin/ld: warning: wildcard match appears in both version 'GLIBCXX_3.4' and
'CXXABI_1.3' in script
/usr/bin/ld: warning: using 'GLIBCXX_3.4' as version for
'std::basic_stringbuf,
std::allocator >::str() const' which is also named in version
'GLIBCXX_3.4.6' in script
/usr/bin/ld: warning: using 'GLIBCXX_3.4' as version for
'std::basic_string, std::allocator
>::_M_disjunct(char const*) const' which is also named in version
'GLIBCXX_3.4.5' in script
/usr/bin/ld: warning: using 'GLIBCXX_3.4' as version for
'std::basic_string, std::allocator
>::_M_disjunct(wchar_t const*) const' which is also named in version
'GLIBCXX_3.4.5' in script


[Bug target/50350] New: [4.6 Regression] ICE (segfault) in canonicalize_float_value

2011-09-10 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50350

 Bug #: 50350
   Summary: [4.6 Regression] ICE (segfault) in
canonicalize_float_value
Classification: Unclassified
   Product: gcc
   Version: 4.6.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: d...@gcc.gnu.org


Created attachment 25237
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25237
preprocessed source

seen with r178746 on the 4.6 branch, not seen with r178501.

/home/doko/gcc/gcc-4.6-4.6.1/build/./gcc/xgcc
-B/home/doko/gcc/gcc-4.6-4.6.1/build/./gcc/ -B/usr/ia64-linux-gnu/bin/
-B/usr/ia64-linux-gnu/lib/ -isystem /usr/ia64-linux-gnu/include -isystem
/usr/ia64-linux-gnu/sys-include-g -O2 -O2  -g -O2 -DIN_GCC  
-DUSE_LIBUNWIND_EXCEPTIONS -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -fPIC -DUSE_GAS_SYMVER -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector   -I. -I. -I../.././gcc
-I../../../src/libgcc -I../../../src/libgcc/. -I../../../src/libgcc/../gcc
-I../../../src/libgcc/../include  -DHAVE_CC_TLS  -o __trampoline.o -MT
__trampoline.o -MD -MP -MF __trampoline.dep -DL__trampoline
-xassembler-with-cpp \
  -c ../../../src/libgcc/../gcc/config/ia64/lib1funcs.asm -include
__trampoline.vis
/home/doko/gcc/gcc-4.6-4.6.1/build/./gcc/xgcc
-B/home/doko/gcc/gcc-4.6-4.6.1/build/./gcc/ -B/usr/ia64-linux-gnu/bin/
-B/usr/ia64-linux-gnu/lib/ -isystem /usr/ia64-linux-gnu/include -isystem
/usr/ia64-linux-gnu/sys-include-g -O2 -O2  -g -O2 -DIN_GCC  
-DUSE_LIBUNWIND_EXCEPTIONS -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -fPIC -DUSE_GAS_SYMVER -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector   -I. -I. -I../.././gcc
-I../../../src/libgcc -I../../../src/libgcc/. -I../../../src/libgcc/../gcc
-I../../../src/libgcc/../include  -DHAVE_CC_TLS  -o _lshrdi3.o -MT _lshrdi3.o
-MD -MP -MF _lshrdi3.dep -DL_lshrdi3 -c ../../../src/libgcc/../gcc/libgcc2.c \
  -fvisibility=hidden -DHIDE_EXPORTS
../../../src/libgcc/../gcc/libgcc2.c: In function '__lshrti3':
../../../src/libgcc/../gcc/libgcc2.c:404:1: internal compiler error:
Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.


make[5]: *** [_lshrdi3.o] Error 1
make[5]: Leaving directory
`/home/doko/gcc/gcc-4.6-4.6.1/build/ia64-linux-gnu/libgcc'
make[4]: *** [all-stage2-target-libgcc] Error 2
make[4]: Leaving directory `/home/doko/gcc/gcc-4.6-4.6.1/build'
make[3]: *** [stage2-bubble] Error 2
make[3]: Leaving directory `/home/doko/gcc/gcc-4.6-4.6.1/build'
make[2]: *** [bootstrap-lean] Error 2


Program received signal SIGSEGV, Segmentation fault.
0x408567c1 in canonicalize_float_value ()
(gdb) bt
#0  0x408567c1 in canonicalize_float_value ()
#1  0x40856ff0 in set_lattice_value ()
#2  0x40863040 in visit_assignment ()
#3  0x4091f9e0 in simulate_stmt ()
#4  0x40921930 in ssa_propagate ()
#5  0x408598b0 in do_ssa_ccp ()
#6  0x405c6c20 in execute_one_pass ()
#7  0x405c7490 in execute_pass_list ()
#8  0x405c74e0 in execute_pass_list ()
#9  0x407ef930 in tree_rest_of_compilation ()
#10 0x40adc870 in cgraph_expand_function ()
#11 0x40ae1300 in cgraph_optimize ()
#12 0x40ae22a0 in cgraph_finalize_compilation_unit ()
#13 0x400ca3f0 in c_write_global_declarations ()
#14 0x40749ad0 in toplev_main ()
#15 0x4009bdf0 in main ()


[Bug c/50347] unexpected -Wconversion error from gcc builtin

2011-09-10 Thread gcc.hall at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50347

--- Comment #2 from Jeremy  2011-09-10 21:57:59 UTC 
---
I think also the doc needs changing for __builtin_bswap64/32 as it looks like
they accept and return unsigned integers.  uint64_t instead of int64_t.


[Bug target/40959] FreeBSD/ia64 build fails: No rule to make target `/usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by `T_TARGET'.

2011-09-10 Thread gerald at pfeifer dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40959

Gerald Pfeifer  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
Summary|[4.4/4.5/4.6/4.7|FreeBSD/ia64 build fails:
   |regression] FreeBSD/ia64|No rule to make target
   |build fails: No rule to |`/usr/ports/lang/gcc43/work
   |make target |/build/ia64-portbld-freebsd
   |`/usr/ports/lang/gcc43/work |8.0/libgcc/crtfastmath.o',
   |/build/ia64-portbld-freebsd |needed by `T_TARGET'.
   |8.0/libgcc/crtfastmath.o',  |
   |needed by `T_TARGET'.   |

--- Comment #29 from Gerald Pfeifer  2011-09-11 
00:38:18 UTC ---
Marking as FIXED for GCC 4.5 and mainline before 4.6 was released, thus
also GCC 4.6 and GCC 4.7.

I am not going to address this for the old GCC 4.4 branch.  Still closing
as RESOLVED FIXED overall.


[Bug target/45650] [4.4/4.5/4.6/4.7 regression] FreeBSD/ia64 builds fails: hidden symbol `_Unwind_FindTableEntry' isn't defined

2011-09-10 Thread gerald at pfeifer dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45650

Gerald Pfeifer  changed:

   What|Removed |Added

  Known to fail||

--- Comment #4 from Gerald Pfeifer  2011-09-11 
00:39:59 UTC ---
(In reply to comment #3)
> This issue reappeared again.

This issue never was gone for upstream GCC. I had a hack in the lang/gcc47
port on FreeBSD which worked around this which did not apply any more with
the latest snapshot.


[Bug bootstrap/50010] [4.7 regression] i386-unknown-freebsd bootstrap comparison failure

2011-09-10 Thread gerald at pfeifer dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50010

Gerald Pfeifer  changed:

   What|Removed |Added

   Last reconfirmed|2011-08-20 00:00:00 |2011-09-10 0:00

--- Comment #10 from Gerald Pfeifer  2011-09-11 
00:43:13 UTC ---
Putting binutils 2.21.1 in PATH before the system versions of these tools,
which
are binutils 2.17.50 based, avoids the issue on FreeBSD 9/i386.


[Bug middle-end/39333] gcc 4.3.3 miscompiles when -finline-small-functions is used

2011-09-10 Thread galtgendo at o2 dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39333

--- Comment #27 from Rafał Mużyło  2011-09-11 03:40:16 
UTC ---
Created attachment 25238
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25238
prepocessed code of possibly related failure in gcc 4.6.1

OK, I'm not sure if comments from 24 on have anything to do with the original
problem, but...

https://bugs.gentoo.org/show_bug.cgi?id=365015
There you'll find an interesting testcase, that I've reduced to just this much
preprocessed code - it fails with '-O1', succeeds with '-O2'.

To be exact, it succeeds with '-O1 -fipa-cp'.
What's more, it also succeeds, if '__attribute__ ((__always_inline__))' is
removed.

The exact failure:
Using built-in specs.
COLLECT_GCC=gcc-4.6.1
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.6.1/lto-wrapper
Target: i686-pc-linux-gnu
Configured with:
/mnt/workbox/builds/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.6.1
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.6.1/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.6.1
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.6.1/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.6.1/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.6.1/include/g++-v4
--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check
--with-cloog-include=/usr/include/cloog-ppl --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --disable-werror
--enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp
--enable-libgomp
--with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.6.1/python
--enable-checking=release --disable-libgcj --with-arch=i686 --enable-objc-gc
--enable-languages=c,c++,objc,fortran --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.6.1-r1 p1.0,
pie-0.4.5' --disable-libstdcxx-pch
Thread model: posix
gcc version 4.6.1 (Gentoo 4.6.1-r1 p1.0, pie-0.4.5) 
COLLECT_GCC_OPTIONS='-v' '-Wall' '-O1' '-c' '-o' 'fprintf-bug0-4.6.o'
'-save-temps' '-mtune=generic' '-march=i686'
 /usr/libexec/gcc/i686-pc-linux-gnu/4.6.1/cc1 -fpreprocessed fprintf-bug0-4.6.i
-quiet -dumpbase fprintf-bug0-4.6.i -mtune=generic -march=i686 -auxbase-strip
fprintf-bug0-4.6.o -O1 -Wall -version -o fprintf-bug0-4.6.s
GNU C (Gentoo 4.6.1-r1 p1.0, pie-0.4.5) version 4.6.1 (i686-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version 3.0.1-p4,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Gentoo 4.6.1-r1 p1.0, pie-0.4.5) version 4.6.1 (i686-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version 3.0.1-p4,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5f6717c7397ac8a626933ce7eb52
fprintf-bug0-4.6.i: In function ‘write_cfg’:
fprintf-bug0-4.6.i:71:1: sorry, unimplemented: inlining failed in call to
‘fprintf’: indirect function call with a yet undetermined callee
fprintf-bug0-4.6.i:78:7: sorry, unimplemented: called from here