You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
883 B
38 lines
883 B
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
|
|
|
|
// Test only flexible array member functionality specific to C++.
|
|
|
|
union VariableSizeUnion {
|
|
int s;
|
|
char c[];
|
|
};
|
|
|
|
@interface LastUnionIvar {
|
|
VariableSizeUnion flexible;
|
|
}
|
|
@end
|
|
|
|
@interface NotLastUnionIvar {
|
|
VariableSizeUnion flexible; // expected-error {{field 'flexible' with variable sized type 'VariableSizeUnion' is not at the end of class}}
|
|
int last; // expected-note {{next instance variable declaration is here}}
|
|
}
|
|
@end
|
|
|
|
|
|
class VariableSizeClass {
|
|
public:
|
|
int s;
|
|
char c[];
|
|
};
|
|
|
|
@interface LastClassIvar {
|
|
VariableSizeClass flexible;
|
|
}
|
|
@end
|
|
|
|
@interface NotLastClassIvar {
|
|
VariableSizeClass flexible; // expected-error {{field 'flexible' with variable sized type 'VariableSizeClass' is not at the end of class}}
|
|
int last; // expected-note {{next instance variable declaration is here}}
|
|
}
|
|
@end
|