add missing #define in ocl_stdlib.h: INLINE_OVERLOADABLE and OVERLOADABLE
authorHomer Hsing <homer.xing@intel.com>
Fri, 7 Dec 2012 01:17:07 +0000 (09:17 +0800)
committerZhigang Gong <zhigang.gong@linux.intel.com>
Fri, 29 Mar 2013 11:10:44 +0000 (19:10 +0800)
use INLINE_OVERLOADABLE in DECL

backend/src/ocl_stdlib.h
backend/src/ocl_stdlib_str.cpp

index 0633820..cf8d9ce 100644 (file)
@@ -24,6 +24,7 @@ uint* Copyright © 2012 Intel Corporation
 #define OVERLOADABLE __attribute__((overloadable))
 #define PURE __attribute__((pure))
 #define CONST __attribute__((const))
+#define INLINE_OVERLOADABLE __attribute__((overloadable,always_inline))
 
 /////////////////////////////////////////////////////////////////////////////
 // OpenCL built-in scalar data types
@@ -113,22 +114,22 @@ typedef size_t event_t;
             DECL(int4, float4); \
             DECL(int8, float8); \
             DECL(int16, float16);
-#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isequal(type x, type y) { return x == y; }
+#define DECL(ret, type) ret INLINE_OVERLOADABLE isequal(type x, type y) { return x == y; }
 DEF;
 #undef DECL
-#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isnotequal(type x, type y) { return x != y; }
+#define DECL(ret, type) ret INLINE_OVERLOADABLE isnotequal(type x, type y) { return x != y; }
 DEF;
 #undef DECL
-#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isgreater(type x, type y) { return x > y; }
+#define DECL(ret, type) ret INLINE_OVERLOADABLE isgreater(type x, type y) { return x > y; }
 DEF;
 #undef DECL
-#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isgreaterequal(type x, type y) { return x >= y; }
+#define DECL(ret, type) ret INLINE_OVERLOADABLE isgreaterequal(type x, type y) { return x >= y; }
 DEF;
 #undef DECL
-#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isless(type x, type y) { return x < y; }
+#define DECL(ret, type) ret INLINE_OVERLOADABLE isless(type x, type y) { return x < y; }
 DEF;
 #undef DECL
-#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) islessequal(type x, type y) { return x <= y; }
+#define DECL(ret, type) ret INLINE_OVERLOADABLE islessequal(type x, type y) { return x <= y; }
 DEF;
 #undef DECL
 #undef DEF
index 2cd750c..0f97be4 100644 (file)
@@ -27,6 +27,7 @@ std::string ocl_stdlib_str =
 "#define OVERLOADABLE __attribute__((overloadable))\n"
 "#define PURE __attribute__((pure))\n"
 "#define CONST __attribute__((const))\n"
+"#define INLINE_OVERLOADABLE __attribute__((overloadable,always_inline))\n"
 "\n"
 "/////////////////////////////////////////////////////////////////////////////\n"
 "// OpenCL built-in scalar data types\n"
@@ -117,22 +118,22 @@ std::string ocl_stdlib_str =
 "            DECL(int4, float4); \\\n"
 "            DECL(int8, float8); \\\n"
 "            DECL(int16, float16);\n"
-"#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isequal(type x, type y) { return x == y; }\n"
+"#define DECL(ret, type) ret INLINE_OVERLOADABLE isequal(type x, type y) { return x == y; }\n"
 "DEF;\n"
 "#undef DECL\n"
-"#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isnotequal(type x, type y) { return x != y; }\n"
+"#define DECL(ret, type) ret INLINE_OVERLOADABLE isnotequal(type x, type y) { return x != y; }\n"
 "DEF;\n"
 "#undef DECL\n"
-"#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isgreater(type x, type y) { return x > y; }\n"
+"#define DECL(ret, type) ret INLINE_OVERLOADABLE isgreater(type x, type y) { return x > y; }\n"
 "DEF;\n"
 "#undef DECL\n"
-"#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isgreaterequal(type x, type y) { return x >= y; }\n"
+"#define DECL(ret, type) ret INLINE_OVERLOADABLE isgreaterequal(type x, type y) { return x >= y; }\n"
 "DEF;\n"
 "#undef DECL\n"
-"#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) isless(type x, type y) { return x < y; }\n"
+"#define DECL(ret, type) ret INLINE_OVERLOADABLE isless(type x, type y) { return x < y; }\n"
 "DEF;\n"
 "#undef DECL\n"
-"#define DECL(ret, type) ret __attribute__((always_inline,overloadable)) islessequal(type x, type y) { return x <= y; }\n"
+"#define DECL(ret, type) ret INLINE_OVERLOADABLE islessequal(type x, type y) { return x <= y; }\n"
 "DEF;\n"
 "#undef DECL\n"
 "#undef DEF\n"