This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/18079] New: autocast doesn't work with @defined


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]