--- struct StructDeclaredUndeclared; struct StructDeclaredDeclared; struct StructDeclaredDefined; struct StructDefinedUndeclared {}; struct StructDefinedDeclared {}; struct StructDefinedDefined {}; int use1StructDeclaredUndeclared(struct StructDeclaredUndeclared* declaredUndeclared) { return -3; } int use1StructDeclaredDeclared(struct StructDeclaredDeclared* declaredDeclared) { return -4; } int use1StructDeclaredDefined(struct StructDeclaredDefined* declaredDefined) { return -5; } int use1StructDefinedUndeclared(struct StructDefinedUndeclared* definedUndeclared) { return -6; } int use1StructDefinedDeclared(struct StructDefinedDeclared* definedDeclared) { return -7; } int use1StructDefinedDefined(struct StructDefinedDefined* definedDefined) { return -8; }