about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--assert/assert.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8a2b8c0971..416eceb106 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-08-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* assert/assert.h (assert_perror): Use __builtin_expect for gcc >=
+	3.0, not for !gcc or gcc < 3.0.
+
 2003-08-11  Carlos O'Donell  <carlos@baldric.uwo.ca>
 
 	* dlfcn/default.c (main): Cast dlsym loaded value to same type as main.
diff --git a/assert/assert.h b/assert/assert.h
index b511d116d9..7458e15de2 100644
--- a/assert/assert.h
+++ b/assert/assert.h
@@ -102,12 +102,12 @@ __END_DECLS
 # ifdef	__USE_GNU
 #  if __GNUC_PREREQ (3, 0)
 #   define assert_perror(errnum) \
-  (__ASSERT_VOID_CAST (!(errnum) ? 0 :					      \
+  (__ASSERT_VOID_CAST (__builtin_expect (!(errnum), 1) ? 0 :		      \
 		       (__assert_perror_fail ((errnum), __FILE__, __LINE__,   \
 					      __ASSERT_FUNCTION), 0)))
 #  else
 #   define assert_perror(errnum) \
-  (__ASSERT_VOID_CAST (__builtin_expect (!(errnum), 1) ? 0 :		      \
+  (__ASSERT_VOID_CAST (!(errnum) ? 0 :					      \
 		       (__assert_perror_fail ((errnum), __FILE__, __LINE__,   \
 					      __ASSERT_FUNCTION), 0)))
 #  endif