Files
swift-mirror/include/swift/Basic/LangOptions.h
Joe Groff e9deb9e75f Add an -emit-sil-protocol-witness-tables flag.
So we can break stuff while it's turned on.

Swift SVN r10922
2013-12-06 15:58:00 +00:00

50 lines
1.7 KiB
C++

//===--- LangOptions.h - Language & configuration options -------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// This file defines the LangOptions class, which provides various
// language and configuration flags.
//
//===----------------------------------------------------------------------===//
#ifndef SWIFT_LANGOPTIONS_H
#define SWIFT_LANGOPTIONS_H
namespace swift {
/// \brief A collection of options that affect the language dialect and
/// provide compiler debugging facilities.
class LangOptions {
public:
/// \brief Whether we are debugging the constraint solver.
///
/// This option enables verbose debugging output from the constraint
/// solver.
bool DebugConstraintSolver = false;
/// \brief Specific solution attempt for which the constraint
/// solver should be debugged.
unsigned DebugConstraintSolverAttempt = 0;
/// \brief Perform all dynamic allocations using malloc/free instead of
/// optimized custom allocator, so that memory debugging tools can be used.
bool UseMalloc = false;
/// \brief Enable codegen of lazy global initializers in SILGen.
bool EmitLazyGlobalInitializers = false;
/// \brief Enable generation of SIL protocol witness tables.
bool EmitSILProtocolWitnessTables = false;
};
}
#endif // LLVM_SWIFT_LANGOPTIONS_H