rjmccall requested changes to this revision.
rjmccall added a comment.
This revision now requires changes to proceed.

We can't set the flag if initialization is aborted by an exception, which is 
not ruled out by the use of thread-unsafe statics.  So this is not a correct 
change.

More basically, I don't think "recursive calls try to re-initialize" is 
actually worse behavior than "recursive calls access an uninitialized object".  
And both seem to be allowed.

The real problem here is that everyone understands this flag to be a request to 
generate a cheap code sequence for testing initialization, but it's not 
actually possible to do the maximally cheap sequence and have it still be safe 
against recursive entry; you need to generate guards and diagnose the failure.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135919/new/

https://reviews.llvm.org/D135919

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to