* function.c (gimplify_parameters): For callee copies parameters,
move TREE_ADDRESSABLE flag from the PARM_DECL to the local copy.
* gcc.c-torture/compile/pr36125.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141848
138bc75d-0d04-0410-961f-
82ee72b054a4
+2008-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/36125
+ * function.c (gimplify_parameters): For callee copies parameters,
+ move TREE_ADDRESSABLE flag from the PARM_DECL to the local copy.
+
2008-11-13 Thomas Schwinge <tschwinge@gnu.org>
PR target/28102
{
local = create_tmp_var (type, get_name (parm));
DECL_IGNORED_P (local) = 0;
+ /* If PARM was addressable, move that flag over
+ to the local copy, as its address will be taken,
+ not the PARMs. */
+ if (TREE_ADDRESSABLE (parm))
+ {
+ TREE_ADDRESSABLE (parm) = 0;
+ TREE_ADDRESSABLE (local) = 1;
+ }
}
else
{
+2008-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/36125
+ * gcc.c-torture/compile/pr36125.c: New test.
+
2008-11-13 Jason Merrill <jason@redhat.com>
PR c++/37932
--- /dev/null
+/* PR middle-end/36125 */
+
+extern void bar (long double *);
+
+int
+foo (long double x)
+{
+ bar (&x);
+ return 0;
+}