summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/LangOptions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [Sanitizer] Refactor sanitizer options in LangOptions.Alexey Samsonov2014-11-111-18/+1
| | | | | | | | | | | | | | | | | | Get rid of ugly SanitizerOptions class thrust into LangOptions: * Make SanitizeAddressFieldPadding a regular language option, and rely on default behavior to initialize/reset it. * Make SanitizerBlacklistFile a regular member LangOptions. * Introduce the helper class "SanitizerSet" to represent the set of enabled sanitizers and make it a member of LangOptions. It is exactly the entity we want to cache and modify in CodeGenFunction, for instance. We'd also be able to reuse SanitizerSet in CodeGenOptions for storing the set of recoverable sanitizers, and in the Driver to represent the set of sanitizers turned on/off by the commandline flags. No functionality change. llvm-svn: 221653
* Introduce a SanitizerKind enum to LangOptions.Alexey Samsonov2014-11-071-4/+11
| | | | | | | | | | | | | Use the bitmask to store the set of enabled sanitizers instead of a bitfield. On the negative side, it makes syntax for querying the set of enabled sanitizers a bit more clunky. On the positive side, we will be able to use SanitizerKind to eventually implement the new semantics for -fsanitize-recover= flag, that would allow us to make some sanitizers recoverable, and some non-recoverable. No functionality change. llvm-svn: 221558
* Get rid of SanitizerOptions::Disabled global. NFC.Alexey Samsonov2014-10-301-4/+11
| | | | | | | | | SanitizerOptions is not even a POD now, so having global variable of this type, is not nice. Instead, provide a regular constructor and clear() method, and let each CodeGenFunction has its own copy of SanitizerOptions it uses. llvm-svn: 220920
* Add stopgap option -fmodule-implementation-of <name>Ben Langmuir2014-07-231-0/+1
| | | | | | | | | | | | | | | | | | This flag specifies that we are building an implementation file of the module <name>, preventing importing <name> as a module. This does not consider this to be the 'current module' for the purposes of doing modular checks like decluse or non-modular-include warnings, unlike -fmodule-name. This is needed as a stopgap until: 1) we can resolve relative includes to a VFS-mapped module (or can safely import a header textually and as part of a module) and ideally 2) we can safely do incremental rebuilding when implementation files import submodules. llvm-svn: 213767
* Add a *San + modules FIXME.Richard Smith2013-02-071-0/+2
| | | | llvm-svn: 174565
* [ubsan] Add support for -fsanitize-blacklistWill Dietz2013-01-181-1/+7
| | | | llvm-svn: 172808
* Add a -cc1-level option -fmodule-name=<name>, which will be used whenDouglas Gregor2011-11-151-0/+2
| | | | | | building modules. llvm-svn: 144680
* Teach LangOptions::resetNonModularOptions to actually do what it says it doesDouglas Gregor2011-09-151-0/+3
| | | | llvm-svn: 139791
* When building a module on-demand, clear out the "non-modular" languageDouglas Gregor2011-09-131-0/+6
| | | | | | and preprocessor options (such as macro definitions) first. llvm-svn: 139638
* Switch LangOptions over to a .def file that describes header of theDouglas Gregor2011-09-131-0/+21
| | | | | | | | | | language options. Use that .def file to declare the LangOptions class and initialize all of its members, eliminating a source of annoying initialization bugs. AST serialization changes are next up. llvm-svn: 139605
* Remove the serialization code that predates precompiledDouglas Gregor2009-04-221-60/+0
| | | | | | | headers. Future approaches to (de-)serializing ASTs will be based on the PCH infrastructure. llvm-svn: 69828
* Add -fobjc-gc and -fobjc-gc-only options to the driver.Ted Kremenek2008-04-291-1/+3
| | | | | | Add corresponding enum in LangOptions. llvm-svn: 50387
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+58
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud