zahiraam added a subscriber: eli.friedman.
zahiraam added a comment.
@eli.friedman Thanks.
================
Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:572
PrioritizedCXXGlobalInits.push_back(std::make_pair(Key, Fn));
+ } else if (D->hasConstantInitialization() && !(D->hasAttr<ConstInitAttr>()))
{
+ OrderGlobalInitsOrStermFinalizers Key(201,
----------------
efriedma wrote:
> zahiraam wrote:
> > efriedma wrote:
> > > How is ConstInitAttr relevant here?
> > This change made (without the !(D->hasAttr<ConstInitAttr>()) made the LIT
> > behavior of aix-static-init.cpp. The IR generated for
> > namespace test3 {
> > struct Test3 {
> > constexpr Test3() {};
> > ~Test3() {};
> > };
> >
> > constinit Test3 t;
> > } // namespace test3
> >
> > was different. I would have thought that the change we made for constexpr
> > wouldn't affter constinit?
> I think the significant bit there isn't the use of constinit; it's the
> non-trivial destructor. I think the priority modification should only affect
> constructors, not destructors. (Not sure how to make that work, at first
> glance.)
Let's see if this is an acceptable solution.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137107/new/
https://reviews.llvm.org/D137107
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits