This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/34691] [4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
- From: "jason at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Jan 2009 20:03:00 -0000
- Subject: [Bug c++/34691] [4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
- References: <bug-34691-15588@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from jason at gcc dot gnu dot org 2009-01-16 20:03 -------
3.2.3 also fails the first testcase. This seems to have been broken by
2001-03-01 Nathan Sidwell <nathan@codesourcery.com>
* decl2.c (do_nonmember_using_decl): Don't complain if we find
same function. Do complain about ambiguating extern "C"
declarations.
which stopped using duplicate_decls
The testcase in comment #2 (rejects-valid) passes with 3.2, but fails with 3.4.
The testcase in comment #3 (accepts-invalid) has never worked.
The first and last tests have to do with us not having a framework for checking
compatibility of extern "C" declarations; the function that complains about
incompatible declarations is duplicate_decls, and that assumes that both decls
are in the same scope and therefore we can clobber one of them.
But Dodji just added a place to check compatibility of extern "C" declarations
in his fix for 13699. Dodji, want to extend that to handle #1 and #3? #2
should be a separate PR I think.
--
jason at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dodji at gcc dot gnu dot org
Known to fail|3.3.6 |3.2.3 3.3.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691