[PATCH] D47542: Implement --{push,pop}-state.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 31 05:54:30 PDT 2018
grimar added inline comments.
================
Comment at: lld/ELF/Driver.cpp:944
+ // For --{push,pop}-state
+ std::vector<std::tuple<bool, bool, bool>> Stack;
+
----------------
ruiu wrote:
> grimar wrote:
> > One idea based on the difference of bfd and gold implementations.
> > As far I know, gold implements the true stack, but bfd - don't (https://sourceware.org/bugzilla/show_bug.cgi?id=18989#c2).
> > And letting users use the full power of nesting in invocations looks like a road to hell..
> >
> > So should we just do it `Optional<std::tuple<bool, bool, bool>> Stack`?
> > Also, I would rename to `State` then.
> > (Or `States` if you decide to go with the true stack). It is consistent with the option name.
> Looks like bfd linker at least can count the nesting depth. Are you sure that bfd cannot keep the stack of states?
>
> $ ld.bfd --push-state --push-state --pop-state --pop-state
> ld.bfd: no input files
>
> $ ld.bfd --push-state --push-state --pop-state --pop-state --pop-state
> ld.bfd: no state pushed before popping
>
>
It just what that comment in their bugzilla seems was saying. But I did not check that.
https://reviews.llvm.org/D47542
More information about the llvm-commits
mailing list