X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fvarobj.c;h=f3d3b5abef637cb1fe7f2673aea4a6546770c035;hb=ebd3bcc1327e6a7de6daf6536134cb20be9c2cfd;hp=b27013c8b66196d4b0814c6cfe8421941cfed0ec;hpb=fcacd99f87bf1f39ba0b3fde4a71b2876c20bd70;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/varobj.c b/gdb/varobj.c index b27013c8b6..f3d3b5abef 100644 --- a/gdb/varobj.c +++ b/gdb/varobj.c @@ -2773,6 +2773,11 @@ varobj_invalidate (void) varp = all_rootvarobj; while (*varp != NULL) { + /* Floating varobjs are reparsed on each stop, so we don't care if + the presently parsed expression refers to something that's gone. */ + if ((*varp)->root->floating) + continue; + /* global var must be re-evaluated. */ if ((*varp)->root->valid_block == NULL) {