diff options
Diffstat (limited to 'libmudflap/testsuite/libmudflap.c/pass54-frag.c')
-rw-r--r-- | libmudflap/testsuite/libmudflap.c/pass54-frag.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libmudflap/testsuite/libmudflap.c/pass54-frag.c b/libmudflap/testsuite/libmudflap.c/pass54-frag.c new file mode 100644 index 000000000..5eebb4515 --- /dev/null +++ b/libmudflap/testsuite/libmudflap.c/pass54-frag.c @@ -0,0 +1,34 @@ +struct k +{ + struct { + int b; + int c; + } a; +}; + +static struct k l; +static struct k m; + +void foo () +{ + /* This should not be instrumented. */ + l.a.b = 5; +} + +void bar () +{ + /* This should not be instrumented. */ + m.a.b = 5; +} + +int main () +{ + /* Force TREE_ADDRESSABLE on "l" only. */ + volatile int *k = & l.a.c; + *k = 8; + __mf_set_options ("-mode-violate"); + foo (); + bar (); + __mf_set_options ("-mode-check"); + return 0; +} |