diff options
author | Richard Guenther <rguenther@suse.de> | 2010-11-03 13:31:40 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-11-03 13:31:40 +0000 |
commit | 68a22980da9a9705dff9d870e422c8efce414ae2 (patch) | |
tree | 9772de7fa53ed090eba46b60b08c6464c39f3e23 /gcc | |
parent | 8b8bba2dd98b692b749bf023abf02c245ecd2515 (diff) | |
download | gcc-68a22980da9a9705dff9d870e422c8efce414ae2.zip gcc-68a22980da9a9705dff9d870e422c8efce414ae2.tar.gz gcc-68a22980da9a9705dff9d870e422c8efce414ae2.tar.bz2 |
re PR debug/46241 (ice in dwarf2out.c)
2010-11-03 Richard Guenther <rguenther@suse.de>
PR middle-end/46241
* dwarf2out.c (scope_die_for): Properly detect global scope.
* g++.dg/debug/pr46241.C: New testcase.
From-SVN: r166245
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/debug/pr46241.C | 19 |
4 files changed, 30 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 30b39a6..5c36acb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2010-11-03 Richard Guenther <rguenther@suse.de> + PR middle-end/46241 + * dwarf2out.c (scope_die_for): Properly detect global scope. + +2010-11-03 Richard Guenther <rguenther@suse.de> + PR tree-optimization/46190 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Properly compute peel iterations. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 9209c0d..9bb569b 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -17739,7 +17739,7 @@ scope_die_for (tree t, dw_die_ref context_die) if (containing_scope && TREE_CODE (containing_scope) == FUNCTION_TYPE) containing_scope = NULL_TREE; - if (containing_scope == NULL_TREE) + if (SCOPE_FILE_SCOPE_P (containing_scope)) scope_die = comp_unit_die (); else if (TYPE_P (containing_scope)) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f0a8888..26a8bde 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2010-11-03 Richard Guenther <rguenther@suse.de> + PR middle-end/46241 + * g++.dg/debug/pr46241.C: New testcase. + +2010-11-03 Richard Guenther <rguenther@suse.de> + PR tree-optimization/46190 * gfortran.dg/pr46190.f90: New testcase. diff --git a/gcc/testsuite/g++.dg/debug/pr46241.C b/gcc/testsuite/g++.dg/debug/pr46241.C new file mode 100644 index 0000000..95c814d --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/pr46241.C @@ -0,0 +1,19 @@ +class btIDebugDraw; +class btCollisionWorld { + virtual btIDebugDraw* getDebugDrawer() { }; + static void rayTestSingle(); +}; +class btTriangleCallback { +public: + virtual ~btTriangleCallback(); +}; +class btTriangleRaycastCallback: public btTriangleCallback { +public: + btTriangleRaycastCallback(); +}; +void btCollisionWorld::rayTestSingle() +{ + struct BridgeTriangleRaycastCallback : public btTriangleRaycastCallback { + BridgeTriangleRaycastCallback() : btTriangleRaycastCallback() { } + }; +} |