diff mbox

[committed] hppa-hpux11: New include fix for alloca.h

Message ID 363BC40D-FF49-4C41-8DF4-94464AF401CD@bell.net
State New
Headers show

Commit Message

John David Anglin Feb. 11, 2017, 9:46 p.m. UTC
The alloca.h header on hppa-hpux needs to include sys/stdsyms.h to define _PROTOTYPES, etc.
It was assumed that stddef.h would include sys/stdsyms.h.  However, the HP version of stddef.h is
now replaced by a GCC version and it doesn't include sys/stdsyms.h. 

The attached change modifies alloca.h to explicitly include sys/stdsyms.h if it hasn't been included
previously.  This fixes the libgomp.oacc-c-c++-common/loop-dim-default.c test case.

Tested on hppa64-hp-hpux11.11.  Committed to trunk.

Dave
--
John David Anglin	dave.anglin@bell.net
2017-02-11  John David Anglin  <danglin@gcc.gnu.org>

	* tests/base/alloca.h: New file.
	* inclhack.def (hppa_hpux11_alloca): New fix.
	* fixincl.x: Regenerate.
diff mbox

Patch

--- /dev/null	2017-02-10 13:37:33 +0000
+++ tests/base/alloca.h	2017-02-10 13:32:02 +0000
@@ -0,0 +1,18 @@ 
+/*  DO NOT EDIT THIS FILE.
+
+    It has been auto-edited by fixincludes from:
+
+	"fixinc/tests/inc/alloca.h"
+
+    This had to be done to correct non-standard usages in the
+    original, manufacturer supplied header file.  */
+
+
+
+#if defined( HPPA_HPUX11_ALLOCA_CHECK )
+#ifndef _SYS_STDSYMS_INCLUDED
+#  include <sys/stdsyms.h>
+#endif /* _SYS_STDSYMS_INCLUDED */
+
+#ifndef _STDDEF_INCLUDED
+#endif  /* HPPA_HPUX11_ALLOCA_CHECK */
Index: inclhack.def
===================================================================
--- inclhack.def	(revision 245313)
+++ inclhack.def	(working copy)
@@ -2275,6 +2275,24 @@ 
 };
 
 /*
+ *  The HP-UX stddef.h is replaced by gcc's. It doesn't include sys/stdsyms.h.
+ *  As a result, we need to include sys/stdsyms.h in alloca.h.
+ */
+fix = {
+    hackname  = hppa_hpux11_alloca;
+    mach      = "hppa*-*-hpux11*";
+    files     = alloca.h;
+    select    = "#ifndef _STDDEF_INCLUDED";
+    c_fix     = format;
+    c_fix_arg = "#ifndef _SYS_STDSYMS_INCLUDED\n"
+		"#  include <sys/stdsyms.h>\n"
+		"#endif /* _SYS_STDSYMS_INCLUDED */\n\n"
+		"%0";
+
+    test_text = "#ifndef _STDDEF_INCLUDED";
+};
+
+/*
  *  Make sure hpux defines abs in header.
  */
 fix = {