Commit 3832bda1 authored by Jan Lindström's avatar Jan Lindström

Fix compiler error if compiler does not support c99 style

initializers.
parent 7ed673f3
--source include/not_embedded.inc
select * from information_schema.innodb_trx; select * from information_schema.innodb_trx;
select * from information_schema.innodb_locks; select * from information_schema.innodb_locks;
......
...@@ -210,6 +210,8 @@ IF(HAVE_IB_ATOMIC_PTHREAD_T_GCC) ...@@ -210,6 +210,8 @@ IF(HAVE_IB_ATOMIC_PTHREAD_T_GCC)
ADD_DEFINITIONS(-DHAVE_IB_ATOMIC_PTHREAD_T_GCC=1) ADD_DEFINITIONS(-DHAVE_IB_ATOMIC_PTHREAD_T_GCC=1)
ENDIF() ENDIF()
CHECK_C_SOURCE_COMPILES("struct t1{ int a; char *b; }; struct t1 c= { .a=1, .b=0 }; main() { }" HAVE_C99_INITIALIZERS)
ENDIF(NOT MSVC) ENDIF(NOT MSVC)
CHECK_FUNCTION_EXISTS(asprintf HAVE_ASPRINTF) CHECK_FUNCTION_EXISTS(asprintf HAVE_ASPRINTF)
......
...@@ -85,10 +85,13 @@ do { \ ...@@ -85,10 +85,13 @@ do { \
} \ } \
} while (0) } while (0)
#if !defined __STRICT_ANSI__ && defined __GNUC__ && (__GNUC__) > 2 && \ #if !defined __STRICT_ANSI__ && defined __GNUC__ && (__GNUC__) > 2 && !defined __INTEL_COMPILER && !defined __clang__
!defined __INTEL_COMPILER && !defined __clang__ #ifdef HAVE_C99_INITIALIZERS
#define STRUCT_FLD(name, value) .name = value #define STRUCT_FLD(name, value) .name = value
#else #else
#define STRUCT_FLD(name, value) name: value
#endif /* HAVE_C99_INITIALIZERS */
#else
#define STRUCT_FLD(name, value) value #define STRUCT_FLD(name, value) value
#endif #endif
......
...@@ -219,6 +219,8 @@ IF(HAVE_IB_ATOMIC_PTHREAD_T_GCC) ...@@ -219,6 +219,8 @@ IF(HAVE_IB_ATOMIC_PTHREAD_T_GCC)
ADD_DEFINITIONS(-DHAVE_IB_ATOMIC_PTHREAD_T_GCC=1) ADD_DEFINITIONS(-DHAVE_IB_ATOMIC_PTHREAD_T_GCC=1)
ENDIF() ENDIF()
CHECK_C_SOURCE_COMPILES("struct t1{ int a; char *b; }; struct t1 c= { .a=1, .b=0 }; main() { }" HAVE_C99_INITIALIZERS)
ENDIF(NOT MSVC) ENDIF(NOT MSVC)
CHECK_FUNCTION_EXISTS(asprintf HAVE_ASPRINTF) CHECK_FUNCTION_EXISTS(asprintf HAVE_ASPRINTF)
......
...@@ -89,10 +89,13 @@ do { \ ...@@ -89,10 +89,13 @@ do { \
} \ } \
} while (0) } while (0)
#if !defined __STRICT_ANSI__ && defined __GNUC__ && (__GNUC__) > 2 && \ #if !defined __STRICT_ANSI__ && defined __GNUC__ && (__GNUC__) > 2 && !defined __INTEL_COMPILER && !defined __clang__
!defined __INTEL_COMPILER && !defined __clang__ #ifdef HAVE_C99_INITIALIZERS
#define STRUCT_FLD(name, value) .name = value #define STRUCT_FLD(name, value) .name = value
#else #else
#define STRUCT_FLD(name, value) name: value
#endif /* HAVE_C99_INITIALIZERS */
#else
#define STRUCT_FLD(name, value) value #define STRUCT_FLD(name, value) value
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment