diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/operators1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/operators1.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators1.C b/gcc/testsuite/g++.old-deja/g++.law/operators1.C new file mode 100644 index 00000000000..fa4c10cf3b9 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/operators1.C @@ -0,0 +1,27 @@ +// GROUPS passed operators +// opr-conv file +// Message-Id: <199301040217.AA04377@cypress.ucsc.edu> +// From: "Dean R. E. Long" <dlong@cse.ucsc.edu> +// Subject: conversion operator bug? +// Date: Sun, 3 Jan 1993 18:17:20 -0800 + +#include <stdio.h> +class B {}; + +class A { + B *p; +public: + A() { p = 0; } + operator B * () { return p; } + operator B & () { return *p; } +}; + +main() +{ + A a; + B &b = (B &)a; + B *bp = (B *)a; + B &br = a.operator B&(); +// What's the right test? + printf ("FAIL\n"); +} |