129088Smarkm// { dg-do assemble  }
229088Smarkm// g++ 1.36.1 bug 900210_03
329088Smarkm
429088Smarkm// g++ allows void* type values to be assigned to variables of other
529088Smarkm// pointer types.  According to the C++ Reference Manual, this is illegal.
629088Smarkm
729088Smarkm// Cfront 2.0 passes this test.
829088Smarkm
929088Smarkm// keywords: void pointers, pointer type conversions, implicit type conversions
1029088Smarkm
1129088Smarkmvoid* vp;
1229088Smarkmchar* cp;
1329088Smarkmint* ip;
1429088Smarkmenum E {enum_value_1} * ep;
1529088Smarkmstruct S { int member; } * sp;
1629088Smarkmvoid (*fp) (void);
1729088Smarkm
1829088Smarkmvoid global_function ()
1929088Smarkm{
2029088Smarkm  cp = vp;	/* { dg-error "" }  */
2129088Smarkm  ip = vp;	/* { dg-error "" }  */
2229088Smarkm  ep = vp;	/* { dg-error "" }  */
2329088Smarkm  sp = vp;	/* { dg-error "" }  */
2429088Smarkm  fp = vp;	/* { dg-error "" }  */
2529088Smarkm}
2629088Smarkm
2729088Smarkmint main () { return 0; }
2829088Smarkm