view gcc/testsuite/g++.old-deja/g++.law/arg11.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
line wrap: on
line source

// { dg-do assemble  }
// GROUPS passed arg-matching
// From: gustavo@cpqd.br (Gustavo Chaves)
// Date:     Wed, 25 May 94 09:38:00 EST
// Subject:  problem with user defined conversions in initialization
// Message-ID: <9405251238.AA19815@moon.cpqd.br>

struct String { String(const char*); };

struct Ack { Ack(String); };

struct S { void method(Ack); };	// { dg-message "S::method|no known conversion" } referenced below

void function(Ack);

int
foo(S *o)
{ // Neither call has a usable constructor for conversions of char[5] to Ack.
  function("adsf");// { dg-error "could not convert" }
  o->method("adsf");// { dg-error "cannot convert" } 
  return 0;
}