Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. //===--------- Definition of the AddressSanitizer options -------*- C++ -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. // This file defines data types used to set Address Sanitizer options.
  9. //===----------------------------------------------------------------------===//
  10. #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_ADDRESSSANITIZEROPTIONS_H
  11. #define LLVM_TRANSFORMS_INSTRUMENTATION_ADDRESSSANITIZEROPTIONS_H
  12.  
  13. namespace llvm {
  14.  
  15. /// Types of ASan module destructors supported
  16. enum class AsanDtorKind {
  17.   None,    ///< Do not emit any destructors for ASan
  18.   Global,  ///< Append to llvm.global_dtors
  19.   Invalid, ///< Not a valid destructor Kind.
  20. };
  21.  
  22. /// Types of ASan module constructors supported
  23. enum class AsanCtorKind {
  24.   None,
  25.   Global
  26. };
  27.  
  28. /// Mode of ASan detect stack use after return
  29. enum class AsanDetectStackUseAfterReturnMode {
  30.   Never,   ///< Never detect stack use after return.
  31.   Runtime, ///< Detect stack use after return if not disabled runtime with
  32.            ///< (ASAN_OPTIONS=detect_stack_use_after_return=0).
  33.   Always,  ///< Always detect stack use after return.
  34.   Invalid, ///< Not a valid detect mode.
  35. };
  36.  
  37. } // namespace llvm
  38.  
  39. #endif
  40.