diff options
author | fche <fche> | 2008-03-03 21:36:50 +0000 |
---|---|---|
committer | fche <fche> | 2008-03-03 21:36:50 +0000 |
commit | b0be9bdb8c6972d847cad50a1e699f1fa806ad99 (patch) | |
tree | 66b3e148a84447d69f1340447c5edba8bf2055cd /loc2c.h | |
parent | aae3e9a9a9cb64560070de2d1de30b08252b1e81 (diff) | |
download | systemtap-steved-b0be9bdb8c6972d847cad50a1e699f1fa806ad99.tar.gz systemtap-steved-b0be9bdb8c6972d847cad50a1e699f1fa806ad99.tar.xz systemtap-steved-b0be9bdb8c6972d847cad50a1e699f1fa806ad99.zip |
PR5516: assignment to $pointers
2008-03-03 Frank Ch. Eigler <fche@elastic.org>
PR5516
* elaborate.cxx (symbol_fetcher, dead_assignment_remover):
Support unresolved $target lvalues. Propagate pretty error
messages.
* staptree.cxx (varuse_collecting_visitor target_symbol): Ditto.
* staptree.h: Corresponding decl.
* loc2c.c: c_translate_pointer_store: New function.
* loc2c.h: Corresponding decl.
* tapsets.cxx (dwflpp::translate_final_fetch_or_store): Call it
for $target pointer assignments.
2008-03-03 Frank Ch. Eigler <fche@elastic.org>
PR5516
* buildok/twentynine.stp: New test.
Diffstat (limited to 'loc2c.h')
-rw-r--r-- | loc2c.h | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -77,6 +77,15 @@ void c_translate_store (struct obstack *pool, int indent, Dwarf_Die *die, Dwarf_Die *typedie, struct location **input, const char *rvalue); +/* Translate a fragment to write the given pointer value, + where *INPUT is the location of the pointer with that type. */ +void +c_translate_pointer_store (struct obstack *pool, int indent, + Dwarf_Addr dwbias __attribute__ ((unused)), + Dwarf_Die *typedie, struct location **input, + const char *rvalue); + + /* 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 passed to c_translate_* previously. |