[LLVMbugs] [Bug 15559] New: [QOI] complain about declaration that changes meaning
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Mar 21 01:41:08 PDT 2013
http://llvm.org/bugs/show_bug.cgi?id=15559
Bug ID: 15559
Summary: [QOI] complain about declaration that changes meaning
Product: clang
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P
Component: C++
Assignee: unassignedclangbugs at nondot.org
Reporter: zeratul976 at hotmail.com
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
For the following code:
struct foo {};
struct A
{
typedef foo foo_type;
void foo();
};
GCC gives a compiler error:
test.cpp:7:14: error: declaration of 'void A::foo()' [-fpermissive]
void foo();
^
test.cpp:1:8: error: changes meaning of 'foo' from 'struct foo' [-fpermissive]
struct foo {};
^
Clang gives no error. I believe this is covered by section 3.3.7 of the
standard:
"A name N used in a class S shall refer to the same declaration in its context
and when re-evaluated in the completed scope of S. No diagnostic is required
for a violation of this rule."
I am filing this as a quality-of-implementation issue. While no diagnostic is
required, I think it would be a good idea for clang to issue one, seeing as GCC
does.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20130321/6cb57841/attachment.html>
More information about the llvm-bugs
mailing list