llvm-project/clang/test/SemaOpenCL/extension-begin.h
Anastasia Stulova 3549466ac0 [OpenCL] Drop pragma handling for extension types/decls.
Drop non-conformant extension pragma implementation as
it does not properly disable anything and therefore
enabling non-disabled logic has no meaning.

This simplifies clang code and user interface to the extension
functionality. With this patch extension pragma 'begin'/'end'
and 'enable'/'disable' are only accepted for backward
compatibility and no longer have any default behavior.

Differential Revision: https://reviews.llvm.org/D101043
2021-05-17 12:09:43 +01:00

28 lines
470 B
C

#ifndef INCLUDED
#define INCLUDED
#pragma OPENCL EXTENSION all : begin
#pragma OPENCL EXTENSION all : end
#pragma OPENCL EXTENSION my_ext : begin
struct A {
int a;
};
#pragma OPENCL EXTENSION my_ext : end
#pragma OPENCL EXTENSION my_ext : end
#define my_ext
typedef struct A TypedefOfA;
typedef const __private TypedefOfA* PointerOfA;
void f(void);
__attribute__((overloadable)) void g(long x);
__attribute__((overloadable)) void g(void);
#endif // INCLUDED