1 // RUN: %clang_dfsan %s -o %t && %run %t
3 // Tests that labels are propagated through function calls.
5 #include <sanitizer/dfsan_interface.h>
10 dfsan_label j_label
= 2;
11 dfsan_set_label(j_label
, &j
, sizeof(j
));
17 dfsan_label i_label
= 4;
18 dfsan_set_label(i_label
, &i
, sizeof(i
));
20 dfsan_label ij_label
= dfsan_get_label(f(i
));
21 assert(dfsan_has_label(ij_label
, i_label
));
23 /* Must be consistent with the one in f(). */
24 dfsan_label j_label
= 2;
25 assert(dfsan_has_label(ij_label
, 2));