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]

Re: [Patch] Empty <ia64intrin.h>


Jakub Jelinek wrote:

>On Tue, May 24, 2005 at 05:29:38PM +0200, Paolo Carlini wrote:
>  
>
>>tested ia64-linux (c/c++). Ok for mainline?
>>    
>>
>Empty files in CVS are bad idea.
>
Why, exactly, just curious in general? Well, the idea is not mine, anyway ;)

>  Can't you at least leave in a comment
>saying that there is nothing needed in the header anymore?
>  
>
No problem. Is the below better?

Paolo.

///////////////////
2005-05-24  Paolo Carlini  <pcarlini@suse.de>

	* config/ia64/ia64intrin.h: Define nothing for C++:
	overloaded builtins have been ported to C++.
Index: ia64intrin.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ia64/ia64intrin.h,v
retrieving revision 1.6
diff -p -r1.6 ia64intrin.h
*** ia64intrin.h	14 Apr 2005 23:53:02 -0000	1.6
--- ia64intrin.h	24 May 2005 15:43:51 -0000
***************
*** 1,91 ****
! #ifndef _IA64INTRIN_H_INCLUDED
! #define _IA64INTRIN_H_INCLUDED
! 
! /* ??? Overloaded builtins havn't been ported to C++ yet.  */
! #ifdef __cplusplus
! 
! #define __sync_val_compare_and_swap(PTR, OLD, NEW)			\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR)))						\
!     __sync_val_compare_and_swap_4((int *)(void *)(PTR),(int)(OLD),(int)(NEW))	\
!   : (__typeof__(*(PTR)))						\
!     __sync_val_compare_and_swap_8((long *)(void *)(PTR),(long)(OLD),(long)(NEW)))
! 
! #define __sync_bool_compare_and_swap(PTR, OLD, NEW)			\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? __sync_bool_compare_and_swap_4((int *)(void *)(PTR),(int)(OLD),(int)(NEW))	\
!   : __sync_bool_compare_and_swap_8((long *)(void *)(PTR),(long)(OLD),(long)(NEW)))
! 
! #define __sync_lock_release(PTR)		\
!   ((sizeof (*(PTR)) == sizeof(int))		\
!    ? __sync_lock_release_4((int *)(void *)(PTR))	\
!    : __sync_lock_release_8((long *)(void *)(PTR)))
! 
! #define __sync_lock_test_and_set(PTR,VAL)				\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_lock_test_and_set_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_lock_test_and_set_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_fetch_and_add(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_fetch_and_add_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_fetch_and_add_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_fetch_and_sub(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_fetch_and_sub_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_fetch_and_sub_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_fetch_and_and(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_fetch_and_and_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_fetch_and_and_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_fetch_and_or(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_fetch_and_or_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_fetch_and_or_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_fetch_and_xor(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_fetch_and_xor_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_fetch_and_xor_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_fetch_and_nand(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_fetch_and_nand_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_fetch_and_nand_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_add_and_fetch(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_add_and_fetch_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_add_and_fetch_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_sub_and_fetch(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_sub_and_fetch_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_sub_and_fetch_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_and_and_fetch(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_and_and_fetch_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_and_and_fetch_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_or_and_fetch(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_or_and_fetch_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_or_and_fetch_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_xor_and_fetch(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_xor_and_fetch_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_xor_and_fetch_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #define __sync_nand_and_fetch(PTR,VAL)					\
!  ((sizeof (*(PTR)) == sizeof(int))					\
!   ? (__typeof__(*(PTR))) __sync_nand_and_fetch_4((int *)(void *)(PTR),(int)(VAL)) \
!   : (__typeof__(*(PTR))) __sync_nand_and_fetch_8((long *)(void *)(PTR),(long)(VAL)))
! 
! #endif /* __cplusplus */
! 
! #endif /* _IA64INTRIN_H_INCLUDED */
--- 1,2 ----
! /* Overloaded builtins have been ported to C++: nothing is needed
!    in the header anymore.  This file intentionally left void.  */

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