16eed7e7eSNico Weber // FIXME: https://code.google.com/p/address-sanitizer/issues/detail?id=316 26eed7e7eSNico Weber // XFAIL: android 36eed7e7eSNico Weber 46eed7e7eSNico Weber // The globs below do not work in the lit shell. 56eed7e7eSNico Weber // REQUIRES: shell 66eed7e7eSNico Weber 76eed7e7eSNico Weber // RUN: %clangxx -fsanitize=undefined %s -O1 -o %t 86eed7e7eSNico Weber 96eed7e7eSNico Weber // Regular run. 106eed7e7eSNico Weber // RUN: %run %t -4 2> %t.out 116eed7e7eSNico Weber // RUN: FileCheck %s --check-prefix=CHECK-ERROR < %t.out 126eed7e7eSNico Weber 136eed7e7eSNico Weber // Good log_path. 146eed7e7eSNico Weber // RUN: rm -f %t.log.* 156eed7e7eSNico Weber // RUN: %device_rm -f '%t.log.*' 166eed7e7eSNico Weber // RUN: %env_ubsan_opts=log_path='"%t.log"' %run %t -4 2> %t.out 176eed7e7eSNico Weber // RUN: FileCheck %s --check-prefix=CHECK-ERROR < %t.log.* 186eed7e7eSNico Weber 196eed7e7eSNico Weber // Run w/o errors should not produce any log. 206eed7e7eSNico Weber // RUN: rm -f %t.log.* 216eed7e7eSNico Weber // RUN: %device_rm -f '%t.log.*' 226eed7e7eSNico Weber // RUN: %env_ubsan_opts=log_path='"%t.log"' %run %t 4 236eed7e7eSNico Weber // RUN: not cat %t.log.* 246eed7e7eSNico Weber 256eed7e7eSNico Weber // FIXME: log_path is not supported on Windows yet. 266eed7e7eSNico Weber // XFAIL: windows-msvc 276eed7e7eSNico Weber 28*b63ca0a0SRainer Orth // Issue #41838 29*b63ca0a0SRainer Orth // XFAIL: sparc-target-arch && solaris 30*b63ca0a0SRainer Orth 316eed7e7eSNico Weber #include <stdio.h> 326eed7e7eSNico Weber #include <stdlib.h> main(int argc,char * argv[])336eed7e7eSNico Weberint main(int argc, char *argv[]) { 346eed7e7eSNico Weber double a = atof(argv[1]); 356eed7e7eSNico Weber unsigned int ai = (unsigned int) a; 366eed7e7eSNico Weber printf("%f %u\n", a, ai); 376eed7e7eSNico Weber return 0; 386eed7e7eSNico Weber } 396eed7e7eSNico Weber 406eed7e7eSNico Weber // CHECK-ERROR: runtime error: -4 is outside the range of representable values of type 'unsigned int' 416eed7e7eSNico Weber 42