X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-compiler.h;h=c0aae11e6c3fb1fe377685f4ea1f3c6cf99131e3;hb=4c3d9cd0b8f8c270ea61474ea75418285e6afdd7;hp=38c89b0892adaca4be0ce4142470d3be4bc80d34;hpb=faa633435d42bafa036904265b14df506ddbd6e5;p=lttng-ust.git diff --git a/include/lttng/ust-compiler.h b/include/lttng/ust-compiler.h index 38c89b08..c0aae11e 100644 --- a/include/lttng/ust-compiler.h +++ b/include/lttng/ust-compiler.h @@ -85,15 +85,17 @@ /* * Evaluates the predicate and emit a compilation error on failure. * - * If the predicate evaluates to true, this macro emits a typedef of an array - * of size 0. + * If the predicate evaluates to true, this macro emits a function + * prototype with an argument type which is an array of size 0. * - * If the predicate evaluates to false, this macro emits a typedef of an array - * of negative size which is invalid in C and forces a compiler error. The msg - * parameter is used in the tentative typedef so it is printed to the user. + * If the predicate evaluates to false, this macro emits a function + * prototype with an argument type which is an array of negative size + * which is invalid in C and forces a compiler error. The + * c_identifier_msg parameter is used as the argument identifier so it + * is printed to the user when the error is reported. */ #define lttng_ust_static_assert(predicate, msg, c_identifier_msg) \ - typedef char lttng_ust_static_assert_##c_identifier_msg[2*!!(predicate)-1] + void lttng_ust_static_assert_proto(char c_identifier_msg[2*!!(predicate)-1]) #endif /* Combine two tokens. */