aboutsummaryrefslogtreecommitdiff
path: root/gcc/libgcc2.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-02-03 14:42:20 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-02-03 14:42:20 -0800
commitdabb3f04da95f2cdbe4b713d3e997dfb67b87ca0 (patch)
treeb06e600bb678be6305dbf07842e1ba19c1f9ff99 /gcc/libgcc2.h
parentd074ed7c016d74f5305d482e5a2b685920802a4d (diff)
downloadgcc-dabb3f04da95f2cdbe4b713d3e997dfb67b87ca0.zip
gcc-dabb3f04da95f2cdbe4b713d3e997dfb67b87ca0.tar.gz
gcc-dabb3f04da95f2cdbe4b713d3e997dfb67b87ca0.tar.bz2
libgcc2.c (__ffsdi2, [...]): Change return type to "int".
* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2, __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change return type to "int". Shuffle declarations and undef int trap. * libgcc2.h: Remove their declarations. * optabs.c (expand_unop): Force outmode to int for bitops. From-SVN: r62353
Diffstat (limited to 'gcc/libgcc2.h')
-rw-r--r--gcc/libgcc2.h34
1 files changed, 11 insertions, 23 deletions
diff --git a/gcc/libgcc2.h b/gcc/libgcc2.h
index c71fcce..f32f4a0 100644
--- a/gcc/libgcc2.h
+++ b/gcc/libgcc2.h
@@ -223,31 +223,19 @@ extern DWtype __negdi2 (DWtype);
extern DWtype __lshrdi3 (DWtype, word_type);
extern DWtype __ashldi3 (DWtype, word_type);
extern DWtype __ashrdi3 (DWtype, word_type);
-extern Wtype __ffsdi2 (DWtype);
/* ??? Ought to get these named properly for DSPs. */
-#if BITS_PER_UNIT == 8 && MIN_UNITS_PER_WORD >= 4
-extern Wtype __clzsi2 (USItype);
-extern Wtype __ctzsi2 (USItype);
-extern Wtype __popcountsi2 (USItype x);
-extern Wtype __paritysi2 (USItype x);
-#else
-#undef L_clzsi2
-#undef L_ctzsi2
-#undef L_popcountsi2
-#undef L_paritysi2
-#endif
-
-#if BITS_PER_UNIT == 8 && MIN_UNITS_PER_WORD >= 4 && LONG_LONG_TYPE_SIZE > 32
-extern Wtype __clzdi2 (UDItype);
-extern Wtype __ctzdi2 (UDItype);
-extern Wtype __popcountdi2 (UDItype x);
-extern Wtype __paritydi2 (UDItype x);
-#else
-#undef L_clzdi2
-#undef L_ctzdi2
-#undef L_popcountdi2
-#undef L_paritydi2
+#if BITS_PER_UNIT != 8 || MIN_UNITS_PER_WORD < 4
+# undef L_clzsi2
+# undef L_ctzsi2
+# undef L_popcountsi2
+# undef L_paritysi2
+# if LONG_LONG_TYPE_SIZE <= 32
+# undef L_clzdi2
+# undef L_ctzdi2
+# undef L_popcountdi2
+# undef L_paritydi2
+# endif
#endif
/* __udiv_w_sdiv is static inline when building other libgcc2 portions. */