cvt8.C   [plain text]


// { 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;
	/* APPLE LOCAL default to Wformat-security 5764921 */
        printf("convert B to A at %p\n", (void*)&a);
        return a;
}

void f(A &a) { // { dg-error "" } in passing argument
  /* APPLE LOCAL default to Wformat-security 5764921 */
  printf("A at %p is %d\n", (void*)&a, a.i);
}

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