[all-commits] [llvm/llvm-project] b2eda8: [OptTable] Make explicitly included options overri...
Justin Bogner via All-commits
all-commits at lists.llvm.org
Wed Jul 19 15:29:31 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b2eda85f047f27788ccd7b9af9bd59c5d44b2051
https://github.com/llvm/llvm-project/commit/b2eda85f047f27788ccd7b9af9bd59c5d44b2051
Author: Justin Bogner <mail at justinbogner.com>
Date: 2023-07-19 (Wed, 19 Jul 2023)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang/include/clang/Driver/Options.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
M llvm/lib/Option/OptTable.cpp
Log Message:
-----------
[OptTable] Make explicitly included options override excluded ones
When we have both explicitly included and excluded option sets, we
were excluding anything from the latter set regardless of what was in
the former. This doesn't compose well and led to an overly complicated
design around DXC options where a third flag was introduced to handle
options that overlapped between DXC and CL.
With this change we check the included options before excluding
anything from the exclude list, which allows for options that are in
multiple categories to be handled in a sensible way. This allows us to
remove CLDXCOption but should otherwise be NFC.
Differential Revision: https://reviews.llvm.org/D155729
More information about the All-commits
mailing list