svs-quic wrote:

> Thanks @efriedma-quic. I tried adding a test case for it locally and see that 
> the code produced is different for llvm and gcc: 
> https://godbolt.org/z/vdhGbvj6W
> 
> Test case:
> 
> ```
> struct s12 {int x[0];};
> struct s12 test_s12(struct s12 a) {
>   return a;
> }
> ```
> 
> For llvm this is an empty record of size zero and so it ignores it where as 
> gcc loads 0 into a0. Do we handle this case similar to what gcc does? Or do I 
> add a fixme for now?
> 
> @topperc @asb

What about the case I have mentioned in https://godbolt.org/z/vdhGbvj6W ?

Having a check for both Size==0 and LangOpts.CPlusPlus handles this as well.


https://github.com/llvm/llvm-project/pull/97315
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to