diff options
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/busdma_machdep.c | 6 | ||||
-rw-r--r-- | sys/arm/include/_types.h | 13 | ||||
-rw-r--r-- | sys/arm/include/limits.h | 4 | ||||
-rw-r--r-- | sys/arm/include/stdarg.h | 12 |
4 files changed, 21 insertions, 14 deletions
diff --git a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c index 6e296e9..a95163e 100644 --- a/sys/arm/arm/busdma_machdep.c +++ b/sys/arm/arm/busdma_machdep.c @@ -532,7 +532,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, { vm_offset_t lastaddr = 0; int error, nsegs = -1; -#ifdef __GNUC__ +#ifdef __CC_SUPPORTS_DYNAMIC_ARRAY_INIT bus_dma_segment_t dm_segments[dmat->nsegments]; #else bus_dma_segment_t dm_segments[BUS_DMAMAP_NSEGS]; @@ -564,7 +564,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { -#ifdef __GNUC__ +#ifdef __CC_SUPPORTS_DYNAMIC_ARRAY_INIT bus_dma_segment_t dm_segments[dmat->nsegments]; #else bus_dma_segment_t dm_segments[BUS_DMAMAP_NSEGS]; @@ -650,7 +650,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, int flags) { vm_offset_t lastaddr; -#ifdef __GNUC__ +#ifdef __CC_SUPPORTS_DYNAMIC_ARRAY_INIT bus_dma_segment_t dm_segments[dmat->nsegments]; #else bus_dma_segment_t dm_segments[BUS_DMAMAP_NSEGS]; diff --git a/sys/arm/include/_types.h b/sys/arm/include/_types.h index 57b1c7c..c700f52 100644 --- a/sys/arm/include/_types.h +++ b/sys/arm/include/_types.h @@ -39,6 +39,10 @@ #ifndef _MACHINE__TYPES_H_ #define _MACHINE__TYPES_H_ +#ifndef _SYS_CDEFS_H_ +#error this file needs sys/cdefs.h as a prerequisite +#endif + /* * Basic types upon which most other types are built. */ @@ -49,7 +53,7 @@ typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; -#if defined(__GNUC__) +#ifdef __GNUCLIKE_ATTRIBUTE_MODE_DI typedef int __attribute__((__mode__(__DI__))) __int64_t; typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t; #else @@ -105,12 +109,13 @@ typedef __uint32_t __vm_size_t; /* * Unusual type definitions. */ -#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3) +#ifdef __GNUCLIKE_BUILTIN_VARARGS typedef __builtin_va_list __va_list; /* internally known to gcc */ #else typedef char * __va_list; -#endif /* post GCC 2.95 */ -#if defined __GNUC__ && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST) +#endif /* __GNUCLIKE_BUILTIN_VARARGS */ +#if defined(__GNUCLIKE_BUILTIN_VAALIST) && !defined(__GNUC_VA_LIST) \ + && !defined(__NO_GNUC_VA_LIST) #define __GNUC_VA_LIST typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ #endif diff --git a/sys/arm/include/limits.h b/sys/arm/include/limits.h index 8e3bb11..35eea1f 100644 --- a/sys/arm/include/limits.h +++ b/sys/arm/include/limits.h @@ -33,7 +33,9 @@ #ifndef _MACHINE_LIMITS_H_ #define _MACHINE_LIMITS_H_ -#if __GNUC__ +#include <sys/cdefs.h> + +#ifdef __CC_SUPPORTS_WARNING #warning "machine/limits.h is deprecated. Include sys/limits.h instead." #endif diff --git a/sys/arm/include/stdarg.h b/sys/arm/include/stdarg.h index cf8aef5..a8b0ff0 100644 --- a/sys/arm/include/stdarg.h +++ b/sys/arm/include/stdarg.h @@ -42,7 +42,7 @@ typedef __va_list va_list; #endif -#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3) +#ifdef __GNUCLIKE_BUILTIN_STDARG #define va_start(ap, last) \ __builtin_stdarg_start((ap), (last)) @@ -58,24 +58,24 @@ typedef __va_list va_list; #define va_end(ap) \ __builtin_va_end(ap) -#else /* ! __GNUC__ post GCC 2.95 */ +#else /* !__GNUCLIKE_BUILTIN_STDARG */ #define __va_size(type) \ (((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int)) -#ifdef __GNUC__ +#ifdef __GNUCLIKE_BUILTIN_NEXT_ARG #define va_start(ap, last) \ ((ap) = (va_list)__builtin_next_arg(last)) -#else /* non-GNU compiler */ +#else /* !__GNUCLIKE_BUILTIN_NEXT_ARG */ #define va_start(ap, last) \ ((ap) = (va_list)&(last) + __va_size(last)) -#endif /* __GNUC__ */ +#endif /* __GNUCLIKE_BUILTIN_NEXT_ARG */ #define va_arg(ap, type) \ (*(type *)((ap) += __va_size(type), (ap) - __va_size(type))) #define va_end(ap) -#endif /* __GNUC__ post GCC 2.95 */ +#endif /* __GNUCLIKE_BUILTIN_STDARG */ #endif /* !_MACHINE_STDARG_H_ */ |