aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStuart Menefy <stuart.menefy@st.com>2003-12-05 15:48:37 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2003-12-05 15:48:37 +0000
commit5d27ef94846befb5099acc0cbbe555b586e415ff (patch)
tree3f8ebe77d54071b949f47bd83d88fbd96eda5aac /gcc
parentf128e1f3326ab1f24d59110b70e118c95eb76fd5 (diff)
downloadgcc-5d27ef94846befb5099acc0cbbe555b586e415ff.zip
gcc-5d27ef94846befb5099acc0cbbe555b586e415ff.tar.gz
gcc-5d27ef94846befb5099acc0cbbe555b586e415ff.tar.bz2
re PR target/13302 (Putting a va_list in a struct causes seg fault)
2003-12-05 Stuart Menefy <stuart.menefy@st.com> J"orn Rennecke <joern.rennecke@superh.com> PR target/13302 gcc: * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type). testsuite: * g++.dg/other/struct-va_list.C: New test. Co-Authored-By: J"orn Rennecke <joern.rennecke@superh.com> From-SVN: r74334
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/sh.c2
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/other/struct-va_list.C8
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 66ba579..f9d6c8c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-12-05 Stuart Menefy <stuart.menefy@st.com>
+ J"orn Rennecke <joern.rennecke@superh.com>
+
+ PR target/13302
+ * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
+
2003-12-05 Roger Sayle <roger@eyesopen.com>
* dojump.c (do_jump): If the expression being compared against
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 186372f..0015f70 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -5929,7 +5929,7 @@ sh_build_builtin_va_list (void)
|| TARGET_HITACHI || sh_cfun_attr_renesas_p ())
return ptr_type_node;
- record = make_node (RECORD_TYPE);
+ record = (*lang_hooks.types.make_type) (RECORD_TYPE);
f_next_o = build_decl (FIELD_DECL, get_identifier ("__va_next_o"),
ptr_type_node);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 376783e..2000b1c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2003-12-05 Stuart Menefy <stuart.menefy@st.com>
+ J"orn Rennecke <joern.rennecke@superh.com>
+
+ PR target/13302
+ * g++.dg/other/struct-va_list.C: New test.
+
2003-12-05 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
PR c++/13166
diff --git a/gcc/testsuite/g++.dg/other/struct-va_list.C b/gcc/testsuite/g++.dg/other/struct-va_list.C
new file mode 100644
index 0000000..769b909
--- /dev/null
+++ b/gcc/testsuite/g++.dg/other/struct-va_list.C
@@ -0,0 +1,8 @@
+// { dg-do compile }
+// PR target/13302
+
+#include <stdarg.h>
+
+struct NumArgState{
+ va_list ap;
+};