diff options
Diffstat (limited to 'gcc-4.4.3/libmudflap/testsuite/libmudflap.c/pass54-frag.c')
-rw-r--r-- | gcc-4.4.3/libmudflap/testsuite/libmudflap.c/pass54-frag.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.4.3/libmudflap/testsuite/libmudflap.c/pass54-frag.c b/gcc-4.4.3/libmudflap/testsuite/libmudflap.c/pass54-frag.c new file mode 100644 index 000000000..59cf2fa62 --- /dev/null +++ b/gcc-4.4.3/libmudflap/testsuite/libmudflap.c/pass54-frag.c @@ -0,0 +1,33 @@ +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"); +} |