* tree-inline.c (setup_one_parameter): Do not copy propagate
arguments when not optimizing.
PR debug/39267
* gcc.dg/debug/dwarf2/inline1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144515
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-02-28 Jan Hubicka <jh@suse.cz>
+
+ PR debug/39267
+ * tree-inline.c (setup_one_parameter): Do not copy propagate
+ arguments when not optimizing.
+
2009-02-28 H.J. Lu <hongjiu.lu@intel.com>
PR target/39327
+2009-03-01 Jan Hubicka <jh@suse.cz>
+
+ PR debug/39267
+ * gcc.dg/debug/dwarf2/inline1.c: New testcase.
+
2009-03-01 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/pack12.adb: New test.
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O0 -gdwarf-2 -dA" } */
+void e(int);
+__attribute__ ((always_inline)) inline int
+t(int function_parameter)
+{
+ e(function_parameter);
+}
+
+void test (int function_parameter2)
+{
+ t(function_parameter2);
+}
+
+/* Verify that we get both function_parameter and function_parameter2 declared
+ in test. Overall we should have 3 variables with location defined (also
+ function_parameter in offline copy of t. */
+/* { dg-final { scan-assembler-times " DW_AT_location" 3 } } */
We might want to introduce a notion that single SSA_NAME might
represent multiple variables for purposes of debugging. */
if (gimple_in_ssa_p (cfun) && rhs && def && is_gimple_reg (p)
+ && optimize
&& (TREE_CODE (rhs) == SSA_NAME
|| is_gimple_min_invariant (rhs))
&& !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (def))
/* If the value of argument is never used, don't care about initializing
it. */
- if (gimple_in_ssa_p (cfun) && !def && is_gimple_reg (p))
+ if (optimize && gimple_in_ssa_p (cfun) && !def && is_gimple_reg (p))
{
gcc_assert (!value || !TREE_SIDE_EFFECTS (value));
return NULL;