Topotuna updated this revision to Diff 390622.
Topotuna added a comment.
Herald added a subscriber: Naghasan.
Test coverage expanded
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D110185/new/
https://reviews.llvm.org/D110185
Files:
clang/test/CodeGenOpenCLCXX/address-space-castoperators.cpp
clang/test/CodeGenOpenCLCXX/address-space-deduction.clcpp
clang/test/CodeGenOpenCLCXX/address-space-deduction2.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-conversion.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-derived-base.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-new-delete.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-operators.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-references.clcpp
clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp
clang/test/CodeGenOpenCLCXX/addrspace_cast.clcpp
clang/test/SemaOpenCLCXX/address-space-castoperators.clcpp
clang/test/SemaOpenCLCXX/address-space-cond.clcpp
clang/test/SemaOpenCLCXX/address-space-deduction.clcpp
clang/test/SemaOpenCLCXX/address-space-lambda.clcpp
clang/test/SemaOpenCLCXX/address-space-of-this-class-scope.clcpp
clang/test/SemaOpenCLCXX/address-space-of-this.clcpp
clang/test/SemaOpenCLCXX/address-space-references.clcpp
clang/test/SemaOpenCLCXX/address-space-templates.clcpp
clang/test/SemaOpenCLCXX/address_space_overloading.clcpp
clang/test/SemaOpenCLCXX/addrspace-auto.clcpp
clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp
clang/test/SemaOpenCLCXX/addrspace_cast.clcpp
clang/test/SemaOpenCLCXX/addrspace_cast_ast_dump.clcpp
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
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-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-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/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/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 <typename T>
struct S {
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-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-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-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-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-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-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/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/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-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-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-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-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-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-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/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/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-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;
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits