empty2.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // RUN: %clang_cc1 %s -fsyntax-only -verify -pedantic
  2. struct emp_1 { // expected-warning {{empty struct is a GNU extension}}
  3. };
  4. union emp_2 { // expected-warning {{empty union is a GNU extension}}
  5. };
  6. struct emp_3 { // expected-warning {{struct without named members is a GNU extension}}
  7. int : 0;
  8. };
  9. union emp_4 { // expected-warning {{union without named members is a GNU extension}}
  10. int : 0;
  11. };
  12. struct emp_5 { // expected-warning {{struct without named members is a GNU extension}}
  13. int : 0;
  14. int : 0;
  15. };
  16. union emp_6 { // expected-warning {{union without named members is a GNU extension}}
  17. int : 0;
  18. int : 0;
  19. };
  20. struct nonamed_1 { // expected-warning {{struct without named members is a GNU extension}}
  21. int : 4;
  22. };
  23. union nonamed_2 { // expected-warning {{union without named members is a GNU extension}}
  24. int : 4;
  25. };
  26. struct nonamed_3 { // expected-warning {{struct without named members is a GNU extension}}
  27. int : 4;
  28. unsigned int : 4;
  29. };
  30. union nonamed_4 { // expected-warning {{union without named members is a GNU extension}}
  31. int : 4;
  32. unsigned int : 4;
  33. };