view gcc/testsuite/g++.old-deja/g++.law/cvt8.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do assemble  }
// GROUPS passed conversions
// cvt file
// From: solomon@cs.wisc.edu (Marvin Solomon)
// Message-Id: <9209141509.AA23124@gjetost.cs.wisc.edu>
// Subject: g++ 2.2.2 seems to be forgetting a "const"
// Date: Mon, 14 Sep 92 10:09:58 -0500

extern "C" int printf (const char *, ...);

struct A {
        int i;
};

struct B {
        int i;
        operator const A&() const;
};

B::operator const A&() const {
        static A a;
        a.i = i;
        printf("convert B to A at %x\n", &a);
        return a;
}

void f(A &a) { // { dg-message "" } in passing argument
        printf("A at %x is %d\n", &a, a.i);
}

int main() {
        B b;
        b.i = 99;
        f(b);// { dg-error "" } .*
}