This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch c++]:PR/15774 - Conflicting function decls not diagnosed (this time really for 15774)


Hi,

This time with the correct version of patch and changelog for the bug
described at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15774 in bugzilla.
It takes care about the following problematic. If there was an old
function prototype, and the new one has same or none attributes as the
old one, C++ accepts.
This behavior is unlikely to the C case, where this condition is
warned or in some cases even
errored out. If the new declaration specifies attributes, which aren't
identical to the old
declaration, an error has to be emitted.

ChangeLog gcc/cp

2010-12-22 ?Kai Tietz

? ? ? PR c++/15774
? ? ? * cp-tree.h (COMPARE_ALLOW_FIRST_NO_ATTRIBUTES): New define.
? ? ? * decl.c (decls_match): Compare parameter and function types
? ? ? by COMPARE_ALLOW_FIRST_NO_ATTRIBUTES.
? ? ? * typeck.c (structural_comptypes): Handle new flag.


ChangeLog gcc/testsuite

? ? ? ?PR c++/15774
? ? ? ?* g++.dg/pr15774-1.C: New test.
? ? ? ?* g++.dg/pr15774-2.C: New test.

Tested for i686-pc-cygwin, i686-pc-mingw32, and x86_64-w64-mingw32.

Ok for apply?

Regards,
Kai

Attachment: pr15774.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]