[Bug fortran/95366] New: TYPE IS(character(*)) no longer matches

2020-05-27 Thread gcc at abeckmann dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95366

Bug ID: 95366
   Summary: TYPE IS(character(*)) no longer matches
   Product: gcc
   Version: 10.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gcc at abeckmann dot de
  Target Milestone: ---

Created attachment 48618
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48618=edit
2 modules and a main program that demonstrate the bug

This is a regression in gfortran-10: in some cases 
  SELECT TYPE (arg)
  TYPE IS(CHARACTER(*))
...
  CLASS DEFAULT
...
does not match a polymorphic (class(*)) argument as character but falls through
to the class default, even though the subroutine was called with a
character(len=42) argument. This bug seems require caller and callee residing
in different modules (i.e. different compilation units).

A test case is attached:

gfortran-10 -W -Wall -Wextra  -c -o mod1.o mod1.f90
gfortran-10 -W -Wall -Wextra  -c -o mod2.o mod2.f90
gfortran-10 -W -Wall -Wextra  -c -o main.o main.f90
gfortran-10 main.o mod1.o mod2.o
./a.out
 int
 unknown

while building with gfortran-9 works:

gfortran-9 -W -Wall -Wextra  -c -o mod1.o mod1.f90
gfortran-9 -W -Wall -Wextra  -c -o mod2.o mod2.f90
gfortran-9 -W -Wall -Wextra  -c -o main.o main.f90
gfortran-9 main.o mod1.o mod2.o
./a.out
 int
 char

I observed this with the Debian 10.1.0-2 build (corresponding to git as of
20200515) and I could confirm it with git master
(6c8e16aea85286721eb5689f9bcae09d36003cb1).

[Bug fortran/94672] New: gfortran/OpenMP chokes on PRESENT(array) despite of SHARED(array): Error: ‘array’ not specified in enclosing ‘parallel’

2020-04-20 Thread gcc at abeckmann dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94672

Bug ID: 94672
   Summary: gfortran/OpenMP chokes on PRESENT(array) despite of
SHARED(array): Error: ‘array’ not specified in
enclosing ‘parallel’
   Product: gcc
   Version: 10.0
Status: UNCONFIRMED
  Keywords: openmp
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gcc at abeckmann dot de
  Target Milestone: ---

Created attachment 48314
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48314=edit
failing testcase

This is a regression in gfortran-10 (reproduced in GNU Fortran (GCC) 10.0.1
20200420 (experimental) built from git master):

gfortran-master -Wall -fopenmp -c gf10bug.f90
gf10bug.f90:10:0:

   10 |IF (PRESENT(array)) THEN
  | 
Error: ‘array’ not specified in enclosing ‘parallel’
gf10bug.f90:10:0: Error: enclosing ‘parallel’

But 'array' *is* 'shared':
!$OMP PARALLEL DO DEFAULT(none) SHARED(array,n) PRIVATE(i)
DO i = 1,n
   IF (PRESENT(array)) THEN

That code is accepted by gfortran <= 9, Flang, Intel, PGI.

[Bug inline-asm/78311] New: "register value used as expression" on i386 in inline assembly statement with "o" constraint

2016-11-11 Thread gcc at abeckmann dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78311

Bug ID: 78311
   Summary: "register value used as expression" on i386 in inline
assembly statement with "o" constraint
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
  Assignee: unassigned at gcc dot gnu.org
      Reporter: gcc at abeckmann dot de
  Target Milestone: ---

This is a regression from GCC 5 on i386. 

This code example has been minimized from uqm source which fails to build with
gcc-6 (but succeeds with gcc-5):

== 8< ==
extern unsigned int A [ 42 ] ;
void f ()
{
__asm__ ( "movd %0 (, %%edx, 4), %%mm0 \n\t" : : "o" (*A) : "%edx" ) ;
}
== >8 ==

$ gcc-5 -m32 -W -Wall -c constraint-o.c ; echo $?
0

$ gcc-6 -m32 -W -Wall -c constraint-o.c; echo $?
constraint-o.c: Assembler messages:
constraint-o.c:4: Error: register value used as expression
1

== assembly generated by gcc-5 -S ==
.globl  f
.type   f, @function
f:
.LFB0:
.cfi_startproc
pushl   %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
movl%esp, %ebp
.cfi_def_cfa_register 5
#APP
# 4 "constraint-o.c" 1
movd A (, %edx, 4), %mm0 

# 0 "" 2
#NO_APP
nop
popl%ebp
.cfi_restore 5
.cfi_def_cfa 4, 4
ret
.cfi_endproc
==

== assembly generated by gcc-6 -S ==
.globl  f
.type   f, @function
f:
.LFB0:
.cfi_startproc
pushl   %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
movl%esp, %ebp
.cfi_def_cfa_register 5
call__x86.get_pc_thunk.ax
addl$_GLOBAL_OFFSET_TABLE_, %eax
movlA@GOT(%eax), %eax
#APP
# 4 "constraint-o.c" 1
movd (%eax) (, %edx, 4), %mm0 

# 0 "" 2
#NO_APP
nop
popl%ebp
.cfi_restore 5
.cfi_def_cfa 4, 4
ret
.cfi_endproc
==

$ gcc-6 --version
gcc-6 (Debian 6.2.0-10) 6.2.0 20161027
$ gcc-5 --version
gcc-5 (Debian 5.4.1-3) 5.4.1 20161019

[Bug c++/59960] New: accepts ill-formed 'auto a1 = t1, a2 = t2;' where t1 and t2 have different template types

2014-01-27 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59960

Bug ID: 59960
   Summary: accepts ill-formed 'auto a1 = t1, a2 = t2;' where t1
and t2 have different template types
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gcc at abeckmann dot de

The following code is accepted by g++ in c++11 mode (tested 4.7, 4.8, 4.9):

= 8 =
#include iostream
#include typeinfo

template typename T1, typename T2
void f(T1  t1, T2  t2)
{
auto a1 = t1, a2 = t2;
std::cout  typeid(a1).name()  std::endl;
std::cout  typeid(a2).name()  std::endl;
}

int main ()
{
int i(23);
double d(42.);
f(i, d);
}
= 8 =
the output id generates is
- 8 -
i
d
- 8 -

But the standard says in [dcl.spec.auto] clause 7: If the list [...] contains
more than one declarator, the type of each declared variable is determined as
described above. If the type deduced [...] is not the same in each deduction,
the program is ill-formed.

clang fails compilation with

auto2.cpp:7:2: error: 'auto' deduced as 'int' in declaration of 'a1' and
deduced as 'double' in declaration of 'a2'
auto a1 = t1, a2 = t2;
^ ~~   ~~


[Bug c++/56534] New: [4.7/4.8 Regression] ICE Segfault on invalid code in check_elaborated_type_specifier

2013-03-05 Thread gcc at abeckmann dot de

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

 Bug #: 56534
   Summary: [4.7/4.8 Regression] ICE Segfault on invalid code in
check_elaborated_type_specifier
Classification: Unclassified
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following line of invalid code causes an ICE Segfault, this is a regression
from 4.6 behavior:

= 8 =
template  struct template rebind  
= 8 =

$ g++-4.7.x -v -c ice-segfault.cpp 
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-4.7.x/bin/g++-4.7.x
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_7-branch/configure
--prefix=/opt/software/x86_64/gcc-4.7.x --program-suffix=-4.7.x
--enable-languages=c,c++,fortran --enable-checking
Thread model: posix
gcc version 4.7.3 20130304 (prerelease) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-4.7.x/libexec/gcc/x86_64-unknown-linux-gnu/4.7.3/cc1plus
-quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE
ice-segfault.cpp -quiet -dumpbase ice-segfault.cpp -mtune=generic -march=x86-64
-auxbase ice-segfault -version -o /tmp/ccr5sP7L.s
GNU C++ (GCC) version 4.7.3 20130304 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.7.3 20130304 (prerelease), GMP version
5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu
ignoring nonexistent directory
/opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../include/c++/4.7.3

/opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../include/c++/4.7.3/x86_64-unknown-linux-gnu/.

/opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../include/c++/4.7.3/backward
 /opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include
 /usr/local/include
 /opt/software/x86_64/gcc-4.7.x/include

/opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
GNU C++ (GCC) version 4.7.3 20130304 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.7.3 20130304 (prerelease), GMP version
5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 52ed9e0a10a946085ed136449fb02111
ice-segfault.cpp:1:37: internal compiler error: Segmentation fault
Please submit a full bug report,

$ g++-trunk -v -c ice-segfault.cpp 
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++,fortran --enable-checking
Thread model: posix
gcc version 4.8.0 20130302 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus
-quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE
ice-segfault.cpp -quiet -dumpbase ice-segfault.cpp -mtune=generic -march=x86-64
-auxbase ice-segfault -version -o /tmp/ccVB908D.s
GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.0 20130302 (experimental), GMP version
5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu
ignoring nonexistent directory
/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu/.

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward
 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include
 /usr/local/include
 /opt/software/x86_64/gcc-trunk/include

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu)
compiled by 

[Bug c++/55786] g++ segmentation fault

2013-03-05 Thread gcc at abeckmann dot de

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

Andreas Beckmann gcc at abeckmann dot de changed:

   What|Removed |Added

 CC||gcc at abeckmann dot de

--- Comment #1 from Andreas Beckmann gcc at abeckmann dot de 2013-03-05 
14:39:58 UTC ---
PR56534 is probably a duplicate of this
Found: 4.8.0 4.7.3
Notfound: 4.6.4

$ g++-trunk -v -c /tmp/bug.cpp 
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++,fortran --enable-checking
Thread model: posix
gcc version 4.8.0 20130302 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus
-quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/bug.cpp
-quiet -dumpbase bug.cpp -mtune=generic -march=x86-64 -auxbase bug -version -o
/tmp/ccqIqNaE.s
GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.0 20130302 (experimental), GMP version
5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu
ignoring nonexistent directory
/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu/.

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward
 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include
 /usr/local/include
 /opt/software/x86_64/gcc-trunk/include

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.0 20130302 (experimental), GMP version
5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: eedf9bce273f5c2d2f3e6a014c94ec56
/tmp/bug.cpp:8:17: error: ‘’ should be ‘ ’ within a nested template
argument list
 struct FooBarT::template Baztrue
 ^
/tmp/bug.cpp:8:30: internal compiler error: Segmentation fault
 struct FooBarT::template Baztrue
  ^
0xa7da8f crash_signal
../../gcc-trunk/gcc/toplev.c:332
0x5331de check_elaborated_type_specifier(tag_types, tree_node*, bool)
../../gcc-trunk/gcc/cp/decl.c:11731
0x61d1de cp_parser_elaborated_type_specifier
../../gcc-trunk/gcc/cp/parser.c:14256
0x5fad08 cp_parser_type_specifier
../../gcc-trunk/gcc/cp/parser.c:13601
0x6121ed cp_parser_decl_specifier_seq
../../gcc-trunk/gcc/cp/parser.c:10900
0x616163 cp_parser_single_declaration
../../gcc-trunk/gcc/cp/parser.c:21915
0x618ee2 cp_parser_template_declaration_after_export
../../gcc-trunk/gcc/cp/parser.c:21800
0x6207f9 cp_parser_declaration
../../gcc-trunk/gcc/cp/parser.c:10309
0x61f3dd cp_parser_declaration_seq_opt
../../gcc-trunk/gcc/cp/parser.c:10231
0x620c82 cp_parser_translation_unit
../../gcc-trunk/gcc/cp/parser.c:3807
0x620c82 c_parse_file()
../../gcc-trunk/gcc/cp/parser.c:28182
0x728794 c_common_parse_file()
../../gcc-trunk/gcc/c-family/c-opts.c:1046
Please submit a full bug report,


[Bug c++/56543] New: [4.7.3/4.8 Regression] ICE on valid code in copy_node_stat

2013-03-05 Thread gcc at abeckmann dot de


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



 Bug #: 56543

   Summary: [4.7.3/4.8 Regression] ICE on valid code in

copy_node_stat

Classification: Unclassified

   Product: gcc

   Version: 4.7.3

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: g...@abeckmann.de





The following useless but valid piece of code causes a ICE Segfault in 4.8

(SVN) and 4.7.3 (SVN). It is accepted by 4.6.4 (SVN) and 4.7.2.



= 8 =

template  typename  struct S ;

template  typename T  struct U {

typedef typename S  T  :: template V   W ;

S  W  x;

};

= 8 =





$ g++-trunk -c -v ice-segfault-copy_node_stat.cpp 

Using built-in specs.

COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk

Target: x86_64-unknown-linux-gnu

Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk

--program-suffix=-trunk --enable-languages=c,c++,fortran --enable-checking

Thread model: posix

gcc version 4.8.0 20130302 (experimental) (GCC) 

COLLECT_GCC_OPTIONS='-c' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'



/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus

-quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE

ice-segfault-copy_node_stat.cpp -quiet -dumpbase

ice-segfault-copy_node_stat.cpp -mtune=generic -march=x86-64 -auxbase

ice-segfault-copy_node_stat -version -o /tmp/ccZwWTct.s

GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu)

compiled by GNU C version 4.8.0 20130302 (experimental), GMP version

5.0.5, MPFR version 3.1.0-p10, MPC version 0.9

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu

ignoring nonexistent directory

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include

#include ... search starts here:

#include ... search starts here:



/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0



/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu/.



/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward

 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include

 /usr/local/include

 /opt/software/x86_64/gcc-trunk/include



/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed

 /usr/include/x86_64-linux-gnu

 /usr/include

End of search list.

GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu)

compiled by GNU C version 4.8.0 20130302 (experimental), GMP version

5.0.5, MPFR version 3.1.0-p10, MPC version 0.9

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

Compiler executable checksum: eedf9bce273f5c2d2f3e6a014c94ec56

ice-segfault-copy_node_stat.cpp:4:8: internal compiler error: Segmentation

fault

  S  W  x;

^

0xa7da8f crash_signal

../../gcc-trunk/gcc/toplev.c:332

0xc656bd copy_node_stat(tree_node*)

../../gcc-trunk/gcc/tree.c:947

0x6a1819 strip_typedefs(tree_node*)

../../gcc-trunk/gcc/cp/tree.c:1228

0x54b82c canonicalize_type_argument

../../gcc-trunk/gcc/cp/pt.c:6136

0x584e1d coerce_template_parms

../../gcc-trunk/gcc/cp/pt.c:6706

0x586dc8 lookup_template_class_1

../../gcc-trunk/gcc/cp/pt.c:7265

0x586dc8 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,

int, int)

../../gcc-trunk/gcc/cp/pt.c:7562

0x677fb2 finish_template_type(tree_node*, tree_node*, int)

../../gcc-trunk/gcc/cp/semantics.c:2806

0x611528 cp_parser_template_id

../../gcc-trunk/gcc/cp/parser.c:12710

0x6118c2 cp_parser_class_name

../../gcc-trunk/gcc/cp/parser.c:18109

0x606dbb cp_parser_qualifying_entity

../../gcc-trunk/gcc/cp/parser.c:5275

0x606dbb cp_parser_nested_name_specifier_opt

../../gcc-trunk/gcc/cp/parser.c:5006

0x6077db cp_parser_nested_name_specifier

../../gcc-trunk/gcc/cp/parser.c:5199

0x6173bb cp_parser_using_declaration

../../gcc-trunk/gcc/cp/parser.c:15174

0x5f9d11 cp_parser_member_declaration

../../gcc-trunk/gcc/cp/parser.c:19127

0x5fb036 cp_parser_member_specification_opt

../../gcc-trunk/gcc/cp/parser.c:18990

0x5fb036 cp_parser_class_specifier_1

../../gcc-trunk/gcc/cp/parser.c:18243

0x5fb036 cp_parser_class_specifier

../../gcc-trunk/gcc/cp/parser.c:18459

0x5fb036 cp_parser_type_specifier

../../gcc-trunk/gcc/cp/parser.c:13573

0x6121ed cp_parser_decl_specifier_seq

../../gcc-trunk/gcc/cp/parser.c:10900

Please submit a full bug report,





$ 

[Bug c++/49187] New: parallel mode compilation broken - unqualified lookup? (bisected)

2011-05-27 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49187

   Summary: parallel mode compilation broken - unqualified lookup?
(bisected)
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de
CC: ja...@gcc.gnu.org


Parallel mode compilation of the following small test fails in current trunk
(r174320):

g++ -W -Wall -D_GLIBCXX_PARALLEL -c parasort.cc
== 8 =
#include vector
#include algorithm

int main()
{
std::vectorint v;
std::sort(v.begin(), v.end());
}
== 8 =

This regression was introduced in
r173965 | jason | 2011-05-20 20:01:22 +0200 (Fri, 20 May 2011) | 33 lines
PR c++/24163
PR c++/29131
gcc/cp/
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
unqualified lookup.
* semantics.c (perform_koenig_lookup): Add complain parm.
...
libstdc++-v3/
* (multiple headers): Explicitly qualify calls to
functions from dependent bases.
...

As this seems to be an intentional change, the parallel mode headers need to be
adjusted as well.

g++ -W -Wall -D_GLIBCXX_PARALLEL -c parasort.cc
In file included from
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/sort.h:44:0,
 from
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algo.h:45,
 from
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algorithm:38,
 from
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/algorithm:66,
 from parasort.cc:2:
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h:
In member function 'void __gnu_parallel::_SplitConsistentlytrue, _RAIter,
_Compare, _SortingPlacesIterator::operator()(__gnu_parallel::_ThreadIndex,
__gnu_parallel::_PMWMSSortingData_RAIter*, _Compare, typename
std::iterator_traits_II1::difference_type) const [with _RAIter =
__gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare =
std::lessint, _SortingPlacesIterator = int*, __gnu_parallel::_ThreadIndex =
short unsigned int, typename std::iterator_traits_II1::difference_type = long
int]':
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h:347:7:
  instantiated from 'void
__gnu_parallel::parallel_sort_mwms_pu(__gnu_parallel::_PMWMSSortingData_RAIter*,
_Compare) [with bool __stable = false, bool __exact = true, _RAIter =
__gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare =
std::lessint]'
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h:462:9:
  instantiated from 'void __gnu_parallel::parallel_sort_mwms(_RAIter, _RAIter,
_Compare, __gnu_parallel::_ThreadIndex) [with bool __stable = false, bool
__exact = true, _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint
, _Compare = std::lessint, __gnu_parallel::_ThreadIndex = short unsigned
int]'
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/sort.h:103:7:
  instantiated from 'void __gnu_parallel::__parallel_sort(_RAIter, _RAIter,
_Compare, __gnu_parallel::multiway_mergesort_exact_tag) [with bool __stable =
false, _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint ,
_Compare = std::lessint]'
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/sort.h:183:7:
  instantiated from 'void __gnu_parallel::__parallel_sort(_RAIter, _RAIter,
_Compare, __gnu_parallel::default_parallel_tag) [with bool __stable = false,
_RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare =
std::lessint]'
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algo.h:1772:11:
  instantiated from 'void std::__parallel::sort(_RAIter, _RAIter, _Compare,
_Parallelism) [with _RAIter = __gnu_cxx::__normal_iteratorint*,
std::vectorint , _Compare = std::lessint, _Parallelism =
__gnu_parallel::default_parallel_tag]'
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algo.h:1786:7:
  instantiated from 'void std::__parallel::sort(_RAIter, _RAIter) [with _RAIter
= __gnu_cxx::__normal_iteratorint*, std::vectorint ]'
parasort.cc:7:30:   instantiated from here
/tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h:153:4:
error: 'multiseq_partition' was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]

[Bug c++/47290] New: memory exhausted compiling a destructor with an infinite 'for (;;);' loop

2011-01-14 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47290

   Summary: memory exhausted compiling a destructor with an
infinite 'for (;;);' loop
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following piece of code consumes all available memory when being compiled
with g++ 4.5 or g++ 4.6 and optimization level -O2 or higher. It compiles
correctly with g++ 4.4.

gcc version 4.6.0 20110111 (experimental) (GCC)
gcc version 4.5.3 20110110 (prerelease) (GCC)

= 8 =
struct V
{
V ( int = 0 ) ;
~V ()
{
for ( ; ; ) ;
}
int size () ;
} ;
struct S
{
V a ;
V b ;
S () : b ( a . size () )
{ }
} ;
S s ;
= 8 =

$ ulimit -v
700
# limited to about 7 GB ouf of my 8 GB of RAM so the machine does not start to
swap heavily

$ g++-trunk -O2 -c memhog.C
virtual memory exhausted: Cannot allocate memory

$ g++-trunk -v -O2 -c memhog.C
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.6.0 20110111 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-O2' '-c' '-shared-libgcc' '-mtune=generic'
'-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus
-quiet -v -D_GNU_SOURCE memhog.C -quiet -dumpbase memhog.C -mtune=generic
-march=x86-64 -auxbase memhog -O2 -version -o /tmp/ccmZpTnX.s
GNU C++ (GCC) version 4.6.0 20110111 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20110111 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory
/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0/x86_64-unknown-linux-gnu

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0/backward
 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/include
 /usr/local/include
 /opt/software/x86_64/gcc-trunk/include

/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.6.0 20110111 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20110111 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: e48296e048ab4023a18c7e7537bfd602
virtual memory exhausted: Cannot allocate memory


[Bug c++/46871] [C++0x] ICE: in cxx_eval_constant_expression, at cp/semantics.c:6686 on invalid code (+rejects valid)

2011-01-11 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46871

Andreas Beckmann gcc at abeckmann dot de changed:

   What|Removed |Added

 CC||gcc at abeckmann dot de

--- Comment #1 from Andreas Beckmann gcc at abeckmann dot de 2011-01-11 
12:49:41 UTC ---
The following testcase (invalid code) results in the same ICE, but
unfortunately ICEs are difficult to compare, so this may be an independent
issue.

= 8 =
template  , , 
struct S ;
template  typename 
f ( ) {
const bool b =  ;
S  , b ,
= 8 =

$ g++-trunk -m64 -std=c++0x -pthread -O3 -c -o a.o PR46871-2.C
PR46871-2.C:1:12: error: expected identifier before ‘,’ token
PR46871-2.C:1:14: error: expected identifier before ‘,’ token
PR46871-2.C:1:16: error: expected identifier before ‘’ token
PR46871-2.C:4:5: error: ISO C++ forbids declaration of ‘f’ with no type
[-fpermissive]
PR46871-2.C: In function ‘int f()’:
PR46871-2.C:5:20: error: expected identifier before ‘;’ token
PR46871-2.C:6:10: error: template argument 1 is invalid
PR46871-2.C:6:10: error: ‘(int)b’ is not a valid template argument for type
‘int’ because it is a non-constant expression
PR46871-2.C:6:10: error: the value of ‘b’ is not usable in a constant
expression
PR46871-2.C:6:10: internal compiler error: in cxx_eval_constant_expression, at
cp/semantics.c:6688
Please submit a full bug report,

gcc version 4.6.0 20110107 (experimental) (GCC)


[Bug c++/46701] [C++0x] ICE in build_data_member_initialization, at cp/semantics.c:5503

2010-12-09 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

--- Comment #11 from Andreas Beckmann gcc at abeckmann dot de 2010-12-09 
21:50:26 UTC ---
I just retried with trunk r167662 and could still reproduce this bug for both
miles' code and my minimized test case
So it was *not* fixed by 46348. (But the testcase from 46348 now compiles
cleanly.)


[Bug c++/46852] New: ICE: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in cp_parser_class_specifier, at cp/parser.c:16947

2010-12-08 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46852

   Summary: ICE: tree check: expected class ‘type’, have
‘exceptional’ (error_mark) in
cp_parser_class_specifier, at cp/parser.c:16947
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following code fragment gives an ICE in trunk:

= 8 =
template

class
{
= 8 =

$ g++-trunk -c -v ice-cp_parser_class_specifier.min.ii
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.6.0 20101207 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-c' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus
-fpreprocessed ice-cp_parser_class_specifier.min.ii -quiet -dumpbase
ice-cp_parser_class_specifier.min.ii -mtune=generic -march=x86-64 -auxbase
ice-cp_parser_class_specifier.min -version -o /tmp/ccKrOsa0.s
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581
ice-cp_parser_class_specifier.min.ii:4:1: error: types may not be defined in
parameter types
ice-cp_parser_class_specifier.min.ii:4:1: error: definition of
‘classanonymous’ inside template parameter list
ice-cp_parser_class_specifier.min.ii:4:1: error: expected ‘}’ at end of input
ice-cp_parser_class_specifier.min.ii:4:1: internal compiler error: tree check:
expected class ‘type’, have ‘exceptional’ (error_mark) in
cp_parser_class_specifier, at cp/parser.c:16947
Please submit a full bug report,


This is a regression from 4.5.x which properly gives these errors:

$ g++-4.5.x -c ice-cp_parser_class_specifier.min.ii
ice-cp_parser_class_specifier.min.ii:4:1: error: types may not be defined in
parameter types
ice-cp_parser_class_specifier.min.ii:4:1: error: definition of
‘classanonymous’ inside template parameter list
ice-cp_parser_class_specifier.min.ii:4:1: error: expected ‘}’ at end of input
ice-cp_parser_class_specifier.min.ii:4:1: error: expected ‘’ at end of input
ice-cp_parser_class_specifier.min.ii:4:1: error: expected unqualified-id at end
of input

Andreas


[Bug c++/46564] [4.6 Regression] ICE: in decl_constant_var_p, at cp/decl2.c:3562 on invalid recursive initialization

2010-12-08 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46564

Andreas Beckmann gcc at abeckmann dot de changed:

   What|Removed |Added

 CC||gcc at abeckmann dot de

--- Comment #2 from Andreas Beckmann gcc at abeckmann dot de 2010-12-08 
20:54:25 UTC ---
Another testcase without nesting problems, but using invalid code instead:

= 8 =
constexpr
pair
(
pair
= 8 =

$ g++-trunk -c -std=c++0x ice-decl_constant_var_p.min.ii
ice-decl_constant_var_p.min.ii:4:1: error: ISO C++ forbids declaration of
‘pair’ with no type [-fpermissive]
ice-decl_constant_var_p.min.ii:4:1: internal compiler error: in
decl_constant_var_p, at cp/decl2.c:3563
Please submit a full bug report,

$ g++-4.5 -c -std=c++0x ice-decl_constant_var_p.min.ii
ice-decl_constant_var_p.min.ii:4:1: error: ISO C++ forbids declaration of
‘pair’ with no type
ice-decl_constant_var_p.min.ii:4:1: error: expected ‘)’ at end of input
ice-decl_constant_var_p.min.ii:4:1: error: expected ‘,’ or ‘;’ at end of input


[Bug c++/46855] New: cc1plus: internal compiler error: Segmentation fault (instead of g++-4.5's: expected unqualified-id at end of input)

2010-12-08 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46855

   Summary: cc1plus: internal compiler error: Segmentation fault
(instead of g++-4.5's: expected unqualified-id at end
of input)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following piece of invalid code gives an ICE SIGSEGV in 4.6:

= 8 =
struct
{
struct
my_data

= 8 =

$ g++-trunk -c ice-SIGSEGV.min.ii
ice-SIGSEGV.min.ii:4:1: error: ‘my_data’ is not a template
ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input
ice-SIGSEGV.min.ii:4:1: error: expected ‘}’ at end of input
cc1plus: error: expected ‘;’ after struct definition
ice-SIGSEGV.min.ii:4:1: error: abstract declarator ‘anonymous struct’ used as
declaration
cc1plus: internal compiler error: Segmentation fault
Please submit a full bug report,

$ g++-4.5.x -c ice-SIGSEGV.min.ii
ice-SIGSEGV.min.ii:4:1: error: ‘my_data’ is not a template
ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input
ice-SIGSEGV.min.ii:4:1: error: expected ‘}’ at end of input
ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input

$ g++-trunk -v -c ice-SIGSEGV.min.ii
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.6.0 20101207 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus
-fpreprocessed ice-SIGSEGV.min.ii -quiet -dumpbase ice-SIGSEGV.min.ii
-mtune=generic -march=x86-64 -auxbase ice-SIGSEGV.min -version -o
/tmp/cci7gnRt.s
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581
ice-SIGSEGV.min.ii:4:1: error: ‘my_data’ is not a template
ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input
ice-SIGSEGV.min.ii:4:1: error: expected ‘}’ at end of input
cc1plus: error: expected ‘;’ after struct definition
ice-SIGSEGV.min.ii:4:1: error: abstract declarator ‘anonymous struct’ used as
declaration
cc1plus: internal compiler error: Segmentation fault
Please submit a full bug report,


[Bug c++/46857] New: internal compiler error: Segmentation fault (in -std=c++0x mode)

2010-12-08 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46857

   Summary: internal compiler error: Segmentation fault (in
-std=c++0x mode)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following piece of invalid code gives an ICE SIGSEGV when compiling in
c++0x mode:

= 8 =
template  class 
struct
pair
{
:
first ()
= 8 =

$ g++-trunk -c -std=c++0x ice-SIGSEGV-cxx0x.min.ii
ice-SIGSEGV-cxx0x.min.ii:6:8: error: there are no arguments to ‘first’ that
depend on a template parameter, so a declaration of ‘first’ must be available
[-fpermissive]
ice-SIGSEGV-cxx0x.min.ii:6:8: note: (if you use ‘-fpermissive’, G++ will accept
your code, but allowing the use of an undeclared name is deprecated)
ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’
with no type [-fpermissive]
ice-SIGSEGV-cxx0x.min.ii:6:8: internal compiler error: Segmentation fault
Please submit a full bug report,

$ g++-trunk -c ice-SIGSEGV-cxx0x.min.ii
ice-SIGSEGV-cxx0x.min.ii:6:8: error: a function call cannot appear in a
constant-expression
ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’
with no type [-fpermissive]
ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ at end of member declaration
ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘}’ at end of input
ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ after struct definition

$ g++-4.5.x -c -std=c++0x ice-SIGSEGV-cxx0x.min.ii
ice-SIGSEGV-cxx0x.min.ii:6:8: error: a function call cannot appear in a
constant-expression
ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’
with no type
ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ at end of input
ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ at end of input
ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘}’ at end of input
ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected unqualified-id at end of input

$ g++-trunk -v -c -std=c++0x ice-SIGSEGV-cxx0x.min.ii
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.6.0 20101207 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-std=c++0x' '-shared-libgcc' '-mtune=generic'
'-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus
-fpreprocessed ice-SIGSEGV-cxx0x.min.ii -quiet -dumpbase
ice-SIGSEGV-cxx0x.min.ii -mtune=generic -march=x86-64 -auxbase
ice-SIGSEGV-cxx0x.min -std=c++0x -version -o /tmp/ccK3LaxI.s
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581
ice-SIGSEGV-cxx0x.min.ii:6:8: error: there are no arguments to ‘first’ that
depend on a template parameter, so a declaration of ‘first’ must be available
[-fpermissive]
ice-SIGSEGV-cxx0x.min.ii:6:8: note: (if you use ‘-fpermissive’, G++ will accept
your code, but allowing the use of an undeclared name is deprecated)
ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’
with no type [-fpermissive]
ice-SIGSEGV-cxx0x.min.ii:6:8: internal compiler error: Segmentation fault
Please submit a full bug report,


[Bug c++/39751] ICE in cp_lexer_new_from_tokens, at cp/parser.c:342

2010-12-08 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39751

Andreas Beckmann gcc at abeckmann dot de changed:

   What|Removed |Added

  Known to work||3.3.6, 4.6.0
  Known to fail|4.4.0, 4.5.0|4.2.4, 4.3.6, 4.4.6, 4.5.2

--- Comment #7 from Andreas Beckmann gcc at abeckmann dot de 2010-12-09 
00:14:11 UTC ---
I just checked again and this problem seems to be fixed in trunk now.


[Bug c++/46858] New: ICE: in cp_lexer_new_from_tokens, at cp/parser.c:464

2010-12-08 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46858

   Summary: ICE: in cp_lexer_new_from_tokens, at cp/parser.c:464
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following piece of invalid code ICEs in 4.2.x up to 4.6.0 (no older
compilers tested):

= 8 =
template  class 
struct
pair
{
pair

class
{
insert
(
{
pair
= 8 =

$ g++-trunk -v -c ice-cp_lexer_new_from_tokens.min.ii
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.6.0 20101207 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus
-fpreprocessed ice-cp_lexer_new_from_tokens.min.ii -quiet -dumpbase
ice-cp_lexer_new_from_tokens.min.ii -mtune=generic -march=x86-64 -auxbase
ice-cp_lexer_new_from_tokens.min -version -o /tmp/ccTNXXhm.s
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581
ice-cp_lexer_new_from_tokens.min.ii:11:1: error: expected identifier before ‘{’
token
ice-cp_lexer_new_from_tokens.min.ii:11:1: error: expected ‘)’ before ‘{’ token
ice-cp_lexer_new_from_tokens.min.ii:11:1: error: ISO C++ forbids declaration of
‘insert’ with no type [-fpermissive]
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘}’ at end of input
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘;’ after class
definition
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected template-argument
before ‘;’ token
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘’ before ‘;’ token
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘::’ before ‘;’ token
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected unqualified-id before
‘;’ token
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘}’ at end of input
ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘;’ after struct
definition
ice-cp_lexer_new_from_tokens.min.ii:12:1: internal compiler error: in
cp_lexer_new_from_tokens, at cp/parser.c:464
Please submit a full bug report,


[Bug c++/46701] [C++0x] ICE in build_data_member_initialization, at cp/semantics.c:5503

2010-12-08 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701

Andreas Beckmann gcc at abeckmann dot de changed:

   What|Removed |Added

 CC||gcc at abeckmann dot de

--- Comment #8 from Andreas Beckmann gcc at abeckmann dot de 2010-12-09 
01:02:18 UTC ---
Another small minimized testcase for this problem which fails on 4.6 and
succeeds on 4.5:

= 8 =
struct A
{
int i ;
} ;
struct B
{
const A a ;

constexpr
B () : a ( A () )
{ }
} ;
= 8 =

$ g++-trunk -v -c -W -Wall -std=c++0x PR46701.min.ii
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk
--program-suffix=-trunk --enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.6.0 20101207 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-Wextra' '-Wall' '-std=c++0x' '-shared-libgcc'
'-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus
-fpreprocessed PR46701.min.ii -quiet -dumpbase PR46701.min.ii -mtune=generic
-march=x86-64 -auxbase PR46701.min -Wextra -Wall -std=c++0x -version -o
/tmp/cc22qtoi.s
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20101207 (experimental), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581
PR46701.min.ii: In constructor ‘constexpr B::B()’:
PR46701.min.ii:11:4: internal compiler error: in
build_data_member_initialization, at cp/semantics.c:5489
Please submit a full bug report,


[Bug bootstrap/44455] GCC fails to build if MPFR 3.0.0 (Release Candidate) is used

2010-11-03 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455

Andreas Beckmann gcc at abeckmann dot de changed:

   What|Removed |Added

 CC||gcc at abeckmann dot de

--- Comment #18 from Andreas Beckmann gcc at abeckmann dot de 2010-11-03 
09:08:14 UTC ---
Is there a chance to get this trivial fix backported to 4.4 and 4.3, too?


[Bug c++/45993] New: ICE in uses_template_parms, at cp/pt.c:7064

2010-10-12 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45993

   Summary: ICE in uses_template_parms, at cp/pt.c:7064
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following piece of invalid code results in an internal compiler error in
4.5.2 and 4.6 while 4.4.6 reports proper errors.

= 8 =
template  int 
struct S ;
template  int /* 'typename' fails, too */ 
S  [ ]
= 8 =

$ g++-4.5.x -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii
ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:7:
internal compiler error: in uses_template_parms, at cp/pt.c:7064

$ g++-trunk -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii
ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:7:
internal compiler error: in uses_template_parms, at cp/pt.c:7111

If I remove -std=c++0x, I get a warning first:
warning: lambda expressions only available with -std=c++0x or ...
internal compiler error: in uses_template_parms, at cp/pt.c:7064

$ g++-4.4.x -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii
ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:
error: an array reference cannot appear in a constant-expression
ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:
error: template argument 1 is invalid
ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:
error: expected unqualified-id at end of input

Verbose output from 4.5.2:

$ g++-4.5.x -v -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_5-branch/configure
--prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.5.2 20101011 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic'
'-march=x86-64'

/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus
-fpreprocessed ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii -quiet -dumpbase
ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii -mtune=generic -march=x86-64
-auxbase ice-uses_template_parms-cp_pt-c-7064.hIM.min -std=c++0x -version -o
/tmp/cc0RnXAH.s
GNU C++ (GCC) version 4.5.2 20101011 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20101011 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.5.2 20101011 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20101011 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: e08c6991e75f2f1fa9ef4bafb4a73eec
ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:7: internal compiler error:
in uses_template_parms, at cp/pt.c:7064
Please submit a full bug report,


[Bug c++/45894] New: ICE: segmentation fault with -Wall

2010-10-05 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45894

   Summary: ICE: segmentation fault with -Wall
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


I get an internal compiler error: Segmentation fault when compiling this code
with 4.5.2/4.6.0 and -Wall. The problem disappears if I remove -Wall.
4.4.5 and 4.3.x report error: statement cannot resolve address of overloaded
function

== 8 ===
struct FOO
{
template  typename = void 
void Bar () ;
} ;
template  typename = void 
struct V
{
V ( const V )
{
FOO :: Bar   ;
}
} ;
struct C
{
V   v ;
} ;
struct B
{
C f () ;
} ;
struct A
{
C c ;
B b ;
A () : c ( b . f () )
{ }
} ;
== 8 ===

$ g++-4.5.x -v -std=c++0x -Wall -c segfault-ice.min.cpp
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_5-branch/configure
--prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.5.2 20101004 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-Wall' '-c' '-shared-libgcc'
'-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus
-quiet -v -D_GNU_SOURCE segfault-ice.min.cpp -quiet -dumpbase
segfault-ice.min.cpp -mtune=generic -march=x86-64 -auxbase segfault-ice.min
-Wall -std=c++0x -version -o /tmp/cco6qHiQ.s
GNU C++ (GCC) version 4.5.2 20101004 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20101004 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory
/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/x86_64-unknown-linux-gnu

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/backward
 /usr/local/include
 /opt/software/x86_64/gcc-4.5.x/include
 /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.5.2 20101004 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20101004 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 8c3e00fe3cfb9293e6e3b31a6f7f6d80
segfault-ice.min.cpp: In copy constructor ‘V template-parameter-1-1
::V(const V template-parameter-1-1 )’:
segfault-ice.min.cpp:11:18: warning: statement is a reference, not call, to
function ‘FOO::Bar [with template-parameter-1-1 = void]’
segfault-ice.min.cpp: In copy constructor ‘V template-parameter-1-1
::V(const V template-parameter-1-1 ) [with template-parameter-1-1 =
void, V template-parameter-1-1  = V]’:
segfault-ice.min.cpp:15:1:   instantiated from here
segfault-ice.min.cpp:11:3: internal compiler error: Segmentation fault
Please submit a full bug report,


[Bug middle-end/45854] New: ICE in redirect_eh_edge_1, at tree-eh.c:2131

2010-10-01 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45854

   Summary: ICE in redirect_eh_edge_1, at tree-eh.c:2131
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


The following code fails in 4.5.2 (but not 4.4.5, 4.3.6 or 4.6.0) in
optimization levels -O2 and -O3:

== 8 ==
template  typename = void 
struct X { } ;
struct Y
{
Y () ;
} ;
template  typename = X   
struct T
{
void f ()
{
f () ;
}
} ;
struct S
{
S ( X   = X   ()) ;
~S ()
{
T   () . f () ;
}
} ;
struct
{
S s ;
Y y ;
} a ;
== 8 ==

which this error:

_.cpp:28:3: warning: non-local variable ‘anonymous struct a’ uses anonymous
type
_.cpp: In constructor ‘anonymous struct::._0()’:
_.cpp:28:5: internal compiler error: in redirect_eh_edge_1, at tree-eh.c:2131


$ g++-4.5.x -v -O2 -c ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_5-branch/configure
--prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.5.2 20100930 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-O2' '-c' '-shared-libgcc' '-mtune=generic'
'-march=x86-64'

/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus
-quiet -v -D_GNU_SOURCE ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp -quiet
-dumpbase ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp -mtune=generic
-march=x86-64 -auxbase ice-redirect_eh_edge_1-tree-eh-c-2131.min -O2 -version
-o /tmp/ccbGteU6.s
GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory
/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/x86_64-unknown-linux-gnu

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/backward
 /usr/local/include
 /opt/software/x86_64/gcc-4.5.x/include
 /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 1be67b2d58ac92677e3812da572956df
ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp:28:3: warning: non-local variable
‘anonymous struct a’ uses anonymous type
ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp: In constructor ‘anonymous
struct::._0()’:
ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp:28:5: internal compiler error: in
redirect_eh_edge_1, at tree-eh.c:2131
Please submit a full bug report,


[Bug c++/45857] New: memory exhausted compiling some variadic templates

2010-10-01 Thread gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45857

   Summary: memory exhausted compiling some variadic templates
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@abeckmann.de


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

This looks like a regression in 4.5, couldn't reproduce it in 4.3, 4.4 or 4.6.

$ ulimit -v 260   # 2.5 GB
$ ulimit -t 120
$ g++-4.5.x -v -std=c++0x -O2 -c memory_hog.min.cpp
Using built-in specs.
COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x
COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_5-branch/configure
--prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.5.2 20100930 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-O2' '-c' '-shared-libgcc'
'-mtune=generic' '-march=x86-64'

/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus
-quiet -v -D_GNU_SOURCE memory_hog.min.cpp -quiet -dumpbase memory_hog.min.cpp
-mtune=generic -march=x86-64 -auxbase memory_hog.min -O2 -std=c++0x -version -o
/tmp/cciTomr1.s
GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory
/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/x86_64-unknown-linux-gnu

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/backward
 /usr/local/include
 /opt/software/x86_64/gcc-4.5.x/include
 /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include

/opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version
4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 1be67b2d58ac92677e3812da572956df
memory_hog.min.cpp: In instantiation of ‘_Tuple_impl0, void*, X ’:
memory_hog.min.cpp:28:1:   instantiated from ‘tuplevoid*, X ’
memory_hog.min.cpp:51:27:   instantiated from here
memory_hog.min.cpp:15:1: warning: direct base ‘_Head_base’ inaccessible in
‘_Tuple_impl0, void*, X ’ due to ambiguity
virtual memory exhausted: Cannot allocate memory


[Bug c++/45609] New: 'is used uninitialized' becomes 'may be used uninitialized' on unrelated code changes (namespace addition)

2010-09-09 Thread gcc at abeckmann dot de
(I looked for duplicate -Wuninitialized bugs but didn't see anything similar)

In the attached minimized testcase I get a clear 'is used uninitialized'
warning downgraded to a 'may be used uninitialized' warning on unrelated code
changes.

The program compiles correctly with the following flags: -O3 -Wall
To move one function definition into a namespace, add -DBAD_NAMESPACE and get
the wrong warning.
Reordering/removing/adding/changing the sizes of local variables makes the
warning restore to 'is used uninitialized', one example can be enabled by
-DGOOD_ORDER

This is a regression since 4.3 as 4.2 always gives a 'is used uninitialized'
warning. I tested with the following compilers from SVN on amd64 and x86
architectures:

g++-trunk (GCC) 4.6.0 20100901 (experimental) == BAD
g++-4.5.x (GCC) 4.5.2 20100901 (prerelease) == BAD
g++-4.4.x (GCC) 4.4.5 20100824 (prerelease) == BAD
g++-4.3.x (GCC) 4.3.6 20100824 (prerelease) == BAD
g++-4.2.x (GCC) 4.2.5 20090330 (prerelease) == OK

+ g++-4.5.x -std=c++0x -O3 -Wall -c PRmbuuitf.cpp
PRmbuuitf.cpp: In function 'void test()':
PRmbuuitf.cpp:66:25: warning: 'b$t$MBUUITF' is used uninitialized in this
function
PRmbuuitf.cpp:64:5: note: 'b$t$MBUUITF' was declared here
+ g++-4.5.x -std=c++0x -O3 -Wall -c PRmbuuitf.cpp -DBAD_NAMESPACE
PRmbuuitf.cpp: In function 'void test()':
vvv
PRmbuuitf.cpp:66:25: warning: 'b$t$MBUUITF' may be used uninitialized in this
function
^^^
PRmbuuitf.cpp:64:5: note: 'b$t$MBUUITF' was declared here
+ g++-4.5.x -std=c++0x -O3 -Wall -c PRmbuuitf.cpp -DBAD_NAMESPACE -DGOOD_ORDER
PRmbuuitf.cpp: In function 'void test()':
PRmbuuitf.cpp:66:25: warning: 'b$t$MBUUITF' is used uninitialized in this
function
PRmbuuitf.cpp:64:5: note: 'b$t$MBUUITF' was declared here

+ g++-4.2.x -O3 -Wall -c PRmbuuitf.cpp -DBAD_NAMESPACE
PRmbuuitf.cpp: In function 'void test()':
PRmbuuitf.cpp:66: warning: 'b.B::t.T::MBUUITF' is used uninitialized in this
function
PRmbuuitf.cpp:64: note: 'b.B::t.T::MBUUITF' was declared here


-- 
   Summary: 'is used uninitialized' becomes 'may be used
uninitialized' on unrelated code changes (namespace
addition)
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug c++/45609] 'is used uninitialized' becomes 'may be used uninitialized' on unrelated code changes (namespace addition)

2010-09-09 Thread gcc at abeckmann dot de


--- Comment #1 from gcc at abeckmann dot de  2010-09-09 06:24 ---
Created an attachment (id=21746)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21746action=view)
minimized testcase


-- 


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



[Bug libstdc++/45613] New: bits/random.h misses include guards

2010-09-09 Thread gcc at abeckmann dot de
I just noticed that bits/random.h does not have include guards.


-- 
   Summary: bits/random.h misses include guards
   Product: gcc
   Version: 4.5.3
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug libstdc++/42319] New: incomplete type char_traits if parallel mode is active

2009-12-07 Thread gcc at abeckmann dot de
 dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug c++/40146] Unexplained 'anonymous' is used uninitialized in this function warning

2009-10-16 Thread gcc at abeckmann dot de


--- Comment #9 from gcc at abeckmann dot de  2009-10-16 11:05 ---
Created an attachment (id=18809)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18809action=view)
different test case

I've seen this spurious warning, too, and could reduce it to a different, much
smaller test case.


-- 


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



[Bug c++/40146] Unexplained 'anonymous' is used uninitialized in this function warning

2009-10-16 Thread gcc at abeckmann dot de


--- Comment #10 from gcc at abeckmann dot de  2009-10-16 13:11 ---
=== compile command (shows the spurious warning) ===
x86_64-linux-gnu-g++-4.4.x -O2 -W -Wall -DSPURIOUS_WARNING -c
anonymous-iuuitf.cpp
=== ===

=== compile command (no spurious warning) ===
x86_64-linux-gnu-g++-4.4.x -O2 -W -Wall -c anonymous-iuuitf.cpp
=== ===

=== spurious warning reported: ===
anonymous-iuuitf.cpp: In function ‘(static initializers for
anonymous-iuuitf.cpp)’:
anonymous-iuuitf.cpp:45: warning: ‘anonymous’ is used uninitialized in this
function
=== ===

The spurious warning also occurs with a i686 4.4.x compiler.
It does not happen with 4.3.x or trunk/4.5.x (both x86_64 and i686).
The warning also disappears if optimization is reduced from -O2 to -O1.

=== verbose output ===
$ x86_64-linux-gnu-g++-4.4.x -v -O2 -W -Wall -DSPURIOUS_WARNING -c
anonymous-iuuitf.cpp

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_4-branch/configure
--prefix=/opt/software/x86_64/gcc-4.4.x --program-suffix=-4.4.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.4.3 20091016 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-O2' '-W' '-Wall' '-DSPURIOUS_WARNING' '-c'
'-shared-libgcc' '-mtune=generic'

/opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.3/cc1plus
-quiet -v -D_GNU_SOURCE -DSPURIOUS_WARNING anonymous-iuuitf.cpp -quiet
-dumpbase anonymous-iuuitf.cpp -mtune=generic -auxbase anonymous-iuuitf -O2 -W
-Wall -version -o /tmp/ccrjG8Y8.s
ignoring nonexistent directory
/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../include/c++/4.4.3

/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../include/c++/4.4.3/x86_64-unknown-linux-gnu

/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../include/c++/4.4.3/backward
 /usr/local/include
 /opt/software/x86_64/gcc-4.4.x/include
 /opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/include

/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.4.3 20091016 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.3 20091016 (prerelease), GMP version
4.3.1, MPFR version 2.4.1-p2.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 2f5c889faec03641af0e9a45c39b0565
anonymous-iuuitf.cpp: In function ‘(static initializers for
anonymous-iuuitf.cpp)’:
anonymous-iuuitf.cpp:45: warning: ‘anonymous’ is used uninitialized in this
function
COLLECT_GCC_OPTIONS='-v' '-O2' '-W' '-Wall' '-DSPURIOUS_WARNING' '-c'
'-shared-libgcc' '-mtune=generic'
 as -V -Qy -o anonymous-iuuitf.o /tmp/ccrjG8Y8.s
GNU assembler version 2.19.91 (x86_64-linux-gnu) using BFD version (GNU
Binutils for Debian) 2.19.91.20091006
COMPILER_PATH=/opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/
LIBRARY_PATH=/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-O2' '-W' '-Wall' '-DSPURIOUS_WARNING' '-c'
'-shared-libgcc' '-mtune=generic'
=== ===


-- 


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



[Bug c++/38908] [4.4 regression] Unexplained 'anonymous' is used uninitialized in this function warning in cc1plus -m64

2009-10-16 Thread gcc at abeckmann dot de


--- Comment #19 from gcc at abeckmann dot de  2009-10-16 13:13 ---
some cases where this warning still occurs in 4.4 are documented in #40146


-- 

gcc at abeckmann dot de changed:

   What|Removed |Added

 CC||gcc at abeckmann dot de


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



[Bug libstdc++/41249] New: [c++0x] std::list::splice() binding rvalue-reference to lvalue problem

2009-09-03 Thread gcc at abeckmann dot de
This bug is proably a followup to #40486: [c++0x] rvalue-references no longer
bind to lvalues

std::list::splice() no longer works in trunk in c++0x mode:

=== 8 ==
#include list

int main()
{
std::listint l;
l.insert(l.end(), 1);
l.insert(l.end(), 2);
std::listint::iterator it = l.insert(l.end(), 3);
l.splice(l.begin(), l, it);
}
=== 8 ==

This code works fine in 3.4 to 4.5 and also in 4.3/4.4 in c++0x mode, but
compilation fails in 4.5 in c++0x mode:

$ g++-trunk -W -Wall -std=c++0x -v splicebug45x.cpp
...
GNU C++ (GCC) version 4.5.0 20090902 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.0 20090902 (experimental), GMP version
4.3.1, MPFR version 2.4.1-p2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: dc8948bf5433867ce447f5693e715548
splicebug45x.cpp: In function ‘int main()’:
splicebug45x.cpp:9:27: error: cannot bind ‘std::listint’ lvalue to
‘std::listint’
/opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/stl_list.h:1178:7:
error:   initializing argument 2 of ‘void std::list_Tp,
_Alloc::splice(std::list_Tp, _Alloc::iterator, std::list_Tp, _Alloc,
std::list_Tp, _Alloc::iterator) [with _Tp = int, _Alloc =
std::allocatorint, std::list_Tp, _Alloc::iterator =
std::_List_iteratorint]’


-- 
   Summary: [c++0x] std::list::splice() binding rvalue-reference
to lvalue problem
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug c++/39822] New: ICE: Segmentation fault -- with function template default template arguments in c++0x mode

2009-04-20 Thread gcc at abeckmann dot de
The following testcase produces a segmentation fault in --std=c++0x mode (in
4.3, 4.4, 4.5):

- 8 -
template  typename 
struct A ;
template  typename X, template  typename  class = A 
void test ( X )
{
A  int  T ;
test ( T ) ;
}
- 8 -

= 4.3.4 -std=c++0x =
$ x86_64-linux-gnu-g++-4.3.x -v -std=c++0x -c segfault.min.ii

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_3-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.3.x --program-suffix=-4.3.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.3.4 20090413 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-4.3.x/libexec/gcc/x86_64-unknown-linux-gnu/4.3.4/cc1plus
-fpreprocessed segfault.min.ii -quiet -dumpbase segfault.min.ii -mtune=generic
-auxbase segfault.min -std=c++0x -version -o /tmp/cccslkh4.s
GNU C++ (GCC) version 4.3.4 20090413 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.3.4 20090413 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 922fef518d0100daafe6c2059a02f6bf
segfault.min.ii: In function 'void test(X)':
segfault.min.ii:2: internal compiler error: Segmentation fault
= =

= 4.3.4 =
$ x86_64-linux-gnu-g++-4.3.x -c segfault.min.ii

segfault.min.ii:4: error: default template arguments may not be used in
function templates
segfault.min.ii: In function 'void test(X)':
segfault.min.ii:7: error: no matching function for call to 'test(Aint)'
==


-- 
   Summary: ICE: Segmentation fault -- with function template
default template arguments in c++0x mode
   Product: gcc
   Version: 4.3.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug c++/39822] ICE: Segmentation fault -- with function template default template arguments in c++0x mode

2009-04-20 Thread gcc at abeckmann dot de


--- Comment #2 from gcc at abeckmann dot de  2009-04-20 17:50 ---
probably a duplicate of bug #35828


-- 


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



[Bug c++/35828] [C++0x] ICE on default template template parameter in template function

2009-04-20 Thread gcc at abeckmann dot de


--- Comment #6 from gcc at abeckmann dot de  2009-04-20 17:51 ---
I stumbled across this ICE on a very similar testcase (on 4.3.4, 4.4.0, 4.5.0):

-- 8 --
template  typename  struct A ;
template  template  typename  class = A 
void test ()
{
test ();
}
-- 8 --

=== 4.4.0 ==
$ x86_64-linux-gnu-g++-4.4.x -v -std=c++0x -c
ice-in-tsubst_decl-cp_pt_c_8101.min.ii

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_4-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.4.0 20090413 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus
-fpreprocessed ice-in-tsubst_decl-cp_pt_c_8101.min.ii -quiet -dumpbase
ice-in-tsubst_decl-cp_pt_c_8101.min.ii -mtune=generic -auxbase
ice-in-tsubst_decl-cp_pt_c_8101.min -std=c++0x -version -o /tmp/ccAHdc5J.s
GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 4c95a5cf24794a394976148039ecc611
ice-in-tsubst_decl-cp_pt_c_8101.min.ii: In function ‘void test()’:
ice-in-tsubst_decl-cp_pt_c_8101.min.ii:1: internal compiler error: in
tsubst_decl, at cp/pt.c:8101
===

I also got the segmentation fault on this similar testcase, reported as bug
#39822 before seeing this report:

-- 8 --
template  typename 
struct A ;
template  typename X, template  typename  class = A 
void test ( X )
{
A  int  T ;
test ( T ) ;
}
-- 8 --


-- 


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



[Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248

2009-04-16 Thread gcc at abeckmann dot de


--- Comment #5 from gcc at abeckmann dot de  2009-04-16 14:28 ---
It does compile successfully using 4.4.0 built with --enable-checking. Is there
anyting else to enable these tree checks?

$ x86_64-linux-gnu-g++-4.4.x -v -c PR39754.min.ii  echo SUCCESS

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_4-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.4.0 20090413 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus
-fpreprocessed PR39754.min.ii -quiet -dumpbase PR39754.min.ii -mtune=generic
-auxbase PR39754.min -version -o /tmp/ccH60tOe.s
GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 4c95a5cf24794a394976148039ecc611
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
 as -V -Qy -o PR39754.min.o /tmp/ccH60tOe.s
GNU assembler version 2.19.1 (x86_64-linux-gnu) using BFD version (GNU Binutils
for Debian) 2.19.1
COMPILER_PATH=/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/
LIBRARY_PATH=/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
SUCCESS


-- 


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



[Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248

2009-04-14 Thread gcc at abeckmann dot de


--- Comment #2 from gcc at abeckmann dot de  2009-04-14 07:04 ---
An updated testcase that compiles without errors on 4.4.0:

== 8 ==
template  typename  struct A ;
template  typename T , typename = A  T   struct B
{ } ;
template  class W , class  struct D
{
typedef W X ;
A  X *  a ;
} ;
template  class Y  struct E
{
B  Y *  b ;
} ;
E  int  e ;
== 8 ==


-- 

gcc at abeckmann dot de changed:

   What|Removed |Added

  Known to fail||4.5.0
  Known to work||4.4.0


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



[Bug c++/39750] New: ICE in uses_template_parms, at cp/pt.c:6332

2009-04-13 Thread gcc at abeckmann dot de
This looks like a ice-on-invalid-code regression in g++ 4.4/4.5:

==
template  unsigned 
struct A ;
template  typename 
struct B ;
template  typename T , A  B  T 
{ }
==

-- 4.4.0 --
$ x86_64-linux-gnu-gcc-4.4.x -v -std=c++0x -c
ice-uses_template_parms-cp_pt.c-6333.ii
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_4-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x
--enable-languages=c,c++
Thread model: posix
gcc version 4.4.0 20090410 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus
-fpreprocessed ice-uses_template_parms-cp_pt.c-6333.ii -quiet -dumpbase
ice-uses_template_parms-cp_pt.c-6333.ii -mtune=generic -auxbase
ice-uses_template_parms-cp_pt.c-6333 -std=c++0x -version -o /tmp/cc39e69f.s
GNU C++ (GCC) version 4.4.0 20090410 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0 20090410 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 657fe6b0026e91b1c11fd1c9e3d93a45
ice-uses_template_parms-cp_pt.c-6333.ii:7: internal compiler error: in
uses_template_parms, at cp/pt.c:6332


-- 4.5.0 --
$ x86_64-linux-gnu-gcc-trunk -v -std=c++0x -c
ice-uses_template_parms-cp_pt.c-6333.ii
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure
--prefix=/opt/software/gcc-x86_64/gcc-trunk --program-suffix=-trunk
--enable-languages=c,c++
Thread model: posix
gcc version 4.5.0 20090412 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus
-fpreprocessed ice-uses_template_parms-cp_pt.c-6333.ii -quiet -dumpbase
ice-uses_template_parms-cp_pt.c-6333.ii -mtune=generic -auxbase
ice-uses_template_parms-cp_pt.c-6333 -std=c++0x -version -o /tmp/ccNif1hj.s
GNU C++ (GCC) version 4.5.0 20090412 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.0 20090410 (experimental), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b13346d60276f3352c4b7dd22e3889d7
ice-uses_template_parms-cp_pt.c-6333.ii:7: internal compiler error: in
uses_template_parms, at cp/pt.c:6333


-- 4.3.x --
$ x86_64-linux-gnu-gcc-4.3.x -v -std=c++0x -c
ice-uses_template_parms-cp_pt.c-6333.ii
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_3-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.3.x --program-suffix=-4.3.x
--enable-languages=c,c++
Thread model: posix
gcc version 4.3.4 20090410 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-4.3.x/libexec/gcc/x86_64-unknown-linux-gnu/4.3.4/cc1plus
-fpreprocessed ice-uses_template_parms-cp_pt.c-6333.ii -quiet -dumpbase
ice-uses_template_parms-cp_pt.c-6333.ii -mtune=generic -auxbase
ice-uses_template_parms-cp_pt.c-6333 -std=c++0x -version -o /tmp/ccPe9b92.s
GNU C++ (GCC) version 4.3.4 20090410 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.3.4 20090410 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: d7de70b1d6112d4a739b8abc5fbe181e
ice-uses_template_parms-cp_pt.c-6333.ii:5: error: template argument 1 is
invalid
ice-uses_template_parms-cp_pt.c-6333.ii:6: error: expected '' before '{' token
ice-uses_template_parms-cp_pt.c-6333.ii:6: error: expected unqualified-id
before '{' token



-- 
   Summary: ICE in uses_template_parms, at cp/pt.c:6332
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248

2009-04-13 Thread gcc at abeckmann dot de
The following code produces an ICE in 4.5.0 while previous versions reported an
incomplete type error:

== 8 ==
template  typename  struct A ;
template  typename U , typename  struct B
{
typedef U V ;
A  V *  a ;
} ;
template  typename W  struct C
{
A  W *  a ;
} ;
C  int  c ;
== 8 ==

-- 4.5.0 --
$ x86_64-linux-gnu-g++-trunk -v -c ice-accessed-elt-2-of-tree_vec.ii

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure
--prefix=/opt/software/gcc-x86_64/gcc-trunk --program-suffix=-trunk
--enable-languages=c,c++
Thread model: posix
gcc version 4.5.0 20090410 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus
-fpreprocessed ice-accessed-elt-2-of-tree_vec.ii -quiet -dumpbase
ice-accessed-elt-2-of-tree_vec.ii -mtune=generic -auxbase
ice-accessed-elt-2-of-tree_vec -version -o /tmp/ccSsFbFa.s
GNU C++ (GCC) version 4.5.0 20090412 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.0 20090410 (experimental), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b13346d60276f3352c4b7dd22e3889d7
ice-accessed-elt-2-of-tree_vec.ii: In instantiation of ‘Cint’:
ice-accessed-elt-2-of-tree_vec.ii:11:   instantiated from here
ice-accessed-elt-2-of-tree_vec.ii:9: internal compiler error: tree check:
accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248


-- 4.4.0 --
$ x86_64-linux-gnu-g++-4.4.x -v -c ice-accessed-elt-2-of-tree_vec.ii

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_4-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.4.0 20090413 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'

/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus
-fpreprocessed ice-accessed-elt-2-of-tree_vec.ii -quiet -dumpbase
ice-accessed-elt-2-of-tree_vec.ii -mtune=generic -auxbase
ice-accessed-elt-2-of-tree_vec -version -o /tmp/ccEdsa3a.s
GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 4c95a5cf24794a394976148039ecc611
ice-accessed-elt-2-of-tree_vec.ii: In instantiation of ‘Cint’:
ice-accessed-elt-2-of-tree_vec.ii:11:   instantiated from here
ice-accessed-elt-2-of-tree_vec.ii:9: error: ‘CW::a’ has incomplete type
ice-accessed-elt-2-of-tree_vec.ii:1: error: declaration of ‘struct Aint*’



-- 
   Summary: ICE: tree check: accessed elt 2 of tree_vec with 1 elts
in tsubst, at cp/pt.c:9248
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug libstdc++/38080] New: dead links in libstdc++ headers

2008-11-11 Thread gcc at abeckmann dot de
The libstdc++ headers contain several links to online documentation, e.g.
  http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/howto.html#5
but these pages are no longer available, probably due to a rearrangement on the
webserver.

The sources should be updated to deliver current links in future releases, but
eventually the webserver should also get redirection rules added to redirect
requests for the old to the new location.


-- 
   Summary: dead links in libstdc++ headers
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug libgomp/26165] Cannot find libgomp.spec after 'make install' on x86_64 and ppc64

2008-07-12 Thread gcc at abeckmann dot de


--- Comment #15 from gcc at abeckmann dot de  2008-07-12 16:01 ---
Hi,

this bug (not searching for libgomp.spec in the correct place) is still present
in the gcc-4_3-branch as of today (r137745).

Configured on an amd64 Debian testing/unstable machine:
../gcc-4_3-branch/configure --prefix=/.../some/where/gcc-4.3.x
--enable-languages=c,c++

There are two (identical) libgomp.spec installed in .../gcc-4.3.x/lib{32,64}/
and after copying one to lib/ it is also found.


Andreas


-- 

gcc at abeckmann dot de changed:

   What|Removed |Added

 CC||gcc at abeckmann dot de


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



[Bug libstdc++/36552] New: includes itself: ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp

2008-06-17 Thread gcc at abeckmann dot de
The ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp header has
a line

#include ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp

which attempts to include the file itself for no good reason.
Either some other header was meant to be included and this should be fixed or
this superfluous #include should be dropped completely in order not to confuse
people (or scripts trying to find #include cycles).

Andreas


-- 
   Summary: includes itself:
ext/pb_ds/detail/left_child_next_sibling_heap_/null_meta
data.hpp
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug c++/34357] New: internal compiler error: in layout_type, at stor-layout.c:1864

2007-12-06 Thread gcc at abeckmann dot de
The following code fragment (generated during a delta debugging session)
produces an ICE:

==
template  typename  struct iterator_traits {
template  typename ForwardIterator , iterator_traits  ForwardIterator
__attribute__ __visibility__ ( default )
==

$ g++-trunk -v -c ice.cpp
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/tmp --program-suffix=-trunk
--enable-languages=c,c++
Thread model: posix
gcc version 4.3.0 20071206 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
 /tmp/libexec/gcc/i686-pc-linux-gnu/4.3.0/cc1plus -quiet -v -D_GNU_SOURCE
ice.cpp -quiet -dumpbase ice.cpp -mtune=generic -auxbase ice -version -o
/tmp/cch00yQX.s
ignoring nonexistent directory
/tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../i686-pc-linux-gnu/include
#include ... search starts here:
#include ... search starts here:
 /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0

/tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0/i686-pc-linux-gnu
 /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward
 /usr/local/include
 /tmp/include
 /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/include
 /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.3.0 20071206 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 4.3.0 20071206 (experimental), GMP version
4.2.2, MPFR version 2.3.0.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 905119d664de60becf7da68735772a8c
ice.cpp:2: warning: ‘__visibility__’ attribute ignored on non-class types
ice.cpp:2: internal compiler error: in layout_type, at stor-layout.c:1864
Please submit a full bug report,


-- 
   Summary: internal compiler error: in layout_type, at stor-
layout.c:1864
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/34357] internal compiler error: in layout_type, at stor-layout.c:1864

2007-12-06 Thread gcc at abeckmann dot de


--- Comment #1 from gcc at abeckmann dot de  2007-12-06 13:02 ---
Also present in
gcc version 4.2.3 20071123 (prerelease) (Debian 4.2.2-4)
== internal compiler error: in layout_type, at stor-layout.c:1851

Not found in
gcc version 4.1.3 20071019 (prerelease) (Debian 4.1.2-17)
gcc version 4.0.4 20060904 (prerelease) (Debian 4.0.3-7)
gcc version 3.4.6 (Debian 3.4.6-6)
gcc version 3.3.6 (Debian 1:3.3.6-15)

(reports (different kinds of) syntax errors in all these versions


-- 

gcc at abeckmann dot de changed:

   What|Removed |Added

  Known to fail||4.3.0 4.2.3
  Known to work||4.1.3


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



[Bug tree-optimization/33361] ICE in find_outermost_region_in_block, at tree-cfg.c:4803

2007-09-17 Thread gcc at abeckmann dot de


--- Comment #6 from gcc at abeckmann dot de  2007-09-17 17:35 ---
Created an attachment (id=14216)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14216action=view)
minimal testcase

The ICE only occurs with -O3 and above.

$ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v -O3 -fopenmp -c PR33361.min.ii
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++
--prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch
Thread model: posix
gcc version 4.2.2 20070910 (prerelease)
 /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus
-fpreprocessed PR33361.min.ii -quiet -dumpbase PR33361.min.ii -mtune=generic
-auxbase PR33361.min -O3 -version -fopenmp -o /tmp/ccdvfpMn.s
GNU C++ version 4.2.2 20070910 (prerelease) (i686-pc-linux-gnu)
compiled by GNU C version 4.2.2 20070908 (prerelease).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 4c766e638e42be49e7fc1a3400590598
PR33361.min.ii: In function ‘void f()’:
PR33361.min.ii:25: internal compiler error: in find_outermost_region_in_block,
at tree-cfg.c:4803


-- 

gcc at abeckmann dot de changed:

   What|Removed |Added

  Attachment #14177|0   |1
is obsolete||


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



[Bug tree-optimization/33361] ICE in find_outermost_region_in_block, at tree-cfg.c:4803

2007-09-09 Thread gcc at abeckmann dot de


--- Comment #1 from gcc at abeckmann dot de  2007-09-09 12:51 ---
Created an attachment (id=14177)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14177action=view)
testcase (reduced to be  500k)

Sorry for the delay of the testcase, I had to reduce it from 1.9 MB to 440 KB.
(Is there some helper script that can do this in a more or less brute force
way?
Strip complete namespaces, classes, member functions, ... from the code,
recompile and check for a certain error message? Continue it it's still there
and backtrack otherwise?)

$ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v  -march=i686 -O3 -fopenmp -c
PR33361.ii
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++
--prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch
Thread model: posix
gcc version 4.2.2 20070908 (prerelease)
 /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus
-fpreprocessed PR33361.ii -quiet -dumpbase PR33361.ii -march=i686 -auxbase
PR33361 -O3 -version -fopenmp -o /tmp/ccslyrRU.s
GNU C++ version 4.2.2 20070908 (prerelease) (i686-pc-linux-gnu)
compiled by GNU C version 4.2.2 20070908 (prerelease).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 7993b3af5142d87e347d8f7153b00978
PR33361.ii: In function ‘Op
mcstl::for_each_template_random_access_ed(RandomAccessIterator,
RandomAccessIterator, Op, Fu, Red, Result, Result, typename
std::iterator_traits_Iterator::difference_type) [with RandomAccessIterator =
stxxl::request_ptr*, Op = stxxl::request_ptr, Fu =
mcstl::fill_selectorstxxl::request_ptr*, Red = mcstl::dummy_reduct, Result =
bool]’:
PR33361.ii:3047: internal compiler error: in find_outermost_region_in_block, at
tree-cfg.c:4803


-- 


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



[Bug web/33364] New: reporting bugs + minimizing testcases

2007-09-09 Thread gcc at abeckmann dot de
Hi,

the bugzilla enter-a-new-bug-page
http://gcc.gnu.org/bugzilla/enter_bug.cgi?product=gcc points to
http://gcc.gnu.org/bugzilla/page.cgi?id=bug-writing.html (which is a bit
mozilla centric).

Unfortunately neither page directs the user to the relevant pages for reporting
gcc bugs: http://gcc.gnu.org/bugs.html and
http://gcc.gnu.org/bugs/minimize.html

Furthermore, /bugs.html should have a link to /bugs/minimize.html, too.


/bugs/minimize.html:
The perl/sed/vim commands to strip the preprocessed sources are too greedy as
they remove #pragma commands that remain after preprocessing (e.g. #pragma
omp).
Better match on /^# / or /^# [0-9]/


-- 
   Summary: reporting bugs + minimizing testcases
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: web
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de


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



[Bug web/33364] reporting bugs + minimizing testcases

2007-09-09 Thread gcc at abeckmann dot de


--- Comment #2 from gcc at abeckmann dot de  2007-09-09 13:49 ---
Another URL valuable for minimize.html:
http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction


-- 


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



[Bug c++/33372] New: segfault on incomplete code in openmp mode

2007-09-09 Thread gcc at abeckmann dot de
Playing with the code reduction tools, i produced a segfault with the following
(incomplete) code:

===
template  typename T 
void f ( )
{
unsigned n ( ) ;
#pragma omp parallel num_threads(n)
===

$ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v -march=i686 -O3 -fopenmp  -W
-Wall -c segfault2.ii
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++
--prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch
Thread model: posix
gcc version 4.2.2 20070910 (prerelease)
 /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus
-fpreprocessed segfault2.ii -quiet -dumpbase segfault2.ii -march=i686 -auxbase
segfault2 -O3 -W -Wall -version -fopenmp -o /tmp/ccUQF7PA.s
GNU C++ version 4.2.2 20070910 (prerelease) (i686-pc-linux-gnu)
compiled by GNU C version 4.2.2 20070908 (prerelease).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 4c766e638e42be49e7fc1a3400590598
segfault2.ii: In function ‘void f()’:
segfault2.ii:5: internal compiler error: Segmentation fault

without -fopenmp, I get

segfault2.ii:5: warning: ignoring #pragma omp parallel
segfault2.ii:4: error: expected `}' at end of input


-- 
   Summary: segfault on incomplete code in openmp mode
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/33361] New: ICE in find_outermost_region_in_block, at tree-cfg.c:4803

2007-09-08 Thread gcc at abeckmann dot de
Hi,

I'm getting an
internal compiler error: in find_outermost_region_in_block, at 
tree-cfg.c:4803
in -fopenmp mode with g++ 4.2.[012]. g++ 4.3 produces no error.

Andreas

$ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v -save-temps -march=i686
-DSORT_OPTIMAL_PREFETCHING -DUSE_MALLOC_LOCK -DCOUNT_WAIT_TIME
-I/home/andreas/work/uka/stxxl/parpipe/include -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE   -O3   -W -Wall -fopenmp -D__MCSTL__
 -I/home/andreas/work/uka/mcstl/libstdc++/c++ -c
ICE_find_outermost_region_in_block.cpp
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++
--prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch
Thread model: posix
gcc version 4.2.2 20070908 (prerelease)
 /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus
-E -quiet -v -I/home/andreas/work/uka/stxxl/parpipe/include
-I/home/andreas/work/uka/mcstl/libstdc++/c++ -D_GNU_SOURCE -D_REENTRANT
-DSORT_OPTIMAL_PREFETCHING -DUSE_MALLOC_LOCK -DCOUNT_WAIT_TIME
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__MCSTL__
ICE_find_outermost_region_in_block.cpp -march=i686 -W -Wall -fopenmp -O3
-fpch-preprocess -o ICE_find_outermost_region_in_block.ii
ignoring nonexistent directory
/suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../i686-pc-linux-gnu/include
#include ... search starts here:
#include ... search starts here:
 /home/andreas/work/uka/stxxl/parpipe/include
 /home/andreas/work/uka/mcstl/libstdc++/c++

/suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../include/c++/4.2.2

/suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../include/c++/4.2.2/i686-pc-linux-gnu

/suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../include/c++/4.2.2/backward
 /usr/local/include
 /suse/NOBACKUP/gcc/gcc-4.2-branch/include
 /suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/include
 /usr/include
End of search list.
 /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus
-fpreprocessed ICE_find_outermost_region_in_block.ii -quiet -dumpbase
ICE_find_outermost_region_in_block.cpp -march=i686 -auxbase
ICE_find_outermost_region_in_block -O3 -W -Wall -version -fopenmp -o
ICE_find_outermost_region_in_block.s
GNU C++ version 4.2.2 20070908 (prerelease) (i686-pc-linux-gnu)
compiled by GNU C version 4.2.2 20070908 (prerelease).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 7993b3af5142d87e347d8f7153b00978
/home/andreas/work/uka/mcstl/libstdc++/c++/bits/mcstl_par_loop.h: In function
‘Op mcstl::for_each_template_random_access_ed(RandomAccessIterator,
RandomAccessIterator, Op, Fu, Red, Result, Result, typename
std::iterator_traits_Iterator::difference_type) [with RandomAccessIterator =
stxxl::request_ptr*, Op = stxxl::request_ptr, Fu =
mcstl::fill_selectorstxxl::request_ptr*, Red = mcstl::dummy_reduct, Result =
bool]’:
/home/andreas/work/uka/mcstl/libstdc++/c++/bits/mcstl_par_loop.h:45: internal
compiler error: in find_outermost_region_in_block, at tree-cfg.c:4803


-- 
   Summary: ICE in find_outermost_region_in_block, at tree-
cfg.c:4803
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/32546] New: 'warning: array subscript is above/below array bounds' on delete[]

2007-06-29 Thread gcc at abeckmann dot de
I got the 'below array bounds' warning in some code and could reduce it to the
following testcase (which results in the 'above array bounds' warning). The
warning occurs with optimization level -O2 and above.

gcc version 4.3.0 20070622 (experimental)

g++-4.3 -c -W -Wall -O2 asiaab.cpp --save-temps
asiaab.cpp: In function 'void f()':
asiaab.cpp:5: warning: array subscript is above array bounds


#include vector
void g()
{
std::vectorint *A = new std::vectorint[42];
delete[] A;
}


The warning does not occur with types e.g. 'int' or 'std::pairint,int'
instead of 'std::vectorint'.


-- 
   Summary: 'warning: array subscript is above/below array bounds'
on delete[]
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de
  GCC host triplet: i486-linux-gnu


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



[Bug regression/32072] New: g++ -O3 fails on code that compiles with -O2

2007-05-24 Thread gcc at abeckmann dot de
The bug is present in the 4.2.0 release and still in the 20070523 snapshot.
It was not present in 4.2-20070405-1 (from Debian experimental).

The error occured in a program using stxxl (http://stxxl.sourceforge.net) with
mcstl (http://algo2.iti.uni-karlsruhe.de/singler/mcstl/). Since mcstl requires
openmp, this can't be tested with g++ earlier than 4.2, although the problem
does not look openmp related and it should be possible to produce a test case
without mcstl/openmp dependency.

I minimized the testcase to the following:

#include sstream
void f () {
  std::ostringstream str_;
  str_  x;
  throw std::ios_base::failure(str_.str());
}

and compiled it with

/data/gcc/snapshot-4.2/bin/g++ -W -Wall -I /home/andreas/work/mpi/mcstl/c++ -I
/home/andreas/work/mpi/mcstl/originals/_data_gcc_snapshot-4.2_include_c++_4.2.1
-c -O[23] t.cpp

(.../mcstl/originals/_data_gcc_snapshot-4.2_include_c++_4.2.1/original is a
symlink to /data/gcc/snapshot-4.2/include/c++/4.2.1 and required by mcstl to
find the original STL headers, since mcstl wraps the STL headers in order to
provide parallelism)

Compiling with -O2 succeeds, while -O3 fails with

/data/gcc/snapshot-4.2/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/bits/ostream_insert.h:
In function ‘void std::__ostream_fill(std::basic_ostream_CharT, _Traits,
std::streamsize) [with _CharT = char, _Traits = std::char_traitschar]’:
/data/gcc/snapshot-4.2/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/bits/ostream_insert.h:96:
  instantiated from ‘std::basic_ostream_CharT, _Traits
std::__ostream_insert(std::basic_ostream_CharT, _Traits, const _CharT*,
std::streamsize) [with _CharT = char, _Traits = std::char_traitschar]’
/home/andreas/work/mpi/mcstl/originals/_data_gcc_snapshot-4.2_include_c++_4.2.1/original/ostream:517:
  instantiated from ‘std::basic_ostreamchar, _Traits
std::operator(std::basic_ostreamchar, _Traits, const char*) [with _Traits
= std::char_traitschar]’
t.cpp:7:   instantiated from here
/data/gcc/snapshot-4.2/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/bits/ostream_insert.h:64:
error: ‘struct std::basic_ostreamchar, std::char_traitschar ’ has no member
named ‘fill’


-- 
   Summary: g++ -O3 fails on code that compiles with -O2
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de
GCC target triplet: i686-pc-linux-gnu


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



[Bug regression/32072] g++ -O3 fails on code that compiles with -O2

2007-05-24 Thread gcc at abeckmann dot de


--- Comment #1 from gcc at abeckmann dot de  2007-05-24 17:26 ---
Created an attachment (id=13609)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13609action=view)
preprocessed source code of the test case


-- 


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



[Bug regression/32072] g++ -O3 fails on code that compiles with -O2

2007-05-24 Thread gcc at abeckmann dot de


--- Comment #3 from gcc at abeckmann dot de  2007-05-24 19:04 ---
But why does g++ behave differently if called with different optimization
levels?
I was looking for a mcstl bug first, but since g++ accepted this code with -O2
I went for g++.
On the other hand, if this is actually a bug in mcstl (and the generated code
is invalid/incomplete/broken/whatever), shouldn't g++ reject the code
regardless of the optimization level?


-- 

gcc at abeckmann dot de changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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