From: Nick Lewycky Date: Wed, 18 Jan 2012 04:28:31 +0000 (+0000) Subject: Add testcase for r148375! X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8013afe5752551d72d290991046c3942138d2df1;p=clang Add testcase for r148375! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148378 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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); +} +