public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/34691]  New: Default argument checking not performed after overload resolution.
@ 2008-01-06 20:31 rideau3 at gmail dot com
  2008-01-06 21:38 ` [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage rguenth at gcc dot gnu dot org
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: rideau3 at gmail dot com @ 2008-01-06 20:31 UTC (permalink / raw)
  To: gcc-bugs

The following code is ill-formed according to the standard, but accepted by
GCC:

namespace A {
        extern "C" void f(int = 5);
}
namespace B {
        extern "C" void f(int = 4);
}

using A::f;
using B::f;
int main() {
    f(3);    //OK
    f();     //ERROR
}

When a default argument is used as in the second call, it needs to be looked up
to make sure it isn't declared twice. If it is, then it's an error. GCC will
also accept the code whether the default arguments to f() are given the same or
different values.


-- 
           Summary: Default argument checking not performed after overload
                    resolution.
           Product: gcc
           Version: 4.1.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rideau3 at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
@ 2008-01-06 21:38 ` rguenth at gcc dot gnu dot org
  2008-01-11  8:18 ` jakub at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-06 21:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2008-01-06 20:54 -------
2.95.4 says

t.C:9: `B::f(int)' conflicts with used function
t.C:2: `void A::f(int = 5)' previously declared here
t.C:9: default argument given for parameter 1 of `void B::f(int = 4)'
t.C:2: after previous specification in `void A::f(int = 5)'

fails since at least 3.3.6.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |accepts-invalid
      Known to fail|                            |3.3.6
      Known to work|                            |2.95.4
   Last reconfirmed|0000-00-00 00:00:00         |2008-01-06 20:54:23
               date|                            |
            Summary|Default argument checking   |[4.1/4.2/4.3 Regression]
                   |not performed after overload|Default argument checking
                   |resolution with C linkage   |not performed after overload
                   |                            |resolution with C linkage
   Target Milestone|---                         |4.2.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
  2008-01-06 21:38 ` [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage rguenth at gcc dot gnu dot org
@ 2008-01-11  8:18 ` jakub at gcc dot gnu dot org
  2008-01-11 13:49 ` jakub at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-11  8:18 UTC (permalink / raw)
  To: gcc-bugs



-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
  2008-01-06 21:38 ` [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage rguenth at gcc dot gnu dot org
  2008-01-11  8:18 ` jakub at gcc dot gnu dot org
@ 2008-01-11 13:49 ` jakub at gcc dot gnu dot org
  2008-01-11 14:12 ` jakub at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-11 13:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2008-01-11 13:25 -------
Related:
void foo (int i, int j = 6);
void foo (int i = 4, int j);

int bar (void)
{
  foo ();
}
is accepted (correctly), but:
extern "C" {
void foo (int i, int j = 6);
void foo (int i = 4, int j);
}

int bar (void)
{
  foo ();
}
is rejected.  How does the "C" linkage matter here?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (2 preceding siblings ...)
  2008-01-11 13:49 ` jakub at gcc dot gnu dot org
@ 2008-01-11 14:12 ` jakub at gcc dot gnu dot org
  2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-11 14:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from jakub at gcc dot gnu dot org  2008-01-11 14:01 -------
What about:
namespace A {
  extern "C" int g (double);
}
namespace B {
  extern "C" int g (int);
}
using namespace A;
using namespace B;

void f ()
{
  g (1.0);
}

I don't believe this is valid, as extern "C" means there is just one g, yet it
is accepted.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (3 preceding siblings ...)
  2008-01-11 14:12 ` jakub at gcc dot gnu dot org
@ 2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
  2008-05-19 20:32 ` [Bug c++/34691] [4.1/4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-02-01 17:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jsm28 at gcc dot gnu dot org  2008-02-01 16:55 -------
4.2.3 is being released now, changing milestones of open bugs to 4.2.4.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.2.3                       |4.2.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.1/4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (4 preceding siblings ...)
  2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
@ 2008-05-19 20:32 ` jsm28 at gcc dot gnu dot org
  2008-07-04 22:55 ` [Bug c++/34691] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-05-19 20:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jsm28 at gcc dot gnu dot org  2008-05-19 20:24 -------
4.2.4 is being released, changing milestones to 4.2.5.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.2.4                       |4.2.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (5 preceding siblings ...)
  2008-05-19 20:32 ` [Bug c++/34691] [4.1/4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
@ 2008-07-04 22:55 ` jsm28 at gcc dot gnu dot org
  2009-01-16 20:03 ` jason at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 22:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jsm28 at gcc dot gnu dot org  2008-07-04 22:54 -------
Closing 4.1 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.1/4.2/4.3/4.4 Regression]|[4.2/4.3/4.4 Regression]
                   |Default argument checking   |Default argument checking
                   |not performed after overload|not performed after overload
                   |resolution with C linkage   |resolution with C linkage


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (6 preceding siblings ...)
  2008-07-04 22:55 ` [Bug c++/34691] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
@ 2009-01-16 20:03 ` jason at gcc dot gnu dot org
  2009-02-11 21:31 ` jason at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-01-16 20:03 UTC (permalink / raw)
  To: gcc-bugs



------- 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


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (7 preceding siblings ...)
  2009-01-16 20:03 ` jason at gcc dot gnu dot org
@ 2009-02-11 21:31 ` jason at gcc dot gnu dot org
  2009-03-25 21:10 ` jason at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-02-11 21:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from jason at gcc dot gnu dot org  2009-02-11 21:31 -------
I've reopened PR 28274 with the PR in comment #2.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (8 preceding siblings ...)
  2009-02-11 21:31 ` jason at gcc dot gnu dot org
@ 2009-03-25 21:10 ` jason at gcc dot gnu dot org
  2009-03-26 16:10 ` jason at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-03-25 21:10 UTC (permalink / raw)
  To: gcc-bugs



-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-01-06 20:54:23         |2009-03-25 21:10:24
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.2/4.3/4.4 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (9 preceding siblings ...)
  2009-03-25 21:10 ` jason at gcc dot gnu dot org
@ 2009-03-26 16:10 ` jason at gcc dot gnu dot org
  2009-03-31 20:19 ` [Bug c++/34691] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-03-26 16:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from jason at gcc dot gnu dot org  2009-03-26 16:10 -------
I agree that it seems like the first testcase should be ill-formed, but I can't
find anything in the standard that says it is, and the EDG front end also
accepts it.  Do you have a citation?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.3/4.4/4.5 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (10 preceding siblings ...)
  2009-03-26 16:10 ` jason at gcc dot gnu dot org
@ 2009-03-31 20:19 ` jsm28 at gcc dot gnu dot org
  2009-04-01  3:34 ` jason at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 20:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from jsm28 at gcc dot gnu dot org  2009-03-31 20:16 -------
Closing 4.2 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.2/4.3/4.4/4.5 Regression]|[4.3/4.4/4.5 Regression]
                   |Default argument checking   |Default argument checking
                   |not performed after overload|not performed after overload
                   |resolution with C linkage   |resolution with C linkage
   Target Milestone|4.2.5                       |4.3.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.3/4.4/4.5 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (11 preceding siblings ...)
  2009-03-31 20:19 ` [Bug c++/34691] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
@ 2009-04-01  3:34 ` jason at gcc dot gnu dot org
  2009-04-01 15:21 ` jason at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-04-01  3:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from jason at gcc dot gnu dot org  2009-04-01 03:34 -------
Subject: Bug 34691

Author: jason
Date: Wed Apr  1 03:34:30 2009
New Revision: 145386

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145386
Log:
        PR c++/34691
        * name-lookup.c (pushdecl_maybe_friend): Diagnose mismatched
        extern C declarations.

        * libsupc++/unwind-cxx.h: Correct __cxa_call_terminate prototype.

Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.old-deja/g++.other/using9.C
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/libsupc++/unwind-cxx.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.3/4.4/4.5 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (12 preceding siblings ...)
  2009-04-01  3:34 ` jason at gcc dot gnu dot org
@ 2009-04-01 15:21 ` jason at gcc dot gnu dot org
  2009-04-01 15:29 ` jason at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-04-01 15:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from jason at gcc dot gnu dot org  2009-04-01 15:21 -------
Fixed testcase #3.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.3/4.4/4.5 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (13 preceding siblings ...)
  2009-04-01 15:21 ` jason at gcc dot gnu dot org
@ 2009-04-01 15:29 ` jason at gcc dot gnu dot org
  2009-04-08  3:45 ` jason at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-04-01 15:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from jason at gcc dot gnu dot org  2009-04-01 15:29 -------
Created an attachment (id=17576)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17576&action=view)
Patch for testcase #1

Here's a patch that gives an error for testcase #1.  But it's not clear to me
that we ought to have two functions in the overload set to begin with.  For
instance, that means that adding

void (*fp)(int) = f;

gives an ambiguity error, while it doesn't on EDG.  If we were properly merging
the two used functions together, we would have already chosen one of the
default arguments by the time we get to the call, so this patch wouldn't have
two candidates to compare.

I suppose that it would be feasible to keep the two functions separate until
overload resolution and then fix resolve_address_of_overloaded_function to
combine them.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.3/4.4/4.5 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (14 preceding siblings ...)
  2009-04-01 15:29 ` jason at gcc dot gnu dot org
@ 2009-04-08  3:45 ` jason at gcc dot gnu dot org
  2009-04-08  3:55 ` jason at gcc dot gnu dot org
  2009-04-08  3:56 ` jason at gcc dot gnu dot org
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-04-08  3:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from jason at gcc dot gnu dot org  2009-04-08 03:45 -------
Subject: Bug 34691

Author: jason
Date: Wed Apr  8 03:44:48 2009
New Revision: 145709

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145709
Log:
        PR c++/34691
        * name-lookup.c (merge_functions): Keep multiple extern "C" functions.
        * call.c (joust): Complain about mismatched default arguments
        in extern "C" functions.
        * class.c (resolve_address_of_overloaded_function): Handle multiple
        extern "C" functions.
        * pt.c (resolve_overloaded_unification): Likewise.

Added:
    trunk/gcc/testsuite/g++.dg/overload/extern-C-1.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/class.c
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/pt.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.3/4.4/4.5 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (15 preceding siblings ...)
  2009-04-08  3:45 ` jason at gcc dot gnu dot org
@ 2009-04-08  3:55 ` jason at gcc dot gnu dot org
  2009-04-08  3:56 ` jason at gcc dot gnu dot org
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-04-08  3:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from jason at gcc dot gnu dot org  2009-04-08 03:55 -------
Subject: Bug 34691

Author: jason
Date: Wed Apr  8 03:55:00 2009
New Revision: 145710

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145710
Log:
        PR c++/34691
        * name-lookup.c (merge_functions): Keep multiple extern C functions.
        * call.c (joust): Complain about mismatched default arguments
        in extern C functions.
        * class.c (resolve_address_of_overloaded_function): Handle multiple
        extern C functions.
        * pt.c (resolve_overloaded_unification): Likewise.

Added:
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/overload/extern-C-1.C
      - copied unchanged from r145709,
trunk/gcc/testsuite/g++.dg/overload/extern-C-1.C
Modified:
    branches/gcc-4_4-branch/gcc/cp/ChangeLog
    branches/gcc-4_4-branch/gcc/cp/call.c
    branches/gcc-4_4-branch/gcc/cp/class.c
    branches/gcc-4_4-branch/gcc/cp/name-lookup.c
    branches/gcc-4_4-branch/gcc/cp/pt.c
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/34691] [4.3/4.4/4.5 Regression] Default argument checking not performed after overload resolution with C linkage
  2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
                   ` (16 preceding siblings ...)
  2009-04-08  3:55 ` jason at gcc dot gnu dot org
@ 2009-04-08  3:56 ` jason at gcc dot gnu dot org
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-04-08  3:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from jason at gcc dot gnu dot org  2009-04-08 03:56 -------
Fixed for 4.4/4.5, not going to fix in 4.3.


-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34691


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2009-04-08  3:56 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-06 20:31 [Bug c++/34691] New: Default argument checking not performed after overload resolution rideau3 at gmail dot com
2008-01-06 21:38 ` [Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage rguenth at gcc dot gnu dot org
2008-01-11  8:18 ` jakub at gcc dot gnu dot org
2008-01-11 13:49 ` jakub at gcc dot gnu dot org
2008-01-11 14:12 ` jakub at gcc dot gnu dot org
2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
2008-05-19 20:32 ` [Bug c++/34691] [4.1/4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
2008-07-04 22:55 ` [Bug c++/34691] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
2009-01-16 20:03 ` jason at gcc dot gnu dot org
2009-02-11 21:31 ` jason at gcc dot gnu dot org
2009-03-25 21:10 ` jason at gcc dot gnu dot org
2009-03-26 16:10 ` jason at gcc dot gnu dot org
2009-03-31 20:19 ` [Bug c++/34691] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
2009-04-01  3:34 ` jason at gcc dot gnu dot org
2009-04-01 15:21 ` jason at gcc dot gnu dot org
2009-04-01 15:29 ` jason at gcc dot gnu dot org
2009-04-08  3:45 ` jason at gcc dot gnu dot org
2009-04-08  3:55 ` jason at gcc dot gnu dot org
2009-04-08  3:56 ` jason at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).