1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
// 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 ();
}
|