re PR debug/31510 (FAIL: libgomp.fortran/threadprivate[23].f90 -O3 -g)

PR debug/31510
	* dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
	emulated thread local variables.

From-SVN: r133274
This commit is contained in:
James E Wilson 2008-03-16 15:48:09 +00:00 committed by John David Anglin
parent 461f8762a0
commit fcb9237b9c
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2008-03-16 James E. Wilson <wilson@tuliptree.org>
PR debug/31510
* dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
emulated thread local variables.
2008-03-16 Richard Guenther <rguenther@suse.de>
PR middle-end/35607

View File

@ -2332,6 +2332,15 @@ dbxout_expand_expr (tree expr)
switch (TREE_CODE (expr))
{
case VAR_DECL:
/* We can't handle emulated tls variables, because the address is an
offset to the return value of __emutls_get_address, and there is no
way to express that in stabs. Also, there are name mangling issues
here. We end up with references to undefined symbols if we don't
disable debug info for these variables. */
if (!targetm.have_tls && DECL_THREAD_LOCAL_P (expr))
return NULL;
/* FALLTHRU */
case PARM_DECL:
if (DECL_HAS_VALUE_EXPR_P (expr))
return dbxout_expand_expr (DECL_VALUE_EXPR (expr));