Changeset 60023 in vbox
- Timestamp:
- Mar 14, 2016 6:40:57 PM (9 years ago)
- Location:
- trunk/include/iprt
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/cdefs.h
r60007 r60023 1123 1123 #define DECLASMTYPE(type) type RTCALL 1124 1124 1125 /** @def DECL NORETURN1125 /** @def DECL_NO_RETURN 1126 1126 * How to declare a function which does not return. 1127 * @note :This macro can be combined with other macros, for example1127 * @note This macro can be combined with other macros, for example 1128 1128 * @code 1129 * EMR3DECL(DECL NORETURN(void)) foo(void);1129 * EMR3DECL(DECL_NO_RETURN(void)) foo(void); 1130 1130 * @endcode 1131 1131 */ 1132 1132 #ifdef _MSC_VER 1133 # define DECL NORETURN(type)__declspec(noreturn) type1133 # define DECL_NO_RETURN(type) __declspec(noreturn) type 1134 1134 #elif defined(__GNUC__) 1135 # define DECLNORETURN(type) __attribute__((noreturn)) type 1136 #else 1137 # define DECLNORETURN(type) type 1135 # define DECL_NO_RETURN(type) __attribute__((noreturn)) type 1136 #else 1137 # define DECL_NO_RETURN(type) type 1138 #endif 1139 /** @deprecated Use DECL_NO_RETURN instead. */ 1140 #define DECLNORETURN(type) DECL_NO_RETURN(type) 1141 1142 /** @def DECL_RETURNS_TWICE 1143 * How to declare a function which may return more than once. 1144 * @note This macro can be combined with other macros, for example 1145 * @code 1146 * EMR3DECL(DECL_RETURNS_TWICE(void)) MySetJmp(void); 1147 * @endcode 1148 */ 1149 #ifdef __GNUC__ 1150 # if (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) 1151 # define DECL_RETURNS_TWICE(type) __attribute__((returns_twice)) type 1152 # else 1153 # define DECL_RETURNS_TWICE(type) type 1154 # endif 1155 #else 1156 # define DECL_RETURNS_TWICE(type) type 1138 1157 #endif 1139 1158 … … 1141 1160 * How to declare a variable which is not necessarily resolved at 1142 1161 * runtime. 1143 * @note :This macro can be combined with other macros, for example1162 * @note This macro can be combined with other macros, for example 1144 1163 * @code 1145 1164 * EMR3DECL(DECLWEAK(int)) foo; -
trunk/include/iprt/nocrt/setjmp.h
r56291 r60023 41 41 #endif 42 42 43 extern intRT_NOCRT(setjmp)(RT_NOCRT(jmp_buf));44 extern intRT_NOCRT(longjmp)(RT_NOCRT(jmp_buf), int);43 extern DECL_RETURNS_TWICE(int) RT_NOCRT(setjmp)(RT_NOCRT(jmp_buf)); 44 extern DECL_NO_RETURN(int) RT_NOCRT(longjmp)(RT_NOCRT(jmp_buf), int); 45 45 46 46 #if !defined(RT_WITHOUT_NOCRT_WRAPPERS) && !defined(RT_WITHOUT_NOCRT_WRAPPER_ALIASES)
Note:
See TracChangeset
for help on using the changeset viewer.