Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / gcc.c-torture / compile / pta-1.c
blob515e5ff13f431eca2a05f828c1cbc690e2494b84
1 typedef struct JSObject JSObject;
2 typedef struct JSObjectMap *(*JSNewObjectMapOp) (JSObject *obj);
3 typedef JSObject *(*JSGetMethodOp) (JSObject *obj);
4 struct JSObjectOps {
5 JSNewObjectMapOp newObjectMap;
6 };
7 struct JSXMLObjectOps {
8 struct JSObjectOps base;
9 JSGetMethodOp getMethod;
11 struct JSObjectMap {
12 struct JSObjectOps *ops;
14 struct JSObject {
15 struct JSObjectMap *map;
18 struct JSXMLObjectOps js_XMLObjectOps;
21 /* We need to create SFT's for the entire structure when this address is taken,
22 not just the part in the component reference itself. */
23 JSObject *JS_GetMethod(JSObject *obj)
25 if (obj->map->ops == &js_XMLObjectOps.base) {
26 struct JSXMLObjectOps *ops;
27 ops = (struct JSXMLObjectOps *) obj->map->ops;
28 obj = ops->getMethod(obj);
30 return obj;