Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:44:38

0001 //===--------- Definition of the AddressSanitizer options -------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 // This file defines data types used to set Address Sanitizer options.
0009 //===----------------------------------------------------------------------===//
0010 #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_ADDRESSSANITIZEROPTIONS_H
0011 #define LLVM_TRANSFORMS_INSTRUMENTATION_ADDRESSSANITIZEROPTIONS_H
0012 
0013 namespace llvm {
0014 
0015 /// Types of ASan module destructors supported
0016 enum class AsanDtorKind {
0017   None,    ///< Do not emit any destructors for ASan
0018   Global,  ///< Append to llvm.global_dtors
0019   Invalid, ///< Not a valid destructor Kind.
0020 };
0021 
0022 /// Types of ASan module constructors supported
0023 enum class AsanCtorKind {
0024   None,
0025   Global
0026 };
0027 
0028 /// Mode of ASan detect stack use after return
0029 enum class AsanDetectStackUseAfterReturnMode {
0030   Never,   ///< Never detect stack use after return.
0031   Runtime, ///< Detect stack use after return if not disabled runtime with
0032            ///< (ASAN_OPTIONS=detect_stack_use_after_return=0).
0033   Always,  ///< Always detect stack use after return.
0034   Invalid, ///< Not a valid detect mode.
0035 };
0036 
0037 } // namespace llvm
0038 
0039 #endif