Subject: err.h declarations not marked noreturn.
From: Rusty Russell <[email-masked]>
To: Reini Urban <[email-masked]>
Cc: [email-masked]
Date: Wed, 2 Feb 2011 09:11:31 +1030
List-Id: <cygwin.cygwin.com>

On Wed, 2 Feb 2011 01:56:44 am Reini Urban wrote:
> 2011/2/1 Rusty Russell <[email-masked]>:
> > On Mon, 31 Jan 2011 11:41:33 pm Reini Urban wrote:
> >> gcc-4.3.4 cygwin
...
> > Can you send me (privately) the output of gcc -E on that file?  That
> > should tell me for sure.  A ccan/err module might be a good start.
> 
> Attached.

OK, your /usr/include/err.h doesn't have the annotations to tell gcc that it
doesn't return.

Mine looks like so (Ubuntu):

	extern void err (int __status, __const char *__format, ...)
	     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));

I've CC'd the cygwin list: there might be a good reason why they don't
have annotations on their err.h, or it might just be an omission.

Thanks,
Rusty.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple