In addition, for compatibility with GNU C and C++, XL C/C++ allows you to use attributes to modify the properties of functions. They are described in Function attributes (IBM extension).
Function definitions take the following form:
Function definition syntax (C only) >>-+-------------------------+--+--------------------+----------> '-storage_class_specifier-' '-function_specifier-' >--+-----------------------+--function_declarator--{------------> '-return_type_specifier-' >--function body--}--------------------------------------------><
Function definition syntax (C++ only) >>-+-------------------------+--+--------------------+----------> '-storage_class_specifier-' '-function_specifier-' >--return_type_specifier--function_declarator-------------------> >--+-+----------------------------+-{--function body--}-+------>< | '-:--constructor-initializer-' | +-try-block------------------------------------------+ | (1) | +- = default;----------------------------------------+ | (2) | '- = delete;-----------------------------------------'