summaryrefslogtreecommitdiffstats
path: root/loc2c.h
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-02-20 14:56:38 +0100
committerMark Wielaard <mjw@redhat.com>2009-02-20 14:56:38 +0100
commit02615365a92ca2570c1f96abc8a97674aa2ccae1 (patch)
treeebedfd91a0f6d299b39e84295e091e12c0767dc8 /loc2c.h
parentc3bad3042df505a3470f1e20b09822a9df1d4761 (diff)
parentadc67597f327cd43d58b1d0cb740dab14a75a058 (diff)
downloadsystemtap-steved-02615365a92ca2570c1f96abc8a97674aa2ccae1.tar.gz
systemtap-steved-02615365a92ca2570c1f96abc8a97674aa2ccae1.tar.xz
systemtap-steved-02615365a92ca2570c1f96abc8a97674aa2ccae1.zip
Merge branch 'master' into pr6866
Conflicts: ChangeLog: Removed runtime/ChangeLog: Removed runtime/sym.c: Merged runtime/task_finder.c: Merged tapset/ChangeLog: Removed testsuite/ChangeLog: Removed
Diffstat (limited to 'loc2c.h')
-rw-r--r--loc2c.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/loc2c.h b/loc2c.h
index 03f9e74c..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
@@ -93,3 +108,5 @@ c_translate_pointer_store (struct obstack *pool, int indent,
Writes complete lines of C99, code forming a complete C block, to STREAM.
Return value is true iff that code uses the `deref' runtime macros. */
bool c_emit_location (FILE *stream, struct location *loc, int indent);
+
+/* vim: set sw=2 ts=8 cino=>4,n-2,{2,^-2,t0,(0,u0,w1,M1 : */