--- 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 varia
--- 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 o
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
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/show_bug.cgi?id=29136
nu dot org
ReportedBy: andrew dot stubbs at st dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29138
ty: 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=29143
rity: 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=29148
tatic 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
--- 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. Unfortu
--- 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-ped
--- 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 exte
uot;, i, i[0], i[1]);
return 0;
}
--
Summary: 'new int [2] ()' not default initialized
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at
--
What|Removed |Added
Known to fail||3.4.3
Known to work||3.2.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20427
ormal
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
288
--
Summary: names 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
Repo
--- 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 not be
--- 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
--- 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&
x27; is significant here.
--
Summary: conversion-type-id should match in both contexts
Product: gcc
Version: 4.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot
: andrew dot stubbs at st dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31988
us: 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=32019
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
scope?
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/show_bug.cgi?id=32042
iority: 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=32053
: 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
++
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
IRMED
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=32066
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
--- 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 int f(T[5]);
typedef void (fn)();
int K = f(0);
At least it doesn't seem to accept reference types ...
--
andrew dot s
dBy: andrew dot stubbs at st dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32080
ent: 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=32081
--- 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
void
foo (T) throw (int)
{
}
template
void foo (short) throw (short);
There are also similar issues with declarations of pointers to
rning: 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 st
--- 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
--- 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
--- 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/bug
--- 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
--- 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
--- 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
struct C1 {};
struct C2 : C1 {
};
C1 c1;
C2 c2;
void f(C1);
tem
gcc dot gnu dot org
ReportedBy: andrew dot stubbs at st dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32165
--- 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)(1<<31)" is undefined (C99 standard 6.5.7/4).
This modified version gives the same result both ways:
int main (){
unsi
--- 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
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
--- 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
dTo: unassigned at gcc dot gnu dot org
ReportedBy: andrew dot stubbs at st dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33984
--- 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
46 matches
Mail list logo