summaryrefslogtreecommitdiff
path: root/fixincludes/inclhack.def
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-17 22:58:40 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-17 22:58:40 +0000
commitd92db5b602ed3b26125e63f59fb03eb3454e1576 (patch)
tree3893f30ae520b23d1e5c6755e4cc1cbc3f5f3ef9 /fixincludes/inclhack.def
parent1de34e084ee2bcaf9f6a3db0018fab74a79c8de2 (diff)
downloadgcc-d92db5b602ed3b26125e63f59fb03eb3454e1576.tar.gz
* inclhack.def (linux_ia64_ucontext): New fix.
* fixincl.x: Regenerate. * tests/base/sys/ucontext.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87677 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fixincludes/inclhack.def')
-rw-r--r--fixincludes/inclhack.def17
1 files changed, 17 insertions, 0 deletions
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
index 9a72c0b6b25..38021c33957 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -1872,6 +1872,23 @@ fix = {
};
+/* The /usr/include/sys/ucontext.h on ia64-*linux-gnu systems defines
+ * an _SC_GR0_OFFSET macro using an idiom that isn't a compile time
+ * constant on recent versions of g++.
+ */
+fix = {
+ hackname = linux_ia64_ucontext;
+ files = "sys/ucontext.h";
+ mach = "ia64-*-linux*";
+ select = '\(\(\(char \*\) &\(\(struct sigcontext \*\) 0\)'
+ '->sc_gr\[0\]\) - \(char \*\) 0\)';
+ c_fix = format;
+ c_fix_arg = "__builtin_offsetof \(struct sigcontext, sc_gr[0]\)";
+ test_text = "# define _SC_GR0_OFFSET\t\\\\\n"
+ "\t(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)\n";
+};
+
+
/*
* Apparently some SVR4 systems typedef longlong_t to long ?
*/