4.3.1. __attribute__((alias))

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 that is supported by the ARM compiler.

Note

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

Syntax

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.

Example

#include <stdio.h>

void foo(void)
{
    printf("%s\n", __FUNCTION__);
}

void bar(void) __attribute__((alias("foo")));

void gazonk(void)
{
    bar(); // calls foo
}

See also

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential