[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3

2010-11-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Target|sparc64-sun-solaris2.*  |
  Known to work||4.4.3
   Host|sparc64-sun-solaris2.*  |
   Target Milestone|--- |4.5.2
Summary|server/core_filters.c from  |[4.5 regression]
   |apache httpd 2.2.17 |server/core_filters.c from
   |miscompiled with|apache httpd 2.2.17
   |optimization -O3|miscompiled at -O3
  Build|sparc64-sun-solaris2.*  |
   Severity|normal  |major

--- Comment #16 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-28 
08:58:47 UTC ---
 At least OpenSUSE and Mandriva Linux are affected by this issue, see:
 
  https://qa.mandriva.com/show_bug.cgi?id=61384
  https://issues.apache.org/bugzilla/show_bug.cgi?id=50190

This looks indeed similar, thus recategorizing.


[Bug c++/46690] New: Using declaration of a dependent name

2010-11-28 Thread ilpoilves at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46690

   Summary: Using declaration of a dependent name
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ilpoil...@hotmail.com


Consider the following code:

template typename T
class A {public: typedef int C;};

template typename T
class B: public AT 
{
public:
using typename AT::C;
C operator[](int i) const { return 0; }
};

int main()
{
Bint b;
b[2];
return 0;
}

The compilation gives:

test.cpp:9: error: ISO C++ forbids declaration of 'C' with no type
test.cpp:9: error: expected ';' before 'operator'
test.cpp:10: error: expected ';' before '}' token
test.cpp: In function 'int main()':
test.cpp:15: error: no match for 'operator[]' in 'b[2]'

A discussion in comp.lang.c++ revealed that this feature was underspecified in
C++03. I propose the using declaration either just to work, or report a proper
error.

To see the intent, consider the current wording for C++0x:

From n3126 (C++0x draft from August 2010), §7.3.3:

20. If a using-declaration uses the keyword typename and specifies a 
dependent name (14.6.2), the name introduced
by the using-declaration is treated as a typedef-name (7.1.3).

So the work-around here is 

typedef typename AT::C C;

which is equivalent.

The code above is accepted at least by Visual Studio 2008, 2010, and Comeau
C++, all in strict mode.


[Bug c++/46690] Using declaration of a dependent name

2010-11-28 Thread ilpoilves at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46690

--- Comment #1 from ilpoilves at hotmail dot com 2010-11-28 09:38:04 UTC ---
Here is the result of gcc -v, which was left out by accident.

Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-8'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--with-arch-32=i586 --with-tune=generic --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 20100728 (prerelease) (Debian 4.4.4-8)


[Bug c++/46691] New: Null pointer in template deduction

2010-11-28 Thread ilpoilves at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46691

   Summary: Null pointer in template deduction
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ilpoil...@hotmail.com


Have a look at the following code:

template typename T
struct identity
{
typedef T type;
};

template typename T
void f(T t, typename identityT::type* p)
{
}

int main()
{
int a = 0;
f(a, 0);

return 0;
}

Compiling this on GCC 4.4.5 gives the following error:

g++ test.cpp

test.cpp: error: no matching function for call to 'f(int, int)'

The 0 should match a null pointer. The code is accepted by Visual Studio 2008,
2010, and Comeau C++, all in strict mode.

g++ -v

Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-8'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--with-arch-32=i586 --with-tune=generic --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 20100728 (prerelease) (Debian 4.4.4-8)


[Bug libstdc++/46683] [4.6 Regression] FAIL: ext/profile/all.cc

2010-11-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46683

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.11.28 10:19:54
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
 Ever Confirmed|0   |1


[Bug libstdc++/46683] [4.6 Regression] FAIL: ext/profile/all.cc

2010-11-28 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46683

--- Comment #1 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2010-11-28 10:22:59 UTC ---
Author: paolo
Date: Sun Nov 28 10:22:55 2010
New Revision: 167219

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167219
Log:
2010-11-28  Paolo Carlini  paolo.carl...@oracle.com

PR libstdc++/46683
* testsuite/ext/profile/mh.cc: Move dg-require* directives to the end.
* testsuite/ext/profile/all.cc: Likewise.

Modified:
trunk/libstdc++-v3/testsuite/ext/profile/all.cc
trunk/libstdc++-v3/testsuite/ext/profile/mh.cc


[Bug libstdc++/46683] [4.6 Regression] FAIL: ext/profile/all.cc

2010-11-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46683

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 
10:25:25 UTC ---
Fixed.


[Bug libstdc++/46689] [4.6 Regression] FAIL: 20_util/shared_ptr/comparison/cmp.cc

2010-11-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46689

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 
10:27:09 UTC ---
Done.



[Bug c++/46691] Null pointer in template deduction

2010-11-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46691

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 
10:48:46 UTC ---
Looks like yet another duplicate to me.

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


[Bug c++/23055] overload resolution does not find templated function (zero - pointer)

2010-11-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23055

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||ilpoilves at hotmail dot
   ||com

--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 
10:48:47 UTC ---
*** Bug 46691 has been marked as a duplicate of this bug. ***


[Bug fortran/42112] overloaded function with allocatable result problem

2010-11-28 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42112

--- Comment #8 from Paul Thomas pault at gcc dot gnu.org 2010-11-28 11:17:03 
UTC ---
Tobias,

(In reply to comment #7)
 (In reply to comment #6)
  One probably needs:
  
  a) If a is no TARGET:
deallocate (a)
f(a)

At present, this is not done.  I guess that it has to be done by the caller,
rather than the callee, simply because of the issue with TARGET below.

 
 ... which has with -fno-realloc-lhs issues when bound checking is enabled. (I
 do not know whether we should care.)

Surely, we should just not do the deallocate with -fno-realloc-lhs?

 
  b) If a is a TARGET
f(tmp)
memcpy(a,tmp)
 
 ... while this one can be optimized with realloc-lhs to a deallocate + pointer
 assignment if the size does not fit (rather than a malloc plus deep copying).

I guess that this makes sense.  It is very easily done.

I'll put this on the TODO list, for fairly early implementation.  I'll see what
I can do with scalars, first.

Paul


[Bug c++/46690] Using declaration of a dependent name

2010-11-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46690

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.28 12:08:05
 Ever Confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2010-11-28 
12:08:05 UTC ---
With 4.5 you get a much better error:

use.cc:9:5: error: ‘C’ does not name a type
use.cc:9:5: note: (perhaps ‘typename AT::C’ was intended)
use.cc: In function ‘int main()’:
use.cc:15:8: error: no match for ‘operator[]’ in ‘b[2]’

But it should be accepted


[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3

2010-11-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488

--- Comment #17 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-28 
12:28:27 UTC ---
It appears that inlining brigade_move into ap_core_input_filter and
ap_core_output_filter at -O3 causes (one of) the latter functions to be
miscompiled with -fstrict-aliasing.

The code uses clever type punning which seems to break C aliasing rules:

/**
 * The Ring Sentinel
 *
 * This is the magic pointer value that occurs before the first and
 * after the last elements in the ring, computed from the address of
 * the ring's head.  The head itself isn't an element, but in order to
 * get rid of all the special cases when dealing with the ends of the
 * ring, we play typecasting games to make it look like one.

[...]

#define APR_RING_SENTINEL(hp, elem, link)\
(struct elem *)((char *)((hp)-next) - APR_OFFSETOF(struct elem, link))

(hp)-next is struct elem* but it is accessed (its link field) as a struct elem
through various macros:

#define APR_RING_NEXT(ep, link)(ep)-link.next
#define APR_RING_PREV(ep, link)(ep)-link.prev


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #13 from Uros Bizjak ubizjak at gmail dot com 2010-11-28 12:46:10 
UTC ---
Whoa.

Negative logic should be banned from sources.

Index: tree-ssa-loop-niter.c
===
--- tree-ssa-loop-niter.c(revision 167219)
+++ tree-ssa-loop-niter.c(working copy)
@@ -130,7 +130,7 @@ determine_value_range (tree type, tree v
   /* If the computation may wrap, we know nothing about the value, except for
  the range of the type.  */
   get_type_static_bounds (type, min, max);
-  if (!nowrap_type_p (type))
+  if (nowrap_type_p (type))
 return;

   /* Since the addition of OFF does not wrap, if OFF is positive, then we may


[Bug target/46692] New: Missing LM32 multilibs for divider and sign extender

2010-11-28 Thread sebastien.bourdeauducq at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46692

   Summary: Missing LM32 multilibs for divider and sign extender
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: sebastien.bourdeaud...@gmail.com


Created attachment 22553
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22553
Fixes the problem

Multilibs with the optional divider and the sign extender are missing for the
LM32 target. Patch attached.


[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3

2010-11-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488

--- Comment #18 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-28 
13:21:51 UTC ---
Using

#define APR_RING_SENTINEL(hp, elem, link)\
(struct elem *)((char *)(hp) - APR_OFFSETOF(struct elem, link))

should be safer wrt strict aliasing.


[Bug fortran/35810] [TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables

2010-11-28 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35810

--- Comment #11 from Paul Thomas pault at gcc dot gnu.org 2010-11-28 13:47:31 
UTC ---
Author: pault
Date: Sun Nov 28 13:47:26 2010
New Revision: 167220

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167220
Log:
2010-11-28  Paul Thomas  pa...@gcc.gnu.org

 PR fortran/35810
* trans-array.c (gfc_trans_array_constructor): If the loop-to
is a VAR_DECL, assume this is dynamic. In this case, use the
counter to obtain the value and set loop-to appropriately.
(gfc_conv_ss_descriptor): Always save the offset of a variable
in info.saved_offset.
(gfc_conv_ss_startstride): Do not attempt bound checking of the
lhs of an assignment, if allocatable and f2003 is allowed.
(gfc_conv_loop_setup): If possible, do not use an allocatable
lhs variable for the loopspec.
(gfc_is_reallocatable_lhs): New function.
(get_std_lbound): New function.
(gfc_alloc_allocatable_for_assignment): New function.
* gfortran.h : Add flag_realloc_lhs to the options structure.
* lang.opt : Add option f(no-)realloc-lhs.
* invoke.texi : Document option f(no-)realloc-lhs.
* options.c (gfc_init_options, gfc_post_options,
gfc_handle_option): Incorporate f(no-)realloc-lhs with default
to frealloc_lhs for -std  f95.
* trans-array.h : Add primitive for previous.
* trans-expr.c (gfc_conv_string_length): Return if character
length is a variable and the expression is NULL.
(gfc_conv_procedure_call): If the call is of the kind x = f(...)
and the lhs is allocatable and reallocation on assignment OK,
call gfc_alloc_allocatable_for_assignment. Do not generate the
function call unless direct by reference.
(realloc_lhs_loop_for_fcn_call): New function.
(realloc_lhs_bounds_for_intrinsic_call): New function.
(gfc_trans_arrayfunc_assign): Reallocation assignments need
a loopinfo and for the loop bounds to be set.  With intrinsic
functions, free the lhs data and let the library allocate the
data array. Done by the new functions above.
(gfc_trans_assignment_1): If the lhs is allocatable and
reallocation on assignment is allowed, mark the lhs and use
gfc_alloc_allocatable_for_assignment to make the reallocation.
* trans.h : Add is_alloc_lhs bitfield to gfc_ss structure.

2010-11-28  Paul Thomas  pa...@gcc.gnu.org

PR fortran/35810
* gfortran.dg/realloc_on_assign_1.f03: New test.
* gfortran.dg/realloc_on_assign_2.f03: New test.
* gfortran.dg/transpose_2.f90: dg-option -fno-realloc-lhs.
* gfortran.dg/unpack_bounds_1.f90: The same.
* gfortran.dg/cshift_bounds_2.f90: The same.
* gfortran.dg/matmul_bounds_2.f90: The same.
* gfortran.dg/matmul_bounds_3.f90: The same.
* gfortran.dg/matmul_bounds_4.f90: The same.
* gfortran.dg/matmul_bounds_5.f90: The same.

Added:
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_1.f03
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_2.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/invoke.texi
trunk/gcc/fortran/lang.opt
trunk/gcc/fortran/options.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-array.h
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-types.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/cshift_bounds_2.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_2.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_3.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_4.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_5.f90
trunk/gcc/testsuite/gfortran.dg/transpose_2.f90
trunk/gcc/testsuite/gfortran.dg/unpack_bounds_1.f90


[Bug target/46692] Missing LM32 multilibs for divider and sign extender

2010-11-28 Thread corsepiu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46692

Ralf Corsepius corsepiu at gcc dot gnu.org changed:

   What|Removed |Added

 CC||corsepiu at gcc dot
   ||gnu.org, joel at oarcorp
   ||dot com

--- Comment #1 from Ralf Corsepius corsepiu at gcc dot gnu.org 2010-11-28 
14:27:13 UTC ---
Would you mind to explain, why you need this, rsp. why the current default
multilibs do not suffice your needs?

Adding a multilibs to the default set of multilibs needs of a target needs to
be very well motivated and can not be done light-heartedly.

Knowing you actually are working with lm32-rtems and not with lm32-* targets,
provided you can sufficiently motivate this change, raises the question if it
would not actally be more appropriate to extend the lm32-rtems multilib set
instead of the general set of multilibs.


[Bug middle-end/46647] Can't inline memset with -1

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46647

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

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

--- Comment #13 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:33:01 
UTC ---
Fixed.


[Bug lto/46531] Many benchmarks in SPEC CPU 2006 are miscompiled by LTO

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46531

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:34:56 
UTC ---
Fixed as of revision 167184 with GNU BFD linker in CVS 2010-11-25.


[Bug lto/46576] BFD linker plugin generates bad executables

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46576

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

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

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:36:28 
UTC ---
Fixed as of revision 167184 with GNU BFD linker in CVS 2010-11-25.


[Bug lto/46531] Many benchmarks in SPEC CPU 2006 are miscompiled by LTO

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46531

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug lto/46505] LTO miscompiled 416.gamess in SPEC CPU 2006

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46505

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0

--- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:38:34 
UTC ---
Fixed as of revision 167184 with GNU BFD linker in CVS 2010-11-25.


[Bug c++/45114] implement C++0x alias-declaration

2010-11-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45114

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com, vincenzo.innocente at
   ||cern dot ch

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 
14:40:29 UTC ---
Vincenzo is interested, let's add him in CC.


[Bug middle-end/46628] [4.6 Regression] FAIL: g++.dg/tree-prof/partition1.C

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46628

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:42:48 
UTC ---
Fixed by revision 167208:

http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg01098.html


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread marcus at jet dot franken.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #9 from marcus at jet dot franken.de 2010-11-28 14:55:31 UTC ---
(gdb) bt
#0  0xe425 in __kernel_vsyscall ()
#1  0xf7d1eb46 in kill () from /lib/libc.so.6
#2  0x7efab485 in server_protocol_error (err=0x7efcfe71 write errnp=%d,
reqfd=%d) at /home/marcus/projects/wine/dlls/ntdll/server.c:164
#3  0x7efab881 in send_request (req_ptr=0x6fd874) at
/home/marcus/projects/wine/dlls/ntdll/server.c:215
#4  wine_server_call (req_ptr=0x6fd874) at
/home/marcus/projects/wine/dlls/ntdll/server.c:289
#5  0x7efb1c10 in NtCreateEvent (EventHandle=0x6fd96c, DesiredAccess=2031619,
attr=0x6fd950, type=NotificationEvent, InitialState=0 '\000')
at /home/marcus/projects/wine/dlls/ntdll/sync.c:278
#6  0x7ed992bc in start_debugger_atomic (epointers=0x6fd9ac) at
/home/marcus/projects/wine/dlls/kernel32/except.c:369
#7  UnhandledExceptionFilter (epointers=0x6fd9ac) at
/home/marcus/projects/wine/dlls/kernel32/except.c:456
#8  0x7efc1ece in __wine_exception_handler (record=0x6fddf8, frame=0x6fea90,
context=0x6fdb2c, pdispatcher=0x6fda80) at
/home/marcus/projects/wine/dlls/winecrt0/exception.c:90
#9  0x7efac825 in call_exception_handler () from
/usr/bin/../lib/wine/ntdll.dll.so
#10 0x7efac7f7 in EXC_CallHandler () from /usr/bin/../lib/wine/ntdll.dll.so
#11 0x7efaca2e in call_stack_handlers (rec=0x6fddf8, context=0x6fdb2c,
first_chance=1) at /home/marcus/projects/wine/dlls/ntdll/signal_i386.c:606
#12 raise_exception (rec=0x6fddf8, context=0x6fdb2c, first_chance=1) at
/home/marcus/projects/wine/dlls/ntdll/signal_i386.c:684
#13 0x7efaea0d in NtRaiseException (rec=0x6fddf8, context=0x6fdb2c,
first_chance=1) at /home/marcus/projects/wine/dlls/ntdll/signal_i386.c:2394
#14 0x7efaeb14 in raise_segv_exception (rec=0x6fddf8, context=0x6fdb2c) at
/home/marcus/projects/wine/dlls/ntdll/signal_i386.c:1720
#15 0xdeadbabe in ?? ()
#16 0x7dc812c5 in ?? () from /lib/libgcc_s.so.1
#17 0x7dc816ea in _Unwind_ForcedUnwind () from /lib/libgcc_s.so.1
#18 0xf7e6d032 in _Unwind_ForcedUnwind () from /lib/libpthread.so.0
#19 0xf7e6aa97 in __pthread_unwind () from /lib/libpthread.so.0
#20 0xf7e64a5e in pthread_exit () from /lib/libpthread.so.0
#21 0x7efb574b in exit_thread (status=5) at
/home/marcus/projects/wine/dlls/ntdll/thread.c:369
#22 0x7efaee2d in RtlExitUserThread (status=5) at
/home/marcus/projects/wine/dlls/ntdll/signal_i386.c:2488
#23 0x7edcf8b4 in ExitThread (code=5) at
/home/marcus/projects/wine/dlls/kernel32/thread.c:155
#24 0x7dca7879 in ?? ()
#25 0x0005 in ?? ()
#26 0x in ?? ()

(the kill a kill(gettid(),SIGSTOP) from me.)


So we basically exited our thread, closed the fd already ... and crash during
the final unwinding. The crash wants to attach the debugger which does a server
call which of course breaks as we jhave no server connetion anymore.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #14 from Uros Bizjak ubizjak at gmail dot com 2010-11-28 15:07:39 
UTC ---
Hm, no. The patch in comment #13 is not correct fix.

However, the comment of bound_difference says that no overflows are assumed:

/* Stores the bounds on the value of the expression X - Y in LOOP to BNDS.
   The subtraction is considered to be performed in arbitrary precision,
   without overflows.

   We do not attempt to be too clever regarding the value ranges of X and
   Y; most of the time, they are just integers or ssa names offsetted by
   integer.  However, we try to use the information contained in the
   comparisons before the loop (usually created by loop header copying).  */

static void
bound_difference (struct loop *loop, tree x, tree y, bounds *bnds)

And we have an overflow here (slightly modified test):

--cut here--
#define OFFS 1

extern void abort (void);

int j;

void
__attribute__((noinline))
foo (int n)
{
  int npairs, i;
  npairs = n - (-__INT_MAX__ - OFFS);

  if (npairs  0)
for (i = 0; i  npairs; i++)
  j++;
}

int
main ()
{
  foo (5 - __INT_MAX__ - OFFS);

  if (j != 5)
abort ();

  return 0;
}
--cut here--


An interesting fact, the testcase is miscompiled only for OFFS={1,2,3}.


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #10 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 15:23:22 
UTC ---
(In reply to comment #9)
 
 
 So we basically exited our thread, closed the fd already ... and crash during

What caused the crash?

 the final unwinding. The crash wants to attach the debugger which does a 
 server
 call which of course breaks as we jhave no server connetion anymore.

If crash is independent of -fno-omit-frame-pointer, it is a bug
in wine unwinder.


[Bug fortran/46262] [4.6 Regression] [OOP] tree check: expected function_type or method_type, have pointer_type

2010-11-28 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46262

--- Comment #7 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2010-11-28 
15:23:56 UTC ---
I believe I have this isolated to the changes in resolve.c

Eliminating those changes in the offending patch eliminates the ICE.  Of
course, though the code compiles, it does not link.


[Bug c/46693] New: incorrect code generation with -O2 optimization enabled

2010-11-28 Thread geomatsi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

   Summary: incorrect code generation with -O2 optimization
enabled
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: geoma...@gmail.com


[Bug c/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread geomatsi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

--- Comment #1 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 
15:48:05 UTC ---
Created attachment 22554
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22554
testcase

code example


[Bug c/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread geomatsi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

--- Comment #2 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 
15:48:48 UTC ---
Created attachment 22555
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22555
dumpspecs

gcc dumpspecs


[Bug c/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread geomatsi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

--- Comment #3 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 
15:49:27 UTC ---
Created attachment 22556
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22556
gcc version


[Bug fortran/46262] [4.6 Regression] [OOP] tree check: expected function_type or method_type, have pointer_type

2010-11-28 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46262

--- Comment #8 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2010-11-28 
15:52:06 UTC ---
Specifically, this line is involved with the problem.

Index: resolve.c
===
--- resolve.c(revision 167220)
+++ resolve.c(working copy)
@@ -5739,7 +5739,6 @@ resolve_typebound_function (gfc_expr* e)
   e-symtree = expr-symtree;
   e-ref = gfc_copy_ref (expr-ref);
   gfc_add_vptr_component (e);
-  gfc_add_component_ref (e, name);
   e-value.function.esym = NULL;
   return SUCCESS;
 }


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #15 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 
15:54:57 UTC ---
(In reply to comment #14)
 Hm, no. The patch in comment #13 is not correct fix.
 
 However, the comment of bound_difference says that no overflows are assumed:
 
 /* Stores the bounds on the value of the expression X - Y in LOOP to BNDS.
The subtraction is considered to be performed in arbitrary precision,
without overflows.
 
We do not attempt to be too clever regarding the value ranges of X and
Y; most of the time, they are just integers or ssa names offsetted by
integer.  However, we try to use the information contained in the
comparisons before the loop (usually created by loop header copying).  */
 
 static void
 bound_difference (struct loop *loop, tree x, tree y, bounds *bnds)
 
 And we have an overflow here (slightly modified test):
 
 --cut here--
 #define OFFS 1
 
 extern void abort (void);
 
 int j;
 
 void
 __attribute__((noinline))
 foo (int n)
 {
   int npairs, i;
   npairs = n - (-__INT_MAX__ - OFFS);
 
   if (npairs  0)
 for (i = 0; i  npairs; i++)
   j++;
 }
 
 int
 main ()
 {
   foo (5 - __INT_MAX__ - OFFS);
 
   if (j != 5)
 abort ();
 
   return 0;
 }
 --cut here--
 
 
 An interesting fact, the testcase is miscompiled only for OFFS={1,2,3}.

Note that for OFFS 2 and 3 you invoke undefined behavior as
-__INT_MAX__ - OFFS overflows.  It doesn't for OFFS == 1 though, and there
is no overflow in the program in that case.  But writing it as
n + -(-__INT_MAX__ - 1) has an overflow, the negation.

I didn't yet try to investigate the number of iterations code, but I'll have
a look tomorrow.


[Bug c/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||arm-gnueabi

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 
15:59:13 UTC ---
Works for me on x86_64-darwin.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #16 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 16:10:08 
UTC ---
--
void
foo (int n)
{
  int npairs, i;
  npairs = n - (-__INT_MAX__ - 1);

  if (npairs  0)
for (i = 0; i  npairs; i++)
  j++;
}
--

is miscompiled.  But

--
void
foo (int n)
{
  int npairs, i;
  npairs = n - -2147483648;

  if (npairs  0)
for (i = 0; i  npairs; i++)
  j++;
}
--

isn't.


[Bug c/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread geomatsi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

--- Comment #5 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 
16:12:47 UTC ---
I am using an arm gcc cross-toolchain created with OpenEmbedded. Toolchain
version and its dumpspecs are available in attachements. Wrong code for
attached simple testcase is generated when I use -O2 optimization option. When
optimization options are not used or when -O0 is in use then code is generated
correctly. Running testcase is straightforward: compile an example with -O2 and
without it, then run both examples (either on a suitable arm machine or under
qemu) and get two different outputs (OK and WRONG) for two binaries.


[Bug target/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

  Component|c   |target
   Severity|major   |normal


[Bug c/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread geomatsi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

Sergey Matyukevich geomatsi at gmail dot com changed:

   What|Removed |Added

   Keywords||wrong-code
  Component|target  |c
   Host||i686-linux
  Build||i686-linux
   Severity|normal  |major


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #17 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 16:25:34 
UTC ---
For

npairs = n - -2147483648;

VRP1 concludes

Value ranges after VRP:

i_1: [0, 0]
n_2(D): VARYING
npairs_3: VARYING

But for

npairs = n + 2147483648;

VRP1 concludes

Value ranges after VRP:

Value ranges after VRP:

i_1: [0, +INF]
n_2(D): VARYING
n.0_3: [0, +INF]
D.2691_4: [0, +INF]
npairs_5: VARYING


[Bug target/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread geomatsi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

Sergey Matyukevich geomatsi at gmail dot com changed:

   What|Removed |Added

  Component|c   |target
   Severity|major   |normal


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #18 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:09:17 
UTC ---
Good gimple dump:

  unsigned int n.0;
  unsigned int D.2691;
  int j.1;
  int j.2;
  int npairs;
  int i;

  n.0 = (unsigned int) n;
  D.2691 = n.0 + 2147483648;
  npairs = (int) D.2691;
  if (npairs  0) goto D.2692; else goto D.2693;

Bad gimple dump:

  int j.0;
  int j.1;
  int npairs;
  int i;

  npairs = n - -2147483648;
  if (npairs  0) goto D.2690; else goto D.2691;


[Bug driver/46694] New: driver does not pass all options to the compiler gnat1

2010-11-28 Thread rolf.ebert.gcc at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46694

   Summary: driver does not pass all options to the compiler gnat1
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: driver
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rolf.ebert@gmx.de


When invoking the compiler through the following command line, it does not pass
the options '-g' '-gnatn' '-gnatpg' '-mmcu=avr2' the compiler gnat1.

$ avr-gcc -c -v -v -g -Os -gnatn -gnatpg -mmcu=avr2 -I- s-bitops.adb
Using built-in specs.
Target: avr
Configured with: ../gcc-4.4.5/configure --prefix=/mingw/avr_44_gnat
--target=avr
 --enable-languages=ada,c,c++ --with-dwarf2 --disable-nls --disable-libssp
--dis
able-libada --with-bugurl=http://avr-ada.sourceforge.net
--with-gmp=/mingw/avr_4
4_gnat --with-mpfr=/mingw/avr_44_gnat
Thread model: single
gcc version 4.4.5 (GCC)
COLLECT_GCC_OPTIONS='-c' '-v' '-v' '-g' '-Os' '-gnatn' '-gnatpg' '-mmcu=avr2'
 c:/programme/msys_1.0/mingw/avr_44_gnat/bin/../libexec/gcc/avr/4.4.5/gnat1.exe
-quiet -dumpbase s-bitops.adb -Os adainclude/s-bitops.adb -o
C:\DOKUME~1\Rolf\LOKALE~1\Temp\ccKFxRRh.s
s-bitops.adb:40:01: descendents of package System may not be compiled


Cross checking a command line that calls cc1 passes all options on to the
compiler.

Where should I start to look at in the driver?  The specs file doesn't exist
anymore.

   Rolf


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #19 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:20:23 
UTC ---
Good original dump:

  int npairs;
  int i;

int npairs;
int i;
  npairs = (int) ((unsigned int) n + 2147483648);

Bad dump:

  int npairs;
  int i;

int npairs;
int i;
  npairs = n - -2147483648;

We seem to fail to handle overflow for - -2147483648 at very start.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #20 from rguenther at suse dot de rguenther at suse dot de 
2010-11-28 17:22:58 UTC ---
On Sun, 28 Nov 2010, hjl.tools at gmail dot com wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675
 
 --- Comment #19 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:20:23 
 UTC ---
 Good original dump:
 
   int npairs;
   int i;
 
 int npairs;
 int i;
   npairs = (int) ((unsigned int) n + 2147483648);
 
 Bad dump:
 
   int npairs;
   int i;
 
 int npairs;
 int i;
   npairs = n - -2147483648;
 
 We seem to fail to handle overflow for - -2147483648 at very start.

Both dumps are ok, but writing n - -2147483648 makes it unsigned
(you can't literally write INT_MIN).  You're on the wrong track.

Richard.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #21 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:58:49 
UTC ---
Does this:

[...@gnu-6 bad]$ cat x.c.083t.forwprop3

;; Function foo (foo)

  Replaced 'npairs_3  0' with 'n_2(D) != -2147483648'
foo (int n)
{
  int npairs;
  int j.1;
  int j.0;

bb 2:
  if (n_2(D) != -2147483648)
goto bb 3;
  else
goto bb 4;

bb 3:
Invalid sum of incoming frequencies 10900, should be 1
  j.0_5 = j;
  j.1_6 = j.0_5 + 1;
  j = j.1_6;
  goto bb 3;

bb 4:
Invalid sum of incoming frequencies 213, should be 1113
  return;

}

look OK?


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #22 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 18:12:14 
UTC ---
fold_binary_loc turns

  npairs = n - -2147483648;
  if (npairs  0)

into

  if (n != -2147483648)


[Bug fortran/46662] [OOP] gfortran accepts CALL polymorphic%abstract_type%ppc()

2010-11-28 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46662

--- Comment #7 from janus at gcc dot gnu.org 2010-11-28 18:37:58 UTC ---
I will commit the following patch as obvious:

Index: gcc/fortran/resolve.c
===
--- gcc/fortran/resolve.c(revision 167218)
+++ gcc/fortran/resolve.c(working copy)
@@ -5389,6 +5389,14 @@ update_ppc_arglist (gfc_expr* e)
   return FAILURE;
 }

+  /* F08:C611.  */
+  if (po-ts.type == BT_DERIVED  po-ts.u.derived-attr.abstract)
+{
+  gfc_error (Base object for procedure-pointer component call at %L is
of
+  ABSTRACT type '%s', e-where, po-ts.u.derived-name);
+  return FAILURE;
+}
+
   gcc_assert (tb-pass_arg_num  0);
   e-value.compcall.actual = update_arglist_pass (e-value.compcall.actual,
po,
   tb-pass_arg_num,


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #23 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 18:56:51 
UTC ---
We check op + 2147483648 for overflow. I don't think we properly
check op - -2147483648 for overflow.


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread marcus at jet dot franken.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #11 from marcus at jet dot franken.de 2010-11-28 19:31:27 UTC ---
it is unclear. ... it seems to crash in libgcc_s.so.1 (both the installed 4.5
and the built 4.6 trunk versuon) during this pthread_exit unwinding.

behaviour changes if thread.o is built with -fasynchronous-unwind-tables . then
it will not crash

(i guess it seems to unwind over the thread.o functions and fails if the info
is not there)


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread marcus at jet dot franken.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #12 from marcus at jet dot franken.de 2010-11-28 19:31:58 UTC ---
the gcc or glibc unwinding is in use, not wine's if I take it correctly from
the bakctrace.


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #13 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 19:47:02 
UTC ---
(In reply to comment #11)
 it is unclear. ... it seems to crash in libgcc_s.so.1 (both the installed 4.5
 and the built 4.6 trunk versuon) during this pthread_exit unwinding.
 
 behaviour changes if thread.o is built with -fasynchronous-unwind-tables . 
 then
 it will not crash
 

Why isn't thread.o built with -fasynchronous-unwind-tables?
-fasynchronous-unwind-tables should be on by default with
gcc 4.6.


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread marcus at jet dot franken.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #14 from marcus at jet dot franken.de 2010-11-28 19:53:45 UTC ---
actually it is built with it and crashes.

Atfer i change thread.o with -fno-asynchronous-unwind-tables
it starts to work again.

so somehting in there confuses the glibc/libgcc unwinder. any clue on how to
debug this?


[Bug fortran/46662] [OOP] gfortran accepts CALL polymorphic%abstract_type%ppc()

2010-11-28 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46662

--- Comment #8 from janus at gcc dot gnu.org 2010-11-28 20:22:32 UTC ---
Author: janus
Date: Sun Nov 28 20:22:29 2010
New Revision: 167225

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167225
Log:
2010-11-28  Janus Weil  ja...@gcc.gnu.org

PR fortran/46662
* resolve.c (update_ppc_arglist): Add check for abstract passed object.

2010-11-28  Janus Weil  ja...@gcc.gnu.org

PR fortran/46662
* gfortran.dg/proc_ptr_comp_pass_7.f90: New.

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


[Bug fortran/46662] [OOP] gfortran accepts CALL polymorphic%abstract_type%ppc()

2010-11-28 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46662

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #9 from janus at gcc dot gnu.org 2010-11-28 20:33:53 UTC ---
Fixed with r167225. Closing.


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #15 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 20:38:46 
UTC ---
Which glibc are you using?


[Bug other/46695] New: [4.6 regression] failure to build X from darwin to cris-elf with lto enabled

2010-11-28 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46695

   Summary: [4.6 regression] failure to build X from darwin to
cris-elf with lto enabled
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ia...@gcc.gnu.org


with host = i686-darwin9
target = cris-elf

[current trunk = 167198]

configure:

Configured with: ../combined-trunk/configure --prefix=/GCC/cross
--with-libelf=/GCC/libelf/ --target=cris-elf --disable-nls
--enable-version-specific-runtime-libs --build=i686-apple-darwin9
--host=i686-apple-darwin9 --enable-sim
--enable-languages=c,c++,fortran,lto,objc,obj-c++
--with-gmp=/GCC/multiprec-math/x86 --with-mpfr=/GCC/multiprec-math/x86
--with-mpc=/GCC/multiprec-math/x86 CC=/GCC/current/bin/gcc-4.6trunk
CXX=/GCC/current/bin/g++-4.6trunk

fails:

/bin/sh ./libtool --tag=CC   --mode=compile /GCC/current/bin/gcc-4.6trunk
-DHAVE_CONFIG_H -I. -I../../combined-trunk/lto-plugin 
-I../../combined-trunk/lto-plugin/../include -DHAVE_CONFIG_H  -Wall -Werror -g
-O2 -c -o lto-plugin.lo ../../combined-trunk/lto-plugin/lto-plugin.c
libtool: compile:  /GCC/current/bin/gcc-4.6trunk -DHAVE_CONFIG_H -I.
-I../../combined-trunk/lto-plugin -I../../combined-trunk/lto-plugin/../include
-DHAVE_CONFIG_H -Wall -Werror -g -O2 -c
../../combined-trunk/lto-plugin/lto-plugin.c  -fno-common -DPIC -o
.libs/lto-plugin.o
libtool: compile:  /GCC/current/bin/gcc-4.6trunk -DHAVE_CONFIG_H -I.
-I../../combined-trunk/lto-plugin -I../../combined-trunk/lto-plugin/../include
-DHAVE_CONFIG_H -Wall -Werror -g -O2 -c
../../combined-trunk/lto-plugin/lto-plugin.c -o lto-plugin.o /dev/null 21
/bin/sh ./libtool --tag=CC   --mode=link /GCC/current/bin/gcc-4.6trunk -Wall
-Werror -g -O2 -no-undefined -bindir /GCC/cross/libexec/gcc/cris-elf/4.6.0   -o
liblto_plugin.la -rpath /GCC/cross/libexec/gcc/cris-elf/4.6.0 lto-plugin.lo
../libiberty/pic/libiberty.a 

*** Warning: Linking the shared library liblto_plugin.la against the
*** static library ../libiberty/pic/libiberty.a is not portable!
libtool: link: /GCC/current/bin/gcc-4.6trunk -dynamiclib  -o
.libs/liblto_plugin.0.dylib  .libs/lto-plugin.o   ../libiberty/pic/libiberty.a 
  -install_name  /GCC/cross/libexec/gcc/cris-elf/4.6.0/liblto_plugin.0.dylib
-compatibility_version 1 -current_version 1.0 -Wl,-single_module
Undefined symbols:
  _environ, referenced from:
  _environ$non_lazy_ptr in libiberty.a(pex-unix.o)
  _environ$non_lazy_ptr in libiberty.a(xmalloc.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [liblto_plugin.la] Error 1
make[1]: *** [all-lto-plugin] Error 2
make: *** [all] Error 2

=== 

This is attributed to the inclusion of 
liblto_plugin_la_LDFLAGS = -no-undefined -bindir $(libexecsubdir) \
$(if $(wildcard
../libiberty/pic/libiberty.a),,-Wc,../libiberty/libiberty.a)

in lto-plugin/Makefile.am



works OK when the link is passed -undefined dynamic_lookup so that _environ
can be resolved from crt at load time.


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread marcus at jet dot franken.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #16 from marcus at jet dot franken.de 2010-11-28 20:44:38 UTC ---
glibc-32bit-2.11.2-3.3.1.x86_64

/lib/libc.so.6 
GNU C Library stable release version 2.11.2 (20100531), by Roland McGrath et
al.
[...]
Configured for i686-suse-linux.
Compiled by GNU CC version 4.5.0 20100604 [gcc-4_5-branch revision 160292].
Compiled on a Linux 2.6.32 system on 2010-10-27.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
NoVersion patch for broken glibc 2.0 binaries
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
For bug reporting instructions, please see:
http://www.gnu.org/software/libc/bugs.html.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #24 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 21:04:10 
UTC ---
Does this patch make any senses?

---
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index c195073..4bcdd07 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -10225,6 +10225,22 @@ fold_binary_loc (location_t loc,
 fold_convert_loc (loc, type,
   negate_expr (arg1)));

+  /* A - B - A + (-B) if B is negative integer constant.  */
+  if (TREE_CODE (arg1) == INTEGER_CST  !TYPE_UNSIGNED (type))
+{
+  double_int di = tree_to_double_int (arg1);
+  if (double_int_negative_p (di))
+{
+  tree unsigned_type = unsigned_type_for (type);
+  di = double_int_neg (di);
+  return fold_build2_loc (loc, PLUS_EXPR, unsigned_type,
+  fold_convert_loc (loc, unsigned_type, arg0
),
+  fold_convert_loc (loc,
+unsigned_type,
+double_int_to_tree (type
, di)));
+}
+}
+
   /* Try folding difference of addresses.  */
   {
 HOST_WIDE_INT diff;
---


[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

--- Comment #17 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 21:05:41 
UTC ---
It sounds like this bug

http://sourceware.org/bugzilla/show_bug.cgi?id=3597

But your glibc should be OK.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #25 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 21:18:39 
UTC ---
Created attachment 22557
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22557
A patch

Does it look OK?


[Bug target/46693] incorrect code generation with -O2 optimization enabled

2010-11-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #6 from Mikael Pettersson mikpe at it dot uu.se 2010-11-28 
22:36:37 UTC ---
This test case works for me on arm-linux-gnueabi with gcc-4.3.5 and gcc-4.4.6,
but fails with current gcc-4.5.2 and gcc-4.6.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #26 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 
23:14:27 UTC ---
(In reply to comment #22)
 fold_binary_loc turns
 
   npairs = n - -2147483648;
   if (npairs  0)
 
 into
 
   if (n != -2147483648)

That's ok.


[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed

2010-11-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675

--- Comment #27 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 
23:16:05 UTC ---
(In reply to comment #25)
 Created attachment 22557 [details]
 A patch
 
 Does it look OK?

It doesn't make any sense.


[Bug target/46655] invalid '.line 0' directive emitted with -g

2010-11-28 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46655

--- Comment #5 from David Edelsohn dje at gcc dot gnu.org 2010-11-29 00:17:54 
UTC ---
Has anyone reported this AIX assembler behavior to IBM?  It would be much more
effective coming from an external customer than from me.


[Bug tree-optimization/46621] gimple.h includes tm.h

2010-11-28 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46621

--- Comment #2 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 
2010-11-29 00:50:09 UTC ---
Author: amylaar
Date: Mon Nov 29 00:50:04 2010
New Revision: 167230

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167230
Log:
PR tree-optimization/46621
* gimple.h: Don't include tm.h or hard-reg-set.h .
* Makefile.in (GIMPLE_H): Remove $(TM_H).

Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/gimple.h


[Bug middle-end/46685] [4.6 Regression] New stack alignment failures

2010-11-28 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46685

John David Anglin danglin at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.6.0   |---

--- Comment #3 from John David Anglin danglin at gcc dot gnu.org 2010-11-29 
00:52:05 UTC ---
The regression was introduced in r167085.


[Bug middle-end/46685] [4.6 Regression] New stack alignment failures

2010-11-28 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46685

John David Anglin danglin at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug other/46677] frontends and tree optimizers use *_TYPE_SIZE

2010-11-28 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46677

--- Comment #10 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 
2010-11-29 02:53:27 UTC ---
(In reply to comment #3)
 * POINTER_SIZE and ADA_LONG_TYPE_SIZE I haven't looked at in detail - 

We have several possible substitutes for POINTER_SIZE:
GET_MODE_BITSIZE (ptr_mode)
TYPE_PRECISION (ptr_type_mode)
GET_MODE_BITSIZE (targetm.addr_space.pointer_mode (ADDR_SPACE_GENERIC))

Using machine modes is undesirable in files that don't already need to know
about modes.  TYPE_PRECISION (ptr_type_mode) seems reasonable for frontends
after this node has been initialized; however, AFAICT, this node is not
set for java.
All the substitutes suffer from initialization problems when used before
backend initialization.  With targetm.addr_space.pointer_mode this might
eventually be fixed by changing the hook definitions.

Therefore, I propose that targhooks.c provides a wrapper function for
GET_MODE_BITSIZE (targetm.addr_space.pointer_mode (ADDR_SPACE_GENERIC)) .
In can work around the intialization problems for now by checking for VOIDmode,
and using POINTER_SIZE when that happens.


[Bug c++/46696] New: Implicit copy constructor can't construct array of subtype with user-defined copy constructor.

2010-11-28 Thread yacwroy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46696

   Summary: Implicit copy constructor can't construct array of
subtype with user-defined copy constructor.
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: yacw...@gmail.com


Created attachment 22558
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22558
Test source - erroneously fails to compile.

I think I may have hit a bug where an implicit copy constructor can't
construct an array of a subtype with a user-defined copy constructor.
I can't see any hits searching for invalid array assignment on the
bug repository.


§12.8.28 states:
A copy/move assignment operator that is defaulted and not defined as
deleted is implicitly defined when [...] or when it is explicitly
defaulted after its first declaration.

§12.8.30 (implicitly-defined copy assignment) states:
The implicitly-defined copy assignment operator for a non-union class
X performs memberwise copy assignment of its subobjects [...]
Each subobject is assigned in the manner appropriate to its type: [...]
-- if the subobject is an array, each element is assigned, in the
manner appropriate to the element type;
I'm assuming that the manner appropriate to the element type means
use copy-assignment. At least, that's what seems to happens if the
main object's copy-assignment operator is implicitly defined.

Yet the above doesn't seem able to compile if:
- The main object contains an array of the subobject.
- The main object's copy-assignment operator IS explicitly defaulted
(§12.8.28).
- The subobject's copy-assignment operator isn't implicitly or default defined.


TEST SOURCE (Attached):
1) I created the most trivial type (named SFoo) that contains a
non-default copy-assignment operator.
2) I created the most trivial type (named SBar) that contains:
  - an array of SFoo.
  - an explicitly defaulted copy-assignment operator.
3) I created a function that:
  - creates two copies of SBar.
  - assigns one copy to the other.

TEST:
I compiled using the -std=c++0x option.
GCC refuses to compile (11:8: error: invalid array assignment).
- If I remove the explicit defaulting of SBar's copy-assignment, it works.
- If I default SFoo's copy-assignment, it works.

SPECS:
GCC: 4.6.0 20101106 (experimental) (GCC)
  - Using Pedro Lamarão's delegating constructors patch:
  - http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00620.html
  - (I can't see this having any effect here).
TARGET: x86_64-unknown-linux-gnu
SYSTEM: Ubuntu(64) 10.4. Core2Duo(64).


[Bug c++/46701] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

   Summary: internal compiler error: in
build_data_member_initialization, at
cp/semantics.c:5503
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@gnu.org


I don't know if this is the same as the other ICEs in
build_data_member_initialization, but it's at a different line number anyway...

Compiler version is:
g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220]

Here's the un-preprocessed source (preprocessed source attached):

  #include string
  #include map

  void f (const std::string name, const std::string val)
  {
std::mapconst std::string, std::string::value_type (name, val);
  }


Compiled with:

  g++-snapshot -c -std=c++0x ,oink.cc


yields:

   In file included from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42,
from ,oink.cc:1:
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:
In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2)
[with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]':
   ,oink.cc:6:66:   instantiated from here
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35:
internal compiler error: in build_data_member_initialization, at
cp/semantics.c:5503
   Please submit a full bug report,
   with preprocessed source if appropriate.
   See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions.

Thanks,

-miles


[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

--- Comment #1 from miles at gnu dot org 2010-11-29 04:25:03 UTC ---
Created attachment 22559
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22559
preprocessed source showing crash

Generated with: g++-snapshot -E -std=c++0x


[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

--- Comment #2 from miles at gnu dot org 2010-11-29 04:30:16 UTC ---
BTW, sorry about the duplicate bugs.

Bugzilla complains about not being able to autodetect the attachment
content-type, and says hit BACK and try again -- but doesn't mention that the
bug was submitted anyway! [and of course there doesn't actually seem to be
anyway to specify the content-type of an attachment on the new-bug page...]


[Bug bootstrap/44756] [meta-bug] --enable-werror-always issues

2010-11-28 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44756

--- Comment #9 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 
2010-11-29 04:38:27 UTC ---
Author: amylaar
Date: Mon Nov 29 04:38:21 2010
New Revision: 167234

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167234
Log:
PR bootstrap/44756
* cppbuiltin.c: Include target.h .
(define_builtin_macros_for_type_sizes):
Use targetm.float_words_big_endian.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cppbuiltin.c


[Bug middle-end/46674] [4.6 Regression] Weak alias is mistakenly optimized away

2010-11-28 Thread jiez at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46674

Jie Zhang jiez at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|DUPLICATE   |

--- Comment #2 from Jie Zhang jiez at gcc dot gnu.org 2010-11-29 04:57:56 UTC 
---
I still see the issue with the test case on latest GCC trunk on
arm-none-linux-gnueabi target and native x86_64-linux-gnu. So I reopen it.


[Bug c++/46697] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46697

   Summary: internal compiler error: in
build_data_member_initialization, at
cp/semantics.c:5503
   Product: gcc
   Version: 4.6.0
Status: RESOLVED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@gnu.org


miles at gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

I don't know if this is the same as the other ICEs in
build_data_member_initialization, but it's at a different line number anyway...

Compiler version is:
g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220]

Here's the un-preprocessed source (preprocessed source attached):

  #include string
  #include map

  void f (const std::string name, const std::string val)
  {
std::mapconst std::string, std::string::value_type (name, val);
  }


Compiled with:

  g++-snapshot -c -std=c++0x ,oink.cc


yields:

   In file included from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42,
from ,oink.cc:1:
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:
In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2)
[with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]':
   ,oink.cc:6:66:   instantiated from here
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35:
internal compiler error: in build_data_member_initialization, at
cp/semantics.c:5503
   Please submit a full bug report,
   with preprocessed source if appropriate.
   See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions.

Thanks,

-miles

--- Comment #1 from miles at gnu dot org 2010-11-29 05:14:29 UTC ---
(I accidentally filed the same bug multiple times, so I'm marking all but one
as duplicates)

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


[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

--- Comment #3 from miles at gnu dot org 2010-11-29 05:14:29 UTC ---
*** Bug 46697 has been marked as a duplicate of this bug. ***


[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

--- Comment #4 from miles at gnu dot org 2010-11-29 05:14:53 UTC ---
*** Bug 46698 has been marked as a duplicate of this bug. ***


[Bug c++/46698] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46698

   Summary: internal compiler error: in
build_data_member_initialization, at
cp/semantics.c:5503
   Product: gcc
   Version: 4.6.0
Status: RESOLVED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@gnu.org


miles at gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

I don't know if this is the same as the other ICEs in
build_data_member_initialization, but it's at a different line number anyway...

Compiler version is:
g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220]

Here's the un-preprocessed source (preprocessed source attached):

  #include string
  #include map

  void f (const std::string name, const std::string val)
  {
std::mapconst std::string, std::string::value_type (name, val);
  }


Compiled with:

  g++-snapshot -c -std=c++0x ,oink.cc


yields:

   In file included from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42,
from ,oink.cc:1:
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:
In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2)
[with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]':
   ,oink.cc:6:66:   instantiated from here
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35:
internal compiler error: in build_data_member_initialization, at
cp/semantics.c:5503
   Please submit a full bug report,
   with preprocessed source if appropriate.
   See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions.

Thanks,

-miles

--- Comment #1 from miles at gnu dot org 2010-11-29 05:14:53 UTC ---
(I accidentally filed the same bug multiple times, so I'm marking all but one
as duplicates)

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


[Bug c++/46699] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46699

   Summary: internal compiler error: in
build_data_member_initialization, at
cp/semantics.c:5503
   Product: gcc
   Version: 4.6.0
Status: RESOLVED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@gnu.org


miles at gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

I don't know if this is the same as the other ICEs in
build_data_member_initialization, but it's at a different line number anyway...

Compiler version is:
g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220]

Here's the un-preprocessed source (preprocessed source attached):

  #include string
  #include map

  void f (const std::string name, const std::string val)
  {
std::mapconst std::string, std::string::value_type (name, val);
  }


Compiled with:

  g++-snapshot -c -std=c++0x ,oink.cc


yields:

   In file included from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42,
from ,oink.cc:1:
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:
In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2)
[with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]':
   ,oink.cc:6:66:   instantiated from here
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35:
internal compiler error: in build_data_member_initialization, at
cp/semantics.c:5503
   Please submit a full bug report,
   with preprocessed source if appropriate.
   See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions.

Thanks,

-miles

--- Comment #1 from miles at gnu dot org 2010-11-29 05:15:18 UTC ---
(I accidentally filed the same bug multiple times, so I'm marking all but one
as duplicates)

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


[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

--- Comment #5 from miles at gnu dot org 2010-11-29 05:15:18 UTC ---
*** Bug 46699 has been marked as a duplicate of this bug. ***


[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

--- Comment #6 from miles at gnu dot org 2010-11-29 05:15:43 UTC ---
*** Bug 46700 has been marked as a duplicate of this bug. ***


[Bug c++/46700] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503

2010-11-28 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46700

   Summary: internal compiler error: in
build_data_member_initialization, at
cp/semantics.c:5503
   Product: gcc
   Version: 4.6.0
Status: RESOLVED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@gnu.org


miles at gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

I don't know if this is the same as the other ICEs in
build_data_member_initialization, but it's at a different line number anyway...

Compiler version is:
g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220]

Here's the un-preprocessed source (preprocessed source attached):

  #include string
  #include map

  void f (const std::string name, const std::string val)
  {
std::mapconst std::string, std::string::value_type (name, val);
  }


Compiled with:

  g++-snapshot -c -std=c++0x ,oink.cc


yields:

   In file included from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41,
from
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42,
from ,oink.cc:1:
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:
In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2)
[with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]':
   ,oink.cc:6:66:   instantiated from here
  
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35:
internal compiler error: in build_data_member_initialization, at
cp/semantics.c:5503
   Please submit a full bug report,
   with preprocessed source if appropriate.
   See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions.

Thanks,

-miles

--- Comment #1 from miles at gnu dot org 2010-11-29 05:15:43 UTC ---
(I accidentally filed the same bug multiple times, so I'm marking all but one
as duplicates)

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


[Bug c/46702] New: inlining generates strict-aliasing warnings

2010-11-28 Thread gnb at fastmail dot fm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46702

   Summary: inlining generates strict-aliasing warnings
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@fastmail.fm


Inlining a function which does dereferences cast pointers can cause
strict-aliasing warnings, where the same function not inlined causes
no warnings.  This is surprising and counterintuitive; one would expect
the function would be correct or not regardless of the inlining context.

Test case:
#include stdint.h

extern int baz(const char *);

#ifdef NOWARNINGS
void foo(char *p) __attribute__((noinline));
#endif

void foo(char *p)
{
*(uint32_t *)p = 0x42;
}

void bar(void)
{
union { char c[4]; uint64_t alignment; } buf;
char *x = (char *)buf;
foo(x);
baz(x);
}


m...@mybox gcc -c -o foo.o -O2 -Wall -Wextra foo.c
foo.c: In function ‘bar’:
foo.c:11: warning: dereferencing pointer ‘p.0’ does break strict-aliasing rules
foo.c:11: note: initialized from here

m...@mybox gcc -c -o foo.o -O2 -Wall -Wextra -DNOWARNINGS foo.c

m...@mybox gcc --version
gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Seen in the wild in this code:
http://git.cyrusimap.org/cyrus-imapd/tree/imap/mbdump.c#n109


[Bug middle-end/46685] [4.6 Regression] New stack alignment failures

2010-11-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46685

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Target|hppa-unknown-linux-gnu  |hppa,sparc-unknown-linux-gn
   ||u
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.29 06:35:10
 CC||ebotcazou at gcc dot
   ||gnu.org, hubicka at gcc dot
   ||gnu.org
   Host|hppa-unknown-linux-gnu  |hppa,sparc-unknown-linux-gn
   ||u
 Ever Confirmed|0   |1
  Build|hppa-unknown-linux-gnu  |hppa,sparc-unknown-linux-gn
   ||u

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-29 
06:35:10 UTC ---
Same failures on SPARC/Linux.


[Bug rtl-optimization/45354] [4.6 regression] ICE: fallthru edge crosses section boundary (bb 6) with g++.dg/bprob/g++-bprob-1.C

2010-11-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45354

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC|ebotcazou at gcc dot|
   |gnu.org |
  Known to work||4.5.2
   Host|x86_64-pc-linux-gnu |
   Target Milestone|4.5.2   |4.6.0
Summary|[4.5/4.6 Regression] ICE:   |[4.6 regression] ICE:
   |verify_flow_info failed:|fallthru edge crosses
   |fallthru edge crosses   |section boundary (bb 6)
   |section boundary (bb 6) |with
   |with|g++.dg/bprob/g++-bprob-1.C
   |gcc.dg/tree-prof/update-cun |
   |roll-2.c|
  Known to fail|4.5.2   |

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-29 
07:57:40 UTC ---
update-cunroll-2.c passes on mainline and 4.5 branch.  g++-bprob-1.C fails only
on the mainline.