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/printflike rationale: | This case is for functions where the arguments are not available to be checked (such as ``vprintf``). The compiler will only check the format string for consistency. Counting of arguments starts at 1 from the left with the exception of non-static C++ methods where the counting starts with 2 due to the implicit ``this`` argument. references: [] requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/printflike:/name} macro is used as last part of a function declaration or prefixes a function definition, and ${../if/printflike:/params[0]/name} is a constant number referring to an argument of that function, and the function argument number ${../if/printflike:/params[0]/name} is a ``printf``-format string, and the function argument ${../if/printflike:/params[1]/name} is 0, the macro shall cause the compiler to use this information for checking the format string. type: requirement