41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===--- LangOptions.cpp - C Language Family Language Options ---*- C++ -*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| //
 | |
| //  This file defines the LangOptions class.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| #include "clang/Basic/LangOptions.h"
 | |
| 
 | |
| using namespace clang;
 | |
| 
 | |
| const SanitizerOptions SanitizerOptions::Disabled = {};
 | |
| 
 | |
| LangOptions::LangOptions() {
 | |
| #define LANGOPT(Name, Bits, Default, Description) Name = Default;
 | |
| #define ENUM_LANGOPT(Name, Type, Bits, Default, Description) set##Name(Default);
 | |
| #include "clang/Basic/LangOptions.def"
 | |
| 
 | |
|   Sanitize = SanitizerOptions::Disabled;
 | |
| }
 | |
| 
 | |
| void LangOptions::resetNonModularOptions() {
 | |
| #define LANGOPT(Name, Bits, Default, Description)
 | |
| #define BENIGN_LANGOPT(Name, Bits, Default, Description) Name = Default;
 | |
| #define BENIGN_ENUM_LANGOPT(Name, Type, Bits, Default, Description) \
 | |
|   Name = Default;
 | |
| #include "clang/Basic/LangOptions.def"
 | |
| 
 | |
|   // FIXME: This should not be reset; modules can be different with different
 | |
|   // sanitizer options (this affects __has_feature(address_sanitizer) etc).
 | |
|   Sanitize = SanitizerOptions::Disabled;
 | |
| 
 | |
|   CurrentModule.clear();
 | |
| }
 | |
| 
 | 
