LangOptions.cpp revision 249423
1226586Sdim//===--- LangOptions.cpp - C Language Family Language Options ---*- C++ -*-===// 2226586Sdim// 3226586Sdim// The LLVM Compiler Infrastructure 4226586Sdim// 5226586Sdim// This file is distributed under the University of Illinois Open Source 6226586Sdim// License. See LICENSE.TXT for details. 7226586Sdim// 8226586Sdim//===----------------------------------------------------------------------===// 9226586Sdim// 10226586Sdim// This file defines the LangOptions class. 11226586Sdim// 12226586Sdim//===----------------------------------------------------------------------===// 13226586Sdim#include "clang/Basic/LangOptions.h" 14226586Sdim 15226586Sdimusing namespace clang; 16226586Sdim 17249423Sdimconst SanitizerOptions SanitizerOptions::Disabled = {}; 18249423Sdim 19226586SdimLangOptions::LangOptions() { 20226586Sdim#define LANGOPT(Name, Bits, Default, Description) Name = Default; 21226586Sdim#define ENUM_LANGOPT(Name, Type, Bits, Default, Description) set##Name(Default); 22226586Sdim#include "clang/Basic/LangOptions.def" 23249423Sdim 24249423Sdim Sanitize = SanitizerOptions::Disabled; 25226586Sdim} 26226586Sdim 27226586Sdimvoid LangOptions::resetNonModularOptions() { 28226586Sdim#define LANGOPT(Name, Bits, Default, Description) 29226586Sdim#define BENIGN_LANGOPT(Name, Bits, Default, Description) Name = Default; 30226586Sdim#define BENIGN_ENUM_LANGOPT(Name, Type, Bits, Default, Description) \ 31226586Sdim Name = Default; 32226586Sdim#include "clang/Basic/LangOptions.def" 33249423Sdim 34249423Sdim // FIXME: This should not be reset; modules can be different with different 35249423Sdim // sanitizer options (this affects __has_feature(address_sanitizer) etc). 36249423Sdim Sanitize = SanitizerOptions::Disabled; 37249423Sdim 38234353Sdim CurrentModule.clear(); 39226586Sdim} 40226586Sdim 41