__attribute__((alias)) function attribute

This function attribute enables you to specify multiple aliases for functions.

Where a function is defined in the current translation unit, the alias call is replaced by a call to the function, and the alias is emitted alongside the original name. Where a function is not defined in the current translation unit, the alias call is replaced by a call to the real function. Where a function is defined as static, the function name is replaced by the alias name and the function is declared external if the alias name is declared external.

Note

This function attribute is a GNU compiler extension supported by the ARM compiler.

Note

Variables names might also be aliased using the corresponding variable attribute __attribute__((alias)).

Show/hideSyntax

return-type newname([argument-list]) __attribute__((alias("oldname")));

Where:

oldname

is the name of the function to be aliased

newname

is the new name of the aliased function.

Show/hideExample

#include <stdio.h>
void foo(void)
{
    printf("%s\n", __FUNCTION__);
}
void bar(void) __attribute__((alias("foo")));
void gazonk(void)
{
    bar(); // calls foo
}

Show/hideSee also

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0491H
Non-ConfidentialID070912