[Bug bootstrap/50543] Bootstrap fails to build for latest 4.6

2011-09-28 Thread kirill.yukhin at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50543

--- Comment #5 from Yukhin Kirill  2011-09-28 
07:30:46 UTC ---
(In reply to comment #4)
> I have no problem with
> 
> /export/gnu/import/git/gcc-release/configure --enable-clocale=gnu
> --with-system-zlib --with-demangler-in-ld --enable-languages=c,c++ i686-linux
> --prefix=/usr/gcc-4.6.2-corei7 --with-local-prefix=/usr/local
> --enable-gnu-indirect-function --with-arch=corei7 --with-cpu=corei7
> --with-fpmath=sse
> 
> on gcc-4_6-branch at revision 179242.

That it strange. 
Build fails from first svn 4.6 branch revision.
Trunk had the same problem which was fixed on 20110729 between svn revisions
176852 176905.


[Bug c++/49855] [4.6/4.7 Regression] internal compiler error: in fold_convert_const_int_from_real

2011-09-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49855

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.2

--- Comment #3 from Richard Guenther  2011-09-28 
08:19:14 UTC ---
#6  0x0071468c in cxx_eval_constant_expression (call=0x0, 
t=0x2ab38b10, allow_non_constant=1 '\001', addr=0 '\000', 
non_constant_p=0x7fffcbc7 "")
at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/semantics.c:7179
warning: Source file is more recent than executable.
7179  return fold (t);
(gdb) call debug_generic_expr (t)
(int) 1.5e+6

should be a FIX_TRUNC_EXPR not a NOP_EXPR.


[Bug c++/49855] [4.6/4.7 Regression] internal compiler error: in fold_convert_const_int_from_real

2011-09-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49855

--- Comment #4 from Richard Guenther  2011-09-28 
08:21:46 UTC ---
Built via

#4  0x00696c37 in build_nop (type=0x2ab4a498, expr=0x2cef96c0)
at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/typeck.c:4686
#5  0x00590d07 in tsubst_copy_and_build (t=0x2ab38ae0, args=0x0, 
complain=1, in_decl=0x0, function_p=0 '\000', 
integral_constant_expression_p=1 '\001')
at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/pt.c:12636
#6  0x005539b4 in fold_non_dependent_expr_sfinae (expr=0x2ab38ae0, 
complain=1) at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/pt.c:5226
#7  0x005539ee in fold_non_dependent_expr (expr=0x2ab38ae0)
at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/pt.c:5240
#8  0x005c5211 in store_init_value (decl=0x2ab561e0, 
init=0x2cef96c0, flags=11)
at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/typeck2.c:691
#9  0x004ef608 in check_initializer (decl=0x2ab561e0, 
init=0x2cef96c0, flags=11, cleanup=0x7fffd058)
at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/decl.c:5443
#10 0x004f26ae in cp_finish_decl (decl=0x2ab561e0, 
init=0x2cef96c0, init_const_expr_p=1 '\001', asmspec_tree=0x0, 
flags=11) at /space/rguenther/src/svn/gcc-4_6-branch/gcc/cp/decl.c:5892


[Bug testsuite/50485] gcc.target/i386/sse4_1-blendps.c fails spuriously on i686

2011-09-28 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50485

--- Comment #7 from vries at gcc dot gnu.org 2011-09-28 08:48:05 UTC ---
Author: vries
Date: Wed Sep 28 08:48:00 2011
New Revision: 179309

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179309
Log:
2011-09-28  Tom de Vries  

PR testsuite/50485
* gcc.target/i386/sse4_1-blendps.c: Include .
(TEST): Initialize src3 with random floats.
* gcc.target/i386/sse4_1-blendps-2.c (sse4_1_test): Remove field i from
union src3.  Initialize src3 with random floats.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/sse4_1-blendps-2.c
trunk/gcc/testsuite/gcc.target/i386/sse4_1-blendps.c


[Bug testsuite/50485] gcc.target/i386/sse4_1-blendps.c fails spuriously on i686

2011-09-28 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50485

vries at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |vries at gcc dot gnu.org
   |gnu.org |

--- Comment #8 from vries at gcc dot gnu.org 2011-09-28 08:50:33 UTC ---
patch committed, closing bug.


[Bug fortran/50546] New: gfortran should not accept missing operator (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50546

 Bug #: 50546
   Summary: gfortran should not accept missing operator  (r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! gfortran should not accept missing operator  (r178939)
  module m
   interface assignment(=)
   end interface
  end module
  use m, only : operator(+)
  end


[Bug fortran/50547] New: dummy procedure argument of PURE shall be PURE

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50547

 Bug #: 50547
   Summary: dummy procedure argument of PURE shall be PURE
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! dummy procedure argument of PURE shall be PURE 
! Fortran 95 12.6 at page 212 lines 23-24
! Fortran 2003 C1269
! Fortran 2008 C1279
  pure function f(proc)
  interface
   function proc()
   end
  end interface
  end


[Bug fortran/50548] New: gfortran -fcheck=all run time would be nice to detect different shapes

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50548

 Bug #: 50548
   Summary: gfortran -fcheck=all  run time would be nice to detect
different shapes
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! gfortran -fcheck=all  run time would be nice to detect different shapes
  type t
   character,pointer :: c(:)
  end type
  type(t) :: u
  allocate(u%c(1))
  u%c(1)='q'
  if(all(u%c==(/'q','w'/))) stop 'error' ! here
  end


[Bug fortran/50549] New: should detect different type parameters in structure constructors (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50549

 Bug #: 50549
   Summary: should detect different type parameters in structure
constructors (r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! should detect different type parameters in structure constructors (r178939)
  interface
   function f1()
character(1),pointer :: f1
   end
  end interface
  type t
   character(2), pointer ::  p2
  end type
  character(1), pointer ::  p1
  type(t) u
  u=t(p1)! different character length
  u=t(f1())  ! type parameters are different (Fortran 95 section 4.4.4)
  end


[Bug fortran/50550] New: does not recognize pointer variable at initialization (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50550

 Bug #: 50550
   Summary: does not recognize pointer variable at initialization
(r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! does not recognize pointer variable at initialization (r178939) 
  pointer pi,pr,pl,pc,pcmplx
  integer   :: pi=>null()
  real  :: pr=>null()
  logical   :: pl=>null()
  character :: pc=>null()
  complex   :: pcmplx=>null()
  end


[Bug fortran/50551] New: Argumentless NULL() cannot be used with assumed-length dummy (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50551

 Bug #: 50551
   Summary: Argumentless NULL() cannot be used with assumed-length
dummy  (r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! Argumentless NULL() cannot be used with assumed-length dummy  (r178939)
! Fortran 95 corrigendum 2 page 91 line 41
  interface
   subroutine sub(x)
pointer x
character(*) x
   end subroutine
  end interface
  call sub(null())  ! null() cannot be used with assumed length dummy
argument
  end


[Bug fortran/50552] New: type name cannot be statement function dummy argument (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50552

 Bug #: 50552
   Summary: type name cannot be statement function dummy argument
(r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! type name cannot be statement function dummy argument (r178939) 
  type t
   real g
  end type
  f(t)=0  ! this should not be accepted
  end


[Bug fortran/50553] New: statement function cannot be target (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50553

 Bug #: 50553
   Summary: statement function cannot be target (r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! statement function cannot be target (r178939) 
  f(x)=x
  target f
  end


[Bug fortran/50554] New: INQUIRE cannot redefine DO index (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50554

 Bug #: 50554
   Summary: INQUIRE cannot redefine DO index(r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! INQUIRE cannot redefine DO index(r178939)
  do I=1,10
   inquire(iolength=I) n
  end do
  end


[Bug fortran/50555] New: synonymous namelist/statement function dummy argument not allowed (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50555

 Bug #: 50555
   Summary: synonymous namelist/statement function dummy argument
not allowed (r178939)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! synonymous namelist/statement function dummy argument not allowed (r178939)
  namelist /i/ j
  f(i)=0
  end


[Bug fortran/50556] New: cannot save namelist group name

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50556

 Bug #: 50556
   Summary: cannot save namelist group name
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zec...@gmail.com


! cannot save namelist group name 
  namelist /i/ ii
  save i
  end


[Bug fortran/50514] gfortran should check ISHFT & ISHFTC aruments (r178939)

2011-09-28 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50514

--- Comment #2 from Vittorio Zecca  2011-09-28 
09:20:40 UTC ---
I meant checking static expressions at compilation time, as in my example.
This has no cost at run time.
You proposed a run time check that still should be done if requested with a
kind of -fcheck option.
By the way, gfortran is already checking consistency of static arguments to
intrinsic functions, it is that just these one are left unchecked.


[Bug tree-optimization/50557] New: [4.7 Regression] Register pressure increase after reassociation (x86, 32 bits)

2011-09-28 Thread izamyatin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50557

 Bug #: 50557
   Summary: [4.7 Regression] Register pressure increase after
reassociation (x86, 32 bits)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: izamya...@gmail.com


After the fix for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49749
(http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176984) I observed a
degradation for the attached test. (~9% on Core)
Before the fix RA managed to use registers for code related to line #30. After
the fix an order of operations has been changed and this apparently led to
change in live ranges and hence to increased register pressure.

Asm snippet for fast case

# 4long.c:30
.loc 1 30 0
movl8(%ecx), %esi
xorl%edi, %edi
addl%eax, %esi
movl52(%esp), %eax
adcl%edx, %edi
mull8(%ebp)
addl%eax, %esi
adcl%edx, %edi

Asm snippet for slow case

# 4long.c:30
.loc 1 30 0
movl52(%esp), %eax
mull8(%ebp)
movl%eax, (%esp)
movl8(%ecx), %eax
movl%edx, 4(%esp)
xorl%edx, %edx
addl%eax, (%esp)
adcl%edx, 4(%esp)
addl%esi, (%esp)
adcl%edi, 4(%esp)

gcc is:
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --disable-bootstrap --enable-languages=c,c++
--prefix=/export/users/izamyati/build/
Thread model: posix
gcc version 4.7.0 20110731 (experimental) (GCC) 

Compilation flags:
-O2 -mssse3 -mfpmath=sse -ffast-math -m32


[Bug fortran/50554] INQUIRE cannot redefine DO index (r178939)

2011-09-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50554

Tobias Burnus  changed:

   What|Removed |Added

   Keywords||accepts-invalid, diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-09-28
 CC||burnus at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Tobias Burnus  2011-09-28 
10:42:40 UTC ---
Confirmed. We need to add a gfc_check_do_variable in io.c's gfc_match_inquire.


[Bug tree-optimization/50557] [4.7 Regression] Register pressure increase after reassociation (x86, 32 bits)

2011-09-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50557

Richard Guenther  changed:

   What|Removed |Added

 CC||wschmidt at gcc dot gnu.org
   Target Milestone|--- |4.7.0


[Bug fortran/50541] gfortran should not accept a pointer as a generic-name (r178939)

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

--- Comment #2 from janus at gcc dot gnu.org 2011-09-28 11:14:16 UTC ---
(In reply to comment #1)
> This one is trivial:

Unfortunately this causes one testsuite regression:

FAIL: gfortran.dg/func_derived_4.f90  -O0  (test for excess errors)


Reduced test case:


module class_field
  implicit none
  interface msh
module procedure msh
  end interface
contains
  function msh()
integer, pointer :: msh
  end function
end module


What is special about this, is that the generic and the specific procedure
share the same name. I think the problem is that we only have one symbol for
both, which triggers the conflict.

Possible solutions:
 * (quick'n'dirty) refine the check to only raise a conflict if there is no
specific procedure with the same name 
 * (cleaner but harder) introduce separate symbols for generics (in a separate
symtree), which might also solve our problems with 'constructors' (cf. PR
39427)

For specifics and generics with the same name, see also PR 42418.


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

2011-09-28 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50326

Martin Jambor  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #10 from Martin Jambor  2011-09-28 
11:51:35 UTC ---
This is now fixed.


[Bug tree-optimization/50557] [4.7 Regression] Register pressure increase after reassociation (x86, 32 bits)

2011-09-28 Thread izamyatin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50557

--- Comment #1 from Igor Zamyatin  2011-09-28 
11:52:18 UTC ---
Created attachment 25373
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25373
testcase


[Bug tree-optimization/50557] [4.7 Regression] Register pressure increase after reassociation (x86, 32 bits)

2011-09-28 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50557

--- Comment #2 from William J. Schmidt  2011-09-28 
12:13:50 UTC ---
The fix for 49749 is intended to remove dependencies between loop iterations. 
One possibility would be to condition the changes on the presence of
-funroll-loops.  Another would be to limit the changes to loops containing
fewer blocks or otherwise measuring simpler control flow.

To help make a good decision here, can you please try your test case with
-funroll-loops before and after the fix for 49749?


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-09-28 Thread vanboxem.ruben at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

Ruben Van Boxem  changed:

   What|Removed |Added

 CC||vanboxem.ruben at gmail dot
   ||com

--- Comment #117 from Ruben Van Boxem  
2011-09-28 12:14:38 UTC ---
Thanks for the effort!

Any chance of this being backported to older branches? Seems quite useful for
the future.


[Bug middle-end/50460] [4.7 Regression] __builtin___strcpy_chk/__builtin_object_size don't work

2011-09-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50460

Richard Guenther  changed:

   What|Removed |Added

   Keywords||diagnostic

--- Comment #7 from Richard Guenther  2011-09-28 
12:23:15 UTC ---
Btw, this is equivalent to a missing diagnostic, it's correctly not trapping
similar as to if it didn't know anything about the object that is refered to.

Indeed when I disable the folding during gimplification CCP comes along
and does

 :
   str1.0_1 = str1;
   D.2732_2 = str1.0_1 + 5;
-  D.2733_3 = &a.buf1 + 4;
-  __dest_7 = (char * restrict) D.2733_3;
   __src_8 = (const char * restrict) D.2732_2;
-  D.2747_9 = __builtin_object_size (__dest_7, 1);
-  D.2746_10 = __builtin___strcpy_chk (__dest_7, __src_8, D.2747_9);
-  D.2746_12 = D.2746_10;
-  D.2734_4 = 0;
-  return D.2734_4;
+  D.2746_10 = __builtin___strcpy_chk (&MEM[(void *)&a + 4B], __src_8, 6);
+  return 0;

which is good, as the address is invariant.

So, short of moving the objsize pass way earlier (which I'm sure we don't
want to do), I don't see a good way to recover this diagnostic.

One possibility is to make sure try_move_mult_to_index handles the case
of &a.buf1 + 4, instead of just &a.buf1[0] + 4.  I have a patch for that.


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #118 from Jonathan Wakely  2011-09-28 
12:21:31 UTC ---
(In reply to comment #117)
> Any chance of this being backported to older branches? Seems quite useful for
> the future.

I don't think this (very good, but quite major) change qualifies for stable
release branches.

If someone is (perhaps foolishly) relying on __cplusplus==1 in 4.5.3 we should
not break their code if they upgrade to 4.5.4, they should reasonably expect
only bug fixes in that upgrade


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #119 from Paolo Carlini  
2011-09-28 12:23:51 UTC ---
If you ask me, no way.


[Bug lto/47247] Linker plugin specification makes it difficult to handle COMDATs

2011-09-28 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47247

--- Comment #25 from Jan Hubicka  2011-09-28 
12:38:29 UTC ---
Thanks for gold support. GCC support is now posted at
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01818.html

We miss the GNU LD variant
http://sourceware.org/bugzilla/show_bug.cgi?id=13229

Dave, HJ, would be possible to look into that?


[Bug ada/50558] New: Illegal program not detected (record component with no supplied value) and invalid access to atomic variable

2011-09-28 Thread eugen at debian dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50558

 Bug #: 50558
   Summary: Illegal program not detected (record component with no
supplied value) and invalid access to atomic variable
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: eu...@debian.org


Created attachment 25374
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25374
File that triggers the bug

The following invalid program (component 'Reserved' does not have default
value) compiles with no error (gcc 4.6.1 and 4.7.0 (snapshot) on Debian):

package Pkg is
   type Byte is mod 2**8;
   type Reserved_24 is mod 2**24;

   type Data_Record is
  record
 Data : Byte;
 Reserved : Reserved_24;
  end record;

   for Data_Record use
  record
 Data at 0 range 0 .. 7;
 Reserved at 0 range 8 .. 31;
  end record;

   for Data_Record'Size use 32;
   for Data_Record'Alignment use 4;
end Pkg;

package Pkg.Reg is
   Data_Register : Data_Record;
   pragma Atomic (Data_Register);
end Pkg.Reg;

with Pkg.Reg;
procedure Test is
begin
   Pkg.Reg.Data_Register := (
  Data => 255,
  others => <> -- expected error: no value supplied for component
"Reserved"
   );
end Test;

gnat gives expected error message if definition of Data_Register moved to Pkg.
Representation clause for Data_Record and pragma Atomic is not required to
trigger this bug, but with them strange assembler code generated at leas on
x86_64 and cortex-m3:

_ada_test:
movl$0, pkg__reg__data_register(%rip)
movb$-1, pkg__reg__data_register(%rip)
ret

_ada_test:
ldr r3, .L2
movsr2, #0
str r2, [r3, #0]
movsr2, #255
strbr2, [r3, #0]
bx  lr

Note that atomic variable is accessed twice. I'm not yet sure if this bug can
be reproduced by a valid program.


[Bug ada/50558] Illegal program not detected (record component with no supplied value) and invalid access to atomic variable

2011-09-28 Thread eugen at debian dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50558

--- Comment #1 from Eugeniy Meshcheryakov  2011-09-28 
13:08:48 UTC ---
Created attachment 25375
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25375
Invalid program correctly detected

This is test program with definition of Data_Register moved to parent package.
gnat correctly detects invalid program:

% gnatmake test.adb
gcc-4.6 -c test.adb
test.adb:5:25: no value supplied for component "Reserved"
gnatmake: "test.adb" compilation error


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2011-09-28 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #112 from Jan Hubicka  2011-09-28 
13:33:03 UTC ---
OK, the problem turns out to be configure issue.  Configure script greps asm
output and with slim LTO it does not find there what it expects disabling
hidden visibilities. No surprise this leads to a performance disaster.  I use
the following hack:
diff -r 06b2977afb85 configure.in
--- a/configure.in  Fri Sep 09 23:25:02 2011 -0400
+++ b/configure.in  Wed Sep 28 15:30:56 2011 +0200
@@ -3035,7 +3035,7 @@
   int foo __attribute__ ((visibility ("hidden"))) = 1;
 EOF
   ac_cv_visibility_hidden=no
-  if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null
2>&1; then
+  if ${CC-cc} -Werror -S -fno-lto conftest.c -o conftest.s
>/dev/null 2>&1; then
 if egrep '\.(hidden|private_extern).*foo' conftest.s
>/dev/null; then
   ac_cv_visibility_hidden=yes
 fi
@@ -3051,7 +3051,7 @@
 int foo __attribute__ ((visibility ("default"))) = 1;
 EOF
 ac_cv_visibility_default=no
-if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o
conftest.s >/dev/null 2>&1; then
+if ${CC-cc} -fvisibility=hidden -Werror -S -fno-lto
conftest.c -o conftest.s >/dev/null 2>&1; then
   if ! egrep '\.(hidden|private_extern).*foo' conftest.s
>/dev/null; then
 ac_cv_visibility_default=yes
   fi
@@ -3070,7 +3070,7 @@
   int foo_default = 1;
 EOF
   ac_cv_visibility_pragma=no
-  if ${CC-cc} -Werror -S conftest.c -o conftest.s
>/dev/null 2>&1; then
+  if ${CC-cc} -Werror -S -fno-lto conftest.c -o conftest.s
>/dev/null 2>&1; then
 if egrep '\.(hidden|private_extern).*foo_hidden'
conftest.s >/dev/null; then
   if ! egrep '\.(hidden|private_extern).*foo_default'
conftest.s > /dev/null; then
 ac_cv_visibility_pragma=yes
@@ -3092,7 +3092,7 @@
 }
 EOF
ac_cv_have_visibility_class_bug=no
-   if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS}
${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+   if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS}
${DSO_LDOPTS} -S -fno-lto -o conftest.S conftest.c > /dev/null 2>&1 ; then
  ac_cv_have_visibility_class_bug=yes
else
  if test `egrep -c '@PLT|\\$stub' conftest.S` = 0;
then
@@ -3116,7 +3116,7 @@
 }
 EOF
ac_cv_have_visibility_builtin_bug=no
-   if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS}
-O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+   if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS}
-O2 -S -fno-lto -o conftest.S conftest.c > /dev/null 2>&1 ; then
  ac_cv_have_visibility_builtin_bug=yes
else
  if test `grep -c "@PLT" conftest.S` = 0; then


[Bug middle-end/50460] [4.7 Regression] __builtin___strcpy_chk/__builtin_object_size don't work

2011-09-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50460

--- Comment #8 from Richard Guenther  2011-09-28 
13:47:16 UTC ---
Author: rguenth
Date: Wed Sep 28 13:47:12 2011
New Revision: 179313

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179313
Log:
2011-09-28  Richard Guenther  

PR middle-end/50460
* fold-const.c (try_move_mult_to_index): Handle &a.array the
same as &a.array[0].

Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c


[Bug middle-end/50460] [4.7 Regression] __builtin___strcpy_chk/__builtin_object_size don't work

2011-09-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50460

Richard Guenther  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #9 from Richard Guenther  2011-09-28 
13:47:57 UTC ---
Fixed^WWorked around.


[Bug ada/50558] Illegal program not detected (record component with no supplied value) and invalid access to atomic variable

2011-09-28 Thread eugen at debian dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50558

--- Comment #2 from Eugeniy Meshcheryakov  2011-09-28 
13:51:43 UTC ---
Output with -gnatG looks different for two programs.

For good.ada:

with pkg;

procedure test is
begin
   T1b : pkg__data_record := (
  data => 255);
   pkg.pkg__data_register := T1b;
end test;

test.adb:5:25: no value supplied for component "Reserved"

For test.ada:

with pkg;
with pkg.pkg__reg;

procedure test is
begin
   pkg.pkg__reg.pkg__reg__data_register := (
  data => 255);
   return;
end test;

But manually adding a temporary variable does not help.


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-09-28 Thread vanboxem.ruben at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #120 from Ruben Van Boxem  
2011-09-28 13:58:03 UTC ---
OK, somewhat understandable to keep evil legacy code compiling.

Last plea for Standards conformance: What about only setting the correct define
if -std=c++89/03/0x/11 is passed and keeping the old behavior for -std=gnu++*?


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-09-28 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #121 from Marc Glisse  
2011-09-28 14:20:09 UTC ---
(In reply to comment #120)
> Last plea for Standards conformance: What about only setting the correct 
> define
> if -std=c++89/03/0x/11 is passed and keeping the old behavior for -std=gnu++*?

I don't think so. First, that would be weird. And this isn't just about
switching a #define, it comes with a lot of other changes. Besides, it wouldn't
help you at all. The only thing that the value of __cplusplus can be good for
now is distinguishing between C++03 and C++11, but even trunk doesn't set the
C++11 value, and my hope is that it won't set it until C++11 support is
essentially complete.


[Bug c++/49949] wrong sign for product of complex and double with -O2

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49949

Paolo Carlini  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #6 from Paolo Carlini  2011-09-28 
14:57:26 UTC ---
I can reproduce the problem with gcc4.5.x and 4.6.x, but mainline (would be
4.7.0) is fine. Did it ever work for you with older compilers? Because if isn't
a regression, I'm afraid that not much will happen. But would be still
interesting to understand what fixed the problem in mainline...


[Bug fortran/50541] gfortran should not accept a pointer as a generic-name (r178939)

2011-09-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50541

Tobias Burnus  changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #3 from Tobias Burnus  2011-09-28 
15:02:02 UTC ---
(In reply to comment #2)
> What is special about this, is that the generic and the specific procedure
> share the same name. I think the problem is that we only have one symbol for
> both, which triggers the conflict.

I think one could solve this at parse time. When parsing POINTER and
sym->attr.generic and gfc_ns_current->proc_name != sym, we set the attribute to
an interface block. Ditto when parsing "INTERFACE ": If one has
already sym->attr.pointer, it is a bug. That should work without further
changes.

Regarding the constructor patch (PR 39427): At least with my current draft
patch does not use a different symbol.


[Bug c++/49949] wrong sign for product of complex and double with -O2

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49949

Paolo Carlini  changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com
   Severity|minor   |normal

--- Comment #7 from Paolo Carlini  2011-09-28 
15:10:47 UTC ---
HJ, any chance you can find what fixed this? Doesn't seem a regression, but
it's an annoying issue anyway, if the patch is simple...


[Bug bootstrap/50543] Bootstrap fails to build for latest 4.6

2011-09-28 Thread evstupac at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50543

Stupachenko Evgeny  changed:

   What|Removed |Added

 CC||evstupac at gmail dot com

--- Comment #6 from Stupachenko Evgeny  2011-09-28 
15:17:04 UTC ---
First good svn revision on trunk: 176871

Corresponding commit:

commit 6b4db1bd8cef61c66671c8249c21f6fdc8ccce06
Author: hjl 
Date:   Thu Jul 28 14:29:38 2011 +

Set need_64bit_hwint to yes for x86 targets.

gcc/

2011-07-28  H.J. Lu  

* config.gcc: Set need_64bit_hwint to yes for x86 targets.

libcpp/

2011-07-28  H.J. Lu  

* configure.ac: Set need_64bit_hwint to yes for x86 targets.
* configure: Regenerated.

gcc-4.6 build with corresponding patch passed.


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #122 from Jonathan Wakely  2011-09-28 
15:34:22 UTC ---
(In reply to comment #120)
> Last plea for Standards conformance: What about only setting the correct 
> define
> if -std=c++89/03/0x/11 is passed and keeping the old behavior for -std=gnu++*?

No. If you want the new behaviour then you have to wait for the new release.


[Bug c++/47749] Wrong function return value

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749

--- Comment #7 from Paolo Carlini  2011-09-28 
15:35:22 UTC ---
First blush, I would say this is malformed code, even if we produce "only" a
warning with -Wreturn-type. And after all we produce only a warning also for
false substituted to flag in the conditional or if we remove the conditional
altogether: why nobody is complaining that we don't just reject:

bool fn_bad(bool flag)
{
}

? If we check the standard carefully (we/I should), I bet it says that here we
have undefined behavior (with all its implications) irrespective of the actual
flow at run-time, even if diagnostics is not required.


[Bug c++/47749] Wrong function return value

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749

--- Comment #8 from Jonathan Wakely  2011-09-28 
15:41:27 UTC ---
Yep, [stmt.return]/2 "Flowing off the end of a function is equivalent to a
return with no value; this results in undefined behavior in a value-returning
function."


[Bug c++/49949] wrong sign for product of complex and double with -O2

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

--- Comment #8 from H.J. Lu  2011-09-28 15:54:09 
UTC ---
(In reply to comment #0)
> With the -O2 flag and in a very specialized circumstance, the product of a
> complex and a double has the wrong sign.
> 
> The problem arises when the blitz++ array library is used.
> (http://www.oonumerics.org/blitz/) Unfortunately, I could not prune out all 
> the
> references to the unnecessary C++ standard libraries. The size of the .ii file
> is therefore pretty big. I hope the report will still be useful.
> 
> The output of the executable gcc_complex_bug should be
> 
> (-0.0,-1.0)x100.0=(0.0,100.0)
> 

I also got

(-0.0,-1.0)x100.0=(-0.0,-100.0)

with GCC 4.7.0 revision 179164.  Why should we get (0.0,100.0)?


[Bug c++/47749] Wrong function return value

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749

Paolo Carlini  changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED
 Ever Confirmed|1   |0

--- Comment #9 from Paolo Carlini  2011-09-28 
15:57:08 UTC ---
Good. Are we sure that means "statically" so to speak? Or that flowing should
be instead read as something happening at run-time? I cannot fully convince
myself. Are there other uses of "flowing" in the standard which clarify the
reading?

Anyway, in case nobody said it already, on x86_64-linux we *do* return true
when flag is true, in all the active release branches, and all in all I agree
that it seems a "safer" behavior but I cannot quickly see if I can reproduce
the issue for arm-unknown-linux-uclibc...


[Bug ada/50558] Legal program rejected (record component with no supplied value) and invalid access to atomic variable

2011-09-28 Thread eugen at debian dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50558

--- Comment #3 from Eugeniy Meshcheryakov  2011-09-28 
15:58:00 UTC ---
After reading Ada 2005 rationale I think that the program in attachment 25374
is valid (components with no default values should be left undefined) and the
other one is invalid (but I cannot find confirmation in RM, in any case one of
the programs is invalid). Then gnat produces incorrect code for atomic variable
in valid code.


[Bug c++/47749] Wrong function return value

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749

--- Comment #10 from Jonathan Wakely  2011-09-28 
16:01:45 UTC ---
FWIW, the reflector thread starting with c++std-core-12400 has lots of
rationale why a diagnostic isn't required.  One reason is C compatibility as
it's only undefined in C if the return value is used by the caller (which is
what I was thinking of in comment 1).  Another reason is that it's not always
possible to tell at compile-time if it will ever be reached, e.g. there might
be a call to a function that will never return, but doesn't have
attribute((noreturn)), or a call to a function which always throws.


[Bug c++/49949] wrong sign for product of complex and double with -O2

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49949

--- Comment #9 from Paolo Carlini  2011-09-28 
16:02:05 UTC ---
HJ, I think the correct output, showing that we are *not* miscompiling or
something is:

(-0.0,-1.0)x100.0=(-0.0,-100.0)

exactly what you are seeing. The problem is, with 4.6 we get:

(-0.0,-1.0)x100.0=(0.0,100.0)

which is wrong. When that changed?


[Bug c++/47749] Wrong function return value

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749

--- Comment #11 from Jonathan Wakely  2011-09-28 
16:05:21 UTC ---
To answer your specific question, flowing isn't defined, neither is "the flow
of control", but my reading is it means at runtime, for the reasons in my
previous comment. If the compiler can prove at compile-time it will happen,
then maybe the as-if rule applies, but it gets tricky in some cases and that's
probably why GCC only makes it a warning.


[Bug c++/47749] Wrong function return value

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749

--- Comment #12 from Paolo Carlini  2011-09-28 
16:13:33 UTC ---
Ok, thanks Jonathan. Thus, let's see first if somebody can actually reproduce
the issue!


[Bug c++/47749] Wrong function return value

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749

--- Comment #13 from Paolo Carlini  2011-09-28 
16:23:40 UTC ---
Of course if Davide could try something more recent than 4.4.4, it would be
useful. Note that on Linux even current 4.4 branch is Ok.


[Bug c++/49126] timevar_stack faild because define_label

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49126

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME

--- Comment #3 from Paolo Carlini  2011-09-28 
16:29:57 UTC ---
Cannot reproduce.


[Bug c++/50559] New: g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread dnetserrspam at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

 Bug #: 50559
   Summary: g++ bails out after seeing overflow in an enumeration
value
Classification: Unclassified
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dnetserrs...@gmail.com


Created attachment 25376
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25376
preprocessed output of a file with overflowing enum constant values


[Bug c++/50559] g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread dnetserrspam at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

--- Comment #1 from dnetserrspam at gmail dot com 2011-09-28 17:24:18 UTC ---
When g++ compiles the attached code it complains (correctly) that the value for
GREEN overflows. Then it reports that it is confused by earlier errors and
bails out.


[Bug c++/50559] g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

--- Comment #2 from Andrew Pinski  2011-09-28 
17:27:25 UTC ---
Hmm, it does not ICE on the trunk.


[Bug c++/50559] g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

--- Comment #3 from Andrew Pinski  2011-09-28 
17:27:41 UTC ---
Reduced testcase:
typedef enum ColorTag { RED = 2147483647, GREEN, BLUE } Color;

int main()
{
Color x = GREEN;
return 0;
}


[Bug c++/48914] #pragma GCC diagnostic ignored "-Wc++0x-compat" doesn't work

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48914

--- Comment #2 from Paolo Carlini  2011-09-28 
17:34:44 UTC ---
So far have been able to figure out that diagnostic_classify_diagnostic
apparently sets correctly context->n_classification_history to 1 when the
pragma is parsed, but then is found == 0 in diagnostic_report_diagnostic.


[Bug c++/50559] g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

Daniel Krügler  changed:

   What|Removed |Added

 CC||daniel.kruegler at
   ||googlemail dot com

--- Comment #4 from Daniel Krügler  
2011-09-28 17:54:55 UTC ---
(In reply to comment #3)
> Reduced testcase:

Just to be sure: Is this testcase rejected? If so, this seems in violation to
the C++(03) standard based on 7.2 p4:

"[..] Otherwise the type is the same as the type of the initializing value of
the preceding enumerator unless the incremented value is not representable in
that type, in which case the type is an unspecified integral type sufficient to
contain the incremented value."

The discussed enumeration should fit when the underlying type would be unsigned
long.

Please ignore this comment, if my preconditions are not satisfied ;-)


[Bug c++/50559] g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

--- Comment #5 from Andrew Pinski  2011-09-28 
17:56:47 UTC ---
(In reply to comment #4)
> (In reply to comment #3)
> > Reduced testcase:
> 
> Just to be sure: Is this testcase rejected? If so, this seems in violation to
> the C++(03) standard based on 7.2 p4:

It is not rejected on the trunk.


[Bug web/50297] Bugzilla suffers an internal error

2011-09-28 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50297

Frédéric Buclin  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-09-28
 CC||LpSolit at netscape dot net
 Ever Confirmed|0   |1
   Severity|normal  |critical

--- Comment #1 from Frédéric Buclin  2011-09-28 
18:01:05 UTC ---
Confirmed. I'll investigate.


[Bug c++/49949] wrong sign for product of complex and double with -O2

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

--- Comment #10 from H.J. Lu  2011-09-28 18:03:50 
UTC ---
It is fixed by revision 172430:

http://gcc.gnu.org/ml/gcc-cvs/2011-04/msg00625.html


[Bug c++/50559] g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

--- Comment #6 from Jonathan Wakely  2011-09-28 
18:21:52 UTC ---
probably related to PR 48536


[Bug c++/50560] New: g++ optimization -O3 is removing symbols from templates

2011-09-28 Thread marktrinh.junk at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50560

 Bug #: 50560
   Summary: g++ optimization -O3 is removing symbols from
templates
Classification: Unclassified
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: marktrinh.j...@gmail.com


Created attachment 25377
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25377
sample source files to reproduce the problem

gcc 4.5.1:

When compiling/linking my sample library, it seems that the optimization level
-O3 is not finding symbols where -O2 & -O1 works just fine.

make
g++ -g -fPIC -Wall -O3   -c -o bug_Option.o bug_Option.cpp
g++ -g -fPIC -Wall -O3   -c -o UseOption.o UseOption.cpp
g++ -g -shared -Wl,-z,defs -g -shared -o libOption.so bug_Option.o UseOption.o
UseOption.o: In function `foo()':
/tmp/bug/UseOption.cpp:4: undefined reference to
`Option, std::allocator >
>::Option()'
collect2: ld returned 1 exit status
make: *** [libOption.so] Error 1

I've attached my code.

change the GNUmakefile CXXFLAGS to -O2 to see it work.


[Bug c++/50559] g++ bails out after seeing overflow in an enumeration value

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50559

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #7 from Jonathan Wakely  2011-09-28 
18:25:47 UTC ---
definitely a dup, adding int main(){E e = EI_2;} to the testcase of PR 48536
reproduces the bailout.

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


[Bug c++/48536] [C++0x] Automatic Enumerator Incrementation is not compliant with Clause 7.2/5

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48536

Jonathan Wakely  changed:

   What|Removed |Added

 CC||dnetserrspam at gmail dot
   ||com

--- Comment #5 from Jonathan Wakely  2011-09-28 
18:25:47 UTC ---
*** Bug 50559 has been marked as a duplicate of this bug. ***


[Bug web/50297] Bugzilla suffers an internal error

2011-09-28 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50297

--- Comment #2 from Frédéric Buclin  2011-09-28 
18:28:31 UTC ---
I just enabled Bugzilla debug mode, and the relevant error is:

undef error - Insecure dependency in parameter 3 of
DBI::db=HASH(0xb097df4)->selectrow_hashref method call while running with -T
switch at Bugzilla/Object.pm line 93. at Bugzilla/Object.pm line 93
Bugzilla::Object::_init('Bugzilla::Attachment', 23798) called at
Bugzilla/Object.pm line 58 Bugzilla::Object::new('Bugzilla::Attachment', 23798)
called at Bugzilla/Template.pm line 274
Bugzilla::Template::get_attachment_link(23798, 'attachment 23798') called at
Bugzilla/Template.pm line 230 Bugzilla::Template::quoteUrls('Created attachment
23798\x{a}partially reduced testcase\x{a}\x{a}Compiler...',
'Bugzilla::Bug=HASH(0xb180258)', 'Bugzilla::Comment=HASH(0xb3a22a4)') called at
Bugzilla/Template.pm line 698 Bugzilla::Template::__ANON__('Created attachment
23798\x{a}partially reduced testcase\x{a}\x{a}Compiler...') called at
template/en/default/bug/comments.html.tmpl line 188 eval {...} called at
template/en/default/bug/comments.html.tmpl line 121


[Bug c++/50560] g++ optimization -O3 is removing symbols from templates

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50560

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Jonathan Wakely  2011-09-28 
18:31:23 UTC ---
definitions of templates need to be visible in every file which instantiates
them


[Bug c++/50560] g++ optimization -O3 is removing symbols from templates

2011-09-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50560

--- Comment #2 from Jonathan Wakely  2011-09-28 
18:37:37 UTC ---
your hack to allow "separately compiled template components" isn't valid C++,
but you can make the code valid by putting an explicit instantiation
declaration in the header:

extern template class Option;

and an explicit instantiation definition in bug_Option.cpp (after all the
members have been defined)

template class Option;


[Bug web/50297] Bugzilla suffers an internal error

2011-09-28 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50297

--- Comment #3 from Frédéric Buclin  2011-09-28 
19:19:28 UTC ---
This is totally crazy. Perl complains that the attachment ID is tainted if you
are logged out, but not if you are logged in. And the error comes right *after*
a call to detaint_natural(), whose job is to detaint the data!! I suspect this
is a bug in Perl 5.8.5 itself. I cannot reproduce with Perl 5.12.3.


[Bug fortran/50547] dummy procedure argument of PURE shall be PURE

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Keywords||accepts-invalid
   Last reconfirmed||2011-09-28
 CC||janus at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |janus at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org 2011-09-28 19:20:26 UTC ---
We do have such a check, we just need to trigger it. Draft patch:


Index: gcc/fortran/resolve.c
===
--- gcc/fortran/resolve.c   (revision 179310)
+++ gcc/fortran/resolve.c   (working copy)
@@ -269,8 +269,12 @@ resolve_formal_arglist (gfc_symbol *proc)
   if (sym->attr.if_source != IFSRC_UNKNOWN)
resolve_formal_arglist (sym);

-  if (sym->attr.subroutine || sym->attr.external || sym->attr.intrinsic)
+  if (sym->attr.subroutine || sym->attr.function || sym->attr.external
+ || sym->attr.intrinsic || sym->attr.flavor == FL_PROCEDURE)
{
+ /* Some checks for dummy procedures.  */
+
+ /* Check for F08:C1279.  */
  if (gfc_pure (proc) && !gfc_pure (sym))
{
  gfc_error ("Dummy procedure '%s' of PURE procedure at %L must "


[Bug c++/27527] invalid types produced out of argument deduction (SFINAE bug)

2011-09-28 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27527

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID

--- Comment #6 from Jason Merrill  2011-09-28 
19:26:19 UTC ---
14.9.2/8:

Only invalid types and expressions in the immediate context of the function
type and its template parameter types can result in a deduction failure. [
Note: The evaluation of the substituted types and expressions can result in
side effects such as the instantiation of class template specializations and/or
function template specializations, the generation of implicitly-defined
functions, etc. Such side effects are not in the “immediate context” and can
result in the program being ill-formed. — end note ]


[Bug c++/49913] ICE from -O2 -fgraphite-identity : extract_range_from_binary_expr, at tree-vrp.c:2318

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49913

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #2 from Paolo Carlini  2011-09-28 
19:29:27 UTC ---
Worksforme with today's (r179319) 4.7. Please try again, and, in case, feel
free to re-open.


[Bug c++/50560] g++ optimization -O3 is removing symbols from templates

2011-09-28 Thread marktrinh.junk at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50560

--- Comment #3 from Mark  2011-09-28 19:38:05 
UTC ---
Thanks for the quick response.  Your solution works.


[Bug web/50297] Bugzilla suffers a taint issue when viewing bug 48333 while being logged out

2011-09-28 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50297

Frédéric Buclin  changed:

   What|Removed |Added

Summary|Bugzilla suffers an |Bugzilla suffers a taint
   |internal error  |issue when viewing bug
   ||48333 while being logged
   ||out
   Severity|critical|major

--- Comment #4 from Frédéric Buclin  2011-09-28 
19:38:40 UTC ---
The error doesn't occur with all bugs having attachments in them. For instance,
I could view bug 28382 without any problem. So the good news is that this
problem seems to affect a few bugs at most.


[Bug bootstrap/50543] Bootstrap fails to build for latest 4.6

2011-09-28 Thread kirill.yukhin at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50543

--- Comment #7 from Yukhin Kirill  2011-09-28 
19:42:52 UTC ---
Anybody but me and Evgeny can confirm that?

I've tried really general path of build it and got fail to compare different
stages...


[Bug fortran/50514] gfortran should check ISHFT & ISHFTC aruments (r178939)

2011-09-28 Thread sgk at troutmask dot apl.washington.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50514

--- Comment #3 from Steve Kargl  
2011-09-28 19:45:48 UTC ---
On Wed, Sep 28, 2011 at 09:20:40AM +, zeccav at gmail dot com wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50514
> 
> --- Comment #2 from Vittorio Zecca  2011-09-28 
> 09:20:40 UTC ---
> I meant checking static expressions at compilation time, as in my example.
> This has no cost at run time.

I know want you meant.

> You proposed a run time check that still should be done if requested with a
> kind of -fcheck option.

I disagree.

> By the way, gfortran is already checking consistency of static arguments to
> intrinsic functions, it is that just these one are left unchecked.

Yes, I know.  I wrote some of the code.

Index: testsuite/gfortran.dg/ishft_3.f90
===
--- testsuite/gfortran.dg/ishft_3.f90(revision 179208)
+++ testsuite/gfortran.dg/ishft_3.f90(working copy)
@@ -1,11 +1,38 @@
 ! { dg-do compile }
+! PR fortran/50514
 program ishft_3
-  integer i, j
-  write(*,*) ishftc( 3, 2, 3 )
-  write(*,*) ishftc( 3, 2, i )
-  write(*,*) ishftc( 3, i, j )
-  write(*,*) ishftc( 3, 128 ) ! { dg-error "exceeds BIT_SIZE of first" }
-  write(*,*) ishftc( 3, 0, 128 )  ! { dg-error "exceeds BIT_SIZE of first" }
-  write(*,*) ishftc( 3, 0, 0 )! { dg-error "Invalid third argument" }
-  write(*,*) ishftc( 3, 3, 2 )! { dg-error "exceeds third argument" }
+
+   implicit none
+
+   integer j, m
+
+   m = 42
+   !
+   ! These should compile.
+   !
+   j = ishft(m, 16)
+   j = ishft(m, -16)
+   j = ishftc(m, 16)
+   j = ishftc(m, -16)
+   !
+   ! These should issue an error.
+   !
+   j = ishft(m, 640)! { dg-error "absolute value of SHIFT" }
+   j = ishftc(m, 640)   ! { dg-error "absolute value of SHIFT" }
+   j = ishft(m, -640)   ! { dg-error "absolute value of SHIFT" }
+   j = ishftc(m, -640)  ! { dg-error "absolute value of SHIFT" }
+
+   ! abs(SHIFT) must be <= SIZE
+
+   j = ishftc(m,  1, 2)
+   j = ishftc(m,  1, 2)
+   j = ishftc(m, -1, 2)
+   j = ishftc(m, -1, 2)
+
+   j = ishftc(m,  10, 2)! { dg-error "absolute value of SHIFT" }
+   j = ishftc(m,  10, 2)! { dg-error "absolute value of SHIFT" }
+   j = ishftc(m, -10, 2)! { dg-error "absolute value of SHIFT" }
+   j = ishftc(m, -10, 2)! { dg-error "absolute value of SHIFT" }
+
+   j = ishftc(m, 1, -2) ! { dg-error "must be positive" }
 end program

Index: fortran/check.c
===
--- fortran/check.c(revision 179208)
+++ fortran/check.c(working copy)
@@ -318,6 +318,22 @@ less_than_bitsize1 (const char *arg1, gf
 {
   gfc_extract_int (expr2, &i2);
   i3 = gfc_validate_kind (BT_INTEGER, expr1->ts.kind, false);
+ 
+  /* For ISHFT[C], |shift| <= bit_size(i).  */
+  if (strncmp (arg2, "ISHFT", 5) == 0)
+{
+  if (i2 < 0)
+i2 = -i2;
+
+  if (i2 > gfc_integer_kinds[i3].bit_size)
+{
+  gfc_error ("The absolute value of SHIFT at %L must be less "
+ "than or equal to BIT_SIZE('%s')",
+ &expr2->where, arg1);
+  return FAILURE;
+}
+}
+
   if (or_equal)
 {
   if (i2 > gfc_integer_kinds[i3].bit_size)
@@ -1961,6 +1977,9 @@ gfc_check_ishft (gfc_expr *i, gfc_expr *
   || type_check (shift, 1, BT_INTEGER) == FAILURE)
 return FAILURE;

+  if (less_than_bitsize1 ("I", i, "ISHFT", shift, true) == FAILURE)
+return FAILURE;
+
   return SUCCESS;
 }

@@ -1972,7 +1991,35 @@ gfc_check_ishftc (gfc_expr *i, gfc_expr 
   || type_check (shift, 1, BT_INTEGER) == FAILURE)
 return FAILURE;

-  if (size != NULL && type_check (size, 2, BT_INTEGER) == FAILURE)
+  if (size != NULL) 
+{
+  int i2, i3;
+
+  if (type_check (size, 2, BT_INTEGER) == FAILURE)
+return FAILURE;
+
+  if (less_than_bitsize1 ("I", i, "SIZE", size, true) == FAILURE)
+return FAILURE;
+
+  gfc_extract_int (size, &i3);
+  if (i3 <= 0)
+{
+  gfc_error ("SIZE at %L must be positive", &size->where);
+  return FAILURE;
+}
+
+  gfc_extract_int (shift, &i2);
+  if (i2 < 0)
+i2 = -i2;
+
+  if (i2 > i3)
+{
+  gfc_error ("The absolute value of SHIFT at %L must be less than "
+ "or equal to SIZE at %L", &shift->where, &size->where);
+  return FAILURE;
+}
+}
+  else if (less_than_bitsize1 ("I", i, "ISHFTC", shift, true) == FAILURE)
 return FAILURE;

   return SUCCESS;


[Bug fortran/50550] does not recognize pointer variable at initialization (r178939)

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||janus at gcc dot gnu.org

--- Comment #1 from janus at gcc dot gnu.org 2011-09-28 20:00:54 UTC ---
The cases in comment #0 are rather easily fixable in the current
implementation. However, the harder case will be the following:

integer :: j => null()
pointer :: j
end

because when parsing the init, we don't know yet whether the object is a
pointer or not (which means the check would have to be deferred to resolution
stage).

Looking at F08:R505 and friends, I don't see an obvious reason why any of the
cases listed here should be forbidden.


[Bug c++/48420] Missed -Wconversion-null warning when passing const bool to T*

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48420

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #1 from Paolo Carlini  2011-09-28 
20:03:34 UTC ---
Interestingly, in C++0x mode it works, obviously thanks to the work on
constexpr. Do you really want it for C++98 too? ;)


[Bug c++/48420] Missed -Wconversion-null warning when passing const bool to T*

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48420

--- Comment #2 from Paolo Carlini  2011-09-28 
20:05:32 UTC ---
Oops, sorry, got confused, in C++0x it's an hard error. Uhmmm.


[Bug fortran/50553] statement function cannot be target (r178939)

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Keywords||accepts-invalid
   Last reconfirmed||2011-09-28
 CC||janus at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |janus at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org 2011-09-28 20:13:50 UTC ---
Simple patch:


Index: gcc/fortran/symbol.c
===
--- gcc/fortran/symbol.c(revision 179310)
+++ gcc/fortran/symbol.c(working copy)
@@ -684,6 +684,7 @@
{
case PROC_ST_FUNCTION:
  conf2 (dummy);
+ conf2 (target);
  break;

case PROC_MODULE:


[Bug c++/45278] -Wextra doesn't warn about (pointer < 0 ).

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45278

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|gcc-bugs at gcc dot gnu.org |
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
  Known to fail||

--- Comment #2 from Paolo Carlini  2011-09-28 
20:40:03 UTC ---
On it.


[Bug middle-end/50561] New: [4.7 regression] ICE when compiling zlib with -O2 -floop-flatten -floop-strip-mine

2011-09-28 Thread matt at use dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50561

 Bug #: 50561
   Summary: [4.7 regression] ICE when compiling zlib with -O2
-floop-flatten -floop-strip-mine
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: m...@use.net


getting this with trunk r179143, on Ubuntu 11.10/x86-64:

/usr/lib/gcc-snapshot/bin/x86_64-linux-gnu-gcc  -O2 -floop-flatten
-floop-strip-mine -c ~/src/trees.i trees.c: In function 'init_block':
trees.c:414:13: internal compiler error: in psct_dynamic_dim, at
graphite-poly.h:659

It doesn't happen with -O1, or if you remove either of the loop options. This
doesn't happen with 4.6.1.

Pre-processed source is attached, but it quick to reproduce with zlib 1.2.3.4
sources.


[Bug middle-end/50561] [4.7 regression] ICE when compiling zlib with -O2 -floop-flatten -floop-strip-mine

2011-09-28 Thread matt at use dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50561

--- Comment #1 from Matt Hargett  2011-09-28 20:59:07 UTC 
---
Created attachment 25378
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25378
pre-processed source of the file that triggers the ICE


[Bug middle-end/50561] [4.7 regression] ICE when compiling zlib with -O2 -floop-flatten -floop-strip-mine

2011-09-28 Thread matt at use dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50561

Matt Hargett  changed:

   What|Removed |Added

   Severity|normal  |major


[Bug c++/27527] invalid types produced out of argument deduction (SFINAE bug)

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27527

--- Comment #7 from Paolo Carlini  2011-09-28 
21:09:59 UTC ---
Thanks, the "usual" misinterpretation, in other terms (honestly, in this
specific case I didn't look at the actual code closely enough to even try to
figure out myself).


[Bug c++/42356] confused compiler

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42356

Paolo Carlini  changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org |

--- Comment #6 from Paolo Carlini  2011-09-28 
21:21:40 UTC ---
For the record, ICC also thinks it's ambiguous.


[Bug other/50562] New: configure: --without-newlib does not disable libgloss

2011-09-28 Thread jstengle at cisco dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50562

 Bug #: 50562
   Summary: configure: --without-newlib does not disable libgloss
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jsten...@cisco.com


While running the top level configure from latest trunk to build a Solaris
cross compiler on a Linux host, if I pass in --without-newlib, libgloss is not
disabled.  This causes the Solaris cross build to fail since libgloss won't
build for Solaris crosses on Linux hosts.  

configure already provides the --without-newlib flag, and we would like to use
this to cleanly disable both libgloss and newlib, but we currently cannot since
only newlib is disabled with this flag, not libgloss.

The reason libgloss is not disabled is that this code in configure:

# Recognize --with-newlib/--without-newlib.
 case ${with_newlib} in
  no) skipdirs="${skipdirs} target-newlib" ;;

Does not disable libgloss.  Later on in configure, if noconfigdirs includes
newlib, libgloss is disabled.  So this appears to be an inconsistency between
the way noconfigdirs and skipdirs are treated.

Thus, when calling configure as follows:

../gcc/configure  --build=x86_64-linux --target=sparc-sun-solaris2.10
--host=x86_64-linux  --enable-languages=c,c++  --enable-targets=sparc-\
sun-solaris2.10,sparcv9-sun-solaris2.10 --with-gnu-ld --with-gnu-as
--enable-multilib --enable-threads=solaris --disable-nls --without-newlib


I still see libgloss being built during the subsequent make:

libgloss/libnosys/fstat.c:6:19: fatal error: _ansi.h: No such file or directory


I propose the following diff to fix this issue so that --without-newlib also
disables libgloss.

Index: configure.ac
===
--- configure.ac(revision 179288)
+++ configure.ac(working copy)
@@ -276,7 +276,7 @@

 # Recognize --with-newlib/--without-newlib.
 case ${with_newlib} in
-  no) skipdirs="${skipdirs} target-newlib" ;;
+  no) skipdirs="${skipdirs} target-newlib target-libgloss" ;;
   yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
 esac


Index: configure
===
--- configure   (revision 179288)
+++ configure   (working copy)
@@ -2823,7 +2823,7 @@

 # Recognize --with-newlib/--without-newlib.
 case ${with_newlib} in
-  no) skipdirs="${skipdirs} target-newlib" ;;
+  no) skipdirs="${skipdirs} target-newlib target-libgloss" ;;
   yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
 esac


[Bug c++/41725] g++ accepts compounded unnamed type in template (violates 14.3.1-2)

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41725

Paolo Carlini  changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org |jason at gcc dot gnu.org

--- Comment #2 from Paolo Carlini  2011-09-28 
21:28:34 UTC ---
In the C++11 times I don't think we are going to work on this .. Are we?


[Bug fortran/50553] statement function cannot be target (r178939)

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

--- Comment #2 from janus at gcc dot gnu.org 2011-09-28 21:28:59 UTC ---
The patch regtests cleanly. I'm going to commit as obvious.


[Bug c++/41796] ambiguous subobject diagnostic given too early

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41796

Paolo Carlini  changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org |daniel.kruegler at
   ||googlemail dot com

--- Comment #7 from Paolo Carlini  2011-09-28 
21:31:35 UTC ---
What happened to issue Core/983?


[Bug c++/41431] &main should be allowed within unevaluated operands.

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41431

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC|gcc-bugs at gcc dot gnu.org |
 Resolution||FIXED

--- Comment #1 from Paolo Carlini  2011-09-28 
21:34:31 UTC ---
Fixed in 4.5.x or even earlier.


[Bug c++/41796] ambiguous subobject diagnostic given too early

2011-09-28 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41796

--- Comment #8 from Daniel Krügler  
2011-09-28 21:36:53 UTC ---
(In reply to comment #7)
> What happened to issue Core/983?

It was originally accepted but later found out to be the wrong solution,
therefore it became fixed again by CWG 1121.


[Bug fortran/50547] dummy procedure argument of PURE shall be PURE

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

--- Comment #2 from janus at gcc dot gnu.org 2011-09-28 21:40:30 UTC ---
This patch causes one testsuite failure on elemental_args_check_2.f90, due to a
slightly changed error message.


[Bug bootstrap/49486] [4.7 Regression] Bootstrap failure

2011-09-28 Thread kkojima at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49486

--- Comment #2 from Kazumoto Kojima  2011-09-28 
21:43:06 UTC ---
Author: kkojima
Date: Wed Sep 28 21:43:01 2011
New Revision: 179320

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179320
Log:
PR target/49486
* config/sh/sh.md (negdi2): Move expansion into split to
allow more combination options.  Add T_REG clobber.
(abssi2): New expander.
(*negdi2, *abssi2, *negabssi2): New insns.
(cneg): Change from insn to insn_and_split.  Rename to
negsi_cond.  Add alternative for non-SH4.
* gcc.target/sh/pr49468-si.c: New.


Added:
trunk/gcc/testsuite/gcc.target/sh/pr49468-si.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.md
trunk/gcc/testsuite/ChangeLog


[Bug c++/41796] ambiguous subobject diagnostic given too early

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41796

--- Comment #9 from Paolo Carlini  2011-09-28 
21:48:08 UTC ---
Excellent, then could you possibly comment on the implication for this PR? (for
you it's easy, I'm sure)


[Bug c++/40056] implicit instantiation of function templates fails with -O2, works with -O and -g...

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40056

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC|gcc-bugs at gcc dot gnu.org |
 Resolution||WORKSFORME

--- Comment #4 from Paolo Carlini  2011-09-28 
21:52:27 UTC ---
In any case, 'W' with current 4.5.x, 4.6.x and mainline.


[Bug c++/38980] missing -Wformat warning on const char format string

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38980

Paolo Carlini  changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org |jakub at gcc dot gnu.org

--- Comment #1 from Paolo Carlini  2011-09-28 
21:58:03 UTC ---
Jakub, can you have a look to this?


[Bug c++/45278] -Wextra doesn't warn about (pointer < 0 ).

2011-09-28 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45278

--- Comment #3 from paolo at gcc dot gnu.org  
2011-09-28 22:04:51 UTC ---
Author: paolo
Date: Wed Sep 28 22:04:48 2011
New Revision: 179321

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179321
Log:
/cp
2011-09-28  Paolo Carlini  

PR c++/45278
* typeck.c (cp_build_binary_op): With -Wextra, warn for ordered
comparison of pointer with zero.

/testsuite
2011-09-28  Paolo Carlini  

PR c++/45278
* g++.dg/warn/Wextra-3.C: New.


Added:
trunk/gcc/testsuite/g++.dg/warn/Wextra-3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/45278] -Wextra doesn't warn about (pointer < 0 ).

2011-09-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45278

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #4 from Paolo Carlini  2011-09-28 
22:05:55 UTC ---
Fixed for 4.7.0.


  1   2   >