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/no-return rationale: | The GNU C compiler can optimize such a function without regard to what would happen if it ever did return. Declaring a function ${../if/no-return:/name} also avoids spurious warnings of uninitialized variables. references: [] requirement-type: functional text: | When the code is compiled with the GNU C compiler starting at version 2.5 or the ``__cplusplus`` symbol is defined with version ``201103L`` or higher or the ``__STDC_VERSION__`` symbol is defined with version ``201112L`` or higher, and the ${../if/no-return:/name} macro is used as first part of a function declaration or definition, the ${../if/no-return:/name} macro shall inform the compiler that this function does not return when called. type: requirement