summaryrefslogtreecommitdiff
path: root/defines.h
diff options
context:
space:
mode:
authordtucker <dtucker>2014-04-30 16:24:35 +0000
committerdtucker <dtucker>2014-04-30 16:24:35 +0000
commitc1c9376f77f4a26f47719ff2d8b9421c96b73375 (patch)
tree88ed7b0453b8d911973c7c45af5f776d5322ec9b /defines.h
parent0abd872c7c8d8458174e3c81193932c91ed1799f (diff)
downloadopenssh-c1c9376f77f4a26f47719ff2d8b9421c96b73375.tar.gz
- (dtucker) [defines.h] Define __GNUC_PREREQ__ macro if we don't already
have it. Only attempt to use __attribute__(__bounded__) for gcc.
Diffstat (limited to 'defines.h')
-rw-r--r--defines.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/defines.h b/defines.h
index 41861fbb..928bd9b0 100644
--- a/defines.h
+++ b/defines.h
@@ -25,7 +25,7 @@
#ifndef _DEFINES_H
#define _DEFINES_H
-/* $Id: defines.h,v 1.177 2014/04/20 03:21:23 djm Exp $ */
+/* $Id: defines.h,v 1.178 2014/04/30 16:24:35 dtucker Exp $ */
/* Constants */
@@ -826,9 +826,17 @@ struct winsize {
# define arc4random_stir()
#endif
+/* Macro to test if we're using a specific version of gcc or later. */
+#if defined(__GNUC__) && !defined(__GNUC_PREREQ__)
+#define __GNUC_PREREQ__(ma, mi) \
+ ((__GNUC__ > (ma)) || (__GNUC__ == (ma) && __GNUC_MINOR__ >= (mi)))
+#else
+#define __GNUC_PREREQ__(ma, mi) 0
+#endif
+
/* __bounded macro */
#ifndef __bounded
-# if __GNUC_PREREQ__(3,3) && !defined(__clang__)
+# if defined(__GNUC__) && __GNUC_PREREQ__(3,3) && !defined(__clang__)
# define __bounded(args) __attribute__ ((__bounded__ args ))
# else
# define __bounded(args) /* delete */