[Bug c++/33984] New: [4.2/4.3 Regression] bit-fields, references and overloads

2007-11-02 Thread andrew dot stubbs at st dot com
ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33984

[Bug c++/33975] New: [4.1/4.2/4.3 Regression] Incomplete types may be derefenced

2007-11-01 Thread andrew dot stubbs at st dot com
be derefenced Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org

[Bug c++/31952] parameters may be redeclared in a function try-block

2007-11-01 Thread andrew dot stubbs at st dot com
--- Comment #4 from andrew dot stubbs at st dot com 2007-11-01 18:15 --- It gets worse :( The following example used to be detected by GCC 4.1.1, but is now permitted by GCC 4.1.2, 4.2.1, 4.2.2, and 4.3-20071026, and hence is a regression. int foo (int bar) try { return 0; } catch

[Bug c++/32053] Anonymous union members' names should be distinct within enclosing scope

2007-10-31 Thread andrew dot stubbs at st dot com
--- Comment #1 from andrew dot stubbs at st dot com 2007-10-31 16:15 --- This bug appears to be no longer present in GCC 4.2.1. -- andrew dot stubbs at st dot com changed: What|Removed |Added

[Bug c++/31988] new operator should not permit default first parameter

2007-09-28 Thread andrew dot stubbs at st dot com
--- Comment #3 from andrew dot stubbs at st dot com 2007-09-28 16:00 --- I'm not a GCC expert, but that patch looks like it will silently change the behaviour of the compiler when -pedantic is not given. I would suggest that the first parameter should either be a regular, non-pedantic

[Bug c++/31988] new operator should not permit default first parameter

2007-09-28 Thread andrew dot stubbs at st dot com
--- Comment #6 from andrew dot stubbs at st dot com 2007-09-28 16:28 --- (In reply to comment #4) When -pedantic is not given (the default) a pedwarn is an hard error. A pedwarn becomes a warning when -permissive is passes (and the code is thus accepted as an extension, which I

[Bug target/33431] [SH4] performance regression between 3.4.6 and 4.x

2007-09-17 Thread andrew dot stubbs at st dot com
--- Comment #5 from andrew dot stubbs at st dot com 2007-09-17 10:30 --- Subject: Re: New: [SH4] performance regression between 3.4.6 and 4.x nbkolchin at gmail dot com wrote: Our target hardware has SH7750 processor running in little endian mode under RTEMS. Unfortunetaly

[Bug c/32324] unsigned long long operator and integer literals

2007-06-13 Thread andrew dot stubbs at st dot com
--- Comment #2 from andrew dot stubbs at st dot com 2007-06-13 18:00 --- As it happens, I encountered your real problem quite recently. :) (int)(131) is undefined (C99 standard 6.5.7/4). This modified version gives the same result both ways: int main (){ unsigned long long

[Bug c++/23885] incorrect template two-stage name-lookup

2007-05-31 Thread andrew dot stubbs at st dot com
--- Comment #7 from andrew dot stubbs at st dot com 2007-05-31 09:49 --- See here: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#197 It would appear that only koenig lookup is done for functions defined after the template declaration. As the Intel statement says, koenig

[Bug c++/16635] g++ instantiates templates at the wrong place

2007-05-31 Thread andrew dot stubbs at st dot com
--- Comment #10 from andrew dot stubbs at st dot com 2007-05-31 10:57 --- Here's another issue in this area. Is it the same, or a separate bug? This code is adapted from the example in DR197. #include stdio.h struct C1 {}; struct C2 : C1 { }; C1 c1; C2 c2; void f(C1

[Bug c++/32165] New: Calling main allowed at O3 and Os

2007-05-31 Thread andrew dot stubbs at st dot com
at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32165

[Bug c++/32085] warning: deleting void* is undefined sometimes bogus

2007-05-30 Thread andrew dot stubbs at st dot com
--- Comment #9 from andrew dot stubbs at st dot com 2007-05-30 08:51 --- OK, I see what you are getting at now. The delete is defined (by the code), but the warning concerns the destructor also. Anyway, as you say, the warning can be silenced by casting to char*. -- andrew dot

[Bug c++/32085] warning: deleting void* is undefined sometimes bogus

2007-05-29 Thread andrew dot stubbs at st dot com
--- Comment #4 from andrew dot stubbs at st dot com 2007-05-29 10:57 --- Well, obviously I'll let people who really understand the details of this decide whether it can be solved. However, on the principle that warnings which one can safely ignore, but cannot silence, are at best

[Bug c++/32085] warning: deleting void* is undefined sometimes bogus

2007-05-29 Thread andrew dot stubbs at st dot com
--- Comment #6 from andrew dot stubbs at st dot com 2007-05-29 11:18 --- It's a cut down example to demonstrate the problem, not real world code. I do ignore warnings in code that does exactly what I want it to do, provided that I understand them. -- http://gcc.gnu.org/bugzilla

[Bug c++/32080] New: Can goto a function try-block

2007-05-25 Thread andrew dot stubbs at st dot com
stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32080

[Bug c++/32081] New: Conflicting exception specifications not rejected in template specialization

2007-05-25 Thread andrew dot stubbs at st dot com
++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32081

[Bug c++/32081] Conflicting exception specifications not rejected in template specialization

2007-05-25 Thread andrew dot stubbs at st dot com
--- Comment #1 from andrew dot stubbs at st dot com 2007-05-25 11:21 --- This problem may also be observed in explicit instantiation: template class T void foo (T) throw (int) { } template void foo (short) throw (short); There are also similar issues with declarations of pointers

[Bug c++/32085] New: warning: deleting void* is undefined sometimes bogus

2007-05-25 Thread andrew dot stubbs at st dot com
: deleting void* is undefined sometimes bogus Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st

[Bug c++/32085] warning: deleting void* is undefined sometimes bogus

2007-05-25 Thread andrew dot stubbs at st dot com
--- Comment #2 from andrew dot stubbs at st dot com 2007-05-25 16:16 --- I'm confused. It might be the case that there is a type for which this warning is valid - I don't know C++ well enough to confirm or deny that - but in *this* example, and perhaps others like it, the warning

[Bug c++/32066] New: member/type lookup doesn't work properly with templates

2007-05-24 Thread andrew dot stubbs at st dot com
Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32066

[Bug c++/32071] New: Partial explicit specialization template parameters not checked

2007-05-24 Thread andrew dot stubbs at st dot com
Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32071

[Bug c++/24664] Template instantiation generating an array of voids doesn't fail

2007-05-24 Thread andrew dot stubbs at st dot com
--- Comment #2 from andrew dot stubbs at st dot com 2007-05-24 15:27 --- You can create an array of functions. Also prohibited by clause 14.8.2/2. template class T int f(T[5]); typedef void (fn)(); int K = ffn(0); At least it doesn't seem to accept reference types ... -- andrew

[Bug c++/32053] New: Anonymous union members' names should be distinct within enclosing scope

2007-05-23 Thread andrew dot stubbs at st dot com
Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32053

[Bug c++/32054] New: Storage classes on anonymous unions in classes

2007-05-23 Thread andrew dot stubbs at st dot com
: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32054

[Bug c++/32056] New: Storage classes on template parameters

2007-05-23 Thread andrew dot stubbs at st dot com
Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32056

[Bug c++/32039] New: Using declaration accepts non-visible members from base classes

2007-05-22 Thread andrew dot stubbs at st dot com
classes Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla

[Bug c++/32042] New: linkage confused with scope?

2007-05-22 Thread andrew dot stubbs at st dot com
: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32042

[Bug c++/32019] New: Condition operator ?: and ambiguous convertions

2007-05-21 Thread andrew dot stubbs at st dot com
++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32019

[Bug c++/31986] conversion-type-id should match in both contexts

2007-05-18 Thread andrew dot stubbs at st dot com
--- Comment #1 from andrew dot stubbs at st dot com 2007-05-18 14:54 --- EDG version 3.8 gives the warning: t.cpp, line 15: warning: ambiguous class member reference -- type T (declared at line 14) used in preference to type C::T (declared at line 6) printf

[Bug c++/31986] New: conversion-type-id should match in both contexts

2007-05-18 Thread andrew dot stubbs at st dot com
should match in both contexts Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http

[Bug c++/31988] New: new operator should not permit default first parameter

2007-05-18 Thread andrew dot stubbs at st dot com
: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31988

[Bug c++/31952] parameters may be redeclared in a function try-block

2007-05-17 Thread andrew dot stubbs at st dot com
--- Comment #2 from andrew dot stubbs at st dot com 2007-05-17 15:34 --- Another example perhaps? void foo() { try { } catch (void *e) { void *e; // invalid } } The C++ standard, clause 3.3.2 paragraph 3, states that catch exception-declarations may

[Bug c++/2288] Variable declared in for-loop-header is in wrong scope

2007-05-17 Thread andrew dot stubbs at st dot com
--- Comment #7 from andrew dot stubbs at st dot com 2007-05-17 16:37 --- Another example that might be of interest if anybody eventually tries to fix this: void foo () { for (int i = 0; int i = 0; i++) ; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2288

[Bug c++/31952] New: parameters may be redeclared in a function try-block

2007-05-16 Thread andrew dot stubbs at st dot com
Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31952

[Bug c++/31956] New: names declared in a condition may be redeclared

2007-05-16 Thread andrew dot stubbs at st dot com
declared in a condition may be redeclared Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot

[Bug c++/28986] Failure to diagnose overflow in constant expression

2007-01-02 Thread andrew dot stubbs at st dot com
--- Comment #6 from andrew dot stubbs at st dot com 2007-01-02 14:04 --- (In reply to comment #5) Why is this accepts-invalid? Shouldn't it be diagnostic instead? I am trying to understand what is the expected output here: a warning or a pedantic error? Clause 5 paragraph 5 says

[Bug c++/29165] New: dependent name resolution finds static functions

2006-09-21 Thread andrew dot stubbs at st dot com
static functions Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org

[Bug c++/29148] New: can't subtract 'volatile char *' from 'const char *'

2006-09-20 Thread andrew dot stubbs at st dot com
ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29148

[Bug c++/29136] New: using declaration misinterpreted in classes

2006-09-19 Thread andrew dot stubbs at st dot com
Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29136

[Bug c++/29138] New: access declarations don't work for classes

2006-09-19 Thread andrew dot stubbs at st dot com
ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29138

[Bug c++/29143] New: address-of overloaded function does not work in function call

2006-09-19 Thread andrew dot stubbs at st dot com
++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29143

[Bug c++/29131] New: Bad name lookup for templates

2006-09-18 Thread andrew dot stubbs at st dot com
Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29131

[Bug c++/29043] Constructor for POD type with const member without member initializer accepted

2006-09-13 Thread andrew dot stubbs at st dot com
--- Comment #2 from andrew dot stubbs at st dot com 2006-09-13 09:23 --- (In reply to comment #1) As you've written it, class C doesn't have any non-static members. Struct C::s hasn't been declared as a member object of C. const int i is a member of C::s, not C, so C() without

[Bug c++/20420] Incorrectly Accepts double declarations

2006-09-12 Thread andrew dot stubbs at st dot com
--- Comment #6 from andrew dot stubbs at st dot com 2006-09-12 07:44 --- Subject: Re: Incorrectly Accepts double declarations bangerth at dealii dot org wrote: No, that code is definitely legal and unobjectionable. Just as having two extern declarations of the same variable

[Bug c++/20427] New: 'new int [2] ()' not default initialized

2005-03-11 Thread andrew dot stubbs at st dot com
] ()' not default initialized Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andrew dot stubbs at st dot com

[Bug c++/20427] 'new int [2] ()' not default initialized

2005-03-11 Thread andrew dot stubbs at st dot com
-- What|Removed |Added Known to fail||3.4.3 Known to work||3.2.2