errors in the current cvs...

Alfred M. Szmidt ams@kemisten.nu
Mon Aug 18 14:23:00 GMT 2003


I'm curious why nobody else is getting this, specially on GNU/Linux.

In [libc]/sysdeps/generic/bits/libc-lock.h we have:

#define __libc_cleanup_push(fct, arg) __libc_cleanup_region_start (1, fct, arg)
#define __libc_cleanup_pop(execute) __libc_cleanup_end (execute)

But __libc_cleanup_region_start starts an statement that is never
closed, because __libc_cleanup_end doesn't close the statement.
__libc_cleanup_pop should in reality be defined like this:

#define __libc_cleanup_pop(execute) __libc_cleanup_region_end (execute)

Could someone fix sysdeps/generic/bits/libc-lock.h accordingly?

2003-08-18  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/generic/bits/libc-lock.h (__libc_cleanup_pop): Redefine
	and use __libc_cleanup_region_end instead.

--- sysdeps/generic/bits/libc-lock.h.~1.10.~	2003-08-01 21:46:48.000000000 +0200
+++ sysdeps/generic/bits/libc-lock.h	2003-08-18 00:39:16.000000000 +0200
@@ -118,7 +118,7 @@
     (*__save_FCT)(__save_ARG);						    \
 
 #define __libc_cleanup_push(fct, arg) __libc_cleanup_region_start (1, fct, arg)
-#define __libc_cleanup_pop(execute) __libc_cleanup_end (execute)
+#define __libc_cleanup_pop(execute) __libc_cleanup_region_end (execute)
 
 /* We need portable names for some of the functions.  */
 #define __libc_mutex_unlock



More information about the Libc-alpha mailing list