nickdesaulniers added a comment.

In D76096#4524092 <https://reviews.llvm.org/D76096#4524092>, @nickdesaulniers 
wrote:

> In D76096#4524003 <https://reviews.llvm.org/D76096#4524003>, @efriedma wrote:
>
>> The ones most likely to be a concern are InitListExpr and StringLiteral.
>
> Here's a reduced instance from the Linux kernel:
>
>   struct timespec64 {
>     long tv_sec;
>     long tv_nsec;
>   } do_utime_mtime;
>   void __attribute__do_utime() { struct timespec64 t[] = {{}, 
> do_utime_mtime}; }
>
> Trace: https://paste.debian.net/1286590/

IIUC what's going wrong here, I think that ConstExprEmitter is //not// able to 
evaluate the InitListExpr, and is bailing/falling back to call 
Expr::EvaluateAsRValue().

Is the idea for the way forward here to ensure (i.e. adding code such) that 
ConstExprEmitter //can// constant evaluate such Expr's?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76096

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

Reply via email to