projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Minor updates to the Benito programmer - remove redundant PORT register manipulations.
[pub/USBasp.git]
/
LUFA
/
Common
/
FunctionAttributes.h
diff --git
a/LUFA/Common/FunctionAttributes.h
b/LUFA/Common/FunctionAttributes.h
index
16503bb
..
9efa440
100644
(file)
--- a/
LUFA/Common/FunctionAttributes.h
+++ b/
LUFA/Common/FunctionAttributes.h
@@
-32,11
+32,19
@@
*
\r
* This file contains macros for applying GCC specific attributes to functions to control various optimizer
\r
* and code generation features of the compiler. Attributes may be placed in the function prototype in any
\r
*
\r
* This file contains macros for applying GCC specific attributes to functions to control various optimizer
\r
* and code generation features of the compiler. Attributes may be placed in the function prototype in any
\r
- * order, and multiple attributes can be specified for a single function via a space sep
e
rated list.
\r
+ * order, and multiple attributes can be specified for a single function via a space sep
a
rated list.
\r
*
\r
* \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
\r
* functionality.
\r
*/
\r
*
\r
* \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
\r
* functionality.
\r
*/
\r
+
\r
+/** \ingroup Group_Common
\r
+ * @defgroup Group_FuncAttr Function Attributes
\r
+ *
\r
+ * Macros for easy access GCC function attributes, which can be applied to function prototypes.
\r
+ *
\r
+ * @{
\r
+ */
\r
\r
#ifndef __FUNCATTR_H__
\r
#define __FUNCATTR_H__
\r
\r
#ifndef __FUNCATTR_H__
\r
#define __FUNCATTR_H__
\r
@@
-49,11
+57,11
@@
/* Public Interface - May be used in end-application: */
\r
/* Macros: */
\r
/** Indicates to the compiler that the function can not ever return, so that any stack restoring or
\r
/* Public Interface - May be used in end-application: */
\r
/* Macros: */
\r
/** Indicates to the compiler that the function can not ever return, so that any stack restoring or
\r
- * return code may be om
mi
ted by the compiler in the resulting binary.
\r
+ * return code may be om
it
ted by the compiler in the resulting binary.
\r
*/
\r
#define ATTR_NO_RETURN __attribute__ ((noreturn))
\r
\r
*/
\r
#define ATTR_NO_RETURN __attribute__ ((noreturn))
\r
\r
- /** Places the function in one of the initilization sections, which execute before the main function
\r
+ /** Places the function in one of the initi
a
lization sections, which execute before the main function
\r
* of the application. The init function number can be specified as "x", as an integer. Refer to the
\r
* avr-libc manual for more information on the initialization sections.
\r
*/
\r
* of the application. The init function number can be specified as "x", as an integer. Refer to the
\r
* avr-libc manual for more information on the initialization sections.
\r
*/
\r
@@
-65,12
+73,12
@@
#define ATTR_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result))
\r
\r
/** Indicates that the specified parameters of the function are pointers which should never be NULL.
\r
#define ATTR_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result))
\r
\r
/** Indicates that the specified parameters of the function are pointers which should never be NULL.
\r
- * When applied as a 1-based comma sep
erated list the compiler will em
mit a warning if the specified
\r
+ * When applied as a 1-based comma sep
arated list the compiler will e
mit a warning if the specified
\r
* parameters are known at compiler time to be NULL at the point of calling the function.
\r
*/
\r
#define ATTR_NON_NULL_PTR_ARG(...) __attribute__ ((nonnull (__VA_ARGS__)))
\r
\r
* parameters are known at compiler time to be NULL at the point of calling the function.
\r
*/
\r
#define ATTR_NON_NULL_PTR_ARG(...) __attribute__ ((nonnull (__VA_ARGS__)))
\r
\r
- /** Removes any pream
ple or postamp
le from the function. When used, the function will not have any
\r
+ /** Removes any pream
ble or postamb
le from the function. When used, the function will not have any
\r
* register or stack saving code. This should be used with caution, and when used the programmer
\r
* is responsible for maintaining stack and register integrity.
\r
*/
\r
* register or stack saving code. This should be used with caution, and when used the programmer
\r
* is responsible for maintaining stack and register integrity.
\r
*/
\r
@@
-84,7
+92,7
@@
/** Forces the compiler to inline the specified function. When applied, the given function will be
\r
* inlined under all circumstances.
\r
*/
\r
/** Forces the compiler to inline the specified function. When applied, the given function will be
\r
* inlined under all circumstances.
\r
*/
\r
- #define ATTR_ALWAYS
INLINE
__attribute__ ((always_inline))
\r
+ #define ATTR_ALWAYS
_INLINE
__attribute__ ((always_inline))
\r
\r
/** Indicates that the specified function is pure, in that it has no side-effects other than global
\r
* or parameter variable access.
\r
\r
/** Indicates that the specified function is pure, in that it has no side-effects other than global
\r
* or parameter variable access.
\r
@@
-108,3
+116,5
@@
#define ATTR_ALIAS(x) __attribute__ ((alias( #x )))
\r
\r
#endif
\r
#define ATTR_ALIAS(x) __attribute__ ((alias( #x )))
\r
\r
#endif
\r
+
\r
+/** @} */
\r