llvm-project

Форк
0
23 строки · 373.0 Байт
1
// RUN: %clang_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
2

3
#include <stdio.h>
4
#include <stdlib.h>
5
#include <setjmp.h>
6

7
int foo(jmp_buf env) {
8
  longjmp(env, 42);
9
}
10

11
int main() {
12
  jmp_buf env;
13
  if (setjmp(env) == 42) {
14
    fprintf(stderr, "JUMPED\n");
15
    return 0;
16
  }
17
  foo(env);
18
  fprintf(stderr, "FAILED\n");
19
  return 0;
20
}
21

22
// CHECK-NOT: FAILED
23
// CHECK: JUMPED
24

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.