[pulseaudio-discuss] [PATCH] Add pure and const attributes to functions that need them

David Henningsson david.henningsson at canonical.com
Mon Nov 21 04:07:15 PST 2011

On 11/17/2011 04:06 PM, Maarten Bosmans wrote:
> -static pa_bool_t options_have_option(pa_alsa_option *options, const char *alsa_name) {
> +static PA_GCC_PURE pa_bool_t options_have_option(pa_alsa_option *options, const char *alsa_name) {

I have to admit my lack of knowledge here - but the PA_GCC_PURE and 
PA_GCC_CONST macros (and their gcc implementations) were new to me, so I 
had to read up on them.

Which leads me to the question - do you think there is any possibility 
that people change these functions, changing their purity status, 
without removing the PA_GCC_PURE, thereby causing hard to find bugs?
That risk would then have to be measured against the potential 
performance benefit. Maybe these should mostly be added at time critical 
pieces of code (or maybe this is what you've done)?

Also, wouldn't a modern compiler such as GCC be able to figure out the 
purity of a function itself, or is that just wishful thinking?

David Henningsson, Canonical Ltd.

More information about the pulseaudio-discuss mailing list