genie/preparser-or-expression.gs \
genie/struct.gs \
genie/struct-after-class.gs \
+ glib/conditional-glib-api.vala \
$(LINUX_TESTS) \
$(NULL)
endif
EXTRA_DIST = \
+ glib/tests-extra-environment.sh \
gtktemplate/tests-extra-environment.sh \
linux/tests-extra-environment.sh \
nullability/tests-extra-environment.sh \
--- /dev/null
+// glib 2.54 g_enum_to_string / g_flags_to_string
+// glib 2.58 G_GNUC_NO_INLINE
+enum FooEnum {
+ BAR;
+}
+void use_g_enum_to_string () {
+ FooEnum.BAR.to_string ();
+}
+[Flags]
+enum FooFlag {
+ BAR;
+}
+void use_g_flags_to_string () {
+ FooFlag.BAR.to_string ();
+}
+
+// glib 2.68 g_memdup2
+struct FooMemDup2 {
+ public int i;
+}
+void use_g_memdup2 () {
+ (unowned string)[] foo = { "foo", "bar", "manam"};
+ var bar = foo;
+
+ uint8[] minim = "minim".data;
+ Variant minim_v = minim;
+ minim = (uint8[]) minim_v;
+
+ FooMemDup2? manam = { 42 };
+ Variant manam_v = manam;
+ manam = (FooMemDup2?) manam_v;
+}
+
+// glib 2.68 drop volatile
+[SingleInstance]
+class FooVolatile : Object {
+}
+class BarVolatile {
+}
+void no_use_volatile () {
+ var re = /mon(str.*o)n/i;
+}
+
+void main () {
+ use_g_enum_to_string ();
+ use_g_flags_to_string ();
+ use_g_memdup2 ();
+ no_use_volatile ();
+}