Break out ssize_t test from Sema/format-strings-fixit.c

Move to a separate test that sets a specific target triple
so that the type of ssize_t is known.

llvm-svn: 142481
This commit is contained in:
Hans Wennborg 2011-10-19 07:55:50 +00:00
parent ef309c3384
commit cc8ce7b1d7
2 changed files with 18 additions and 2 deletions

View File

@ -0,0 +1,18 @@
// RUN: cp %s %t
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -pedantic -Wall -fixit %t
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -pedantic -Wall -Werror %t
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -E -o - %t | FileCheck %s
/* This is a test of the various code modification hints that are
provided as part of warning or extension diagnostics. All of the
warnings will be fixed by -fixit, and the resulting file should
compile cleanly with -Werror -pedantic. */
int printf(char const *, ...);
void test() {
typedef signed long int ssize_t;
printf("%f", (ssize_t) 42);
}
// CHECK: printf("%zd", (ssize_t) 42);

View File

@ -48,14 +48,12 @@ void test() {
printf("%X", val); printf("%X", val);
typedef __SIZE_TYPE__ size_t; typedef __SIZE_TYPE__ size_t;
typedef signed long int ssize_t; // FIXME: Figure out the right typedef.
typedef __INTMAX_TYPE__ intmax_t; typedef __INTMAX_TYPE__ intmax_t;
typedef __UINTMAX_TYPE__ uintmax_t; typedef __UINTMAX_TYPE__ uintmax_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t; typedef __PTRDIFF_TYPE__ ptrdiff_t;
// size_t, etc. // size_t, etc.
printf("%f", (size_t) 42); printf("%f", (size_t) 42);
//printf("%f", (ssize_t) 42);
printf("%f", (intmax_t) 42); printf("%f", (intmax_t) 42);
printf("%f", (uintmax_t) 42); printf("%f", (uintmax_t) 42);
printf("%f", (ptrdiff_t) 42); printf("%f", (ptrdiff_t) 42);