
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
28 lines
470 B
C
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
|