non-empty-class-size-zero.cpp revision 8d2968cc527fc775e1e1e72a25b581820a51225d
18d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only %s 28d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian// rdar://8945175 38d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian 48d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanianstruct X { 58d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian int array[0]; 68d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian int array1[0]; 78d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian int array2[0]; 88d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian X(); 98d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian ~X(); 108d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian}; 118d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian 128d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanianstruct Y { 138d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian int first; 148d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian X padding; 158d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian int second; 168d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian}; 178d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanian 188d2968cc527fc775e1e1e72a25b581820a51225dFariborz Jahanianint zero_size_array[(sizeof(Y) == 8) -1]; // no error here! 19