rnk added a comment.

In D53541#1353251 <https://reviews.llvm.org/D53541#1353251>, @mgrang wrote:

> > What about the three stack pointer case of stack realignment plus a dynamic 
> > alloca? Typically this is the case where recoverfp is necessary.
>
> @rnk Sorry, I missed your comment earlier. I am not sure what scenario the 
> three stack pointer case is. Could you please give me a test case for it?


I think you just need a local variable with an alignment greater than the ABI 
provides, something like:

  struct Foo {
    Foo();
    int x, y, z;
  };
  int filter(int);
  void may_throw();
  void seh_byval(int n) {
    Foo __declspec(align(32)) o;
    __try {
      may_throw();
    } __except(filter(o.x)) {
    }
  }


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

https://reviews.llvm.org/D53541



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

Reply via email to