1f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -o - -emit-llvm | FileCheck %s 2*0a6a1f1dSLionel Sambuc // XFAIL: aarch64, arm64, x86_64-pc-win32, x86_64-w64-mingw32 3f4a2713aSLionel Sambuc 4f4a2713aSLionel Sambuc // PR1513 5f4a2713aSLionel Sambuc 6f4a2713aSLionel Sambuc // AArch64 ABI actually requires the reverse of what this is testing: the callee 7f4a2713aSLionel Sambuc // does any extensions and remaining bits are unspecified. 8f4a2713aSLionel Sambuc 9*0a6a1f1dSLionel Sambuc // Win64 ABI does expect extensions for type smaller than 64bits. 10*0a6a1f1dSLionel Sambuc 11f4a2713aSLionel Sambuc // Technically this test wasn't written to test that feature, but it's a 12f4a2713aSLionel Sambuc // valuable check nevertheless. 13f4a2713aSLionel Sambuc 14f4a2713aSLionel Sambuc struct s{ 15f4a2713aSLionel Sambuc long a; 16f4a2713aSLionel Sambuc long b; 17f4a2713aSLionel Sambuc }; 18f4a2713aSLionel Sambuc f(struct s a,char * b,signed char C)19f4a2713aSLionel Sambucvoid f(struct s a, char *b, signed char C) { 20f4a2713aSLionel Sambuc // CHECK: i8 signext 21f4a2713aSLionel Sambuc 22f4a2713aSLionel Sambuc } 23