mirror of
https://git.freebsd.org/ports.git
synced 2025-06-18 03:00:42 -04:00
- Update Firefox and gmp-api to 39.0 - Update Firefox ESR and libxul to 38.1.0 Changes: https://developer.mozilla.org/docs/Mozilla/Projects/NSS/NSS_3.19.2_release_notes Changes: https://www.mozilla.org/firefox/39.0/releasenotes/ Changes: https://www.mozilla.org/firefox/38.1.0/releasenotes/ MFH: 2015Q3 Security: https://vuxml.freebsd.org/freebsd/44d9daee-940c-4179-86bb-6e3ffd617869.html
77 lines
2.2 KiB
Text
77 lines
2.2 KiB
Text
diff --git mfbt/Alignment.h mfbt/Alignment.h
|
|
index e0843ca..353ec36 100644
|
|
--- mfbt/Alignment.h
|
|
+++ mfbt/Alignment.h
|
|
@@ -9,11 +9,20 @@
|
|
#ifndef mozilla_Alignment_h
|
|
#define mozilla_Alignment_h
|
|
|
|
+#include "mozilla/Attributes.h"
|
|
+
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
namespace mozilla {
|
|
|
|
+#if defined(MOZ_HAVE_CXX11_ALIGNAS)
|
|
+#define MOZ_ALIGNOF(T) alignof(T)
|
|
+#elif defined(__GNUC__)
|
|
+#define MOZ_ALIGNOF(T) __alignof__(T)
|
|
+#elif defined(_MSC_VER)
|
|
+#define MOZ_ALIGNOF(T) __alignof(T)
|
|
+#else
|
|
/*
|
|
* This class, and the corresponding macro MOZ_ALIGNOF, figures out how many
|
|
* bytes of alignment a given type needs.
|
|
@@ -32,6 +41,7 @@ public:
|
|
};
|
|
|
|
#define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment
|
|
+#endif
|
|
|
|
/*
|
|
* Declare the MOZ_ALIGNED_DECL macro for declaring aligned types.
|
|
@@ -43,7 +53,10 @@ public:
|
|
* will declare a two-character array |arr| aligned to 8 bytes.
|
|
*/
|
|
|
|
-#if defined(__GNUC__)
|
|
+#if defined(MOZ_HAVE_CXX11_ALIGNAS)
|
|
+# define MOZ_ALIGNED_DECL(_type, _align) \
|
|
+ alignas(_align) _type
|
|
+#elif defined(__GNUC__)
|
|
# define MOZ_ALIGNED_DECL(_type, _align) \
|
|
_type __attribute__((aligned(_align)))
|
|
#elif defined(_MSC_VER)
|
|
diff --git mfbt/Attributes.h mfbt/Attributes.h
|
|
index d317766..ddb13da 100644
|
|
--- mfbt/Attributes.h
|
|
+++ mfbt/Attributes.h
|
|
@@ -50,6 +50,7 @@
|
|
* don't indicate support for them here, due to
|
|
* http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug
|
|
*/
|
|
+# define MOZ_HAVE_CXX11_ALIGNAS
|
|
# define MOZ_HAVE_NEVER_INLINE __declspec(noinline)
|
|
# define MOZ_HAVE_NORETURN __declspec(noreturn)
|
|
# ifdef __clang__
|
|
@@ -70,6 +71,9 @@
|
|
# ifndef __has_extension
|
|
# define __has_extension __has_feature /* compatibility, for older versions of clang */
|
|
# endif
|
|
+# if __has_extension(cxx_alignas)
|
|
+# define MOZ_HAVE_CXX11_ALIGNAS
|
|
+# endif
|
|
# if __has_extension(cxx_constexpr)
|
|
# define MOZ_HAVE_CXX11_CONSTEXPR
|
|
# endif
|
|
@@ -84,6 +88,9 @@
|
|
# endif
|
|
#elif defined(__GNUC__)
|
|
# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
|
|
+# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
|
|
+# define MOZ_HAVE_CXX11_ALIGNAS
|
|
+# endif
|
|
# define MOZ_HAVE_CXX11_CONSTEXPR
|
|
# define MOZ_HAVE_EXPLICIT_CONVERSION
|
|
# endif
|