view gcc/testsuite/g++.old-deja/g++.law/arg1.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line source

// { dg-do assemble  }
// GROUPS passed arg-matching
// arg-matching file
// Subject: argument matching depending on the def order
// From: kondo@akane.mech.ibaraki.ac.jp
// Date: Fri, 04 Sep 92 17:41:05 JST

#include <iostream>
//  check the order of declarations
class A {
public:
      void f(double* p) { std::cout << "A(double*)\n"; } // { dg-message "note" }
      void f(int* p) { std::cout << "A(int*)\n"; } // { dg-message "note" }
};

class B {
public:
      void f(int* p) { std::cout << "B(int*)\n"; } // { dg-message "note" }
      void f(double* p) { std::cout << "B(double*)\n"; } // { dg-message "note" }
};

int main()
{
    A a;
    B b;

    a.f(0);// { dg-error "ambiguous" }
    b.f(0);// { dg-error "ambiguous" }
}