[Bug c++/33975] New: [4.1/4.2/4.3 Regression] Incomplete types may be derefenced
andrew dot stubbs at st dot com
gcc-bugzilla@gcc.gnu.org
Thu Nov 1 17:58:00 GMT 2007
The following C++ program should not compile:
struct S;
int f(S s);
S *p;
int i = f(*p);
Here an incomplete type is dereferenced as it is passed as a function
argument.
This is forbidden by the C++ standard, clause 3, paragraph 4 (penultimate
bullet). And anyway, how could you compile it to anything sensible without
knowing how big the type is?
Other attempts to dereference incomplete types are diagnosed correctly.
This used to be diagnosed in GCC 4.1.1, but is missing in GCC 4.1.2 onwards.
--
Summary: [4.1/4.2/4.3 Regression] Incomplete types may 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/bugzilla/show_bug.cgi?id=33975
More information about the Gcc-bugs
mailing list