[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-08-04 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski updated this revision to Diff 364220. awarzynski added a comment. Remove `EmptyKPM`, introduce `OptOutFC1FFlag` and `OptInFC1FFlag` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105881/new/ https://reviews.llvm.org/D105881 Files: clan

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-08-04 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski added a comment. In D105881#2919575 , @jansvoboda11 wrote: > The `clang` driver always accepts both the positive and negative options, and > it always only considers the argument that appeared last on the command-line > (using `ArgList::getL

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-08-02 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added a comment. In D105881#2906955 , @awarzynski wrote: > OK, that's fair enough. But what about the output from `clang --help` and > `clang -cc1 --help`? Let's look at -feliminate-unused-debug-types >

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-27 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski added a comment. Thank you for your detailed reply! In D105881#2904699 , @jansvoboda11 wrote: > Sorry, I'm not sure I follow. OK, let me try to clarify. I've tried to split this into threads. (flag == OptionFlag

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-26 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added a comment. Sorry, I'm not sure I follow. In D105881#2890134 , @awarzynski wrote: > Apologies, it has taken me a bit longer to get back to this. @jansvoboda11 , > now I'm realising the key disadvantage of using `OptInFFlag/OptOutFFlag

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-20 Thread Pete Steinfeld via Phabricator via cfe-commits
PeteSteinfeld accepted this revision. PeteSteinfeld added a comment. This revision is now accepted and ready to land. All builds, tests, and looks good. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105881/new/ https://reviews.llvm.org/D105881 ___

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-20 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski updated this revision to Diff 360100. awarzynski added a comment. Switch from `BoolFOption` to `OptInFFlag`/`OptOutFFlag` I've refactored `OptInFFlag`/`OptOutFFlag` a tiny bit and created specialisations for `clang -cc1` (`OptInCC1FFlag`/`OptOutCC1FFlag`). I have added some comments

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-20 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski added a comment. Apologies, it has taken me a bit longer to get back to this. @jansvoboda11 , now I'm realising the key disadvantage of using `OptInFFlag/OptOutFFlag` - it's impossible to express the `opt-in`/`opt-out` semantics in TableGen. In fact, only the contents of `clang -cc1

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-13 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added inline comments. Comment at: clang/include/clang/Driver/Options.td:246 +class EmptyKPM : KeyPathAndMacro<"", "", ""> {} class DiagnosticOpts awarzynski wrote: > jansvoboda11 wrote: > > awarzynski wrote: > > > @jansvoboda11 , is this the righ

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-13 Thread Pete Steinfeld via Phabricator via cfe-commits
PeteSteinfeld requested changes to this revision. PeteSteinfeld added a comment. This revision now requires changes to proceed. This built OK, but when I run `check-flang`, I see errors for `.../Driver/driver-help.f90` and `.../Driver/driver-help-hidden.f90`. I'm building on a Linux system usin

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-13 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski added inline comments. Comment at: clang/include/clang/Driver/Options.td:246 +class EmptyKPM : KeyPathAndMacro<"", "", ""> {} class DiagnosticOpts jansvoboda11 wrote: > awarzynski wrote: > > @jansvoboda11 , is this the right approach here? I'd like

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-13 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added inline comments. Comment at: clang/include/clang/Driver/Options.td:246 +class EmptyKPM : KeyPathAndMacro<"", "", ""> {} class DiagnosticOpts awarzynski wrote: > @jansvoboda11 , is this the right approach here? I'd like use `BoolFOption` > i

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-13 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski added inline comments. Comment at: clang/include/clang/Driver/Options.td:246 +class EmptyKPM : KeyPathAndMacro<"", "", ""> {} class DiagnosticOpts @jansvoboda11 , is this the right approach here? I'd like use `BoolFOption` in Flang, but we don't ne

[PATCH] D105881: [flang][driver] Switch to `BoolFOption` for boolean options

2021-07-13 Thread Andrzej Warzynski via Phabricator via cfe-commits
awarzynski created this revision. Herald added a subscriber: dang. awarzynski requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. For boolean options, e.g. `-fxor-operator/-fno-xor-operator`, we ought to be using TableGen multiclasses. This way