X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Funit%2Ftest_build.c;fp=tests%2Funit%2Ftest_build.c;h=f6b667ce2b3d9ab08dc64704337f9960d923ab68;hp=7f062f19a236d85f99e1a3402dec9ad467b34582;hb=2d466a6397dbc7af397d0fc10e327cc6cac76a5a;hpb=06326a94ac233064654c7100b6384b2833f7b898 diff --git a/tests/unit/test_build.c b/tests/unit/test_build.c index 7f062f1..f6b667c 100644 --- a/tests/unit/test_build.c +++ b/tests/unit/test_build.c @@ -115,6 +115,26 @@ void test_urcu_tls(void) URCU_TLS(my_tls_struct).void1 = NULL; } +struct an_opaque_struct; +struct a_clear_struct +{ + int x; +}; + +static +void test_build_rcu_dereference(void) +{ + static struct an_opaque_struct *opaque = NULL; + static struct an_opaque_struct *const opaque_const = NULL; + static struct a_clear_struct *clear = NULL; + static struct a_clear_struct *const clear_const = NULL; + + rcu_dereference(opaque); + rcu_dereference(opaque_const); + rcu_dereference(clear); + rcu_dereference(clear_const); +} + int main(void) { plan_tests(3); @@ -124,6 +144,7 @@ int main(void) test_wfcqueue(); test_build_cds_list_head_init(); test_urcu_tls(); + test_build_rcu_dereference(); return exit_status(); }