This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch] Empty <ia64intrin.h>
- From: Paolo Carlini <pcarlini at suse dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: "'gcc-patches at gcc dot gnu dot org'" <gcc-patches at gcc dot gnu dot org>,Richard Henderson <rth at redhat dot com>
- Date: Tue, 24 May 2005 17:44:46 +0200
- Subject: Re: [Patch] Empty <ia64intrin.h>
- References: <42934862.9070605@suse.de> <20050524153247.GN4930@devserv.devel.redhat.com>
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. */