19caee577SJun Zhang // REQUIRES: host-supports-jit 29caee577SJun Zhang // UNSUPPORTED: system-aix 3*fd5f06ebSVassil Vassilev // clang-repl can be called from the prompt in non-interactive mode as a 4*fd5f06ebSVassil Vassilev // calculator in shell scripts, for example. In that case if there is an error 5*fd5f06ebSVassil Vassilev // we should set the exit code as failure. 6*fd5f06ebSVassil Vassilev // RUN: not clang-repl "int x = 10;" "int y=7; err;" "int y = 10;" 7*fd5f06ebSVassil Vassilev 8*fd5f06ebSVassil Vassilev // In interactive (REPL) mode, we can have errors but we should exit with 9*fd5f06ebSVassil Vassilev // success because errors in the input code are part of the interactive use. 10*fd5f06ebSVassil Vassilev // RUN: cat %s | clang-repl | FileCheck %s 11*fd5f06ebSVassil Vassilev 12*fd5f06ebSVassil Vassilev // However, interactive mode should fail when we specified -verify and there 13*fd5f06ebSVassil Vassilev // was a diagnostic mismatches. This will make the testsuite fail as intended. 14*fd5f06ebSVassil Vassilev // RUN: cat %s | not clang-repl -Xcc -Xclang -Xcc -verify | FileCheck %s 15*fd5f06ebSVassil Vassilev 16*fd5f06ebSVassil Vassilev BOOM! // expected-error {{intended to fail the -verify test}} 179caee577SJun Zhang extern "C" int printf(const char *, ...); 189caee577SJun Zhang int i = 42; 199caee577SJun Zhang auto r1 = printf("i = %d\n", i); 209caee577SJun Zhang // CHECK: i = 42 219caee577SJun Zhang %quit 22