[Bug c++/51563] New: dynamic_cast bug

2011-12-15 Thread gausszhch at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563

 Bug #: 51563
   Summary: dynamic_cast bug
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: gaussz...@gmail.com


The following code snippet:


#include iostream
using namespace std;

struct D1{ virtual void fooD1(){} };
struct D2{ virtual void fooD2(){} };

struct C1: virtual D1{ virtual void fooC1(){} };
struct C2: virtual D1{ virtual void fooC2(){} };

struct C3: virtual D2{ virtual void fooC3(){} };
struct C4: virtual D2{ virtual void fooC4(){} };
// A-pub-C1-vir-D1
// A-pri-C2-vir-D1
// A-pub-C3-vir-D2
// A-pri-C4-vir-D2
struct A: C1, private C2, C3, private C4{ virtual void fooA(){} };

int main(int argc, char** argv){
A* pa = new A;

D1* pd1 = dynamic_castD1*(pa);
if(pd1) cout  success 1\n;
elsecout  FAIL 1\n;
D2* pd2 = dynamic_castD2*(pd1);
if(pd2) cout  success 2\n;
elsecout  FAIL 2\n;

pd2 = dynamic_castD2*(pa);
if(pd2) cout  success 3\n;
elsecout  FAIL 3\n;
pd1 = dynamic_castD1*(pd2);
if(pd1) cout  success 4\n;
elsecout  FAIL 4\n;
return 0;

}
-

Compile it and run:
$ g++ test.cpp -o test
$ ./test
success 1
success 2
success 3
FAIL 4

This is, I believe, a bug.  VC++ (on windows) results in:

success 1
success 2
success 3
success 4

which I think is correct.

The gcc I used is:
$ gcc -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin
--enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686
--with-tune=generic --enable-checking=release --build=i686-linux-gnu
--host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) 

The operating system is Ubuntu 11.10 (server 64bit).

I have also tested this code snippet on Debian-6.0 with GCC-4.4.5 and
CentOS-5.4 with GCC-4.1.2, which produces same result.


[Bug debug/47801] guality tests have issues with LTO / -fwhole-program

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47801

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
09:00:27 UTC ---
I think so.


[Bug c++/51549] QList::operator[] crash in 32bit release version on MacOS for gcc 4.2.1

2011-12-15 Thread sami.lehtonen at digia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51549

sami.lehtonen at digia dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |
   Severity|normal  |critical

--- Comment #3 from sami.lehtonen at digia dot com 2011-12-15 09:23:21 UTC ---
The case is now moved to Apple's bug database. The new case can be found with
id 10585486.


[Bug target/51162] [4.7 Regression] ICE: segfault in dump_gimple_call

2011-12-15 Thread sameerad at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51162

sameerad at gcc dot gnu.org changed:

   What|Removed |Added

 CC||sameerad at gcc dot gnu.org

--- Comment #2 from sameerad at gcc dot gnu.org 2011-12-15 09:31:10 UTC ---
Fixed on trunk.

- Sameera D.


[Bug c++/51559] decimal128 operates incorrectly compared to decimal32 and decimal64

2011-12-15 Thread mingodad at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51559

Domingo Alvarez mingodad at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #2 from Domingo Alvarez mingodad at gmail dot com 2011-12-15 
09:40:35 UTC ---
Doing more tests I discovered that the problem is inherent to using floating
points to initialize decimal128, doing it step by step with integer
initialization gives the expected result.

decimal128 d10(10), d1000(1000), d3(3), d99(99), d201(201);

d3 /= d10); //d3 = 0.3
d99 /= d1000; //d99 = 0.099
d3 -= d99; //d3 = 0.201
d3 *= d1000; // d3 = 201

now d3 == d201

Sorry by the false bug report.


[Bug lto/48437] [4.6 Regression] LTO crashes with block-local function declarations

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48437

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
09:44:17 UTC ---
Author: rguenth
Date: Thu Dec 15 09:44:11 2011
New Revision: 182358

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182358
Log:
2012-12-15  Richard Guenther  rguent...@suse.de

Revert
PR lto/48437
* lto-streamer-out.c (tree_is_indexable): Exclude block-local
extern declarations.

PR lto/48508
PR lto/48437
* tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL
VAR_DECLs and FUNCTION_DECLs locally.

* g++.dg/lto/pr48508-1_0.C: New testcase.
* g++.dg/lto/pr48508-1_1.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/lto/pr48508-1_0.C
trunk/gcc/testsuite/g++.dg/lto/pr48508-1_1.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-out.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-streamer-out.c


[Bug lto/48508] ICE in output_die, at dwarf2out.c:11409

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508

--- Comment #16 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
09:44:17 UTC ---
Author: rguenth
Date: Thu Dec 15 09:44:11 2011
New Revision: 182358

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182358
Log:
2012-12-15  Richard Guenther  rguent...@suse.de

Revert
PR lto/48437
* lto-streamer-out.c (tree_is_indexable): Exclude block-local
extern declarations.

PR lto/48508
PR lto/48437
* tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL
VAR_DECLs and FUNCTION_DECLs locally.

* g++.dg/lto/pr48508-1_0.C: New testcase.
* g++.dg/lto/pr48508-1_1.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/lto/pr48508-1_0.C
trunk/gcc/testsuite/g++.dg/lto/pr48508-1_1.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-out.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-streamer-out.c


[Bug libgomp/51298] libgomp team_barrier locking failures

2011-12-15 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51298

--- Comment #5 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2011-12-15 09:44:46 UTC ---
similarly, does this only affect power7, or potentially also other targets such
as x86_64 (interlagos?)


[Bug lto/48508] ICE in output_die, at dwarf2out.c:11409

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #17 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
09:49:36 UTC ---
Fixed.


[Bug libstdc++/51540] doxygen documentation for partial_sum misleading

2011-12-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51540

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.3

--- Comment #11 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 
09:51:12 UTC ---
Fixed for 4.7.0 so far


[Bug libstdc++/51540] doxygen documentation for partial_sum misleading

2011-12-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51540

--- Comment #10 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 
09:50:04 UTC ---
Author: redi
Date: Thu Dec 15 09:49:59 2011
New Revision: 182359

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182359
Log:
PR libstdc++/51540
* include/bits/stl_numeric.h (partial_sum): Adjust doxygen comments.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/stl_numeric.h


[Bug c++/51563] dynamic_cast bug

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
09:56:29 UTC ---
A real C++ compiler based on EDG agrees with GCC.


[Bug c/51562] Expression evaluation with commas seems incorrect in gcc 4.5.2, 4.4.4

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51562

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
09:57:32 UTC ---
(x=1,x)+(x=2,x)

is invoking undefined behavior as there is no sequence point inbetween
the two assignments to x.


[Bug libstdc++/51365] cannot use final empty class in std::tuple

2011-12-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51365

--- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 
10:02:50 UTC ---
Author: redi
Date: Thu Dec 15 10:02:45 2011
New Revision: 182360

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182360
Log:
c-family:
PR libstdc++/51365
* c-common.c (RID_IS_FINAL): Add.
* c-common.h (RID_IS_FINAL): Add.
cp:
PR libstdc++/51365
* cp-tree.h (CPTK_IS_FINAL): Add.
* parser.c (cp_parser_translation_unit): Handle RID_IS_FINAL.
(cp_parser_primary_expression, cp_parser_trait_expr): Likewise.
* semantics.c (trait_expr_value, finish_trait_expr): Handle
CPTK_IS_FINAL.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
testsuite:
PR libstdc++/51365
* g++.dg/ext/is_final.C: New.

Added:
trunk/gcc/testsuite/g++.dg/ext/is_final.C
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/c-family/c-common.h
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/cxx-pretty-print.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug libstdc++/51365] cannot use final empty class in std::tuple

2011-12-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51365

--- Comment #13 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 
10:06:19 UTC ---
front end changes done, I'll work on the library parts this weekend


[Bug c++/51563] dynamic_cast bug

2011-12-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 
10:09:46 UTC ---
and Clang also agrees with GCC


[Bug lto/41159] [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41159

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #16 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
10:10:37 UTC ---
It's tedious to look at this without a testcase that triggers on native
x86_64.  My usual simple crosses do not work with LTO as I need a target
assembler and linker.

So - someone with access to an affected target please debug this.


[Bug rtl-optimization/47258] Extra instruction generated in 4.5.2

2011-12-15 Thread bmei at broadcom dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47258

--- Comment #7 from Bingfeng Mei bmei at broadcom dot com 2011-12-15 10:18:06 
UTC ---
Yes, the patch fixes the bug. Thanks.


[Bug c++/51563] dynamic_cast bug

2011-12-15 Thread gausszhch at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563

--- Comment #3 from gausszhch at gmail dot com 2011-12-15 10:21:21 UTC ---
What does EDG stand for?

Besides, why does dynamic_castD2*(pd1) success but dynamic_castD1*(pd2)
fail? 

Here, D1 and D2 are symmetrical in the hierarchy graph. I think they can be
cast to each other according to the ISO/IEC 14882:2003. It is said that

 dynamic_castT(v)
...
if v points (refers) to a public base class sub-object of the most derived
object, and the type of the most derived object has a base class, of type T,
that is unambiguous and public, the result is a pointer (an lvalue referring)
to the T sub-object of the most derived object.


(In reply to comment #1)
 A real C++ compiler based on EDG agrees with GCC.


[Bug debug/51564] New: [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564

 Bug #: 51564
   Summary: [4.7 Regression] ICE in force_type_die, at
dwarf2out.c:19288
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: lto
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


typedef long int time_t;
void foo(void) {}
int main()
{
  foo();
  using ::time_t;
}


[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-15
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
10:26:13 UTC ---
With -g -flto.


[Bug c++/51563] dynamic_cast bug

2011-12-15 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-15 
10:29:23 UTC ---
Edison Design Group


[Bug preprocessor/47857] Pragma once warning when compiling PCH

2011-12-15 Thread olafvdspek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47857

Olaf van der Spek olafvdspek at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|VERIFIED

--- Comment #2 from Olaf van der Spek olafvdspek at gmail dot com 2011-12-15 
10:41:07 UTC ---
(In reply to comment #1)
 Dup of bug 39029 which shows the warning is just part of the symptom.
 
 *** This bug has been marked as a duplicate of bug 39029 ***

It's *not* a duplicate. This one is about generating the .gch.
The other one is about using the .gch (and not about the warning message).


[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
10:47:14 UTC ---
I have a patch.


[Bug libstdc++/51558] Declaration of unspecialized std::hash_Tp::operator()(_Tp) turns compile-time errors into link-time errors

2011-12-15 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51558

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Target Milestone|--- |4.7.0

--- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-15 
10:52:00 UTC ---
The static_assert definitely improves the error message. I'm going to prepare a
combined patch (testcases in 23_containers/unordered_* have also to be tweaked)


[Bug c++/51565] New: fastcall in array of method pointers: internal compiler error

2011-12-15 Thread arr at kent dot ac.uk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51565

 Bug #: 51565
   Summary: fastcall in array of method pointers: internal
compiler error
Classification: Unclassified
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: a...@kent.ac.uk


Created attachment 26099
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26099
Preprocessed source (15 lines)

The attached program (presumably illegal) attempts to insert a pointer to a
class member function into an array of such pointers.  However, the inserted
function has the fastcall attribute: this causes an internal compiler error:

 gcc -v --save-temps -c -Wall bug.cpp
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-suse-linux/4.5/lto-wrapper
Target: i586-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.5
--enable-ssp --disable-libssp --disable-plugin
--with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux'
--disable-libgcj --disable-libmudflap --with-slibdir=/lib --with-system-zlib
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.5
--enable-linux-futex --without-system-libunwind --enable-gold
--with-plugin-ld=/usr/bin/gold --with-arch-32=i586 --with-tune=generic
--build=i586-suse-linux
Thread model: posix
gcc version 4.5.1 20101208 [gcc-4_5-branch revision 167585] (SUSE Linux) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-Wall' '-mtune=generic'
'-march=i586'
 /usr/lib/gcc/i586-suse-linux/4.5/cc1plus -E -quiet -v -D_GNU_SOURCE bug.cpp
-mtune=generic -march=i586 -Wall -fpch-preprocess -o bug.ii
#include ... search starts here:
#include ... search starts here:
 /usr/include/c++/4.5
 /usr/include/c++/4.5/i586-suse-linux
 /usr/include/c++/4.5/backward
 /usr/local/include
 /usr/lib/gcc/i586-suse-linux/4.5/include
 /usr/lib/gcc/i586-suse-linux/4.5/include-fixed
 /usr/lib/gcc/i586-suse-linux/4.5/../../../../i586-suse-linux/include
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-Wall' '-mtune=generic'
'-march=i586'
 /usr/lib/gcc/i586-suse-linux/4.5/cc1plus -fpreprocessed bug.ii -quiet
-dumpbase bug.cpp -mtune=generic -march=i586 -auxbase bug -Wall -version -o
bug.s
GNU C++ (SUSE Linux) version 4.5.1 20101208 [gcc-4_5-branch revision 167585]
(i586-suse-linux)
compiled by GNU C version 4.5.1 20101208 [gcc-4_5-branch revision
167585], GMP version 5.0.1, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=125809
GNU C++ (SUSE Linux) version 4.5.1 20101208 [gcc-4_5-branch revision 167585]
(i586-suse-linux)
compiled by GNU C version 4.5.1 20101208 [gcc-4_5-branch revision
167585], GMP version 5.0.1, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=125809
Compiler executable checksum: 3bd6bad154f92415c6ab6c213479edc0
bug.cpp: In function ‘int main()’:
bug.cpp:9:25: internal compiler error: in process_init_constructor_array, at
cp/typeck2.c:1039
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugs.opensuse.org/ for instructions.


[Bug debug/51517] [4.5/4.6/4.7 Regression] Wrong debug information for pointers with negative strides.

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51517

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
11:05:42 UTC ---
Author: jakub
Date: Thu Dec 15 11:05:37 2011
New Revision: 182362

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182362
Log:
PR debug/51517
* trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span.
(gfc_trans_deferred_vars): Instead add its runtime initialization
here.

* tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
!DECL_IGNORED_P instead of !DECL_ARTIFICIAL.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-decl.c
trunk/gcc/tree-ssa-coalesce.c


[Bug debug/51517] [4.5/4.6 Regression] Wrong debug information for pointers with negative strides.

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51517

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.5/4.6/4.7 Regression]|[4.5/4.6 Regression] Wrong
   |Wrong debug information for |debug information for
   |pointers with negative  |pointers with negative
   |strides.|strides.

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
11:09:09 UTC ---
Fixed on the trunk so far.


[Bug target/51050] [AVR, attiny26] ICE: invalid rtl sharing found in the insn

2011-12-15 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51050

--- Comment #4 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 
11:10:37 UTC ---
Author: gjl
Date: Thu Dec 15 11:10:32 2011
New Revision: 182363

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182363
Log:
PR target/51050
* config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp.
(avr_prologue_setup_frame): Ditto.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr.c


[Bug target/51050] [AVR, attiny26] ICE: invalid rtl sharing found in the insn

2011-12-15 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51050

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #5 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 
11:11:44 UTC ---
Fixed


[Bug rtl-optimization/51447] [4.4/4.5/4.6/4.7 Regression] global register variable definition incorrectly removed as dead code

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51447

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
11:32:06 UTC ---
Created attachment 26100
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26100
gcc47-pr51447.patch

While that fixes the testcase at -O1, at -O2 and above it still fails. 
Apparently ud_dce pass removes it.


[Bug c++/51473] [c++0x] ICE with auto and friend

2011-12-15 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51473

--- Comment #4 from Dodji Seketeli dodji at gcc dot gnu.org 2011-12-15 
11:44:32 UTC ---
A candidate patch for this has been submitted to
http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01174.html


[Bug rtl-optimization/51447] [4.4/4.5/4.6/4.7 Regression] global register variable definition incorrectly removed as dead code

2011-12-15 Thread bonzini at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51447

--- Comment #8 from Paolo Bonzini bonzini at gnu dot org 2011-12-15 12:01:25 
UTC ---
For ud_dce it's simplest to add/remove fake edges around it.  For 4.8 it could
be worthwhile to try adding fake edges around all RTL passes (at least those
running in cfglayout mode) and see what breaks...


[Bug c++/51545] missing -Wparentheses diagnostic with compound assignment used as condition

2011-12-15 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51545

--- Comment #2 from Mikael Pettersson mikpe at it dot uu.se 2011-12-15 
12:09:21 UTC ---
Or perhaps PR50012?  Parenthesized expressions get TREE_NO_WARNING set on them.


[Bug tree-optimization/51566] New: ICE: verify_gimple in testsuite/g++.dg/ipa/iinline-3.C

2011-12-15 Thread Greta.Yorsh at arm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51566

 Bug #: 51566
   Summary: ICE: verify_gimple in testsuite/g++.dg/ipa/iinline-3.C
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: greta.yo...@arm.com
Target: arm-none-eabi


$ cc1plus /work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C
-O3 -quiet

/work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C: In function
'int main(int, char**)':
/work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C:55:5: error:
statement marked for throw, but doesn't
D.4744_64 = String::funcOne (S, 4);

/work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C:55:5:
internal compiler error: verify_gimple failed

Trace:
#0  internal_error (gmsgid=0x1692398 verify_gimple failed) at
/work/local-checkouts/gcc-fsf/gcc/diagnostic.c:843
#1  0x00e5b5e0 in verify_gimple_in_cfg (fn=0x77666780) at
/work/local-checkouts/gcc-fsf/gcc/tree-cfg.c:4582
#2  0x0106a0f1 in verify_ssa (check_modified_stmt=1 '\001') at
/work/local-checkouts/gcc-fsf/gcc/tree-ssa.c:928
#3  0x00d3b219 in execute_function_todo (data=0x22) at
/work/local-checkouts/gcc-fsf/gcc/passes.c:1725
#4  0x00d3ac3e in do_per_function (callback=0xd3b0ae
execute_function_todo, data=0x22) at
/work/local-checkouts/gcc-fsf/gcc/passes.c:1563
#5  0x00d3b311 in execute_todo (flags=34) at
/work/local-checkouts/gcc-fsf/gcc/passes.c:1756
#6  0x00d3bc2c in execute_one_pass (pass=0x1c124c0) at
/work/local-checkouts/gcc-fsf/gcc/passes.c:2102
#7  0x00d3bd57 in execute_pass_list (pass=0x1c124c0) at
/work/local-checkouts/gcc-fsf/gcc/passes.c:2134
#8  0x00d3bd78 in execute_pass_list (pass=0x1c123a0) at
/work/local-checkouts/gcc-fsf/gcc/passes.c:2135
#9  0x00d3bd78 in execute_pass_list (pass=0x1c11aa0) at
/work/local-checkouts/gcc-fsf/gcc/passes.c:2135
#10 0x00edfcc2 in tree_rest_of_compilation (fndecl=0x7753d600) at
/work/local-checkouts/gcc-fsf/gcc/tree-optimize.c:421
#11 0x009b84e5 in cgraph_expand_function (node=0x77542900) at
/work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:1818
#12 0x009b86b0 in cgraph_expand_all_functions () at
/work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:1885
#13 0x009b91f1 in cgraph_optimize () at
/work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:2198
#14 0x009b6232 in cgraph_finalize_compilation_unit () at
/work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:1327
#15 0x00685ca8 in cp_write_global_declarations () at
/work/local-checkouts/gcc-fsf/gcc/cp/decl2.c:4050
#16 0x00e2ddee in compile_file () at
/work/local-checkouts/gcc-fsf/gcc/toplev.c:573
#17 0x00e2ffea in do_compile () at
/work/local-checkouts/gcc-fsf/gcc/toplev.c:1928
#18 0x00e30161 in toplev_main (argc=4, argv=0x7fffe458) at
/work/local-checkouts/gcc-fsf/gcc/toplev.c:2004
#19 0x008e8dac in main (argc=4, argv=0x7fffe458) at
/work/local-checkouts/gcc-fsf/gcc/main.c:36

Trunk r182338 configured with --target=arm-none-eabi -cpu=cortex-a9
--with-fpu=neon --with-float=softfp.


[Bug libgcj/51498] [4.7 regression] temporary hack to make dejagnu work in libjava

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51498

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
12:41:49 UTC ---
Do you have a new enough version of dejagnu?
There is no need for any of these variables.
libjava.exp has:
if ![info exists GCJ_UNDER_TEST] {
if [info exists TOOL_EXECUTABLE] {
set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
} else {
if [info exists env(GCJ)] {
set GCJ_UNDER_TEST $env(GCJ)
} else {
set GCJ_UNDER_TEST [find_gcj]
}
}
}
and my dejagnu does (in /usr/share/dejagnu/libgloss.exp):
proc find_gcj {} {
global tool_root_dir

if {![is_remote host]} {
set file [lookfor_file $tool_root_dir gcj]
if { $file ==  } {
set file [lookfor_file $tool_root_dir gcc/gcj]
}
if { $file !=  } {
set CC $file -B[file dirname $file]/
} else {
set CC [transform gcj]
}
} else {
set CC [transform gcj]
}
return $CC
}

so it should figure that out automatically.  Aren't you e.g. building in source
directory (./configure ...)?  Otherwise it would be good if you could debug why
in your case it isn't finding the right tool_root_dir and gcj in it (debugging
printouts in libjava.exp and libgloss.exp).


[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
12:43:52 UTC ---
Author: rguenth
Date: Thu Dec 15 12:43:48 2011
New Revision: 182367

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182367
Log:
2011-12-15  Richard Guenther  rguent...@suse.de

PR lto/51564
* tree.h (REGISTER_DEFS_IN_THIS_STMT, NECESSARY,
STMT_IN_SSA_EDGE_WORKLIST): Remove no longer existing flag
uses documentation.
(TREE_ASM_WRITTEN): Update documentation to mention its use
on TYPE_DECLs from debug info generation.
* tree-streamer-out.c (pack_ts_base_value_fields): Stream
TREE_ASM_WRITTEN as always zero for TYPE_DECLs, similar to
all other types.

* g++.dg/lto/pr51564-1_0.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/lto/pr51564-1_0.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-streamer-out.c
trunk/gcc/tree.h


[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
12:44:32 UTC ---
Fixed.


[Bug libgcj/51498] [4.7 regression] temporary hack to make dejagnu work in libjava

2011-12-15 Thread jojelino at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51498

--- Comment #7 from gee jojelino at gmail dot com 2011-12-15 13:00:58 UTC ---
(In reply to comment #6)
 so it should figure that out automatically.  Aren't you e.g. building in 
 source
 directory (./configure ...)?  Otherwise it would be good if you could debug 
 why
 in your case it isn't finding the right tool_root_dir and gcj in it (debugging
 printouts in libjava.exp and libgloss.exp).

Using /usr/share/dejagnu/runtest.exp as main test driver
INTERPRETER is now yes
Verbose level is 1
Login name is Administrator
Found /tmp/gcc/i686-pc-mingw32/libjava/testsuite/site.exp
Found /tmp/gcc/i686-pc-mingw32/libjava/testsuite/site.exp
Using test sources in ../../.././libjava/testsuite
Using test binaries in /tmp/gcc/i686-pc-mingw32/libjava/testsuite
Tool root directory is /tmp/gcc/i686-pc-mingw32
Using /usr/share/dejagnu to find libraries
since i'm doing canadian-cross, it can't find gcj in
/tmp/gcc/i686-pc-mingw32/gcc (which libgross.exp assumed).


[Bug c/51562] Expression evaluation with commas seems incorrect in gcc 4.5.2, 4.4.4

2011-12-15 Thread willus0 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51562

--- Comment #2 from willus0 at hotmail dot com 2011-12-15 13:16:37 UTC ---
(In reply to comment #1)
 (x=1,x)+(x=2,x)
 
 is invoking undefined behavior as there is no sequence point inbetween
 the two assignments to x.

Is the same also true of the second statement, in which case the Numerical
Recipes code is simply poorly written?


[Bug c/51360] [4.6/4.7 Regression] spurious unused-but-set-variable warning for var used in OpenMP pragma

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51360

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
13:27:29 UTC ---
Created attachment 26101
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26101
gcc47-pr51360.patch

Untested fix.


[Bug preprocessor/47857] Pragma once warning when compiling PCH

2011-12-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47857

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 
13:38:25 UTC ---
If you're going to change the status please check what VERIFIED means (we don't
use that status in this bugzilla)


[Bug target/49865] [4.7 Regression] Unnecessary reload causes small bloat

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49865

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
13:39:58 UTC ---
Well, that is the bad sequence.
Until r171648 instead of two movl 8(%ebp), %eX insns (one before rep stosl, one
after) there was just one of those and one movl %eA, %eB register move.


[Bug libgomp/51298] libgomp team_barrier locking failures

2011-12-15 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51298

--- Comment #6 from Alan Modra amodra at gmail dot com 2011-12-15 13:45:20 
UTC ---
I expect all of the libgomp bugs I recently fixed will affect some other
processors, eg. Alpha, IA64, and Sparc in some memory modes.  I know PR51376
won't affect x86, and I expect PR51249 will affect all processors.  Beyond
that, I haven't analyzed which bugs will affect a given processor.  BTW,
there's a good article here http://www.linuxjournal.com/article/8211 that
explains how and why memory accesses are reordered, and the extent that various
processors do reordering.  The table in that article is why I named Alpha, IA64
and Sparc.


[Bug target/51162] [4.7 Regression] ICE: segfault in dump_gimple_call

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51162

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||FIXED

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
13:54:57 UTC ---
Please don't forget next time to mention the PR in your ChangeLog entry and
commit message.
http://gcc.gnu.org/viewcvs?root=gccview=revrev=181920


[Bug lto/41159] [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225

2011-12-15 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41159

--- Comment #17 from Uros Bizjak ubizjak at gmail dot com 2011-12-15 14:01:56 
UTC ---
(In reply to comment #16)
 It's tedious to look at this without a testcase that triggers on native
 x86_64.  My usual simple crosses do not work with LTO as I need a target
 assembler and linker.
 
 So - someone with access to an affected target please debug this.

I have managed to trigger this bug on x86_64-linux-gnu cross to
alpha-linux-gnu.

Please follow these steps:

1) compile and install binutils for alpha-linux-gnu.
2) configure crosscompiler with:
~/gcc-svn/trunk/configure --target=alpha-linux-gnu --enable-languages=c
3) make (and wait until the compilation crashes)

4) Go into gcc/testsuite/gcc.dg/lto directory

5) ~/gcc-build-alpha/gcc/xgcc -B ~/gcc-build-alpha/gcc -O1 -flto
-flto-partition=1to1 -fPIC  -c -o c_lto_20090116_0.o 20090116_0.c

6) ~/gcc-build-alpha/gcc/lto1 c_lto_20090116_0.o

In file included from :0:0:
20090116_0.c: In function ‘foo’:
20090116_0.c:6:5: internal compiler error: in insert_value_copy_on_edge, at
tree-outof-ssa.c:242
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper: /home/uros/gcc-build-alpha/gcc/xgcc returned 1 exit status
collect2: error: lto-wrapper returned 1 exit status

7) gdb --args ~/gcc-build-alpha/gcc/lto1 c_lto_20090116_0.o

(gdb) break fancy_abort 
Breakpoint 1 at 0xadc540: file /home/uros/gcc-svn/trunk/gcc/diagnostic.c, line
898.
(gdb) r
Starting program: /home/uros/gcc-build-alpha/gcc/lto1 -O0 c_lto_20090116_0.o
warning: no loadable sections found in added symbol-file system-supplied DSO at
0x2aaab000
Reading object files: c_lto_20090116_0.o
Reading the callgraph
Merging declarations
Reading summaries
Reading function bodies: foo
Performing interprocedural optimizations
 whole-programAssembling functions:
 foo
Breakpoint 1, fancy_abort (file=0xb92430
/home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c, line=242, 
function=0xb92920 insert_value_copy_on_edge) at
/home/uros/gcc-svn/trunk/gcc/diagnostic.c:898
898 {
(gdb) bt
#0  fancy_abort (file=0xb92430 /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c,
line=242, 
function=0xb92920 insert_value_copy_on_edge) at
/home/uros/gcc-svn/trunk/gcc/diagnostic.c:898
#1  0x0081c3ab in insert_value_copy_on_edge (e=value optimized out,
g=0xf94080)
at /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c:242
#2  eliminate_phi (e=value optimized out, g=0xf94080) at
/home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c:705
#3  0x0081c7e2 in expand_phi_nodes (sa=value optimized out)
at /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c:867
#4  0x004d73f4 in gimple_expand_cfg () at
/home/uros/gcc-svn/trunk/gcc/cfgexpand.c:4518
#5  0x00707459 in execute_one_pass (pass=0xeae160) at
/home/uros/gcc-svn/trunk/gcc/passes.c:2079
#6  0x007077c5 in execute_pass_list (pass=0xeae160) at
/home/uros/gcc-svn/trunk/gcc/passes.c:2134
#7  0x008191c8 in tree_rest_of_compilation (fndecl=0x2e82d800)
at /home/uros/gcc-svn/trunk/gcc/tree-optimize.c:421
#8  0x004f51ba in cgraph_expand_function (node=0x2e832000)
at /home/uros/gcc-svn/trunk/gcc/cgraphunit.c:1818
#9  0x004f8b6b in cgraph_output_in_order () at
/home/uros/gcc-svn/trunk/gcc/cgraphunit.c:1983
#10 cgraph_optimize () at /home/uros/gcc-svn/trunk/gcc/cgraphunit.c:2193
#11 0x0047f4e9 in lto_main () at
/home/uros/gcc-svn/trunk/gcc/lto/lto.c:2931
#12 0x007a99ec in compile_file (argc=3, argv=0x7fffb8e8)
at /home/uros/gcc-svn/trunk/gcc/toplev.c:557
#13 do_compile (argc=3, argv=0x7fffb8e8) at
/home/uros/gcc-svn/trunk/gcc/toplev.c:1928
#14 toplev_main (argc=3, argv=0x7fffb8e8) at
/home/uros/gcc-svn/trunk/gcc/toplev.c:2004
#15 0x003f90c1d994 in __libc_start_main () from /lib64/libc.so.6
#16 0x0045dee9 in _start ()

I will also attach c_lto_20090116_0.o.


[Bug lto/41159] [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225

2011-12-15 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41159

--- Comment #18 from Uros Bizjak ubizjak at gmail dot com 2011-12-15 14:04:56 
UTC ---
Created attachment 26102
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26102
intermediate object file for alpha-linux-gnu target

Attached object fails with lto crosscompiler to alpha-gnu-linux:

~/gcc-build-alpha/gcc/lto1 -O0 c_lto_20090116_0.o 
Reading object files: c_lto_20090116_0.o
Reading the callgraph
Merging declarations
Reading summaries
Reading function bodies: foo
Performing interprocedural optimizations
 whole-programAssembling functions:
 foo
In file included from :0:0:
20090116_0.c: In function ‘foo’:
20090116_0.c:6:5: internal compiler error: in insert_value_copy_on_edge, at
tree-outof-ssa.c:242
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug debug/51567] New: [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567

 Bug #: 51567
   Summary: [4.7 Regression] ICE in splice_child_die, at
dwarf2out.c:5009 with -flto -g
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: lto
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


struct _Deque_iterator {
int* _M_cur;
void foo() {}
};
class _Deque_base {
public:
typedef _Deque_iterator iterator;
iterator _M_impl;
};
class deque : public _Deque_base {
public:
typedef _Deque_base::iterator iterator;
};
class OutputContextStack {
public:
deque m_stack;
deque::iterator m_stackPosition;
};
int main()
{
  OutputContextStack s;
  s.m_stackPosition.foo();
}


[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011-12-15
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
14:16:10 UTC ---
Mine.


[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
14:42:19 UTC ---
5007  gcc_assert (child-die_parent == parent
5008  || (child-die_parent
5009  == get_AT_ref (parent, DW_AT_specification)));

we have

(gdb) call debug_dwarf_die (child)
DIE0: DW_TAG_member (0x75b6c2d0)
  abbrev id: 0 offset: 0 mark: 0
  DW_AT_name: _M_cur
  DW_AT_decl_file: t.ii (1)
  DW_AT_decl_line: 2
  DW_AT_type: die - 0 (0x75b6c320)
  DW_AT_data_member_location: location descriptor

(gdb) call debug_dwarf_die (parent)
DIE0: DW_TAG_structure_type (0x75b6c8c0)
  abbrev id: 0 offset: 0 mark: 0
  DW_AT_name: iterator
  DW_AT_byte_size: 8
  DW_AT_decl_file: t.ii (1)
  DW_AT_decl_line: 1

so somehow it messes up parent, which should be a typedef DIE(?).  We generate
it through

#0  0x0062a089 in gen_struct_or_union_type_die (type=0x75b5fc78, 
context_die=0x75b6c820, usage=DINFO_USAGE_DIR_USE)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18582
#1  0x0062b139 in gen_tagged_type_die (type=0x75b5fc78, 
context_die=0x75b6c820, usage=DINFO_USAGE_DIR_USE)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18810
#2  0x0062ab4f in gen_typedef_die (decl=0x75b682e0, 
context_die=0x75b6c820)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18719
#3  0x0062ecbd in gen_decl_die (decl=0x75b682e0, origin=0x0, 
context_die=0x75b6c820)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19523
#4  0x0062ba99 in gen_type_die_with_usage (type=0x75b5fc78, 
context_die=0x75b6c820, usage=DINFO_USAGE_DIR_USE)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18873
#5  0x0062bfc8 in gen_type_die (type=0x75b5fc78, 
context_die=0x75b6c820)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18999
#6  0x0062f032 in gen_decl_die (decl=0x75a45428, origin=0x0, 
context_die=0x75b6c820)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19574
#7  0x006297dd in gen_member_die (type=0x75b5fb28, 
context_die=0x75b6c820)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18532
#8  0x0062a484 in gen_struct_or_union_type_die (type=0x75b5fb28, 
context_die=0x75b6c780, usage=DINFO_USAGE_DIR_USE)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18624
#9  0x0062b139 in gen_tagged_type_die (type=0x75b5fb28, 
context_die=0x75b6c780, usage=DINFO_USAGE_DIR_USE)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18810
#10 0x0062be2d in gen_type_die_with_usage (type=0x75b5fb28, 
context_die=0x75b6c780, usage=DINFO_USAGE_DIR_USE)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18960
#11 0x0062bfc8 in gen_type_die (type=0x75b5fb28, 
context_die=0x75b6c780)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18999
#12 0x0060960d in modified_type_die (type=0x75b5fb28, 
is_const_type=0, is_volatile_type=0, context_die=0x75b6c780)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:9835
#13 0x0061f7de in add_type_attribute (object_die=0x75b6c7d0, 
type=0x75b5fb28, decl_const=0, decl_volatile=0, 
context_die=0x75b6c780)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:16136
#14 0x0062946d in gen_inheritance_die (binfo=0x75b650c0, 
access=0x75a2b528, context_die=0x75b6c780)
at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18464
...

I think it happens because we very likely merge the two types
named 'iterator' (_Deque_base::iterator and deque::iterator).
Which is because gimple.c:compare_type_names_p simply looks
through the TYPE_DECLs to the IDENTIFIER_NODEs.  It probably
should compare the DECL_CONTEXT of the TYPE_DECLs as well
(but if they are a TREE_TYPE that creates new members of the
SCC we have to visit ...)

Fixing that fixes this bug.


[Bug c/51562] missing -Wsequence-point warning for expression with commas.

2011-12-15 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51562

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|NEW
Version|4.5.2   |4.7.0
   Keywords||diagnostic
   Last reconfirmed||2011-12-15
 CC||manu at gcc dot gnu.org
 Resolution|INVALID |
 Ever Confirmed|0   |1
Summary|Expression evaluation with  |missing -Wsequence-point
   |commas seems incorrect in   |warning for expression with
   |gcc 4.5.2, 4.4.4|commas.

--- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-12-15 
14:45:46 UTC ---
Not sure why -Wsequence-point is missing this, but it is a bug.

Clang 3.1 does not warn either.


[Bug fortran/51075] ICE with deferred-length character pointer component in derived types

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51075

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:18:40 UTC ---
Author: burnus
Date: Thu Dec 15 15:18:33 2011
New Revision: 182372

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c


[Bug fortran/49050] ICE with deferred character length derived type component

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49050

--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:18:39 UTC ---
Author: burnus
Date: Thu Dec 15 15:18:33 2011
New Revision: 182372

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c


[Bug fortran/51550] ICE in gfc_get_derived_type, at fortran/trans-types.c:2401

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51550

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:18:38 UTC ---
Author: burnus
Date: Thu Dec 15 15:18:33 2011
New Revision: 182372

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c


[Bug fortran/47545] ICE: in gfc_get_derived_type, at fortran/trans-types.c:2145

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47545

--- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:18:38 UTC ---
Author: burnus
Date: Thu Dec 15 15:18:33 2011
New Revision: 182372

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c


[Bug fortran/51550] ICE in gfc_get_derived_type, at fortran/trans-types.c:2401

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51550

--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:25:37 UTC ---
Author: burnus
Date: Thu Dec 15 15:25:32 2011
New Revision: 182373

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/resolve.c


[Bug fortran/51075] ICE with deferred-length character pointer component in derived types

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51075

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:25:39 UTC ---
Author: burnus
Date: Thu Dec 15 15:25:32 2011
New Revision: 182373

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/resolve.c


[Bug fortran/47545] ICE: in gfc_get_derived_type, at fortran/trans-types.c:2145

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47545

--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:25:37 UTC ---
Author: burnus
Date: Thu Dec 15 15:25:32 2011
New Revision: 182373

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/resolve.c


[Bug fortran/49050] ICE with deferred character length derived type component

2011-12-15 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49050

--- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 
15:25:39 UTC ---
Author: burnus
Date: Thu Dec 15 15:25:32 2011
New Revision: 182373

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373
Log:
2011-12-15  Tobias Burnus  bur...@net-b.de

PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.


Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/resolve.c


[Bug c++/51473] [c++0x] ICE with auto and friend

2011-12-15 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51473

--- Comment #5 from Dodji Seketeli dodji at gcc dot gnu.org 2011-12-15 
15:40:31 UTC ---
Author: dodji
Date: Thu Dec 15 15:40:25 2011
New Revision: 182375

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182375
Log:
PR c++/51473 - ICE with invalid auto

gcc/cp/

PR c++/51473
* decl.c (check_tag_decl): Error out on auto specifier with no
declarator.

gcc/testsuite/

PR c++/51473
* g++.dg/cpp0x/auto30.C: New test.

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


[Bug c++/51473] [c++0x] ICE with auto and friend

2011-12-15 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51473

Dodji Seketeli dodji at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #6 from Dodji Seketeli dodji at gcc dot gnu.org 2011-12-15 
15:41:20 UTC ---
This should be fixed in trunk (4.7).


[Bug c/51568] New: Enum value is not extracted properly via a union

2011-12-15 Thread eugene at hutorny dot in.ua
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568

 Bug #: 51568
   Summary: Enum value is not extracted properly via a union
Classification: Unclassified
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: eug...@hutorny.in.ua
Target: ARM


Created attachment 26103
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26103
Test example

A wrong value is received when a value is assigned via union and read its
member.

Consider the following data structures:

enum en { v0, v1, v2, v3, v4, v5, v6, v7 };

struct rec {
  unsigned short w;
  unsigned char  c;
  enum en e;
} __attribute__((__packed__));
union un {
  struct rec r;
  unsigned v;
} __attribute__((__packed__));

void pass(unsigned v) {
  union un u;
  u.v = v;
  printf(r.w=%X r.c=%d r.e=%d\n, u.r.w, u.r.c, u.r.e );
}

int main(int argc, char** argv) {
  union un u;
  u.r.c = '8';
  u.r.e = v2;
  u.r.w = 0xC5FF;
  printf(r.w=%X r.c=%d r.e=%d\n, u.r.w, u.r.c, u.r.e );
  pass(u.v);
  return 0;
}

Sample above compiled with gcc (Debian 4.3.2-1.1) 4.3.2 prints the following:
r.w=C5FF r.c=56 r.e=2
r.w=C5FF r.c=56 r.e=34050

When compiled with arm-linux-gnueabi-gcc (Debian 4.3.2-1.1) 4.3.2 prints:
r.w=C5FF r.c=56 r.e=2
r.w=C5FF r.c=56 r.e=50434


[Bug fortran/51569] New: documentation on sign intrinsic

2011-12-15 Thread pascal22p at parois dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51569

 Bug #: 51569
   Summary: documentation on sign intrinsic
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pascal...@parois.net


The documentation of the sign intrinsic is a bit misleading when the B argument
is a signed zero. The explanation in the standard is much more clearer.

Currently it says
(http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gfortran/SIGN.html#SIGN):
If B\ge 0 then the result is ABS(A), else it is -ABS(A).

According to the standard -0.0 is greater than zero. Meaning that according to
the documentation I would expect:
sign(1.0,-0.0) = 1.0
which is not true.

I would replace the sentence above by what you can find in the standard:
http://j3-fortran.org/doc/2003_Committee_Draft/ISO_IEC_1539-1.pdf in page 361
(pdf page), 345 (printed page number)


Case (i): If B  0, the value of the result is |A|.
Case (ii): If B  0, the value of the result is -|A|.
Case (iii): If B is of type integer and B=0, the value of the result is |A|.
Case (iv): If B is of type real and is zero, then
  (1) If the processor cannot distinguish between positive and negative real
zero,
  the value of the result is |A|.
  (2) If B is positive real zero, the value of the result is |A|.
  (3) If B is negative real zero, the value of the result is -|A|.


[Bug debug/51570] New: [4.7 Regression] FAIL: gcc.dg/guality/pr45003-[23].c

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51570

 Bug #: 51570
   Summary: [4.7 Regression] FAIL: gcc.dg/guality/pr45003-[23].c
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
Target: x86_64-*-*


I see the following FAILs with the most recent gdb installed (7.3):

FAIL: gcc.dg/guality/pr45003-2.c  -O1  line 10 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O1  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O2  line 10 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O2  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O3 -fomit-frame-pointer  line 10 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O3 -fomit-frame-pointer  line 19 a ==
0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O3 -g  line 10 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O3 -g  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -Os  line 10 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -Os  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O2 -flto -fno-use-linker-plugin
-flto-partition=none  line 10 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O2 -flto -fno-use-linker-plugin
-flto-partition=none  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  line 10 a == 0x8078
FAIL: gcc.dg/guality/pr45003-2.c  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-3.c  -O1  line 10 a == -32648
FAIL: gcc.dg/guality/pr45003-3.c  -O1  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-3.c  -O2  line 10 a == -32648
FAIL: gcc.dg/guality/pr45003-3.c  -O2  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-3.c  -O3 -fomit-frame-pointer  line 10 a == -32648
FAIL: gcc.dg/guality/pr45003-3.c  -O3 -fomit-frame-pointer  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-3.c  -O3 -g  line 10 a == -32648
FAIL: gcc.dg/guality/pr45003-3.c  -O3 -g  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-3.c  -Os  line 10 a == -32648
FAIL: gcc.dg/guality/pr45003-3.c  -Os  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-3.c  -O2 -flto -fno-use-linker-plugin
-flto-partition=none  line 10 a == -32648
FAIL: gcc.dg/guality/pr45003-3.c  -O2 -flto -fno-use-linker-plugin
-flto-partition=none  line 19 a == 0x8078
FAIL: gcc.dg/guality/pr45003-3.c  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  line 10 a == -32648
FAIL: gcc.dg/guality/pr45003-3.c  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  line 19 a == 0x8078

they pass for the -m32 multilib though.  No other gdb version tested.


[Bug debug/51570] [4.7 Regression] FAIL: gcc.dg/guality/pr45003-[23].c

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51570

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug fortran/51569] documentation on sign intrinsic

2011-12-15 Thread pascal22p at parois dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51569

--- Comment #1 from Pascal pascal22p at parois dot net 2011-12-15 16:28:11 
UTC ---
(In reply to comment #0)
 
 According to the standard -0.0 is greater than zero. 

Sorry, I am also confusing things by saying this.
please read instead -0.0=0.0 return True


[Bug target/49868] Implement named address space to place/access data in flash memory

2011-12-15 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49868

--- Comment #10 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 
16:28:42 UTC ---
More dependency: Need RELOCs to represent byte

http://sourceware.org/PR13503


[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
16:38:16 UTC ---
Author: rguenth
Date: Thu Dec 15 16:38:08 2011
New Revision: 182377

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182377
Log:
2011-12-15  Richard Guenther  rguent...@suse.de

PR lto/51567
* gimple.c (compare_type_names_p): Also compare the TREE_CODE.
(iterative_hash_name): Also hash the TREE_CODE.
(gimple_types_compatible_p_1): For types with a TYPE_DECL
name and a type DECL_CONTEXT recurse to that type.
(iterative_hash_gimple_type): Likewise.

* g++.dg/lto/pr51567-1_0.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/lto/pr51567-1_0.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimple.c
trunk/gcc/testsuite/ChangeLog


[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g

2011-12-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 
16:38:30 UTC ---
Fixed.


[Bug c++/51571] New: No named return value optimization while adding a dummy scope

2011-12-15 Thread prasoonsaurav.nit at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51571

 Bug #: 51571
   Summary: No named return value optimization while adding a
dummy scope
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: prasoonsaurav@gmail.com


Simple code snippet

#include iostream
int global;
struct A
{
   A(){}
   A(const Ax){
   ++global;
   }
   ~A(){}
};
A foo()
{  
 A a;
 return a;  
}
int main()
{
   A x = foo();
   std::cout  global;
}
Output : 0

When the definition of foo is changed to

A foo()
{ 
  { 
 A a;
 return a;  
  }
}
I get 1 as the output i.e copy c-tor gets called once.

Compiler is not optimizing the call to the copy c-tor in this case.


[Bug target/50952] libquad relocation R_X86_64_32S failure

2011-12-15 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50952

--- Comment #11 from kargl at gcc dot gnu.org 2011-12-15 16:43:27 UTC ---
I think that this was fixed by

2011-11-21  Andreas Tobler  andre...@fgznet.ch

* libtool.m4: dditional FreeBSD 10 fixes.


[Bug bootstrap/51572] New: [4.7 Regression] LTO bootstrap failed with bootstrap-profiled

2011-12-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51572

 Bug #: 51572
   Summary: [4.7 Regression] LTO bootstrap failed with
bootstrap-profiled
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


On Linux/x86-64, revision 182367 configured with

--prefix=/usr/local --enable-clocale=gnu --with-system-zlib --enable-shared
--with-demangler-in-ld --with-build-config=bootstrap-lto --with-fpmath=sse
--enable-languages=c,c++,fortran,java,lto,objc

failed to bootstrap-profiled:

lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:22493
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[7]: *** [/tmp/ccwUcTbd.ltrans29.ltrans.o] Error 1
make[7]: *** Waiting for unfinished jobs
lto-wrapper: make returned 2 exit status
/usr/local/x86_64-unknown-linux-gnu/bin/ld: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[6]: *** [cc1plus] Error 1

Revision 182359 is OK.


[Bug c++/51462] [c++0x] ICE in cx_check_missing_mem_inits

2011-12-15 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51462

Dodji Seketeli dodji at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011-12-15
 CC||dodji at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |dodji at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug c/51568] Enum value is not extracted properly via a union

2011-12-15 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Richard Earnshaw rearnsha at gcc dot gnu.org 2011-12-15 
17:17:34 UTC ---
On linux sizeof (struct rec) is 7, so how do you expect an unsigned (size = 4)
to hold the entire value?

If you want a packed enum, you need to specify the packed on the element
declaration, not just on the overall structure:

struct rec {
  unsigned short w;
  unsigned char  c;
  enum en e __attribute__((packed));
} __attribute__((packed));


[Bug middle-end/49806] [4.7 Regression] FAIL: gcc.dg/tree-ssa/vrp47.c

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49806

--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
17:27:50 UTC ---
Author: jakub
Date: Thu Dec 15 17:27:45 2011
New Revision: 182380

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182380
Log:
PR middle-end/49806
* gcc.dg/tree-ssa-vrp47.c: Add -fdump-tree-dom2 to dg-options.
Check for x_?  y in dom2 dump and xfail the check in dom1 dump.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c


[Bug tree-optimization/51117] [4.7 regression] rev.181172 causes glibc build failure

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51117

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
17:27:11 UTC ---
Author: jakub
Date: Thu Dec 15 17:27:08 2011
New Revision: 182379

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182379
Log:
PR tree-optimization/51117
* g++.dg/opt/pr51117.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/opt/pr51117.C
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug c/51568] Enum value is not extracted properly via a union

2011-12-15 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568

--- Comment #2 from Richard Earnshaw rearnsha at gcc dot gnu.org 2011-12-15 
17:27:19 UTC ---
(In reply to comment #1)
 On linux sizeof (struct rec) is 7, so how do you expect an unsigned (size = 4)
 to hold the entire value?
 
 If you want a packed enum, you need to specify the packed on the element
 declaration, not just on the overall structure:
 
 struct rec {
   unsigned short w;
   unsigned char  c;
   enum en e __attribute__((packed));
 } __attribute__((packed));

Actually that doesn't work.  The only ways to pack the enum into 8 bits are to
either:

1) Use -fshort-enums (ABI change)
2) Use a bitfield expression in your struct.

struct rec {
  unsigned short w;
  unsigned char  c;
  enum en e:8;
} __attribute__((packed));

Sorry for the confusion.


[Bug c/51360] [4.6/4.7 Regression] spurious unused-but-set-variable warning for var used in OpenMP pragma

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51360

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
17:29:29 UTC ---
Author: jakub
Date: Thu Dec 15 17:29:25 2011
New Revision: 182381

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182381
Log:
PR c/51360
* c-parser.c (c_parser_omp_clause_num_threads,
c_parser_omp_clause_schedule): Call mark_exp_read.

* semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR
and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use.

* c-c++-common/gomp/pr51360.c: New test.
* g++.dg/gomp/pr51360.C: New test.

Added:
trunk/gcc/testsuite/c-c++-common/gomp/pr51360.c
trunk/gcc/testsuite/g++.dg/gomp/pr51360.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-parser.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug lto/51573] New: [4.7 Regression] ICE (segfault) in lto_varpool_encoder_encode_initializer_p

2011-12-15 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51573

 Bug #: 51573
   Summary: [4.7 Regression] ICE (segfault) in
lto_varpool_encoder_encode_initializer_p
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mar...@trippelsdorf.de


ICE happened during a Firefox build.

 % cat test.ii
extern C struct JSObject;

template  class T  class HeapPtr
{
};

struct PendingProxyOperation {
JSObject *object;
};
struct ThreadData {
PendingProxyOperation *pendingProxyOperation;
};
struct JSThread {
ThreadData data;
};
struct JSContext {
JSThread *thread_;
};
class TypeConstraint
{
virtual void newObjectState () {
}
};
class TypeSet
{
TypeConstraint *constraintList;
};
struct Property {
TypeSet types;
};
struct Cell {
Property **propertySet;
};
struct JSObject:Cell {
};
bool
IndexToId ()
{
return 0;
bool IndexToIdSlow (JSContext);
}

 % c++ -flto test.ii
test.ii: In function ‘IndexToId()’:
test.ii:41:1: internal compiler error: Segmentation fault
Please submit a full bug report

Program received signal SIGSEGV, Segmentation fault.
[Switching to process 16149]
0x00b89c40 in
lto_varpool_encoder_encode_initializer_p(lto_varpool_encoder_d*, varpool_node*)
()
(gdb) bt
#0  0x00b89c40 in
lto_varpool_encoder_encode_initializer_p(lto_varpool_encoder_d*, varpool_node*)
()
#1  0x00957790 in lto_output_tree(output_block*, tree_node*, bool) ()
#2  0x00a1beab in streamer_write_tree_body(output_block*, tree_node*,
bool) ()
#3  0x00957506 in lto_output_tree(output_block*, tree_node*, bool) ()
...


[Bug c++/51571] No named return value optimization while adding a dummy scope

2011-12-15 Thread prasoonsaurav.nit at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51571

Prasoon prasoonsaurav.nit at gmail dot com changed:

   What|Removed |Added

   Severity|normal  |critical


[Bug fortran/51310] -finit-bla doesn't initialize *all* items of type bla to the requested constant.

2011-12-15 Thread toon at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51310

--- Comment #7 from toon at gcc dot gnu.org 2011-12-15 18:26:08 UTC ---
Author: toon
Date: Thu Dec 15 18:26:02 2011
New Revision: 182384

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182384
Log:
2011-12-15  Toon Moene  t...@moene.org

PR fortran/51310
* resolve.c (build_default_init_expr): Allow non-allocatable,
non-compile-time-constant-shape arrays to have a default
initializer.
* invoke.texi: Delete the restriction on automatic arrays not


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/invoke.texi
trunk/gcc/fortran/resolve.c


[Bug lto/51573] [4.7 Regression] ICE (segfault) in lto_varpool_encoder_encode_initializer_p

2011-12-15 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51573

Markus Trippelsdorf markus at trippelsdorf dot de changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #1 from Markus Trippelsdorf markus at trippelsdorf dot de 
2011-12-15 18:35:36 UTC ---
Caused by rev182358:
c75a2739c2dd84336557e95cf655eceb163fc341 is the first bad commit
commit c75a2739c2dd84336557e95cf655eceb163fc341
Author: rguenth rguenth@138bc75d-0d04-0410-961f-82ee72b054a4
Date:   Thu Dec 15 09:44:11 2011 +

2012-12-15  Richard Guenther  rguent...@suse.de

Revert
PR lto/48437
* lto-streamer-out.c (tree_is_indexable): Exclude block-local
extern declarations.

PR lto/48508
PR lto/48437
* tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL
VAR_DECLs and FUNCTION_DECLs locally.

* g++.dg/lto/pr48508-1_0.C: New testcase.
* g++.dg/lto/pr48508-1_1.C: Likewise.


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


[Bug target/49868] Implement named address space to place/access data in flash memory

2011-12-15 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49868

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||documentation
   Priority|P3  |P4


[Bug other/50775] Register allocator sets up frame and frame pointer with low register pressure

2011-12-15 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50775

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME

--- Comment #9 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 
19:07:02 UTC ---
Code looks much better now. Great!

With options
$ avr-gcc in.c -c -save-temps -dp -Os -mmcu=avr4 -mstrict-X

The code is:

func1:
push r28 ;  43pushqi1/1[length = 1]
push r29 ;  44pushqi1/1[length = 1]
/* prologue: function */
/* frame size = 0 */
/* stack size = 2 */
.L__stack_usage = 2
movw r18,r24 ;  2*movhi/1[length = 1]
movw r28,r22 ;  3*movhi/1[length = 1]
ld r24,Y ;  8movqi_insn/4[length = 1]
movw r26,r18 ;  37*movhi/1[length = 1]
ld r25,X ;  9movqi_insn/4[length = 1]
add r24,r25 ;  10addqi3/1[length = 1]
movw r30,r20 ;  38*movhi/1[length = 1]
ld r25,Z ;  11movqi_insn/4[length = 1]
add r24,r25 ;  12addqi3/1[length = 1]
movw r30,r18 ;  39*movhi/1[length = 1]
ldd r25,Z+1 ;  13movqi_insn/4[length = 1]
add r24,r25 ;  14addqi3/1[length = 1]
ldd r25,Y+1 ;  15movqi_insn/4[length = 1]
add r24,r25 ;  16addqi3/1[length = 1]
movw r30,r20 ;  40*movhi/1[length = 1]
ldd r25,Z+1 ;  17movqi_insn/4[length = 1]
add r24,r25 ;  18addqi3/1[length = 1]
movw r30,r18 ;  41*movhi/1[length = 1]
ldd r25,Z+2 ;  19movqi_insn/4[length = 1]
add r24,r25 ;  20addqi3/1[length = 1]
ldd r25,Y+2 ;  21movqi_insn/4[length = 1]
add r24,r25 ;  22addqi3/1[length = 1]
movw r30,r20 ;  42*movhi/1[length = 1]
ldd r25,Z+2 ;  23movqi_insn/4[length = 1]
add r24,r25 ;  29addqi3/1[length = 1]
/* epilogue start */
pop r29 ;  47popqi[length = 1]
pop r28 ;  48popqi[length = 1]
ret ;  49return_from_epilogue[length = 1]


[Bug target/46278] avr-gcc 4.5.1 doing suboptimal reloads using X

2011-12-15 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46278

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #7 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 
19:09:19 UTC ---
Fixed for 4.7.

But there is no general clue if -mstrict-X is better or default -mno-strict-X.


[Bug bootstrap/51572] [4.7 Regression] LTO bootstrap failed with bootstrap-profiled

2011-12-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51572

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

   What|Removed |Added

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

--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-12-15 19:11:46 
UTC ---
It is caused by revision 182367:

http://gcc.gnu.org/ml/gcc-cvs/2011-12/msg00505.html


[Bug c/51568] Enum value is not extracted properly via a union

2011-12-15 Thread eugene at hutorny dot in.ua
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568

--- Comment #3 from Eugene eugene at hutorny dot in.ua 2011-12-15 19:44:34 
UTC ---

On linux sizeof (struct rec) is 7, so how do you expect an unsigned (size = 4)
to hold the entire value?

Agree, that was my mistake.
I misexpected the enum to fit one byte.


[Bug c++/51574] New: [4.6] Internal error: Segmentation fault (program cc1plus)

2011-12-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51574

 Bug #: 51574
   Summary: [4.6]  Internal error: Segmentation fault (program
cc1plus)
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


Gcc 4.4 and 4.6 give me:

[hjl@gnu-6 build-i686-linux]$ cat /tmp/x.ii 
extern char _binary_binary_txt_start[];
extern char _binary_binary_txt_end[];
extern char _binary_binary_txt_size[];
typedef unsigned long uintptr_t;

extern C void __assert_fail (__const char *__assertion, __const char *__file,
  unsigned int __line, __const char *__function)
 throw () __attribute__ ((__noreturn__));


int
main(int, char**)
{
  int size = reinterpret_castuintptr_t(_binary_binary_txt_size);
  ((size == _binary_binary_txt_end - _binary_binary_txt_start) ?
static_castvoid (0) : __assert_fail (size == _binary_binary_txt_end -
_binary_binary_txt_start,
/export/gnu/import/git/binutils-x32/gold/testsuite/binary_test.cc, 39,
__PRETTY_FUNCTION__));

  return 0;
}
[hjl@gnu-6 build-i686-linux]$ /usr/gcc-4.6.3-x32/bin/gcc -S -O2 /tmp/x.ii
[hjl@gnu-6 build-i686-linux]$ /usr/gcc-4.6.3-x32/bin/gcc -S -O2 -m32 /tmp/x.ii
gcc: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
[hjl@gnu-6 build-i686-linux]$ 

GCC 4.7 is OK.


[Bug c++/51574] [4.6] Internal error: Segmentation fault (program cc1plus)

2011-12-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51574

--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-12-15 20:07:44 
UTC ---
It is on Linux/ia32 or Linux/x86-64.


[Bug c++/51574] [4.6] Internal error: Segmentation fault (program cc1plus)

2011-12-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51574

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-12-15 20:13:55 
UTC ---
We are running out of stack:

#0  0x00d72a35 in rtx_equal_p (x=) at ../../src/gcc/rtl.c:500
#1  0x00dbeaea in simplify_binary_operation_1 (code=MINUS, 
mode=SImode, op0=0x71473fe0, op1=0x71473fc0, 
trueop0=0x71473fe0, trueop1=0x71473fc0)
at ../../src/gcc/simplify-rtx.c:2124
#2  0x00dbdd6c in simplify_binary_operation (code=MINUS, mode=SImode, 
op0=0x71473fe0, op1=0x71473fc0)
at ../../src/gcc/simplify-rtx.c:1909
#3  0x00dc6525 in simplify_plus_minus (code=MINUS, mode=SImode, 
op0=0x70ea6c60, op1=0x71473fc0)
at ../../src/gcc/simplify-rtx.c:4061
#4  0x00dbf9d9 in simplify_binary_operation_1 (code=MINUS, 
mode=SImode, op0=0x70ea6c60, op1=0x71473fc0, 
trueop0=0x70ea6c60, trueop1=0x71473fc0)
at ../../src/gcc/simplify-rtx.c:2307
#5  0x00dbdd6c in simplify_binary_operation (code=MINUS, mode=SImode, 
op0=0x70ea6c60, op1=0x71473fc0)
at ../../src/gcc/simplify-rtx.c:1909
#6  0x00dc7845 in simplify_const_relational_operation (code=EQ, 
mode=SImode, op0=0x70ea6c60, op1=0x71473fc0)
at ../../src/gcc/simplify-rtx.c:4556
#7  0x00dc6ace in simplify_relational_operation (code=EQ, 
mode=VOIDmode, cmp_mode=SImode, op0=0x71473fc0, op1=0x70ea6c60)


[Bug c++/51549] QList::operator[] crash in 32bit release version on MacOS for gcc 4.2.1

2011-12-15 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51549

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2011-12-15 
20:35:11 UTC ---
The bug is still invalid here as we don't support the compiler that Apple
provides, only the one which is located on gcc.gnu.org.


[Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
20:46:01 UTC ---
Author: jakub
Date: Thu Dec 15 20:45:53 2011
New Revision: 182387

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182387
Log:
PR c++/51463
* decl.c (grokdeclarator): Set DECL_INITIAL of decl
to error_mark_node to disallow NSDMI if declspecs-storage_class
is sc_static.
* parser.c (cp_parser_late_parse_one_default_arg): Return early
if default_arg is error_mark_node.

* g++.dg/cpp0x/pr51463.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/pr51463.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/49806] [4.7 Regression] FAIL: gcc.dg/tree-ssa/vrp47.c

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49806

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||FIXED

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
20:49:20 UTC ---
Testcase no longer fails.


[Bug c/51360] [4.6 Regression] spurious unused-but-set-variable warning for var used in OpenMP pragma

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51360

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.6/4.7 Regression]|[4.6 Regression] spurious
   |spurious|unused-but-set-variable
   |unused-but-set-variable |warning for var used in
   |warning for var used in |OpenMP pragma
   |OpenMP pragma   |

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
20:51:03 UTC ---
Fixed on the trunk so far.


[Bug rtl-optimization/50101] [4.5/4.6 regression] GCC 4.5 and 4.6 generate suboptimal code on ppc for countdown loops when the CTR register cannot be used

2011-12-15 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50101

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
   Target Milestone|--- |4.5.4
Summary|GCC 4.5 and 4.6 generate|[4.5/4.6 regression] GCC
   |suboptimal code on ppc for  |4.5 and 4.6 generate
   |countdown loops when the|suboptimal code on ppc for
   |CTR register cannot be used |countdown loops when the
   ||CTR register cannot be used


[Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static

2011-12-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 
20:52:15 UTC ---
Fixed.


[Bug rtl-optimization/49847] [4.6/4.7 Regression] m68k gcj-4.6 NULL deref in fold_rtx (prev_insn_cc0 == NULL)

2011-12-15 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49847

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
  Component|java|rtl-optimization
  Known to work||4.4.0
   Target Milestone|--- |4.6.3
Summary|m68k gcj-4.6 NULL deref in  |[4.6/4.7 Regression] m68k
   |fold_rtx (prev_insn_cc0 ==  |gcj-4.6 NULL deref in
   |NULL)   |fold_rtx (prev_insn_cc0 ==
   ||NULL)
  Known to fail||4.6.1


[Bug middle-end/51575] New: [4.7 Regression] ICE: verify_gimple failed: statement marked for throw, but doesn't with -fnon-call-exceptions and placement new

2011-12-15 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51575

 Bug #: 51575
   Summary: [4.7 Regression] ICE: verify_gimple failed: statement
marked for throw, but doesn't with
-fnon-call-exceptions and placement new
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zso...@seznam.cz
  Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu


Created attachment 26104
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26104
reduced testcase

Compiler output:
$ gcc -O -fnon-call-exceptions testcase.C
testcase.C: In function 'void foo()':
testcase.C:13:6: error: statement marked for throw, but doesn't
# .MEM_15 = VDEF .MEM_1(D)
MEM[(double *)s].a[0] = 0.0;

testcase.C:13:6: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

(gdb) bt
#0  internal_error (gmsgid=0x1452cc3 verify_gimple failed) at
/mnt/svn/gcc-trunk/gcc/diagnostic.c:839
#1  0x00b9bcd7 in verify_gimple_in_cfg (fn=0x7570b500) at
/mnt/svn/gcc-trunk/gcc/tree-cfg.c:4582
#2  0x00ce36e6 in verify_ssa (check_modified_stmt=true) at
/mnt/svn/gcc-trunk/gcc/tree-ssa.c:928
#3  0x00a84cbc in execute_function_todo (data=Unhandled dwarf
expression opcode 0xf3
) at /mnt/svn/gcc-trunk/gcc/passes.c:1725
#4  0x00a8563e in execute_todo (flags=2) at
/mnt/svn/gcc-trunk/gcc/passes.c:1756
#5  0x00a888ea in execute_one_pass (pass=0x19905e0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2102
#6  0x00a88c15 in execute_pass_list (pass=0x19905e0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2134
#7  0x00a88c27 in execute_pass_list (pass=0x1990a60) at
/mnt/svn/gcc-trunk/gcc/passes.c:2135
#8  0x00a88c27 in execute_pass_list (pass=0x198fce0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2135
#9  0x00bea6de in tree_rest_of_compilation (fndecl=0x75705e00) at
/mnt/svn/gcc-trunk/gcc/tree-optimize.c:421
#10 0x0083d7da in cgraph_expand_function (node=0x756fcd80) at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1818
#11 0x0083f57c in cgraph_expand_all_functions () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1885
#12 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:2198
#13 0x0083fcea in cgraph_finalize_compilation_unit () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1327
#14 0x006602eb in cp_write_global_declarations () at
/mnt/svn/gcc-trunk/gcc/cp/decl2.c:4050
#15 0x00b7da44 in compile_file (argc=15, argv=0x7fffdac8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:573
#16 do_compile (argc=15, argv=0x7fffdac8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1928
#17 toplev_main (argc=15, argv=0x7fffdac8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:2004
#18 0x761570ed in __libc_start_main () from /lib64/libc.so.6
#19 0x005842e1 in _start ()

Tested revisions:
r182355 - crash
r182344 - crash
r182321 - OK


[Bug fortran/45030] -fwhole-file: Bogus error message with ENTRY and different result types

2011-12-15 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45030

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011-12-15
 Ever Confirmed|0   |1

--- Comment #5 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-12-15 
21:37:01 UTC ---
AFAICT the issues raised in comment #1 is fixed at least on 4.6.2 and trunk.
Tobias could you please confirm it?


[Bug c++/51458] [4.7 Regression] Accepts invalid designated initializers

2011-12-15 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51458

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-12-15 
21:56:00 UTC ---
Fixed.


  1   2   >