diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C')
-rw-r--r-- | gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C new file mode 100644 index 000000000..aabe3d5cc --- /dev/null +++ b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C @@ -0,0 +1,33 @@ +// { dg-do assemble } +// g++ 1.36.1 bug 900210_09 + +// g++ allows pointer to members (both data members and function members) +// to be implicitly converted to void*. + +// Section 4.8 of the Cfront 2.0 Reference Manual disallows such implicit +// conversions. + +// Cfront 2.0 passes this test. + +// keywords: member pointers, void pointers, implicit type conversions + +class class0 { +public: + int class0_data_member_0; + void class0_function_member_0 (); +}; + +int class0::*class0_data_member_pointer; +int (class0::*class0_function_member_pointer) (); + +void *vp; + +void global_function_0 () +{ + vp = class0_data_member_pointer; // { dg-error "" } + vp = class0_function_member_pointer; // { dg-error "" } +} + +int main () { return 0; } + + |