1b8aae540SGreg Fitzgerald // RUN: %clangxx -fsanitize=undefined %s -o %t && %run %t 2>&1 | FileCheck %s 2ba869e79SAlexey Samsonov // Verify deduplication works by ensuring only one diag is emitted. 3ba869e79SAlexey Samsonov #include <limits.h> 4ba869e79SAlexey Samsonov #include <stdio.h> 5ba869e79SAlexey Samsonov overflow()6ba869e79SAlexey Samsonovvoid overflow() { 7ba869e79SAlexey Samsonov int i = INT_MIN; 8ba869e79SAlexey Samsonov --i; 9ba869e79SAlexey Samsonov } 10ba869e79SAlexey Samsonov main()11ba869e79SAlexey Samsonovint main() { 12ba869e79SAlexey Samsonov // CHECK: Start 13ba869e79SAlexey Samsonov fprintf(stderr, "Start\n"); 14*a68d90faSPeter Collingbourne fflush(stderr); 15ba869e79SAlexey Samsonov 16ba869e79SAlexey Samsonov // CHECK: runtime error 17ba869e79SAlexey Samsonov // CHECK-NOT: runtime error 18ba869e79SAlexey Samsonov // CHECK-NOT: runtime error 19ba869e79SAlexey Samsonov overflow(); 20ba869e79SAlexey Samsonov overflow(); 21ba869e79SAlexey Samsonov overflow(); 22ba869e79SAlexey Samsonov 23ba869e79SAlexey Samsonov // CHECK: End 24ba869e79SAlexey Samsonov fprintf(stderr, "End\n"); 25ba869e79SAlexey Samsonov return 0; 26ba869e79SAlexey Samsonov } 27