SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH & Co. KG enabled-by: true functional-type: function links: - role: interface-function uid: ../if/weak-alias rationale: null references: [] requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the produced target file format is ELF or a.out, and argument ${../if/weak-alias:/params[0]/name} is a name of a function, and the macro ${../if/weak-alias:/name} call is in the same compilation unit as the function, and the macro is not used in block scope, and the macro is used in this form: `` newname([argument-type-list]) ${../if/weak-alias:/name}(oldname)``;, and the ```` and ``argument-type-list`` match the signature of the function ``oldname``, and there is no other function symbol at global scope with the same name as ``newname``, the ${../if/weak-alias:/name} macro shall cause the compiler to create an additional name (``newname`` in the syntax) for the function given as argument ${../if/weak-alias:/params[0]/name}. type: requirement