]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/master.hpp
Put brackets around ipv6 addresses in `inet6 present`
[factor.git] / vm / master.hpp
index 67289dd1170e4bbfd58b14f1eb4de1bc78e8fd03..653b9fda9cd669a3a3ab603bb3f7f2c2d8e87f70 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <errno.h>
 
-/* C headers */
+// C headers
 #include <fcntl.h>
 #include <limits.h>
 #include <math.h>
@@ -22,7 +22,7 @@
 #include <wchar.h>
 #include <stdint.h>
 
-/* C++ headers */
+// C++ headers
 #include <algorithm>
 #include <list>
 #include <map>
 #include <iostream>
 #include <iomanip>
 #include <limits>
+#include <sstream>
 #include <string>
 
 #define FACTOR_STRINGIZE_I(x) #x
 #define FACTOR_STRINGIZE(x) FACTOR_STRINGIZE_I(x)
 
-/* Record compiler version */
+// Record compiler version
 #if defined(__clang__)
 #define FACTOR_COMPILER_VERSION "Clang (GCC " __VERSION__ ")"
 #elif defined(__INTEL_COMPILER)
 #define FACTOR_COMPILER_VERSION \
   "Intel C Compiler " FACTOR_STRINGIZE(__INTEL_COMPILER)
+#elif defined(__MINGW32__)
+#define FACTOR_COMPILER_VERSION "MinGW (GCC " __VERSION__ ")"
 #elif defined(__GNUC__)
 #define FACTOR_COMPILER_VERSION "GCC " __VERSION__
 #elif defined(_MSC_FULL_VER)
 #define FACTOR_COMPILER_VERSION "unknown"
 #endif
 
-/* Record compilation time */
-#define FACTOR_COMPILE_TIME __TIMESTAMP__
+#if defined(FACTOR_REPRODUCIBLE)
+  #define FACTOR_COMPILE_TIME "[reproducible]"
+#else
+  // Record compilation time
+  #define FACTOR_COMPILE_TIME  __DATE__ " " __TIME__
+#endif
 
-/* Detect target CPU type */
+// Detect target CPU type
 #if defined(__arm__)
 #define FACTOR_ARM
+#elif defined(__aarch64__)
+#define FACTOR_ARM64
+#define FACTOR_64
 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
 #define FACTOR_AMD64
 #define FACTOR_64
 #error "Unsupported architecture"
 #endif
 
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) || defined (__MINGW32__)
 #define WINDOWS
 #define WINNT
 #elif defined(WIN32)
 #define WINDOWS
 #endif
 
-/* Forward-declare this since it comes up in function prototypes */
+// Forward-declare this since it comes up in function prototypes
 namespace factor { struct factor_vm; }
 
-/* Factor headers */
+// Factor headers
 #include "assert.hpp"
+#include "debug.hpp"
 #include "layouts.hpp"
 #include "platform.hpp"
+#include "utilities.hpp"
 #include "primitives.hpp"
+#include "errors.hpp"
 #include "segments.hpp"
 #include "gc_info.hpp"
 #include "contexts.hpp"
 #include "run.hpp"
 #include "objects.hpp"
 #include "sampling_profiler.hpp"
-#include "errors.hpp"
 #include "bignumint.hpp"
 #include "bignum.hpp"
 #include "booleans.hpp"
 #include "instruction_operands.hpp"
+#include "tagged.hpp"
 #include "code_blocks.hpp"
 #include "bump_allocator.hpp"
 #include "bitwise_hacks.hpp"
 #include "mark_bits.hpp"
-#include "free_list.hpp"
 #include "fixup.hpp"
-#include "tuples.hpp"
-#include "free_list_allocator.hpp"
+#include "free_list.hpp"
 #include "write_barrier.hpp"
 #include "object_start_map.hpp"
-#include "nursery_space.hpp"
 #include "aging_space.hpp"
 #include "tenured_space.hpp"
 #include "data_heap.hpp"
 #include "code_heap.hpp"
 #include "gc.hpp"
-#include "strings.hpp"
 #include "float_bits.hpp"
 #include "io.hpp"
 #include "image.hpp"
 #include "callbacks.hpp"
 #include "dispatch.hpp"
-#include "entry_points.hpp"
-#include "safepoints.hpp"
 #include "vm.hpp"
 #include "allot.hpp"
-#include "tagged.hpp"
 #include "data_roots.hpp"
 #include "code_roots.hpp"
 #include "generic_arrays.hpp"
 #include "callstack.hpp"
 #include "slot_visitor.hpp"
-#include "collector.hpp"
-#include "copying_collector.hpp"
-#include "nursery_collector.hpp"
-#include "aging_collector.hpp"
 #include "to_tenured_collector.hpp"
-#include "code_block_visitor.hpp"
-#include "full_collector.hpp"
 #include "arrays.hpp"
 #include "math.hpp"
 #include "byte_arrays.hpp"
@@ -147,6 +147,5 @@ namespace factor { struct factor_vm; }
 #include "inline_cache.hpp"
 #include "mvm.hpp"
 #include "factor.hpp"
-#include "utilities.hpp"
 
-#endif /* __FACTOR_MASTER_H__ */
+#endif // __FACTOR_MASTER_H__