Changeset 39918 in vbox
- Timestamp:
- Jan 31, 2012 2:05:02 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 75993
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/types.h
r39890 r39918 110 110 # endif 111 111 # endif 112 # if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) \ 113 || !defined(__cplusplus) \ 114 || !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) \ 115 || !defined(CONFIG_OPTIMIZE_INLINING) 116 /* compiler-gcc.h redefines inline macrodefenitions when CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING and CONFIG_OPTIMIZED_INLINING 117 * are defined appeding __attribute__((no_instrument_function)) which isn't supported by g++. inline used in linux/posix_types.h that 118 * why we need include linux/type.h after compiler-gcc.h 119 */ 112 # include <linux/compiler.h> 113 # if defined(__cplusplus) 114 /* 115 * Starting with 3.3, <linux/compiler-gcc.h> appends 'notrace' (which 116 * expands to __attribute__((no_instrument_function))) to inline, 117 * __inline and __inline__. Revert that. 118 */ 119 # undef inline 120 # define inline inline 121 # undef __inline__ 122 # define __inline__ __inline__ 123 # undef __inline 124 # define __inline __inline 125 # endif 120 126 # include <linux/types.h> 121 # endif122 127 # include <linux/stddef.h> 123 128 # undef uintptr_t … … 133 138 # define __inline__ __inline__ 134 139 # endif 135 # if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) \136 && defined(__cplusplus) \137 && defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) \138 && defined(CONFIG_OPTIMIZE_INLINING)139 /*140 * <linux/compiler-gcc.h> does when CONFIG_OPTIMIZE_INLINING and CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING141 * are defined and affects VBox c++ sources,142 *143 * define inline inline notrace144 * define __inline__ __inline__ notrace145 * define __inline __inline notrace146 *147 * upper in <linux/compiler-gcc.h>148 * #define notrace __attribute__((no_instrument_function))149 */150 # undef inline151 # define inline inline152 # undef __inline__153 # define __inline__ __inline__154 # undef __inline155 # define __inline __inline156 # undef __always_inline157 # define __always_inline __attribute__((always_inline))158 # include <linux/types.h>159 # endif /* KERNEL_VERSION(3.3.0)< */160 140 # endif 161 141 # undef false
Note:
See TracChangeset
for help on using the changeset viewer.