brintos

brintos / llvm-project-archived public Read only

0
0
Text · 906 B · 5d2fc5e Raw
54 lines · cpp
1// In top-level scope.2struct TopLevelStruct {3  int member;4};5TopLevelStruct top_level_struct;6 7// Nested in a class.8struct OuterStruct {9  struct InnerStruct {10    int member;11  };12};13OuterStruct::InnerStruct inner_struct;14 15// Behind typedef.16struct UnderlyingTypedefStruct {17  int member;18};19typedef UnderlyingTypedefStruct TypedefStruct;20TypedefStruct typedef_struct;21 22// In namespace.23namespace NS {24struct NamespaceStruct {25  int member;26};27} // namespace NS28NS::NamespaceStruct namespace_struct;29 30// In unnamed namespace.31namespace {32struct UnnamedNamespaceStruct {33  int member;34};35} // namespace36UnnamedNamespaceStruct unnamed_namespace_struct;37 38// In linkage spec.39extern "C" {40struct ExternCStruct {41  int member;42};43}44ExternCStruct extern_c_struct;45 46int main() {47  struct DeclInFunc {48    int member;49  };50 51  DeclInFunc decl_in_func;52  return unnamed_namespace_struct.member; // break here53}54