Merge "VIXL Release 1.12"
am: 1e7250265e

* commit '1e7250265ee4c816bc3524f029876878c042b663':
  VIXL Release 1.12
diff --git a/README.md b/README.md
index 4b73303..46042d7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-VIXL: AArch64 Runtime Code Generation Library Version 1.11
+VIXL: AArch64 Runtime Code Generation Library Version 1.12
 ==========================================================
 
 Contents:
diff --git a/SConstruct b/SConstruct
index ecbd29a..d1ffa81 100644
--- a/SConstruct
+++ b/SConstruct
@@ -269,7 +269,6 @@
 # The VIXL library, built by default.
 env = Environment(variables = vars)
 ConfigureEnvironment(env)
-ProcessBuildOptions(env)
 Help(vars.GenerateHelpText(env))
 libvixl = VIXLLibraryTarget(env)
 Default(libvixl)
diff --git a/doc/changelog.md b/doc/changelog.md
index e3c4e2a..f053e19 100644
--- a/doc/changelog.md
+++ b/doc/changelog.md
@@ -1,6 +1,9 @@
 VIXL Change Log
 ===============
 
+* 1.12
+    + Bug fixes for toolchain compatibility.
+
 * 1.11
     + Fix bug in simulation of add with carry.
     + Fix use-after-free bug in Literal handling.
diff --git a/src/vixl/utils.h b/src/vixl/utils.h
index 969353d..5ab134e 100644
--- a/src/vixl/utils.h
+++ b/src/vixl/utils.h
@@ -35,9 +35,9 @@
 namespace vixl {
 
 // Macros for compile-time format checking.
-#if defined(__GNUC__)
+#if GCC_VERSION_OR_NEWER(4, 4, 0)
 #define PRINTF_CHECK(format_index, varargs_index) \
-  __attribute__((format(printf, format_index, varargs_index)))
+  __attribute__((format(gnu_printf, format_index, varargs_index)))
 #else
 #define PRINTF_CHECK(format_index, varargs_index)
 #endif
@@ -220,7 +220,7 @@
   // Split the 64-bit value into an 8-bit array, where b[0] is the least
   // significant byte, and b[7] is the most significant.
   uint8_t bytes[8];
-  uint64_t mask = 0xff00000000000000;
+  uint64_t mask = UINT64_C(0xff00000000000000);
   for (int i = 7; i >= 0; i--) {
     bytes[i] = (static_cast<uint64_t>(value) & mask) >> (i * 8);
     mask >>= 8;