diff options
author | Roland McGrath <roland@redhat.com> | 2009-09-24 13:05:41 -0700 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2009-09-24 13:06:31 -0700 |
commit | 2e2a5d82cfd03db7be2e9ff1457b5ea50e46bc3a (patch) | |
tree | e11572dbb27ac79da1acb29507b5b99b2d58991d /loc2c.h | |
parent | a1c1924486c8a29451898a9fe0cb83c8b472a78e (diff) | |
download | systemtap-steved-2e2a5d82cfd03db7be2e9ff1457b5ea50e46bc3a.tar.gz systemtap-steved-2e2a5d82cfd03db7be2e9ff1457b5ea50e46bc3a.tar.xz systemtap-steved-2e2a5d82cfd03db7be2e9ff1457b5ea50e46bc3a.zip |
Support DW_AT_const_value cases in loc2c and loc2c-test.
* loc2c.c (c_translate_constant): New function.
* loc2c.h: Declare it.
* loc2c-test.c (main): Use it for DW_AT_const_value cases.
Diffstat (limited to 'loc2c.h')
-rw-r--r-- | loc2c.h | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -41,6 +41,20 @@ struct location *c_translate_location (struct obstack *, Dwarf_Attribute *fb_attr, const Dwarf_Op *cfa_ops); +/* Translate a fragment for a compile-time constant from DW_AT_const_value. + */ +struct location *c_translate_constant (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, Dwarf_Addr dwbias, + Dwarf_Attribute *attr); + /* Translate a fragment to dereference the given DW_TAG_pointer_type DIE, where *INPUT is the location of the pointer with that type. */ void c_translate_pointer (struct obstack *pool, int indent, |