summaryrefslogtreecommitdiff
path: root/onlineupdate/source/libmar/inc/mozilla/Types.h
diff options
context:
space:
mode:
Diffstat (limited to 'onlineupdate/source/libmar/inc/mozilla/Types.h')
-rw-r--r--onlineupdate/source/libmar/inc/mozilla/Types.h134
1 files changed, 0 insertions, 134 deletions
diff --git a/onlineupdate/source/libmar/inc/mozilla/Types.h b/onlineupdate/source/libmar/inc/mozilla/Types.h
deleted file mode 100644
index 9d1e34b6d1d6..000000000000
--- a/onlineupdate/source/libmar/inc/mozilla/Types.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/* mfbt foundational types and macros. */
-
-#ifndef mozilla_Types_h
-#define mozilla_Types_h
-
-/*
- * This header must be valid C and C++, includable by code embedding either
- * SpiderMonkey or Gecko.
- */
-
-/* Expose all <stdint.h> types and size_t. */
-#include <stddef.h>
-#include <stdint.h>
-
-/* Implement compiler and linker macros needed for APIs. */
-
-/*
- * MOZ_EXPORT is used to declare and define a symbol or type which is externally
- * visible to users of the current library. It encapsulates various decorations
- * needed to properly export the method's symbol.
- *
- * api.h:
- * extern MOZ_EXPORT int MeaningOfLife(void);
- * extern MOZ_EXPORT int LuggageCombination;
- *
- * api.c:
- * int MeaningOfLife(void) { return 42; }
- * int LuggageCombination = 12345;
- *
- * If you are merely sharing a method across files, just use plain |extern|.
- * These macros are designed for use by library interfaces -- not for normal
- * methods or data used cross-file.
- */
-#if defined(_WIN32)
-# define MOZ_EXPORT __declspec(dllexport)
-#else /* Unix */
-# ifdef HAVE_VISIBILITY_ATTRIBUTE
-# define MOZ_EXPORT __attribute__((visibility("default")))
-# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-# define MOZ_EXPORT __global
-# else
-# define MOZ_EXPORT /* nothing */
-# endif
-#endif
-
-
-/*
- * Whereas implementers use MOZ_EXPORT to declare and define library symbols,
- * users use MOZ_IMPORT_API and MOZ_IMPORT_DATA to access them. Most often the
- * implementer of the library will expose an API macro which expands to either
- * the export or import version of the macro, depending upon the compilation
- * mode.
- */
-#ifdef _WIN32
-# if defined(__MWERKS__)
-# define MOZ_IMPORT_API /* nothing */
-# else
-# define MOZ_IMPORT_API __declspec(dllimport)
-# endif
-#else
-# define MOZ_IMPORT_API MOZ_EXPORT
-#endif
-
-#if defined(_WIN32) && !defined(__MWERKS__)
-# define MOZ_IMPORT_DATA __declspec(dllimport)
-#else
-# define MOZ_IMPORT_DATA MOZ_EXPORT
-#endif
-
-/*
- * Consistent with the above comment, the MFBT_API and MFBT_DATA macros expose
- * export mfbt declarations when building mfbt, and they expose import mfbt
- * declarations when using mfbt.
- */
-#if defined(IMPL_MFBT)
-# define MFBT_API MOZ_EXPORT
-# define MFBT_DATA MOZ_EXPORT
-#else
- /*
- * On linux mozglue is linked in the program and we link libxul.so with
- * -z,defs. Normally that causes the linker to reject undefined references in
- * libxul.so, but as a loophole it allows undefined references to weak
- * symbols. We add the weak attribute to the import version of the MFBT API
- * macros to exploit this.
- */
-# if defined(MOZ_GLUE_IN_PROGRAM) && !defined(MOZILLA_XPCOMRT_API)
-# define MFBT_API __attribute__((weak)) MOZ_IMPORT_API
-# define MFBT_DATA __attribute__((weak)) MOZ_IMPORT_DATA
-# else
-# define MFBT_API MOZ_IMPORT_API
-# define MFBT_DATA MOZ_IMPORT_DATA
-# endif
-#endif
-
-/*
- * C symbols in C++ code must be declared immediately within |extern "C"|
- * blocks. However, in C code, they need not be declared specially. This
- * difference is abstracted behind the MOZ_BEGIN_EXTERN_C and MOZ_END_EXTERN_C
- * macros, so that the user need not know whether he is being used in C or C++
- * code.
- *
- * MOZ_BEGIN_EXTERN_C
- *
- * extern MOZ_EXPORT int MostRandomNumber(void);
- * ...other declarations...
- *
- * MOZ_END_EXTERN_C
- *
- * This said, it is preferable to just use |extern "C"| in C++ header files for
- * its greater clarity.
- */
-#ifdef __cplusplus
-# define MOZ_BEGIN_EXTERN_C extern "C" {
-# define MOZ_END_EXTERN_C }
-#else
-# define MOZ_BEGIN_EXTERN_C
-# define MOZ_END_EXTERN_C
-#endif
-
-/*
- * GCC's typeof is available when decltype is not.
- */
-#if defined(__GNUC__) && defined(__cplusplus) && \
- !defined(__GXX_EXPERIMENTAL_CXX0X__) && __cplusplus < 201103L
-# define decltype __typeof__
-#endif
-
-#endif /* mozilla_Types_h */