Index: clang/test/CodeGenOpenCLCXX/address-space-castoperators.cpp =================================================================== --- clang/test/CodeGenOpenCLCXX/address-space-castoperators.cpp +++ clang/test/CodeGenOpenCLCXX/address-space-castoperators.cpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s void test_reinterpret_cast(){ __private float x; Index: clang/test/CodeGenOpenCLCXX/address-space-deduction.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/address-space-deduction.clcpp +++ clang/test/CodeGenOpenCLCXX/address-space-deduction.clcpp @@ -1,5 +1,7 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s -check-prefixes=COMMON,PTR // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - -DREF | FileCheck %s -check-prefixes=COMMON,REF +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s -check-prefixes=COMMON,PTR +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - -DREF | FileCheck %s -check-prefixes=COMMON,REF #ifdef REF #define PTR & Index: clang/test/CodeGenOpenCLCXX/address-space-deduction2.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/address-space-deduction2.clcpp +++ clang/test/CodeGenOpenCLCXX/address-space-deduction2.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s class P { public: Index: clang/test/CodeGenOpenCLCXX/addrspace-conversion.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace-conversion.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace-conversion.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s void bar(__generic volatile unsigned int* ptr) { Index: clang/test/CodeGenOpenCLCXX/addrspace-derived-base.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace-derived-base.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace-derived-base.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s struct B { int mb; Index: clang/test/CodeGenOpenCLCXX/addrspace-new-delete.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace-new-delete.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace-new-delete.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s typedef __SIZE_TYPE__ size_t; Index: clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp @@ -1,6 +1,9 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -pedantic -verify -O0 -o - -DDECL | FileCheck %s --check-prefixes="COMMON,EXPL" // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -pedantic -verify -O0 -o - -DDECL -DUSE_DEFLT | FileCheck %s --check-prefixes="COMMON,IMPL" // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -pedantic -verify -O0 -o - | FileCheck %s --check-prefixes="COMMON,IMPL" +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -pedantic -verify -O0 -o - -DDECL | FileCheck %s --check-prefixes="COMMON,EXPL" +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -pedantic -verify -O0 -o - -DDECL -DUSE_DEFLT | FileCheck %s --check-prefixes="COMMON,IMPL" +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -pedantic -verify -O0 -o - | FileCheck %s --check-prefixes="COMMON,IMPL" // expected-no-diagnostics // Test that the 'this' pointer is in the __generic address space. Index: clang/test/CodeGenOpenCLCXX/addrspace-operators.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace-operators.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace-operators.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s enum E { a, Index: clang/test/CodeGenOpenCLCXX/addrspace-references.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace-references.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace-references.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s typedef short short2 __attribute__((ext_vector_type(2))); Index: clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp @@ -1,5 +1,7 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s --check-prefix=CHECK-DEFINITIONS +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s --check-prefix=CHECK-DEFINITIONS // This test ensures the proper address spaces and address space cast are used // for constructors, member functions and destructors. Index: clang/test/CodeGenOpenCLCXX/addrspace_cast.clcpp =================================================================== --- clang/test/CodeGenOpenCLCXX/addrspace_cast.clcpp +++ clang/test/CodeGenOpenCLCXX/addrspace_cast.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -emit-llvm -O0 -o - | FileCheck %s //CHECK-LABEL: define{{.*}} spir_func void @_Z3barPU3AS1i void bar(global int *gl) { Index: clang/test/SemaOpenCLCXX/address-space-castoperators.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-castoperators.clcpp +++ clang/test/SemaOpenCLCXX/address-space-castoperators.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s void nester_ptr() { local int * * locgen; Index: clang/test/SemaOpenCLCXX/address-space-cond.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-cond.clcpp +++ clang/test/SemaOpenCLCXX/address-space-cond.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -verify +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -verify namespace PointerRvalues { Index: clang/test/SemaOpenCLCXX/address-space-deduction.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-deduction.clcpp +++ clang/test/SemaOpenCLCXX/address-space-deduction.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s //expected-no-diagnostics Index: clang/test/SemaOpenCLCXX/address-space-lambda.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-lambda.clcpp +++ clang/test/SemaOpenCLCXX/address-space-lambda.clcpp @@ -1,5 +1,6 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple i386-windows -pedantic -ast-dump -verify | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s //CHECK: CXXMethodDecl {{.*}} constexpr operator() 'int (__private int){{.*}} const __generic' auto glambda = [](auto a) { return a; }; @@ -34,24 +35,24 @@ priv2(); auto priv3 = []() __global {}; //expected-note{{candidate function not viable: 'this' object is in address space '__private', but method expects object in address space '__global'}} #if defined(_WIN32) && !defined(_WIN64) - //expected-note@35{{conversion candidate of type 'void (*)() __attribute__((thiscall))'}} + //expected-note@-2{{conversion candidate of type 'void (*)() __attribute__((thiscall))'}} #else - //expected-note@35{{conversion candidate of type 'void (*)()'}} + //expected-note@-4{{conversion candidate of type 'void (*)()'}} #endif priv3(); //expected-error{{no matching function for call to object of type}} __constant auto const1 = []() __private{}; //expected-note{{candidate function not viable: 'this' object is in address space '__constant', but method expects object in address space '__private'}} #if defined(_WIN32) && !defined(_WIN64) - //expected-note@43{{conversion candidate of type 'void (*)() __attribute__((thiscall))'}} + //expected-note@-2{{conversion candidate of type 'void (*)() __attribute__((thiscall))'}} #else - //expected-note@43{{conversion candidate of type 'void (*)()'}} + //expected-note@-4{{conversion candidate of type 'void (*)()'}} #endif const1(); //expected-error{{no matching function for call to object of type '__constant (lambda at}} __constant auto const2 = []() __generic{}; //expected-note{{candidate function not viable: 'this' object is in address space '__constant', but method expects object in address space '__generic'}} #if defined(_WIN32) && !defined(_WIN64) - //expected-note@50{{conversion candidate of type 'void (*)() __attribute__((thiscall))'}} + //expected-note@-2{{conversion candidate of type 'void (*)() __attribute__((thiscall))'}} #else - //expected-note@50{{conversion candidate of type 'void (*)()'}} + //expected-note@-4{{conversion candidate of type 'void (*)()'}} #endif const2(); //expected-error{{no matching function for call to object of type '__constant (lambda at}} //CHECK: |-CXXMethodDecl {{.*}} constexpr operator() 'void () {{.*}}const __constant' Index: clang/test/SemaOpenCLCXX/address-space-of-this-class-scope.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-of-this-class-scope.clcpp +++ clang/test/SemaOpenCLCXX/address-space-of-this-class-scope.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -verify +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -verify struct C { auto fGlob() __global -> decltype(this); Index: clang/test/SemaOpenCLCXX/address-space-of-this.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-of-this.clcpp +++ clang/test/SemaOpenCLCXX/address-space-of-this.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -verify -fsyntax-only +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -verify -fsyntax-only // expected-no-diagnostics // Extract from PR38614 Index: clang/test/SemaOpenCLCXX/address-space-references.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-references.clcpp +++ clang/test/SemaOpenCLCXX/address-space-references.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -verify -fsyntax-only +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -verify -fsyntax-only __global const int& f(__global float &ref) { return ref; // expected-error{{reference of type 'const __global int &' cannot bind to a temporary object because of address space mismatch}} Index: clang/test/SemaOpenCLCXX/address-space-templates.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address-space-templates.clcpp +++ clang/test/SemaOpenCLCXX/address-space-templates.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -verify -ast-dump | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -verify -ast-dump | FileCheck %s template struct S { Index: clang/test/SemaOpenCLCXX/address_space_overloading.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/address_space_overloading.clcpp +++ clang/test/SemaOpenCLCXX/address_space_overloading.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only // expected-no-diagnostics struct RetGlob { Index: clang/test/SemaOpenCLCXX/addrspace-auto.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/addrspace-auto.clcpp +++ clang/test/SemaOpenCLCXX/addrspace-auto.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s __constant int i = 1; //CHECK: |-VarDecl {{.*}} ai '__global int':'__global int' Index: clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp +++ clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -ast-dump -verify | FileCheck %s __constant int g1; // expected-error {{variable in constant address space must be initialized}} __constant int g2 = 0; Index: clang/test/SemaOpenCLCXX/addrspace_cast.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/addrspace_cast.clcpp +++ clang/test/SemaOpenCLCXX/addrspace_cast.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -verify -fsyntax-only +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -verify -fsyntax-only void foo(global int *gl, const global int *gl_const, global int &gl_ref) { //FIXME: Diagnostics can be improved to be more specific in some cases. Index: clang/test/SemaOpenCLCXX/addrspace_cast_ast_dump.clcpp =================================================================== --- clang/test/SemaOpenCLCXX/addrspace_cast_ast_dump.clcpp +++ clang/test/SemaOpenCLCXX/addrspace_cast_ast_dump.clcpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -cl-std=clc++1.0 -triple spir-unknown-unknown -pedantic -verify -ast-dump | FileCheck %s +// RUN: %clang_cc1 %s -cl-std=clc++2021 -triple spir-unknown-unknown -pedantic -verify -ast-dump | FileCheck %s // expected-no-diagnostics