@@ -405,6 +405,12 @@ enum class Empty : unsigned long long int
405405class _ClassWithLeadingUnderscore {
406406};
407407
408+ const int ConstFlag1 = 1 ;
409+ const int ConstFlag2 = 2 ;
410+ const int ConstFlag3 = 4 ;
411+
412+ extern DLL_API struct SmallPOD DefaultSmallPODInstance;
413+
408414class DLL_API MethodsWithDefaultValues : public Quux
409415{
410416public:
@@ -480,6 +486,10 @@ class DLL_API MethodsWithDefaultValues : public Quux
480486 void defaultWithSpecialization (IndependentFields<int > specialization = IndependentFields<int >());
481487 void defaultOverloadedImplicitCtor (P p);
482488 void defaultOverloadedImplicitCtor (Qux q = Qux());
489+ int defaultIntAssignedAnEnumWithBinaryOperatorAndFlags (int f = Bar::Item1 | Bar::Item2);
490+ int defaultWithConstantFlags (int f = ConstFlag1 | ConstFlag2 | ConstFlag3);
491+ bool defaultWithPointerToEnum (UntypedFlags* f1 = NULL , int * f2 = NULL );
492+ SmallPOD* defaultWithNonPrimitiveType (SmallPOD& pod = DefaultSmallPODInstance);
483493 int DefaultWithParamNamedSameAsMethod (int DefaultWithParamNamedSameAsMethod, const Foo& defaultArg = Foo());
484494 int getA ();
485495private:
@@ -1082,9 +1092,9 @@ class DLL_API VariablesWithInitializer {
10821092 static constexpr const char * StringArray1[1 ] { " Str" " F,\" or" };
10831093 static constexpr const char * StringArray3[3 ] { " Str" " F,\" or" , " C#" , String };
10841094 static constexpr const char * StringArray30[30 ] {
1085- " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" ,
1086- " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" ,
1087- " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" ,
1095+ " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" ,
1096+ " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" ,
1097+ " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" , " Str" ,
10881098 };
10891099 static constexpr const char * StringArray3EmptyInitList[3 ] { };
10901100 static constexpr const wchar_t * WideStringArray[2 ] { L" Str" , L" C#" };
@@ -1278,7 +1288,7 @@ struct StructTestArrayTypeFromTypedef
12781288#define MY_MACRO_TEST2_4 (1 << 3 )
12791289#define MY_MACRO_TEST2_ALL (1 << 4 ) - 1
12801290
1281- #define SIGNED_MACRO_VALUES_TO_ENUM_TEST_1 1 << 5
1291+ #define SIGNED_MACRO_VALUES_TO_ENUM_TEST_1 1 << 5
12821292#define SIGNED_MACRO_VALUES_TO_ENUM_TEST_2 1 << 22
12831293#define SIGNED_MACRO_VALUES_TO_ENUM_TEST_3 1L << 32
12841294#define SIGNED_MACRO_VALUES_TO_ENUM_TEST_4 -1
@@ -1465,9 +1475,9 @@ struct DLL_API ConversionFunctions
14651475 short field = 100 ;
14661476};
14671477
1468- struct DLL_API ClassCustomTypeAlignment
1478+ struct DLL_API ClassCustomTypeAlignment
14691479{
1470- struct alignas (1 ) Align1 { };
1480+ struct alignas (1 ) Align1 { };
14711481 struct alignas (8 ) Align8 { };
14721482 struct alignas (16 ) Align16 {
14731483 double a;
@@ -1476,7 +1486,7 @@ struct DLL_API ClassCustomTypeAlignment
14761486
14771487 bool boolean;
14781488 Align16 align16;
1479- Align1 align1;
1489+ Align1 align1;
14801490 double dbl;
14811491 Align8 align8;
14821492};
@@ -1524,7 +1534,7 @@ DLL_API extern const unsigned StructWithEmbeddedArrayOfStructObjectAlignmentOffs
15241534
15251535DLL_API const char * TestCSharpString (const char * in, CS_OUT const char ** out);
15261536DLL_API const wchar_t * TestCSharpStringWide (const wchar_t * in, CS_OUT const wchar_t ** out);
1527- DLL_API const char16_t * TestCSharpString16 (const char16_t * in, CS_OUT const char16_t ** out);
1537+ DLL_API const char16_t * TestCSharpString16 (const char16_t * in, CS_OUT const char16_t ** out);
15281538DLL_API const char32_t * TestCSharpString32 (const char32_t * in, CS_OUT const char32_t ** out);
15291539
15301540struct DLL_API FTIStruct { int a; };
0 commit comments