From 8013afe5752551d72d290991046c3942138d2df1 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Wed, 18 Jan 2012 04:28:31 +0000 Subject: [PATCH] Add testcase for r148375! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148378 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/Inputs/stdio.h | 9 +++++++++ test/CodeGen/builtin-recursive.cc | 10 ++++++++++ 2 files changed, 19 insertions(+) create mode 100644 test/CodeGen/Inputs/stdio.h create mode 100644 test/CodeGen/builtin-recursive.cc diff --git a/test/CodeGen/Inputs/stdio.h b/test/CodeGen/Inputs/stdio.h new file mode 100644 index 0000000000..cfe359597b --- /dev/null +++ b/test/CodeGen/Inputs/stdio.h @@ -0,0 +1,9 @@ +struct FILE; +extern int vfprintf(struct FILE *s, const char *format, __builtin_va_list arg); +extern int vprintf(const char *format, __builtin_va_list arg); + +extern __inline __attribute__((gnu_inline,always_inline)) int +vprintf(const char *x, __builtin_va_list y) +{ + return vfprintf (0, 0, 0); +} diff --git a/test/CodeGen/builtin-recursive.cc b/test/CodeGen/builtin-recursive.cc new file mode 100644 index 0000000000..81e9b9a37c --- /dev/null +++ b/test/CodeGen/builtin-recursive.cc @@ -0,0 +1,10 @@ +// RUN: %clang_cc1 -nostdsysteminc -nobuiltininc -isystem Inputs -emit-llvm-only %s + +// This used to cause a read past the end of a global variable. + +#include + +void testcase(void) { + vprintf(0, 0); +} + -- 2.40.0