[cfe-users] thinlto and c++ static initialization analysis

Christian Gagneraud via cfe-users cfe-users at lists.llvm.org
Thu Jul 18 16:59:44 PDT 2019


On Thu, 18 Jul 2019 at 21:15, Jerry Scharf via cfe-users
<cfe-users at lists.llvm.org> wrote:
>
> I am looking at trying out thinlto on our large c++ programs. We have
> had to do a bunch of careful things to make sure things get linked in
> the right order to get the static initialization to work right.
>
> Two questions:
>
> Will thinlto honor the command line ordering of files that we set?

You're relying on undefined behaviour. If thinlto honor the command
line ordering *today*, there's no guarantee that it will in the
future.
Best to fix the code instead of relying on compiler implementation.

You could use the "undefined" sanitizer to detect so called "static
initialisation 'fiasco' (problem)"
(https://isocpp.org/wiki/faq/ctors#static-init-order)

My 2 cents.



More information about the cfe-users mailing list