This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/18079] New: autocast doesn't work with @defined
- From: "jistone at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Tue, 03 Mar 2015 22:11:38 +0000
- Subject: [Bug translator/18079] New: autocast doesn't work with @defined
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=18079
Bug ID: 18079
Summary: autocast doesn't work with @defined
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: translator
Assignee: systemtap at sourceware dot org
Reporter: jistone at redhat dot com
The "autocast" feature of type propagation doesn't work with @defined. For
example, "@defined(@task(0)->mm)" is 1 since mm does exist in this @cast
task_struct. But "@defined(task_current()->mm)" becomes 0, even though
task_current() also returns a @task() value.
This is because const-folding, including @defined, happens in
semantic_pass_optimize1 before the type propagation and autocast expansion in
semantic_pass_types. An un-expanded @defined is assumed to be bad. But
there's tricky interplay here, as some types might not be possible to resolve
until other @defined have been resolved to simplify things, so we can't just
reorder these.
--
You are receiving this mail because:
You are the assignee for the bug.