[Bug libstdc++/33128] std::tr1::uniform_int returns value out of range

2007-08-28 Thread paolo at gcc dot gnu dot org


--- Comment #3 from paolo at gcc dot gnu dot org  2007-08-28 08:49 ---
Subject: Bug 33128

Author: paolo
Date: Tue Aug 28 08:48:54 2007
New Revision: 127850

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127850
Log:
2007-08-28  Paolo Carlini  [EMAIL PROTECTED]

PR libstdc++/33128
* include/tr1_impl/random (uniform_int::_M_call): Deal with
__urng() returning negative values.
* testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
New.

Added:
   
branches/gcc-4_2-branch/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc
Modified:
branches/gcc-4_2-branch/libstdc++-v3/ChangeLog
branches/gcc-4_2-branch/libstdc++-v3/include/tr1/random


-- 


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

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


--- Comment #12 from rguenth at gcc dot gnu dot org  2007-08-28 08:52 
---
Note I think it is perfectly reasonable and wanted that we can inline

   template_Lock_policy _Lp
 inline void
 __enable_shared_from_this_helper(const __shared_count_Lp, ...)
 { }

and thus eliminate the call.  We should figure out why we miscompile things
if we do so though (and only if using -g, which is even more embarrassing).


-- 


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



[Bug libstdc++/33128] std::tr1::uniform_int returns value out of range

2007-08-28 Thread paolo at gcc dot gnu dot org


--- Comment #2 from paolo at gcc dot gnu dot org  2007-08-28 08:48 ---
Subject: Bug 33128

Author: paolo
Date: Tue Aug 28 08:48:24 2007
New Revision: 127849

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127849
Log:
2007-08-28  Paolo Carlini  [EMAIL PROTECTED]

PR libstdc++/33128
* include/tr1_impl/random (uniform_int::_M_call): Deal with
__urng() returning negative values.
* testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
New.

Added:
   
trunk/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/tr1_impl/random


-- 


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



[Bug c++/33205] optimization bug: unsigned bitfield expands with non-zero padding bits

2007-08-28 Thread xk-corpse at hotmail dot com


--- Comment #1 from xk-corpse at hotmail dot com  2007-08-28 08:45 ---
i'm sorry, i forgot to say that bug appears with any optimization level enabled
(-O1, -O2, -O3) and does not appear with optimization disabled (-O0)


-- 

xk-corpse at hotmail dot com changed:

   What|Removed |Added

Summary|bitfield optimizations  |optimization bug: unsigned
   |causes corrupt bitfield |bitfield expands with non-
   |expansion at runtime|zero padding bits


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



[Bug libstdc++/33128] std::tr1::uniform_int returns value out of range

2007-08-28 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2007-08-28 08:52 ---
Fixed. By the way, in C++0x things will be rather different and more work on
random facilities properly belong there.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

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


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread pcarlini at suse dot de


--- Comment #13 from pcarlini at suse dot de  2007-08-28 08:56 ---
(In reply to comment #12)
Totally agreed. In any case, I think we all agree that: 1- Miscompilations are
always very bad; 2- It is legal C++; 3- Any user, not just library authors, can
write such kind of code.


-- 


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



[Bug fortran/33215] New: Bind(C): Accepts multiple entites with same (empty) binding name

2007-08-28 Thread burnus at gcc dot gnu dot org
The following program should give an error message as NAG f95 does:

Error: a.f90, line 4: Only one entity allowed with BIND(C,NAME=...)

gfortran currently happily accepts this.

module m
  use iso_c_binding
  implicit none
  integer(c_int), bind(C, name=) :: a,b
end module m


-- 
   Summary: Bind(C): Accepts multiple entites with same (empty)
binding name
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 32630
 nThis:


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



[Bug target/33205] optimization bug: unsigned bitfield expands with non-zero padding bits

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


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-08-28 09:39 ---
This works for me on a x86_64 target.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |target
   Keywords||wrong-code


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



[Bug rtl-optimization/33148] [4.2/4.3 Regresion] ICE in trunc_int_for_mode, at explow.c:56 during combine

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


--- Comment #5 from jakub at gcc dot gnu dot org  2007-08-28 09:47 ---
Subject: Bug 33148

Author: jakub
Date: Tue Aug 28 09:47:32 2007
New Revision: 127855

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127855
Log:
PR rtl-optimization/33148
* simplify-rtx.c (simplify_unary_operation_1): Only optimize
(neg (lt X 0)) if X has scalar int mode.

* gcc.c-torture/compile/20070827-1.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/20070827-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/simplify-rtx.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/32370] [4.3 Regression] Segfault after rejecting bogus assembler

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


--- Comment #7 from jakub at gcc dot gnu dot org  2007-08-28 09:55 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/33216] New: [4.1/4.2/4.3 Regression] ICE in named_section_real, at varasm.c:419

2007-08-28 Thread rguenth at gcc dot gnu dot org
static void (*const __CTOR_LIST__[1]) (void) __attribute__
((section(.ctors)))
  = { (void (*) (void)) -1 };

void __libc_global_ctors (void)
{
   run_hooks (__CTOR_LIST__);
}


ICEs with 4.1 with -fprofile-arcs:

gcc -S bug-292513.3.min.i -fprofile-arcs
bug-292513.3.min.i: In function '_GLOBAL__I_0___libc_global_ctors':
bug-292513.3.min.i:7: internal compiler error: in named_section_real, at
varasm.c:419
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://bugs.opensuse.org for instructions.

and is rejected with 4.2 and trunk with -fprofile-arcs
bug-292513.3.min.i: In function '_GLOBAL__I_0___libc_global_ctors':
bug-292513.3.min.i:1: error: __CTOR_LIST__ causes a section type conflict
bug-292513.3.min.i: At top level:
bug-292513.3.min.i:1: error: __CTOR_LIST__ causes a section type conflict

this is both a regression to 4.0 which happily accepts the code with
-fprofile-arcs.

Possibly related to PR31490.


-- 
   Summary: [4.1/4.2/4.3 Regression] ICE in named_section_real, at
varasm.c:419
   Product: gcc
   Version: 4.1.3
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, rejects-valid
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-08-28 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2007-08-28 09:57 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-08-28 Thread ubizjak at gmail dot com


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-08-28 Thread uros at gcc dot gnu dot org


--- Comment #9 from uros at gcc dot gnu dot org  2007-08-28 09:52 ---
Subject: Bug 32661

Author: uros
Date: Tue Aug 28 09:52:06 2007
New Revision: 127857

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127857
Log:
PR target/32661
* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
Simplify nested VEC_SELECT (with optional VEC_CONCAT operator as
operand) when top VEC_SELECT extracts scalar element.
* config/i386/sse.md (*vec_extract_v4si_mem): New.
(*vec_extract_v4sf_mem): Ditto.

testsuite/ChangeLog:

PR target/32661
* gcc.target/i386/pr32661.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/i386/pr32661.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sse.md
trunk/gcc/simplify-rtx.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/32370] [4.3 Regression] Segfault after rejecting bogus assembler

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


--- Comment #6 from jakub at gcc dot gnu dot org  2007-08-28 09:50 ---
Subject: Bug 32370

Author: jakub
Date: Tue Aug 28 09:50:04 2007
New Revision: 127856

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127856
Log:
PR middle-end/32370
* passes.c (init_optimization_passes): Move pass_df_finish
after pass_postreload sublist.

* gcc.dg/pr32370.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/pr32370.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/30896] Broken diagnostic for complex template parameter

2007-08-28 Thread pcarlini at suse dot de


--- Comment #3 from pcarlini at suse dot de  2007-08-28 09:59 ---
Fixed by:

  http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01906.html


-- 


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



[Bug fortran/33215] Bind(C): Bugs with empty name=: Creates wrong result and accepts invalid

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


--- Comment #1 from burnus at gcc dot gnu dot org  2007-08-28 10:04 ---
The bug is actually worse as valid Fortran 2003 programs are rejected.

The following program should print 5 -5. The two static global variables are
not the same as their binding name is not a but something like __m_MOD_a
and __n_MOD_a.

Somehow the binding is treated wrongly and thus one gets the error:

Error: Binding label 'a' at (1) collides with global entity 'a' at (2)

With NAG f95 the desired 5 -5 is printed. The program below should behave
identically for BIND(C,name=) and without. (Using the variable from C is
difficult, but one could think of passing the variable as actual argument or -
with TARGET attribute - a pointer to that variable.)

module m
  use iso_c_binding
  implicit none
  integer(c_int), save, bind(C, name=) :: a = 5
!  integer(c_int), save :: a = 5
end module m

module n
  use iso_c_binding
  implicit none
  integer(c_int), save, bind(C,name=) :: a = -5
!  integer(c_int), save :: a = -5
end module n

program prog
use m
use n, b=a
implicit none
  print *, a, b
end program prog


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||rejects-valid
Summary|Bind(C): Accepts multiple   |Bind(C): Bugs with empty
   |entites with same (empty)   |name=: Creates wrong
   |binding name|result and accepts invalid


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



[Bug target/24669] Loop index variable has offset of 1

2007-08-28 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2007-08-28 10:04 ---
This is fixed in current mainline, gcc version 4.3.0 20070827 produces:

foo:
pushl   %ebx
movl8(%esp), %ebx
xorl%edx, %edx
movl12(%esp), %ecx
.p2align 4,,7
.p2align 3
.L2:
movl(%ebx,%edx,4), %eax
movl%eax, (%ecx,%edx,4)
addl$1, %edx
cmpl$4, %edx
jne .L2
popl%ebx
ret


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/30896] Broken diagnostic for complex template parameter

2007-08-28 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|pcarlini at suse dot de |unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW
   Target Milestone|--- |4.3.0


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



[Bug debug/32914] [4.2/4.3 Regression] ICE in rtl_for_decl_init with -g option

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


--- Comment #2 from jakub at gcc dot gnu dot org  2007-08-28 09:45 ---
Subject: Bug 32914

Author: jakub
Date: Tue Aug 28 09:44:57 2007
New Revision: 127854

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127854
Log:
PR debug/32914
* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
initializer, use build_vector_from_ctor if possible to create
VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
even after this, return NULL.

* d++.dg/debug/const3.C: New test.
* d++.dg/debug/const4.C: New test.
* d++.dg/debug/dwarf2/const1.C: New test.
* d++.dg/debug/dwarf2/const2.C: New test.
* d++.dg/debug/dwarf2/const2b.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/debug/const3.C
trunk/gcc/testsuite/g++.dg/debug/const4.C
trunk/gcc/testsuite/g++.dg/debug/dwarf2/const1.C
trunk/gcc/testsuite/g++.dg/debug/dwarf2/const2.C
trunk/gcc/testsuite/g++.dg/debug/dwarf2/const2b.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/33216] [4.1/4.2/4.3 Regression] ICE in named_section_real, at varasm.c:419

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


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-08-28 10:21 ---
The ICE/complain goes away if I remove either the section attribute or the
const
qualification of __CTOR_LIST__.


-- 


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



[Bug target/24669] Loop index variable has offset of 1

2007-08-28 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2007-08-28 10:08 ---
FIxed by http://gcc.gnu.org/ml/gcc-patches/2007-07/msg00354.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||07/msg00354.html
   Keywords||patch
   Target Milestone|--- |4.3.0


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



[Bug target/30082] Expansion of lceil and lfloor could use if-conversion

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


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-08-28 10:58 ---
long foo(float x)
{
  return __builtin_lfloorf(x);
}

generates

foo:
.LFB2:
cvttss2siq  %xmm0, %rax
cvtsi2ssq   %rax, %xmm1
leaq-1(%rax), %rdx
comiss  %xmm0, %xmm1
cmova   %rdx, %rax
ret

the adc/sbb variants are no longer generated.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||missed-optimization
   Last reconfirmed|2006-12-09 22:52:53 |2007-08-28 10:58:39
   date||
Summary|Expansion of ceil and floor |Expansion of lceil and
   |could use if-conversion |lfloor could use if-
   ||conversion


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



[Bug c++/33209] Broken diagnostic: 'template_type_parm' not supported by dump_expr

2007-08-28 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pcarlini at suse dot de
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 10:54:28
   date||


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



[Bug target/33205] optimization bug: unsigned bitfield expands with non-zero padding bits

2007-08-28 Thread xk-corpse at hotmail dot com


--- Comment #3 from xk-corpse at hotmail dot com  2007-08-28 11:25 ---
(In reply to comment #2)
 This works for me on a x86_64 target.
 

For me it works on i686-pc-linux (with cross-compiler, configured with the same
method as above - crosstool-0.43 + glibc-2.3.2), works on i386-mingw32 (with
cross-compiler linux-mingw32), but does not work on powerpc.


-- 


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

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


--- Comment #14 from rguenth at gcc dot gnu dot org  2007-08-28 11:05 
---
I'm reducing the testcase now.


-- 


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



[Bug middle-end/32758] [4.3 Regression] ecj1 hangs

2007-08-28 Thread aph at gcc dot gnu dot org


--- Comment #14 from aph at gcc dot gnu dot org  2007-08-28 11:44 ---
Is this with -fno-strict-aliasing?


-- 


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



[Bug middle-end/32758] [4.3 Regression] ecj1 hangs

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


--- Comment #15 from rguenth at gcc dot gnu dot org  2007-08-28 12:16 
---
-O1 doesn't enable -fstrict-aliasing, only -O2 does.


-- 


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



[Bug rtl-optimization/31248] char adding (in loops) gives an extra move or two

2007-08-28 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2007-08-28 12:02 ---
Current mainline [GCC: (GNU) 4.3.0 20070828] generates:

test:
.LFB2:
xorl%eax, %eax
xorl%edx, %edx
.align 16
.L2:
addbtable(%rdx), %al
addq$1, %rdx
cmpq$10, %rdx
jne .L2
movsbl  %al,%eax
ret

Now, there is an optimization problem in the intialization code in loop header.
To omit one iteration, it should start with:

.LFB2:
movzbl  table(%rip), %ecx
movl$1, %edx
.L2:
...

BTW: By reversing the loop:

  for (i = 9; i; i--)
val += table[i];

we could remove comparison from the loop, but instead we produce (x86_64):

test:
.LFB2:
xorl%eax, %eax
xorl%edx, %edx
.align 16
.L2:
addbtable+9(%rdx), %al
subq$1, %rdx
cmpq$-9, %rdx
jne .L2
movsbl  %al,%eax
ret

However, using -m32 we get:

test:
xorl%eax, %eax
movl$9, %edx
.align 16
.L2:
addbtable(%edx), %al
subl$1, %edx
jne .L2
movsbl  %al,%eax
ret

In reversed-loop case, we could generate:

test:
movl$9, %edx
movzbl  table(%edx), %eax
.align 16
.L2:
addbtable(%edx), %al
subl$1, %edx
jne .L2
movsbl  %al,%eax
ret


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|char adding gives an extra  |char adding (in loops) gives
   |move or two |an extra move or two


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



[Bug c++/33091] [c++0x] ICE using remove_reference on variadic param pack

2007-08-28 Thread chris dot fairles at gmail dot com


--- Comment #5 from chris dot fairles at gmail dot com  2007-08-28 12:32 
---
The following code snippet also causes an ICE (g++43 (GCC) 4.3.0 20070828
(experimental) with -Wall, -g and -std=c++0x)
test4.cpp: In instantiation of ‘Aint’:
test4.cpp:11:   instantiated from here
test4.cpp:7: internal compiler error: tree check: expected tree_vec, have
type_pack_expansion in tsubst_copy_and_build, at cp/pt.c:10434


#include type_traits

template typename... T
struct A {
template typename... U
typename std::enable_if(sizeof...(T) == sizeof...(U)),A::type
operator=(AU... const) {}
};

int main() {
Aint a;
Aint,double b;
a = b;
}


-- 


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

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


--- Comment #15 from rguenth at gcc dot gnu dot org  2007-08-28 13:54 
---
The first difference (between -g and non--g build) is after DSE where for the
-g
build it doesn't delete a redundant store.  Which is because we have different
alias information with/without -g (in fact this effect looks like a dup of
PR32624):

-  D.10781_25 = D.10780_24-D.10279;
-  # SMT.491_337 = VDEF SMT.491_331(ab)
-  D.10780_24-D.10279._vptr._Sp_counted_base =
_ZTVNSt3tr116_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EEE[2];
-  # SMT.491_339 = VDEF SMT.491_337
-  D.10780_24-D.10279._M_use_count = 1;
-  # SMT.491_341 = VDEF SMT.491_339
-  D.10780_24-D.10279._M_weak_count = 1;
-  # SMT.491_342 = VDEF SMT.491_341
-  D.10780_24-D.10279._vptr._Sp_counted_base =
_ZTVNSt3tr121_Sp_counted_base_implIP1BNS_11_Sp_deleterIS1_EELN9__gnu_cxx12_Lock_policyE1EEE[2];
-  # SMT.491_343 = VDEF SMT.491_342
-  D.10780_24-_M_ptr = D.9911_4;
-  # VUSE __d_335
-  # SMT.491_344 = VDEF SMT.491_343
-  D.10780_24-_M_del = __d;
+  D.10923_25 = D.10922_24-D.10280;
+  # SMT.487_370 = VDEF SMT.487_353(ab)
+  # SMT.488_360 = VDEF SMT.488_354(ab)
+  D.10922_24-D.10280._vptr._Sp_counted_base =
_ZTVNSt3tr116_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EEE[2];
+  # SMT.487_26 = VDEF SMT.487_370
+  # SMT.488_361 = VDEF SMT.488_360
+  D.10922_24-D.10280._M_use_count = 1;
+  # SMT.487_345 = VDEF SMT.487_26
+  # SMT.488_362 = VDEF SMT.488_361
+  D.10922_24-D.10280._M_weak_count = 1;
+  # SMT.487_363 = VDEF SMT.487_345
+  # SMT.488_364 = VDEF SMT.488_362
+  D.10922_24-D.10280._vptr._Sp_counted_base =
_ZTVNSt3tr121_Sp_counted_base_implIP1BNS_11_Sp_deleterIS1_EELN9__gnu_cxx12_Lock_policyE1EEE[2];
+  # SMT.487_365 = VDEF SMT.487_363
+  # SMT.488_366 = VDEF SMT.488_364
+  D.10922_24-_M_ptr = D.9912_4;
+  # VUSE __d_359
+  # SMT.487_367 = VDEF SMT.487_365
+  # SMT.488_368 = VDEF SMT.488_366
+  D.10922_24-_M_del = __d;


note how we have two SMTs per store for -g but only one without -g.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c++/28558] [4.0/4.1/4.2/4.3 regression] Trouble with __attribute__ and non-PODs

2007-08-28 Thread jason at gcc dot gnu dot org


--- Comment #7 from jason at gcc dot gnu dot org  2007-08-28 13:57 ---
Subject: Bug 28558

Author: jason
Date: Tue Aug 28 13:57:09 2007
New Revision: 127859

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127859
Log:
PR c++/28558
* cp/decl.c (groktypename): Ignore attributes applied to class type.
* testsuite/g++.dg/ext/attrib28.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ext/attrib28.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/33217] New: ICE in 20070827 version of gfortran when INQUIRE is in a module

2007-08-28 Thread michael dot a dot richmond at nasa dot gov
When I compile the module listed below using the version of gfortran for Linux
dated August 27 (downloaded from http://gcc.gnu.org/wiki/GFortranBinaries), I
get the following error:

p.f90: In function 'i':
p.f90:5: internal compiler error: in make_decl_rtl, at varasm.c:1263
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

MODULE print_it
CONTAINS
  SUBROUTINE i()
LOGICAL :: qexist
INQUIRE (UNIT=1, EXIST=qexist)
  END SUBROUTINE i
END MODULE print_it


-- 
   Summary: ICE in 20070827 version of gfortran when INQUIRE is in a
module
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: michael dot a dot richmond at nasa dot gov


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



[Bug c++/31337] [4.2/4.3 regression] ICE with statement expression

2007-08-28 Thread jason at gcc dot gnu dot org


--- Comment #7 from jason at gcc dot gnu dot org  2007-08-28 14:00 ---
Fixed in 4.2 and 4.3.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/33217] [4.3 regression] ICE on INQUIRE in a module

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


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2007-08-28 14:41 
---
This appeared at some point between 20070821 [rev 127667] and 20070827 [rev
127830]. Most likely culprit at this point is:

2007-08-26  Jerry DeLisle  [EMAIL PROTECTED]

PR fortran/33055
* trans-io.c (create_dummy_iostat): New function to create a unique
dummy variable expression to use with IOSTAT.
(gfc_trans_inquire): Use the new function to pass unit number error
info
to run-time library if a regular IOSTAT variable was not given.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jvdelisle at gcc dot gnu dot
   ||org, fxcoudert at gcc dot
   ||gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:41:18
   date||
Summary|ICE in 20070827 version of  |[4.3 regression] ICE on
   |gfortran when INQUIRE is in |INQUIRE in a module
   |a module|


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



[Bug rtl-optimization/29950] Generated code changes after unrelated edits in source.

2007-08-28 Thread vda dot linux at googlemail dot com


--- Comment #5 from vda dot linux at googlemail dot com  2007-08-28 14:49 
---
Created an attachment (id=14125)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14125action=view)
An example of code compiled differently by 4.2.1

It still exists in 4.2.1

testcase-421 contains preporcesses and slightly trimmed sources of less.c:
less3.c originally lacked #include sys/poll.h, less4.c had that line.

Nothing in these files actually use poll.h

Function buffer_fill_and_print() is compiled differently:

$ nm --size-sort less3.o less4.o | grep buffer_fill_and_print
0049 T buffer_fill_and_print
004c T buffer_fill_and_print

More details are in README file.


-- 


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



[Bug c/32575] [4.2/4.3 regression] With -ftree-vrp miscompiles a single line of code in SQLite

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


--- Comment #4 from jakub at gcc dot gnu dot org  2007-08-28 14:55 ---
On the trunk I'm just seeing
*** in database main ***
Page 2 is never used
That seems to be because of miscompiled sqlite3SelectNew function with
-O2 -fstrict-aliasing, with -O2 -fno-strict-aliasing that works.

Here is a reduced self-contained testcase for that:

extern void abort (void);

struct S
{
  void *s1;
  unsigned char s2, s3, s4, s5, s6, s7;
  char s8;
  void *s9, *s10, *s11, *s12, *s13;
  struct S *s14, *s15;
  void *s16, *s17;
  int s18, s19, s20[3];
};

__attribute__((noinline))
void *foo (int x, int y)
{
  static struct S s;
  if (x != sizeof (struct S) || y != 1)
abort ();
  return s;
}

__attribute__((noinline))
void bar (struct S *p)
{
  asm volatile ( : =m (*p) : m (*p));
}

__attribute__((noinline))
void *baz1 (void *x, void *y,void *z)
{
  if (y || z)
abort ();
  return x;
}

__attribute__((noinline))
void *baz2 (int x, void *y, void *z, void *a)
{
  if (x || y || z || a)
abort ();
  return (void *) 0;
}

__attribute__((noinline))
struct S *test (void *a, void *b, void *c, void *d, void *e, void *f, int g,
void *h, void *i)
{
  struct S *p, q;
  p = foo (sizeof (*p), 1);
  if (p == 0)
{
  p = q;
  __builtin_memset (p, 0, sizeof (*p));
}
  if (a == 0)
a = baz1(0, baz2(107,0,0,0), 0);
  p-s1 = a;
  p-s9 = b;
  p-s10 = c;
  p-s11 = d;
  p-s12 = e;
  p-s13 = f;
  p-s3 = g;
  p-s2 = 110;
  p-s16 = h;
  p-s17 = i;
  p-s18 = -1;
  p-s19 = -1;
  p-s20[0] = -1;
  p-s20[1] = -1;
  p-s20[2] = -1;
  if (p == q)
{
  bar(p);
  p = 0;
}
  return p;
}

int
main (void)
{
  int a;
  int b;
  struct S *z = test ((void *) a, (void *) b, 0, 0, 0, 0, 0, 0, 0);
  if (z == 0)
abort ();
  if (z-s1 != (void *) a || z-s2 != 110 || z-s3 || z-s4)
abort ();
  if (z-s5 || z-s6 || z-s7 || z-s8)
abort ();
  if (z-s9 != (void *) b || z-s10 || z-s11 || z-s12)
abort ();
  if (z-s13 || z-s14 || z-s15 || z-s16)
abort ();
  if (z-s17 || z-s18 != -1 || z-s19 != -1)
abort ();
  if (z-s20[0] != -1 || z-s20[1] != -1 || z-s20[2] != -1)
abort ();
  return 0;
}


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|GCC 4.2.0 with -ftree-vrp   |[4.2/4.3 regression] With -
   |miscompiles a single line of|ftree-vrp miscompiles a
   |code in SQLite  |single line of code in
   ||SQLite


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



[Bug fortran/33215] Bind(C): Bugs with empty name=: Creates wrong result and accepts invalid

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


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:30:09
   date||


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



[Bug fortran/33179] gfortran doesn't emit type information for allocatable arrays

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


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2007-08-28 14:45 
---
I think the data member should have the type. If it doesn't, it's one of the
many debug-info gfortran bugs :(  We could really use a hand in that area.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
OtherBugsDependingO||24546
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-debug
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:45:47
   date||


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



[Bug fortran/33197] Fortran 2008: gamma() and other small changes

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


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:46:00
   date||


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



[Bug java/33218] New: Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT

2007-08-28 Thread cyberflex at mail dot ru
When creating process (Process p = ...) which do not respond to Ctrl+C
then behavior of destroy or waitFor or both is incorrect.

Process blocking/discarding signal sent by Ctrl+C is not killed by destroy().
(The Process.destroy() supposed (IMHO) to kill the child process forcibly.)

After calling destroy() other method waitFor() returns immediately instead of
waiting (survived after the signal) process completion forever.

Such behavior looks to be such  a discrepancy.


Test case:
I encounted the problem when used following command line
rfcomm listen -i hci0 /dev/rfcomm0 6

rfcomm doesn't react to Ctrl+C till external connection is accepted.

Program code:

Process p =rfcomm ...
p.destroy();
p.waitFor()
System.out.println(waitFor completed);





ps ax | grep rfcomm


Workaround for application:
kill such processes explicitly with kill -9 or
kill subchildren of shell scripts by themselves using shell trap command.


Not sure that the issue exists in 4.2.x, I haven't one to test with
architectures I use.


-- 
   Summary: Process.waiFor() Process.destroy() misbehave for childs
which are not reacting to Ctrl+C SIGQUIT
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cyberflex at mail dot ru
  GCC host triplet: arm_le, x86 - native compilation


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



[Bug c/32575] [4.2/4.3 regression] With -ftree-vrp miscompiles a single line of code in SQLite

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


--- Comment #5 from jakub at gcc dot gnu dot org  2007-08-28 15:16 ---
Even more simplified testcase:

extern void abort (void);

struct S
{
  void *s1, *s2;
  unsigned char s3, s4, s5;
};

__attribute__((noinline))
void *foo (void)
{
  static struct S s;
  return s;
}

__attribute__((noinline))
void *bar ()
{
  return (void *) 0;
}

__attribute__((noinline))
struct S *test (void *a, void *b)
{
  struct S *p, q;
  p = foo ();
  if (p == 0)
{
  p = q;
  __builtin_memset (p, 0, sizeof (*p));
}
  if (a == 0)
a = bar ();
  p-s1 = a;
  p-s2 = b;
  if (p == q)
p = 0;
  return p;
}

int
main (void)
{
  int a;
  int b;
  struct S *z = test ((void *) a, (void *) b);
  if (z == 0 || z-s1 != (void *) a || z-s2 != (void *) b || z-s3 || z-s4)
abort ();
  return 0;
}


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot org
   Target Milestone|--- |4.2.2


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



[Bug c/33219] New: Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.

2007-08-28 Thread andreagrassi at sogeasoft dot com



-- 
   Summary: Error in compiling when there is a function with a char
parameter called before its declaration with inline
parameters.
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andreagrassi at sogeasoft dot com
  GCC host triplet: Linux Sles 10


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



[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.

2007-08-28 Thread andreagrassi at sogeasoft dot com


--- Comment #1 from andreagrassi at sogeasoft dot com  2007-08-28 15:24 
---
Created an attachment (id=14126)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14126action=view)
Source


-- 


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



[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.

2007-08-28 Thread andreagrassi at sogeasoft dot com


--- Comment #2 from andreagrassi at sogeasoft dot com  2007-08-28 15:25 
---
Created an attachment (id=14127)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14127action=view)
preprocessed file


-- 


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



[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.

2007-08-28 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2007-08-28 15:56 ---
Out of curiosity, do you ever add -Wall to the command line?


-- 


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

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


--- Comment #16 from rguenth at gcc dot gnu dot org  2007-08-28 15:56 
---
The differences in alias info are due to different memory partitioning that
happens (regardless of same IL, same number of referenced vars and same BB
frequencies) as we have different Memory symbol references before
partitioning:

For example one difference is

read frequency:  0, write frequency:  0, direct reads:  34, direct
writes:   3, indirect reads:0, indirect writes:   26, symbol: SMT.486,
tags: NIL

vs.

read frequency:  2, write frequency:  3, direct reads:  34, direct
writes:   3, indirect reads:2, indirect writes:   29, symbol: SMT.487,
tags: { SMT.486 }

where the thing to investigate is why the tags: part is different (that part
causes the number of indirect reads/writes to be different)


-- 


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



[Bug c/32575] [4.2/4.3 regression] With -ftree-vrp miscompiles a single line of code in SQLite

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


--- Comment #6 from jakub at gcc dot gnu dot org  2007-08-28 15:58 ---
if (a == 0) a = bar (); isn't necessary either.

salias has:

  # BLOCK 2 freq:1
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  # VUSE qD.2026_12(D), SMT.25D.2079_13(D) { qD.2026 SMT.25D.2079 }
  D.2027_3 = foo ();
  pD.2025_4 = (struct S *) D.2027_3;
  if (pD.2025_4 == 0B)
goto bb 3;
  else
goto bb 4;
  # SUCC: 3 [7.3%]  (true,exec) 4 [92.7%]  (false,exec)

  # BLOCK 3 freq:735
  # PRED: 2 [7.3%]  (true,exec)
  # qD.2026_15 = VDEF qD.2026_12(D)
  # SMT.25D.2079_16 = VDEF SMT.25D.2079_13(D)
  # SMT.26D.2080_17 = VDEF SMT.26D.2080_14(D) { qD.2026 SMT.25D.2079
SMT.26D.2080 }
  __builtin_memset (qD.2026, 0, 24);
  # SUCC: 4 [100.0%]  (fallthru,exec)

  # BLOCK 4 freq:1
  # PRED: 2 [92.7%]  (false,exec) 3 [100.0%]  (fallthru,exec)
  # qD.2026_11 = PHI qD.2026_12(D)(2), qD.2026_15(3)
  # pD.2025_1 = PHI pD.2025_4(2), qD.2026(3)
  # qD.2026_18 = VDEF qD.2026_11 { qD.2026 }
  pD.2025_1-s1D.2008 = aD.2021_6(D);
  # qD.2026_19 = VDEF qD.2026_18 { qD.2026 }
  pD.2025_1-s2D.2009 = bD.2022_7(D);

Shouldn't the VDEFs be a PHI of some SMT and qD?  pD.2025_1 can either be what
foo returned, or it can point to the automatic variable q.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.2.2   |---


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



[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.

2007-08-28 Thread andreagrassi at sogeasoft dot com


--- Comment #3 from andreagrassi at sogeasoft dot com  2007-08-28 15:42 
---
Sorry I confirmed for mistake ... Continue the bug report...

The code is very simple and you can read it in the souce code a.c. 
Command line of the compile is simple too: gcc a.c.
*
Error message:
a.c:7: error: conflicting types for 'a'
a.c:7: note: an argument type that has a default promotion can't match an empty
parameter name list declaration
a.c:3: error: previous implicit declaration of 'a' was here
a.c: In function 'a':
a.c:8: warning: incompatible implicit declaration of built-in function
'printf'
*
Condition of the error:
1) Function with at least a parameter declared as char.
2) Function called before its declaration
3) Inline parameter list declaration (that is with the types declared inside
the parenthesis.
In fact, If one of the previous conditions miss, the source is compiled with
success. 
If for example, the declaration was 

a(a)
   char a;
{

 the compiling works, whereas if I write 

a(char a)

 it fails.


-- 

andreagrassi at sogeasoft dot com changed:

   What|Removed |Added

   Severity|normal  |enhancement


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



[Bug java/33218] Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT

2007-08-28 Thread daney at gcc dot gnu dot org


--- Comment #1 from daney at gcc dot gnu dot org  2007-08-28 15:59 ---
Can you post a fully self contained test case?  If I can easily reproduce it, I
will try to fix it.


-- 


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

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


--- Comment #17 from rguenth at gcc dot gnu dot org  2007-08-28 16:24 
---
Created an attachment (id=14128)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14128action=view)
reduced testcase

Reduced testcase.  Note that even removing an unused class (struct counter)
makes
the testcase work.


-- 


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



[Bug middle-end/31490] Compile error section type conflict

2007-08-28 Thread dtemirbulatov at gmail dot com


--- Comment #13 from dtemirbulatov at gmail dot com  2007-08-28 16:25 
---
reviewed patch posted here
http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01280.html


-- 


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



[Bug c++/32400] [4.3 Regression] ICE in expand_or_defer_fn, at cp/semantics.c:3220

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


--- Comment #10 from jakub at gcc dot gnu dot org  2007-08-28 16:09 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/32596] [4.3 Regression] ICE with inline template specialization in anonymous namespace

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


--- Comment #4 from jakub at gcc dot gnu dot org  2007-08-28 16:08 ---
Subject: Bug 32596

Author: jakub
Date: Tue Aug 28 16:08:02 2007
New Revision: 127863

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127863
Log:
PR c++/32596
PR c++/32400
* pt.c (check_explicit_specialization): Set DECL_INTERFACE_KNOWN
and DECL_NOT_REALLY_EXTERN if tmpl_func is not public.

* g++.dg/ext/visibility/anon5.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon5.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/32400] [4.3 Regression] ICE in expand_or_defer_fn, at cp/semantics.c:3220

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


--- Comment #9 from jakub at gcc dot gnu dot org  2007-08-28 16:08 ---
Subject: Bug 32400

Author: jakub
Date: Tue Aug 28 16:08:02 2007
New Revision: 127863

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127863
Log:
PR c++/32596
PR c++/32400
* pt.c (check_explicit_specialization): Set DECL_INTERFACE_KNOWN
and DECL_NOT_REALLY_EXTERN if tmpl_func is not public.

* g++.dg/ext/visibility/anon5.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon5.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/22244] dimension information is lost for multi-dimension array

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


--- Comment #7 from jakub at gcc dot gnu dot org  2007-08-28 16:09 ---
Subject: Bug 22244

Author: jakub
Date: Tue Aug 28 16:08:57 2007
New Revision: 127864

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127864
Log:
PR fortran/22244
* Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H).
* trans-types.c: Include flags.h.
(gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with
correct bounds and dimensions for packed arrays.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/Make-lang.in
trunk/gcc/fortran/trans-types.c


-- 


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



[Bug c++/32596] [4.3 Regression] ICE with inline template specialization in anonymous namespace

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


--- Comment #5 from jakub at gcc dot gnu dot org  2007-08-28 16:10 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/33214] [4.3 regression] Broken diagnostic: 'argument_pack_select' not supported by dump_expr

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


--- Comment #1 from jakub at gcc dot gnu dot org  2007-08-28 16:17 ---
Isn't this a dup of PR33118 ?


-- 


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



[Bug java/33218] Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT

2007-08-28 Thread cyberflex at mail dot ru


--- Comment #2 from cyberflex at mail dot ru  2007-08-28 16:43 ---
(In reply to comment #1)
 Can you post a fully self contained test case?  If I can easily reproduce it, 
 I
 will try to fix it.
 

Test case is to be following, but reproducing looks like to be a bit tricky :(
gcj (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux) doesn't show such behaviour,
I'll try (in a few days) this once more with my real scripts and real hardware
platfrom that compiler. Then I'll post more detailed report to this bug.

May be the problem is observed only when script is sleep in syscall only.
Yet I could kill script manually, so it might not be a kernel issue.




test.java

import java.lang.*;

public class test{

public static void main(String[] args) throws Exception{
 String cmd = ./test.sh;
 Process p = Runtime.getRuntime().exec(cmd);
 p.destroy();
 p.waitFor();
 System.out.println(waitFor completed);
 while(1 == 1){
  Thread.currentThread().sleep(3000);
 }
}


}


test.sh:


#!/bin/bash


trap  SIGINT
trap  SIGQUIT



Thanks.


-- 

cyberflex at mail dot ru changed:

   What|Removed |Added

 CC||cyberflex at mail dot ru


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



[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.

2007-08-28 Thread andreagrassi at sogeasoft dot com


--- Comment #5 from andreagrassi at sogeasoft dot com  2007-08-28 16:50 
---
Subject: R:  Error in compiling when there is a function with a char parameter
called before its declaration with inline parameters.

Yes and the error remains. Nothing changes.

I don't understand the error !! It's all so simple and I don't understand
why the compile works if I write in the second form (not inline parameter
declaration) !!!


Le informazioni contenute in questo messaggio di posta elettronica sono di
natura confidenziale; qualsiasi pubblicazione, utilizzo o diffusione anche
parziale dello stesso non può essere effettuata senza autorizzazione e
potrebbe costituire un illecito penale ai sensi del Decreto Legs.vo N°
196/2003 sulla Protezione dei Dati Personali e del Codice Penale, Art.
617-621-635 bis oltre che della legge 547/93. Qualora non siate tra i
legittimi destinatari di questa e-mail Vi preghiamo cortesemente di
cancellarla dal Vostro sistema dopo aver notificato al mittente, rispondendo
alla comunicazione, l'errore da questi commesso.



 -Messaggio originale-
 Da: pcarlini at suse dot de [mailto:[EMAIL PROTECTED]
 Inviato: martedì 28 agosto 2007 17.57
 A: [EMAIL PROTECTED]
 Oggetto: [Bug c/33219] Error in compiling when there is a
 function with
 a char parameter called before its declaration with inline parameters.




 --- Comment #4 from pcarlini at suse dot de  2007-08-28
 15:56 ---
 Out of curiosity, do you ever add -Wall to the command line?


 --


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

 --- You are receiving this mail because: ---
 You reported the bug, or are watching the reporter.






-- 


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



[Bug java/33218] Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT

2007-08-28 Thread daney at gcc dot gnu dot org


--- Comment #3 from daney at gcc dot gnu dot org  2007-08-28 16:56 ---
Looking at the current code, it seems that we may have a problem if we
destroy() a process that has already exited.  The kill(2) man page suggests
that ESRCH could result, in which case we would throw an InternalError.  Must
investigate...


-- 


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



[Bug c++/29000] [4.2/4.3 regression] ICE on invalid use of template in statement-expr

2007-08-28 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2007-08-28 16:59 ---
Subject: Bug 29000

Author: jason
Date: Tue Aug 28 16:58:59 2007
New Revision: 127868

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127868
Log:
PR c++/29000
* pt.c (build_non_dependent_expr, type_dependent_expression_p):
Look inside STMT_EXPR.
* semantics.c (stmt_expr_value_expr): New fn.
* cp-tree.h: Declare it.
* g++.dg/ext/stmtexpr12.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ext/stmtexpr12.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/33209] Broken diagnostic: 'template_type_parm' not supported by dump_expr

2007-08-28 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2007-08-28 16:43 ---
Fixed.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/33209] Broken diagnostic: 'template_type_parm' not supported by dump_expr

2007-08-28 Thread paolo at gcc dot gnu dot org


--- Comment #1 from paolo at gcc dot gnu dot org  2007-08-28 16:42 ---
Subject: Bug 33209

Author: paolo
Date: Tue Aug 28 16:41:56 2007
New Revision: 127866

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127866
Log:
/cp
2007-08-28  Paolo Carlini  [EMAIL PROTECTED]

PR c++/33209
* error.c (dump_expr): Deal with TEMPLATE_TYPE_PARM and
BOUND_TEMPLATE_TEMPLATE_PARM.

/testsuite
2007-08-28  Paolo Carlini  [EMAIL PROTECTED]

PR c++/33209
* g++.dg/template/error29.C: New.

Added:
trunk/gcc/testsuite/g++.dg/template/error29.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/error.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/33210] [4.1/4.2/4.3 regression] Broken diagnostics: 'bound_template_template_parm' not supported by pp_cxx_unqualified_id/dump_decl

2007-08-28 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pcarlini at suse dot de
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 17:15:28
   date||


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



[Bug c/33220] New: impossible constraint in �asm�

2007-08-28 Thread yakov at emc dot com
cc -O2 -dr -msoft-float -c f_powf.c
f_powf.c: In function ‘_f_powf’:
f_powf.c:49: error: impossible constraint in ‘asm’

typedef unsigned int __uint32_t;
typedef signed int __int32_t;
typedef union
{
  double value;
  struct
  {
__uint32_t lsw;
__uint32_t msw;
  } parts;
} ieee_double_shape_type;
typedef union
{
  float value;
  __uint32_t word;
} ieee_float_shape_type;

extern float powf (float, float);

__inline__ static int
check_finite(double x)

{
  __int32_t hx;
  do { ieee_double_shape_type gh_u; gh_u.value = (x); (hx) = gh_u.parts.msw; }
while (0);
  return (int)((__uint32_t)((hx0x7fff)-0x7ff0)31);
}

__inline__
static
int
check_finitef(float x)

{
  __int32_t ix;
  do { ieee_float_shape_type gf_u; gf_u.value = (x); (ix) = gf_u.word; } while
(0);
  return (int)((__uint32_t)((ix0x7fff)-0x7f80)31);
}

float _f_powf (float x, float y)
{

  if (x  0.0  check_finitef(y))
{
  float result;

  asm (flds 8(%%ebp); fyl2x; fld %%st; frndint; fsub %%st,%%st(1); fxch;
fchs; f2xm1; fld1; faddp; fxch; fld1; fscale; fstp %%st(1); fmulp : =t
(result) : 0 (y));

  return result;
}
  else
return powf (x,y);
}


-- 
   Summary: impossible constraint in ‘asm’
   Product: gcc
   Version: 4.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: yakov at emc dot com
 GCC build triplet: gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux)
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: x86


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



[Bug fortran/33221] New: IMPORTing of TYPE declarations without components fails

2007-08-28 Thread burnus at gcc dot gnu dot org
The following is a valid Fortran 2003 program, but if type t has no
components, it cannot be imported:

Error: Derived type 't' at (1) is being used before it is defined

type t
 ! integer :: i
end type t
interface
  subroutine fff(a)
import :: t
type(t) :: a
  end subroutine fff
end interface
end


-- 
   Summary: IMPORTing of TYPE declarations without components fails
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug c++/33210] [4.1/4.2/4.3 Regression] Broken diagnostics: 'bound_template_template_parm' not supported by pp_cxx_unqualified_id/dump_decl

2007-08-28 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2007-08-28 18:10 ---
Oops..


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|pcarlini at suse dot de |unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW
Summary|Broken diagnostics: |[4.1/4.2/4.3 Regression]
   |'bound_template_template_par|Broken diagnostics:
   |m' not supported by |'bound_template_template_par
   |pp_cxx_unqualified_id/dump_d|m' not supported by
   |ecl |pp_cxx_unqualified_id/dump_d
   ||ecl


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



[Bug middle-end/31490] Compile error section type conflict

2007-08-28 Thread janis at gcc dot gnu dot org


--- Comment #14 from janis at gcc dot gnu dot org  2007-08-28 18:15 ---
The patch that I tried is the one attached for comment #10, not the one in
comment #9.  With that patch a bootstrap of all languages but Ada succeeded. 
The test results look reasonable, although I don't have results from the last
few days with which to compare them.


-- 


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



[Bug middle-end/32758] [4.3 Regression] ecj1 hangs

2007-08-28 Thread andreast at gcc dot gnu dot org


--- Comment #16 from andreast at gcc dot gnu dot org  2007-08-28 18:44 
---
Volumes/development/gcc/head/objdir/./gcc/xgcc
-B/Volumes/development/gcc/head/objdir/./gcc/
-B/Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/bin/
-B/Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/lib/
-isystem
/Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/include
-isystem
/Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/sys-include
-DHAVE_CONFIG_H -I. -I/Volumes/development/gcc/head/gcc/libffi -I. -I.
-I/Volumes/development/gcc/head/gcc/libffi/include -Iinclude
-I/Volumes/development/gcc/head/gcc/libffi/src -Wall -g -fexceptions -O0 -g -O0
-MT src/java_raw_api.lo -MD -MP -MF src/.deps/java_raw_api.Tpo -c
/Volumes/development/gcc/head/gcc/libffi/src/java_raw_api.c -fno-common -DPIC
-o src/.libs/java_raw_api.o

So no explicit -fstrict-aliasing.
Iow, yes with -fno-strict-aliasing.


-- 


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



[Bug rtl-optimization/10837] noreturn attribute causes no sibling calling optimization

2007-08-28 Thread kauer at os dot inf dot tu-dresden dot de


--- Comment #4 from kauer at os dot inf dot tu-dresden dot de  2007-08-28 
19:07 ---
Some comments from the outside:
(1) It should be possible to exchange the emmited call into a jmp, without
adding the function epilog.
(2) A proper backtrace is not generated on optimized sibling functions.
(3) http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00180.html explains, that it
is hard to implement


-- 

kauer at os dot inf dot tu-dresden dot de changed:

   What|Removed |Added

 CC||kauer at os dot inf dot tu-
   ||dresden dot de


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

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


--- Comment #18 from rguenth at gcc dot gnu dot org  2007-08-28 19:23 
---
Just to add, the reduced testcase fails with r127848.  I suppose the failure
might vanish with the inliner change I put in after that.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 19:23:20
   date||


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



[Bug rtl-optimization/10837] noreturn attribute causes no sibling calling optimization

2007-08-28 Thread kauer at os dot inf dot tu-dresden dot de


--- Comment #5 from kauer at os dot inf dot tu-dresden dot de  2007-08-28 
19:27 ---
(4) abort produce a proper backtrace, if it is not a noreturn function
(5) this optimization could be configurable by something like
-foptimize-noreturns


-- 


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



[Bug c++/28558] [4.0/4.1/4.2/4.3 regression] Trouble with __attribute__ and non-PODs

2007-08-28 Thread jason at gcc dot gnu dot org


--- Comment #8 from jason at gcc dot gnu dot org  2007-08-28 19:32 ---
Fixed for 4.3, not going to bother applying to other branches.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/32758] [4.3 Regression] ecj1 hangs

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


--- Comment #17 from jakub at gcc dot gnu dot org  2007-08-28 19:38 ---
I can reproduce this on ppc32-linux, working on a self-contained reproducer.


-- 


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



[Bug c++/29365] Unnecessary anonymous namespace warnings

2007-08-28 Thread pluto at agmk dot net


--- Comment #34 from pluto at agmk dot net  2007-08-28 19:40 ---
(In reply to comment #33)
 Fixed.
 

one more testcase:

$ cat X.hpp
namespace { class Impl; }
struct X
{
~X();
Impl* pimpl_;
};

$ cat X.cpp
#include X.hpp
X::~X()
{
}

$ g++ -Wall -c X.cpp
In file included from X.cpp:1:
X.hpp:3: warning: 'X' has a field 'X::pimpl_' whose type uses the anonymous
namespace

gcc version 4.2.2 20070828 


-- 


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



[Bug c++/33118] [4.3 Regression] #'argument_pack_select' not supported by dump_expr#expression error

2007-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2007-08-28 20:06 
---
*** Bug 33214 has been marked as a duplicate of this bug. ***


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org


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



[Bug c++/33214] [4.3 regression] Broken diagnostic: 'argument_pack_select' not supported by dump_expr

2007-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #2 from reichelt at gcc dot gnu dot org  2007-08-28 20:06 
---
It's a duplicate, indeed.


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


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/29003] operator name accepted in typedef

2007-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2007-08-28 20:16 
---
The message confused by earlier errors, bailing out is nothing but a hidden
ICE.
In order not to bother the user with GCC's error recovery problems it replaces
the usual ICE message on release branches, if a regular error message has been
issued already.
To see the underlying ICE you have to configure the compiler with
--enable-checking.


-- 


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



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-08-28 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2007-08-28 20:26 ---
Has anyone been able to reproduce this problem? I'm not able to trigger the
failure with the preprocessed source.


-- 


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



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-08-28 Thread tbm at cyrius dot com


--- Comment #4 from tbm at cyrius dot com  2007-08-28 20:32 ---
(In reply to comment #3)
 Has anyone been able to reproduce this problem? I'm not able to trigger the
 failure with the preprocessed source.

Well, I noted this problem already in my first message.  I see the ICE when
I compile the .cc file though rather than the preprocessed source.


-- 


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



[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)

2007-08-28 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 20:34:54
   date||


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



Re: [Bug c++/29365] Unnecessary anonymous namespace warnings

2007-08-28 Thread Andrew Pinski
On 28 Aug 2007 19:40:14 -, pluto at agmk dot net
[EMAIL PROTECTED] wrote:


 --- Comment #34 from pluto at agmk dot net  2007-08-28 19:40 ---
 (In reply to comment #33)
  Fixed.
 

 one more testcase:

 $ cat X.hpp
 namespace { class Impl; }
 struct X
 {
 ~X();
 Impl* pimpl_;
 };

 $ cat X.cpp
 #include X.hpp
 X::~X()
 {
 }

In this case, the warning is correct as Impl will be different in each
Translation Unit so X can never be the same between two of them.

-- Pinski


[Bug c++/29365] Unnecessary anonymous namespace warnings

2007-08-28 Thread pinskia at gmail dot com


--- Comment #35 from pinskia at gmail dot com  2007-08-28 20:48 ---
Subject: Re:  Unnecessary anonymous namespace warnings

On 28 Aug 2007 19:40:14 -, pluto at agmk dot net
[EMAIL PROTECTED] wrote:


 --- Comment #34 from pluto at agmk dot net  2007-08-28 19:40 ---
 (In reply to comment #33)
  Fixed.
 

 one more testcase:

 $ cat X.hpp
 namespace { class Impl; }
 struct X
 {
 ~X();
 Impl* pimpl_;
 };

 $ cat X.cpp
 #include X.hpp
 X::~X()
 {
 }

In this case, the warning is correct as Impl will be different in each
Translation Unit so X can never be the same between two of them.

-- Pinski


-- 


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



[Bug middle-end/32758] [4.3 Regression] ecj1 hangs

2007-08-28 Thread andreast at gcc dot gnu dot org


--- Comment #18 from andreast at gcc dot gnu dot org  2007-08-28 21:00 
---
Adding -fno-dce at -O1/O2 helps passing the failing test cases mentioned in
comment #8 on ppc-linux and ppc-darwin.


-- 


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



[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)

2007-08-28 Thread dgregor at gcc dot gnu dot org


--- Comment #1 from dgregor at gcc dot gnu dot org  2007-08-28 21:12 ---
Patch available here: http://gcc.gnu.org/ml/gcc-patches/2007-08/msg02013.html


-- 


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



[Bug c++/29365] Unnecessary anonymous namespace warnings

2007-08-28 Thread bangerth at dealii dot org


--- Comment #36 from bangerth at dealii dot org  2007-08-28 21:40 ---
(In reply to comment #35)

 In this case, the warning is correct as Impl will be different in each
 Translation Unit so X can never be the same between two of them.

That's what I thought too at first, but the request is valid anyway as long
as you never use the pointer to the class from anywhere except the one
implementation file in which the class is defined. Never using means not
even passing around the pointer, i.e. the class better not has an inline
function in the header file in which the pointer is used. However, as long
as the entire handling of the pointer is inside a single TU, nothing is
wrong with the code.

Now, whether that's good style is clearly a different matter...

W.


-- 


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



[Bug c++/29365] Unnecessary anonymous namespace warnings

2007-08-28 Thread pinskia at gmail dot com


--- Comment #37 from pinskia at gmail dot com  2007-08-28 22:11 ---
Subject: Re:  Unnecessary anonymous namespace warnings

On 28 Aug 2007 21:41:05 -, bangerth at dealii dot org
[EMAIL PROTECTED] wrote:
 That's what I thought too at first, but the request is valid anyway as long
 as you never use the pointer to the class from anywhere except the one
 implementation file in which the class is defined.

No it is not, it is still violating One definition rule as struct X
will have a different member type for pimpl_ in each TU (this violates
the whole idea of types being exported).  This is going to be true no
matter what, even if you change the warning.  Now you can use a
void* to get around this issue and should solve the issue and not
violate the C++ ODR.

This warning is not about style, it is about warning when you are most
likely going to violat C++'s One definition rule with anonymous
namespaces and you do violate it here as explained above.

Thanks,
Andrew Pinski


-- 


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



Re: [Bug c++/29365] Unnecessary anonymous namespace warnings

2007-08-28 Thread Andrew Pinski
On 28 Aug 2007 21:41:05 -, bangerth at dealii dot org
[EMAIL PROTECTED] wrote:
 That's what I thought too at first, but the request is valid anyway as long
 as you never use the pointer to the class from anywhere except the one
 implementation file in which the class is defined.

No it is not, it is still violating One definition rule as struct X
will have a different member type for pimpl_ in each TU (this violates
the whole idea of types being exported).  This is going to be true no
matter what, even if you change the warning.  Now you can use a
void* to get around this issue and should solve the issue and not
violate the C++ ODR.

This warning is not about style, it is about warning when you are most
likely going to violat C++'s One definition rule with anonymous
namespaces and you do violate it here as explained above.

Thanks,
Andrew Pinski


[Bug rtl-optimization/33028] Missed optimizations in peephole2 pass

2007-08-28 Thread eweddington at cso dot atmel dot com


--- Comment #2 from eweddington at cso dot atmel dot com  2007-08-28 23:30 
---
Confirmed bug, and verified patch fixes bug.


-- 

eweddington at cso dot atmel dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 23:30:12
   date||


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



[Bug rtl-optimization/33028] Missed optimizations in peephole2 pass

2007-08-28 Thread eweddington at cso dot atmel dot com


--- Comment #3 from eweddington at cso dot atmel dot com  2007-08-28 23:31 
---
(In reply to comment #2)
 Confirmed bug, and verified patch fixes bug.
 
... For the AVR port only.


-- 


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



[Bug target/33133] [4.3 Regression] ICE in try_ready, at haifa-sched.c:2958 with -O3

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
   Target Milestone|--- |4.3.0


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



[Bug target/33138] [4.3 Regression] rejects valid? assembler, segfaults

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-08-28 23:57 ---
The seg fault was fixed by:
2007-08-28  Jakub Jelinek  [EMAIL PROTECTED]

PR middle-end/32370
* passes.c (init_optimization_passes): Move pass_df_finish
after pass_postreload sublist.


Also I don't think there is enough registers to do anything with this
inline-asm.

I count 10 r constraints (or +r).  Plus 7 clobbers.  That does not leave
any registers for GCC to fill the 10 constraints.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/33134] [4.3 Regression] ICE in set_value_range, at tree-vrp.c:325

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug bootstrap/33130] Configuration error prevents build

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-08-29 00:00 ---
I just did a bootstrap and got past this point.  Can you attach the config.log
from your build directory for the libiberty?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug tree-optimization/33154] [4.3 Regression] FAIL: gcc.c-torture/execute/20010119-1.c compilation, -Os

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|FAIL: gcc.c-|[4.3 Regression] FAIL:
   |torture/execute/20010119-1.c|gcc.c-
   |compilation,  -Os   |torture/execute/20010119-1.c
   ||compilation,  -Os
   Target Milestone|--- |4.3.0


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



[Bug c++/33176] strange diagnostic with if (a) b

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-08-29 00:06 ---
Not really since this is label which is valid GNU C++.

So this is not really a bad diagnostic for GNU C++.
if you add -pedantic, you get:

t.cc:6: error: taking the address of a label is non-standard

Which tells how GCC is parsing this.

I will let others decide if this can be improved.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
   Keywords||diagnostic
Summary|strange diagnostic  |strange diagnostic with if
   ||(a)  b


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



[Bug target/33184] [4.3 Regression] m32c: ostream.tcc:92: error: unable to find a register to spill in class 'A_REGS'

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/33186] [4.3 Regression] ICE: tree check: expected function_type or method_type, have void_type in expand_call, at calls.c:2131

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-08-29 00:06 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug bootstrap/33191] Install failure,recent CVS

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-08-29 00:12 ---
/usr/home/mckelvey/software/gcc-obj/./gcc/cc1plus: relocation error:
/usr/home/mckelvey/software/gcc-obj/./gcc/cc1plus: undefined symbol:
__gmpz_import


Sounds like you have two different versions of GMP installed and it is picking
up the wrong version while doing a make install.


-- 


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



  1   2   >