On Fri, Feb 12, 2016 at 6:58 AM, Matthijs van Duin <matthijsvand...@gmail.com> wrote: > On 11 February 2016 at 16:31, H.J. Lu <hjl.to...@gmail.com> wrote: >> struct A { >> static void foo (void) (); >> static int xxx; >> }; > > What about it? It's an empty struct. (And it declares a function and > a variable in the namespace of A, which however do not have any > relevant impact here.) >
Thanks for all the feedbacks. Here is the new proposal: 1. "empty type". An empty type is a trivially-copyable aggregate occupying zero bytes (excluding any padding). 2. No memory slot nor register should be used to pass or return an object of empty type. Footnote: Array of empty type can only passed by reference in C/C++. -- H.J. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits