summaryrefslogtreecommitdiff
path: root/deps/mysqllite/include/my_compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/mysqllite/include/my_compiler.h')
-rw-r--r--deps/mysqllite/include/my_compiler.h145
1 files changed, 0 insertions, 145 deletions
diff --git a/deps/mysqllite/include/my_compiler.h b/deps/mysqllite/include/my_compiler.h
deleted file mode 100644
index 5f89862115..0000000000
--- a/deps/mysqllite/include/my_compiler.h
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef MY_COMPILER_INCLUDED
-#define MY_COMPILER_INCLUDED
-
-/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-
-/**
- Header for compiler-dependent features.
-
- Intended to contain a set of reusable wrappers for preprocessor
- macros, attributes, pragmas, and any other features that are
- specific to a target compiler.
-*/
-
-#include <my_global.h> /* stddef.h offsetof */
-
-/**
- Compiler-dependent internal convenience macros.
-*/
-
-/* GNU C/C++ */
-#if defined __GNUC__
-/* Convenience macro to test the minimum required GCC version. */
-# define MY_GNUC_PREREQ(maj, min) \
- ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-/* Any after 2.95... */
-# define MY_ALIGN_EXT
-/* Comunicate to the compiler the unreachability of the code. */
-# if MY_GNUC_PREREQ(4,5)
-# define MY_ASSERT_UNREACHABLE() __builtin_unreachable()
-# endif
-
-/* Microsoft Visual C++ */
-#elif defined _MSC_VER
-# define MY_ALIGNOF(type) __alignof(type)
-# define MY_ALIGNED(n) __declspec(align(n))
-
-/* Oracle Solaris Studio */
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-# if __SUNPRO_C >= 0x590
-# define MY_ALIGN_EXT
-# endif
-
-/* IBM XL C/C++ */
-#elif defined __xlC__
-# if __xlC__ >= 0x0600
-# define MY_ALIGN_EXT
-# endif
-
-/* HP aCC */
-#elif defined(__HP_aCC) || defined(__HP_cc)
-# if (__HP_aCC >= 60000) || (__HP_cc >= 60000)
-# define MY_ALIGN_EXT
-# endif
-#endif
-
-#ifdef MY_ALIGN_EXT
-/** Specifies the minimum alignment of a type. */
-# define MY_ALIGNOF(type) __alignof__(type)
-/** Determine the alignment requirement of a type. */
-# define MY_ALIGNED(n) __attribute__((__aligned__((n))))
-#endif
-
-/**
- Generic (compiler-independent) features.
-*/
-
-#ifndef MY_GNUC_PREREQ
-# define MY_GNUC_PREREQ(maj, min) (0)
-#endif
-
-#ifndef MY_ALIGNOF
-# ifdef __cplusplus
- template<typename type> struct my_alignof_helper { char m1; type m2; };
- /* Invalid for non-POD types, but most compilers give the right answer. */
-# define MY_ALIGNOF(type) offsetof(my_alignof_helper<type>, m2)
-# else
-# define MY_ALIGNOF(type) offsetof(struct { char m1; type m2; }, m2)
-# endif
-#endif
-
-#ifndef MY_ASSERT_UNREACHABLE
-# define MY_ASSERT_UNREACHABLE() do { assert(0); } while (0)
-#endif
-
-/**
- C++ Type Traits
-*/
-
-#ifdef __cplusplus
-
-/**
- Opaque storage with a particular alignment.
-*/
-# if defined(MY_ALIGNED)
-/* Partial specialization used due to MSVC++. */
-template<size_t alignment> struct my_alignment_imp;
-template<> struct MY_ALIGNED(1) my_alignment_imp<1> {};
-template<> struct MY_ALIGNED(2) my_alignment_imp<2> {};
-template<> struct MY_ALIGNED(4) my_alignment_imp<4> {};
-template<> struct MY_ALIGNED(8) my_alignment_imp<8> {};
-template<> struct MY_ALIGNED(16) my_alignment_imp<16> {};
-/* ... expand as necessary. */
-# else
-template<size_t alignment>
-struct my_alignment_imp { double m1; };
-# endif
-
-/**
- A POD type with a given size and alignment.
-
- @remark If the compiler does not support a alignment attribute
- (MY_ALIGN macro), the default alignment of a double is
- used instead.
-
- @tparam size The minimum size.
- @tparam alignment The desired alignment: 1, 2, 4, 8 or 16.
-*/
-template <size_t size, size_t alignment>
-struct my_aligned_storage
-{
- union
- {
- char data[size];
- my_alignment_imp<alignment> align;
- };
-};
-
-#endif /* __cplusplus */
-
-#include <my_attribute.h>
-
-#endif /* MY_COMPILER_INCLUDED */