blob: bd6f42519084b2b646cbbe898ca26c1936d3d6a6 [file] [log] [blame]
//===--- EnvironmentVariables.def - Debug variables. ------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// This file defines x-macros used for metaprogramming with the set of
// environment variables used for configuring or enabling debug features in the
// runtime.
//
//===----------------------------------------------------------------------===//
// #define VARIABLE(name, type, defaultValue, help)
#ifndef VARIABLE
#error "Must define VARIABLE to include EnvironmentVariables.def"
#endif
VARIABLE(SWIFT_DEBUG_ENABLE_METADATA_ALLOCATION_ITERATION, bool, false,
"Enable additional metadata allocation tracking for swift-inspect to "
"use.")
VARIABLE(SWIFT_DEBUG_ENABLE_METADATA_BACKTRACE_LOGGING, bool, false,
"Enable logging of backtraces for each metadata allocation. Requires "
"SWIFT_DEBUG_ENABLE_METADATA_ALLOCATION_ITERATION to be enabled.")
VARIABLE(SWIFT_DEBUG_IMPLICIT_OBJC_ENTRYPOINT, uint8_t, 2,
"Print warnings when using implicit @objc entrypoints. Set to "
"desired reporting level, 0-3.")
VARIABLE(SWIFT_DETERMINISTIC_HASHING, bool, false,
"Disable randomized hash seeding.")
VARIABLE(SWIFT_ENABLE_MANGLED_NAME_VERIFICATION, bool, false,
"Enable verification that metadata can roundtrip through a mangled "
"name each time metadata is instantiated.")
VARIABLE(SWIFT_DEBUG_ENABLE_MALLOC_SCRIBBLE, bool, false,
"Scribble on runtime allocations such as metadata allocations.")
VARIABLE(SWIFT_DEBUG_ENABLE_COW_CHECKS, bool, false,
"Enable internal checks for copy-on-write operations.")
#undef VARIABLE