brintos

brintos / llvm-project-archived public Read only

0
0
Text · 554 B · 96b2302 Raw
26 lines · c
1// RUN: %clang_safestack %s -o %t2// RUN: %run %t3 4#include "utils.h"5 6// Test that loads/stores work correctly for variables on the unsafe stack.7 8int main(int argc, char **argv)9{10  int i;11  char buffer[128];12 13  // check that we can write to a buffer14  for (i = 0; argv[0][i] && i < sizeof (buffer) - 1; ++i)15    buffer[i] = argv[0][i];16  buffer[i] = '\0';17 18  break_optimization(buffer);19 20  // check that we can read from a buffer21  for (i = 0; argv[0][i] && i < sizeof (buffer) - 1; ++i)22    if (buffer[i] != argv[0][i])23      return 1;24  return 0;25}26