Commit 48ca3add authored by Allison Karlitskaya's avatar Allison Karlitskaya

G_STATIC_ASSERT: clarify when use is valid

Clarify when the use of G_STATIC_ASSERT is valid and fix up an invalid
use of it in GDBus.
parent 6bc20651
......@@ -153,6 +153,12 @@ GdkColor *favourite = traveller_get_favourite_colour (traveller);
The G_STATIC_ASSERT macro lets the programmer check a condition at compile time,
the condition needs to be compile time computable.
The macro can be used in any place where a <literal>typedef</literal> is valid.
</para>
<note><para>
A <literal>typedef</literal> is generally allowed in exactly the same
places that a variable declaration is allowed. For this reason, you should not use <literal>G_STATIC_ASSERT</literal> in the middle of blocks of code.
</para></note>
<para>
The macro should only be used once per source code line.
</para>
......
......@@ -1183,10 +1183,10 @@ parse_value_from_blob (GMemoryInputStream *mis,
{
guint64 v;
gdouble *encoded;
G_STATIC_ASSERT (sizeof (gdouble) == sizeof (guint64));
v = g_data_input_stream_read_uint64 (dis, NULL, &local_error);
if (local_error != NULL)
goto fail;
G_STATIC_ASSERT (sizeof (gdouble) == sizeof (guint64));
encoded = (gdouble *) &v;
ret = g_variant_new_double (*encoded);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment