A bunch of PCH tests fail for a PTX target, due to a difference in debug data. It turned out that object pointed to by cur_line_info_table was poisoned by PCH reading, and this led to an is_stmt being emitted erroneously.

My suspicion is that ports that support section switching update cur_line_info_table and/or reach that object by another path during PCH writing and reading, so don't see this failure.

PTX doesn't override TARGET_HAVE_NAMED_SECTIONS, which might be an oversight. However, setting it to false doesn't fix this problem. Hence I deduce this is simply an oversite.

tested on x86_64-linux as well as ptx-none.  Applied as obvious.

nathan
2016-05-31  Nathan Sidwell  <nat...@acm.org>

	* dwarf2out.c (cur_line_info_table): Add GTY marker.

Index: dwarf2out.c
===================================================================
--- dwarf2out.c	(revision 236774)
+++ dwarf2out.c	(working copy)
@@ -3038,7 +3038,7 @@ static unsigned int line_info_label_num;
 /* The current table to which we should emit line number information
    for the current function.  This will be set up at the beginning of
    assembly for the function.  */
-static dw_line_info_table *cur_line_info_table;
+static GTY(()) dw_line_info_table *cur_line_info_table;
 
 /* The two default tables of line number info.  */
 static GTY(()) dw_line_info_table *text_section_line_info;

Reply via email to