This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] sparc: Fix warnings when using visintrin.h with VIS level lower than 3.


I've known about this problem for a while but I just haven't gotten around to
fixing it up in the tree.

Committed to trunk.

	* config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182067 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog                |    4 ++++
 gcc/config/sparc/visintrin.h |   16 ++++++++++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1b0fe1a..2ccfa61 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2011-12-06  David S. Miller  <davem@davemloft.net>
+
+	* config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.
+
 2011-12-06  Georg-Johann Lay  <avr@gjlay.de>
 
 	* config/avr/avr.c (avr_file_start): Fix missing ,
diff --git a/gcc/config/sparc/visintrin.h b/gcc/config/sparc/visintrin.h
index deb68b4..eb4d739 100644
--- a/gcc/config/sparc/visintrin.h
+++ b/gcc/config/sparc/visintrin.h
@@ -24,6 +24,8 @@
 #ifndef _VISINTRIN_H_INCLUDED
 #define _VISINTRIN_H_INCLUDED
 
+#ifdef __VIS__
+
 typedef int __v2si __attribute__ ((__vector_size__ (8)));
 typedef int __v1si __attribute__ ((__vector_size__ (4)));
 typedef short __v4hi __attribute__ ((__vector_size__ (8)));
@@ -32,6 +34,8 @@ typedef unsigned char __v8qi __attribute__ ((__vector_size__ (8)));
 typedef unsigned char __v4qi __attribute__ ((__vector_size__ (4)));
 typedef int __i64 __attribute__ ((__mode__ (DI)));
 
+#if __VIS__ >= 0x200
+
 extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 __vis_write_gsr (__i64 __A)
@@ -46,6 +50,8 @@ __vis_read_gsr (void)
   return __builtin_vis_read_gsr ();
 }
 
+#endif /* __VIS__ >= 0x200 */
+
 extern __inline void *
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 __vis_alignaddr (void *__A, long __B)
@@ -354,6 +360,8 @@ __vis_array32 (long __A, long __B)
   return __builtin_vis_array32 (__A, __B);
 }
 
+#if __VIS__ >= 0x200
+
 extern __inline long
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 __vis_bmask (long __A, long __B)
@@ -431,6 +439,10 @@ __vis_edge32ln (void *__A, void *__B)
   return __builtin_vis_edge32ln (__A, __B);
 }
 
+#endif /* __VIS__ >= 0x200 */
+
+#if __VIS__ >= 0x300
+
 extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 __vis_cmask8 (long __A)
@@ -690,4 +702,8 @@ __vis_xmulxhi (__i64 __A, __i64 __B)
   return __builtin_vis_xmulxhi (__A, __B);
 }
 
+#endif /* __VIS__ >= 0x300 */
+
+#endif /* __VIS__ */
+
 #endif  /* _VISINTRIN_H_INCLUDED */
-- 
1.7.6.401.g6a319


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]