summaryrefslogtreecommitdiffstats
path: root/loc2c.h
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-02-18 12:53:08 -0800
committerJosh Stone <jistone@redhat.com>2009-02-18 12:53:08 -0800
commit23ad66b41ded81502948584816390c634f66c5ee (patch)
treedb900ca0141a16152c3bf27395cd4975cad6a1ab /loc2c.h
parent2aa2ccb83142c3bf98ac8ee1558a0ee72dff3a1f (diff)
parent482fe2af17347b472232c5d7c4b26e53606e395e (diff)
downloadsystemtap-steved-23ad66b41ded81502948584816390c634f66c5ee.tar.gz
systemtap-steved-23ad66b41ded81502948584816390c634f66c5ee.tar.xz
systemtap-steved-23ad66b41ded81502948584816390c634f66c5ee.zip
Enable typecasting with @cast
println(@cast(myptr, "task_struct")->pid) println(@cast(myptr, "task_struct", "kernel")->pid) Merge branch 'typecast', bump ChangeLog entries to push date
Diffstat (limited to 'loc2c.h')
-rw-r--r--loc2c.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/loc2c.h b/loc2c.h
index 67f4a38a..0ad5ae99 100644
--- a/loc2c.h
+++ b/loc2c.h
@@ -85,6 +85,21 @@ c_translate_pointer_store (struct obstack *pool, int indent,
Dwarf_Die *typedie, struct location **input,
const char *rvalue);
+/* Translate a C fragment for a direct argument VALUE. On errors, call FAIL,
+ which should not return. Any later errors will use FAIL and FAIL_ARG from
+ this translate call. On success, return the fragment created. */
+struct location *c_translate_argument (struct obstack *,
+ void (*fail) (void *arg,
+ const char *fmt, ...)
+ __attribute__ ((noreturn,
+ format (printf, 2, 3))),
+ void *fail_arg,
+ void (*emit_address) (void *fail_arg,
+ struct obstack *,
+ Dwarf_Addr),
+ int indent, const char *value);
+
+
/* Emit the C fragment built up at LOC (i.e., the return value from the
first c_translate_location call made). INDENT should match that