summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2011-12-02 08:09:07 (GMT)
committerAlan Coopersmith <alan.coopersmith@oracle.com>2011-12-05 22:33:00 (GMT)
commitc19c55a93ab1bc6db56075ca34d6e1c3f522f622 (patch)
tree226e2aeaefb1f94c467e430a98a4f7de1e966166
parente4dcf580f007d6adcf5b0c639865d7aaab1a319d (diff)
Fix builds of Xnest & Xephyr with Solaris Studio compilers
Required in order to build with Studio cc now that xorg-macros is setting -errwarn=E_FUNC_HAS_NO_RETURN_STMT since a bug in the Solaris system headers causes the noreturn attribute to not be correctly applied to the exit() prototype in <stdlib.h> when building with Studio instead of gcc. Otherwise compiler exits with errors: "Display.c", line 65: Function has no return statement : x_io_error_handler "hostx.c", line 341: Function has no return statement : x_io_error_handler Uses Studio-specific pragma instead of adding another exit() prototype with a noreturn attribute to avoid causing gcc to warn about having a redundant prototype for the exit() function. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
-rw-r--r--hw/kdrive/ephyr/hostx.c5
-rw-r--r--hw/xnest/Display.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
index 47a6681..ebe4e52 100644
--- a/hw/kdrive/ephyr/hostx.c
+++ b/hw/kdrive/ephyr/hostx.c
@@ -332,6 +332,11 @@ hostx_set_title (char *title)
332 ephyrTitle = title; 332 ephyrTitle = title;
333} 333}
334 334
335#ifdef __SUNPRO_C
336/* prevent "Function has no return statement" error for x_io_error_handler */
337#pragma does_not_return(exit)
338#endif
339
335static int _X_NORETURN 340static int _X_NORETURN
336x_io_error_handler (Display *dpy) { 341x_io_error_handler (Display *dpy) {
337 ErrorF("Lost connection to X server: %s\n", strerror(errno)); 342 ErrorF("Lost connection to X server: %s\n", strerror(errno));
diff --git a/hw/xnest/Display.c b/hw/xnest/Display.c
index 7acad75..3176b60 100644
--- a/hw/xnest/Display.c
+++ b/hw/xnest/Display.c
@@ -55,6 +55,11 @@ Pixmap xnestScreenSaverPixmap;
55XlibGC xnestBitmapGC; 55XlibGC xnestBitmapGC;
56unsigned long xnestEventMask; 56unsigned long xnestEventMask;
57 57
58#ifdef __SUNPRO_C
59/* prevent "Function has no return statement" error for x_io_error_handler */
60#pragma does_not_return(exit)
61#endif
62
58static int _X_NORETURN 63static int _X_NORETURN
59x_io_error_handler (Display *dpy) { 64x_io_error_handler (Display *dpy) {
60 ErrorF("Lost connection to X server: %s\n", strerror(errno)); 65 ErrorF("Lost connection to X server: %s\n", strerror(errno));