brintos

brintos / llvm-project-archived public Read only

0
0
Text · 556 B · 22dded4 Raw
26 lines · c
1// RUN: %clang_dfsan %s -o %t2// RUN: %run %t3//4#include <sanitizer/dfsan_interface.h>5 6#include <assert.h>7#include <stdio.h>8#include <string.h>9 10int foo(int a, int b) {11  return a + b;12}13 14int main(int argc, char *argv[]) {15  int a = 10;16  int b = 20;17  dfsan_set_label(8, &a, sizeof(a));18  dfsan_set_label(128, &b, sizeof(b));19  int c = foo(a, b);20  printf("A: 0x%x\n", dfsan_get_label(a));21  printf("B: 0x%x\n", dfsan_get_label(b));22  dfsan_label l = dfsan_get_label(c);23  printf("C: 0x%x\n", l);24  assert(l == 136);  // OR of the other two labels.25}26