xref: /llvm-project/clang/test/SemaOpenCL/format-strings-fixit.cl (revision 6f68048d69b8097a4346cf4255d7b7683e4b53e6)
10ff50d49SMatt Arsenault// RUN: cp %s %t
2*6f68048dSEric Liu// RUN: %clang_cc1 -cl-std=CL1.2 -pedantic -Wall -fixit %t -triple x86_64-unknown-linux-gnu
3*6f68048dSEric Liu// RUN: %clang_cc1 -cl-std=CL1.2 -fsyntax-only -pedantic -Wall -Werror %t -triple x86_64-unknown-linux-gnu
4*6f68048dSEric Liu// RUN: %clang_cc1 -cl-std=CL1.2 -E -o - %t -triple x86_64-unknown-linux-gnu | FileCheck %s
50ff50d49SMatt Arsenault
6a4c33ecdSMatt Arsenault#pragma OPENCL EXTENSION cl_khr_fp64 : enable
7a4c33ecdSMatt Arsenault
858fc8082SMatt Arsenaulttypedef __attribute__((ext_vector_type(4))) char char4;
958fc8082SMatt Arsenaulttypedef __attribute__((ext_vector_type(4))) short short4;
100ff50d49SMatt Arsenaulttypedef __attribute__((ext_vector_type(4))) int int4;
1158fc8082SMatt Arsenaulttypedef __attribute__((ext_vector_type(4))) unsigned int uint4;
120ff50d49SMatt Arsenaulttypedef __attribute__((ext_vector_type(8))) int int8;
1358fc8082SMatt Arsenaulttypedef __attribute__((ext_vector_type(4))) long long4;
1458fc8082SMatt Arsenaulttypedef __attribute__((ext_vector_type(4))) float float4;
1558fc8082SMatt Arsenaulttypedef __attribute__((ext_vector_type(4))) double double4;
160ff50d49SMatt Arsenault
170ff50d49SMatt Arsenaultint printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
180ff50d49SMatt Arsenault
190ff50d49SMatt Arsenault
200ff50d49SMatt Arsenaultvoid vector_fixits() {
210ff50d49SMatt Arsenault  printf("%v4f", (int4) 123);
2258fc8082SMatt Arsenault  // CHECK: printf("%v4hld", (int4) 123);
230ff50d49SMatt Arsenault
240ff50d49SMatt Arsenault  printf("%v8d", (int4) 123);
2558fc8082SMatt Arsenault  // CHECK: printf("%v4hld", (int4) 123);
260ff50d49SMatt Arsenault
270ff50d49SMatt Arsenault  printf("%v4d", (int8) 123);
2858fc8082SMatt Arsenault  // CHECK: printf("%v8hld", (int8) 123);
290ff50d49SMatt Arsenault
300ff50d49SMatt Arsenault  printf("%v4f", (int8) 123);
3158fc8082SMatt Arsenault  // CHECK: printf("%v8hld", (int8) 123);
3258fc8082SMatt Arsenault
3358fc8082SMatt Arsenault  printf("%v4ld", (int8) 123);
3458fc8082SMatt Arsenault  // CHECK: printf("%v8hld", (int8) 123);
3558fc8082SMatt Arsenault
3658fc8082SMatt Arsenault  printf("%v4hlf", (int4) 123);
3758fc8082SMatt Arsenault  // CHECK: printf("%v4hld", (int4) 123);
3858fc8082SMatt Arsenault
3958fc8082SMatt Arsenault  printf("%v8hld", (int4) 123);
4058fc8082SMatt Arsenault  // CHECK: printf("%v4hld", (int4) 123);
4158fc8082SMatt Arsenault
4258fc8082SMatt Arsenault  printf("%v4hld", (int8) 123);
4358fc8082SMatt Arsenault  // CHECK: printf("%v8hld", (int8) 123);
4458fc8082SMatt Arsenault
4558fc8082SMatt Arsenault  printf("%v4hlf", (int8) 123);
4658fc8082SMatt Arsenault  // CHECK: printf("%v8hld", (int8) 123);
4758fc8082SMatt Arsenault
4858fc8082SMatt Arsenault  printf("%v4hd", (int4) 123);
4958fc8082SMatt Arsenault  // CHECK: printf("%v4hld", (int4) 123);
5058fc8082SMatt Arsenault
5158fc8082SMatt Arsenault  printf("%v4hld", (short4) 123);
5258fc8082SMatt Arsenault  // CHECK: printf("%v4hd", (short4) 123);
5358fc8082SMatt Arsenault
5458fc8082SMatt Arsenault  printf("%v4ld", (short4) 123);
5558fc8082SMatt Arsenault  // CHECK: printf("%v4hd", (short4) 123);
5658fc8082SMatt Arsenault
5758fc8082SMatt Arsenault  printf("%v4hld", (long4) 123);
5858fc8082SMatt Arsenault  // CHECK: printf("%v4ld", (long4) 123);
5958fc8082SMatt Arsenault
6058fc8082SMatt Arsenault  printf("%v8f", (float4) 2.0f);
6158fc8082SMatt Arsenault  // CHECK: printf("%v4hlf", (float4) 2.0f);
6258fc8082SMatt Arsenault
6358fc8082SMatt Arsenault  printf("%v4f", (float4) 2.0f);
6458fc8082SMatt Arsenault  // CHECK: printf("%v4hlf", (float4) 2.0f);
6558fc8082SMatt Arsenault
6658fc8082SMatt Arsenault  printf("%v4lf", (double4) 2.0);
6758fc8082SMatt Arsenault  // CHECK: printf("%v4lf", (double4) 2.0);
6858fc8082SMatt Arsenault
6958fc8082SMatt Arsenault  /// FIXME: This should be fixed
7058fc8082SMatt Arsenault  printf("%v4hhd", (int4) 123);
7158fc8082SMatt Arsenault  // CHECK: printf("%v4hhd", (int4) 123);
7258fc8082SMatt Arsenault
7358fc8082SMatt Arsenault  /// FIXME: This should be fixed
7458fc8082SMatt Arsenault  printf("%v4hhd", (int8) 123);
7558fc8082SMatt Arsenault  // CHECK: printf("%v4hhd", (int8) 123);
760ff50d49SMatt Arsenault}
77