| LUFA Library 140302 |

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
Attributes.h File Reference

Special function/variable attribute macros. More...

## Macros
#define | ATTR_ALIAS(Func) __attribute__ ((alias( #Func )))
#define | ATTR_ALIGNED(Bytes) __attribute__ ((aligned(Bytes)))
#define | ATTR_ALWAYS_INLINE __attribute__ ((always_inline))
#define | ATTR_CONST __attribute__ ((const))
#define | ATTR_DEPRECATED __attribute__ ((deprecated))
#define | ATTR_INIT_SECTION(SectionIndex) __attribute__ ((used, naked, section (".init" #SectionIndex )))
#define | ATTR_NAKED __attribute__ ((naked))
#define | ATTR_NO_INIT __attribute__ ((section (".noinit")))
#define | ATTR_NO_INLINE __attribute__ ((noinline))
#define | ATTR_NO_RETURN __attribute__ ((noreturn))
#define | ATTR_NON_NULL_PTR_ARG(...) __attribute__ ((nonnull (__VA_ARGS__)))
#define | ATTR_PACKED __attribute__ ((packed))
#define | ATTR_PURE __attribute__ ((pure))
#define | ATTR_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result))
#define | ATTR_WEAK __attribute__ ((weak))

## Detailed Description

This module contains macros for applying specific attributes to functions and variables to control various optimizer and code generation features of the compiler. Attributes may be placed in the function prototype or variable declaration in any order, and multiple attributes can be specified for a single item via a space separated list.

On incompatible versions of GCC or on other compilers, these macros evaluate to nothing unless they are critical to the code's function and thus must throw a compile error when used.

Note
  Do not include this file directly, rather include the Common.h header file instead to gain this file's functionality.