[Bug debug/36617] New: Debug info for OpenMP code is almost non-existent
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Jun 24 10:00:00 GMT 2008
While we have VAR_DECLs with DECL_VALUE_EXPR pointing to where various
shared etc. vars really live, those don't make it into the debug info at all,
as the newly created function has just one BLOCK with all the vars and that
doesn't have TREE_USED set on it.
A quick hack:
--- omp-low.c.jj4 2008-06-20 00:27:49.000000000 +0200
+++ omp-low.c 2008-06-23 22:21:46.000000000 +0200
@@ -3251,6 +3251,7 @@ expand_omp_taskreg (struct omp_region *r
block = DECL_INITIAL (child_fn);
BLOCK_VARS (block) = list2chain (child_cfun->local_decls);
DECL_SAVED_TREE (child_fn) = bb_stmt_list (single_succ (entry_bb));
+ TREE_USED (block) = 1;
/* Reset DECL_CONTEXT on function arguments. */
for (t = DECL_ARGUMENTS (child_fn); t; t = TREE_CHAIN (t))
outputs some debug info for the vars, the problem is that the same var
can be then multiple times in the debug info.
I guess we really should duplicate all the BLOCKs within #pragma omp parallel
or #pragma omp task (not sure if we just should set BLOCK_ABSTRACT_ORIGIN to
the original BLOCK), and stick the vars for debuginfo purposes into those
BLOCKs.
--
Summary: Debug info for OpenMP code is almost non-existent
Product: gcc
Version: 4.3.1
Status: UNCONFIRMED
Keywords: openmp
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36617
More information about the Gcc-bugs
mailing list