On 07/14/2017 10:54 AM, Nathan Sidwell wrote: > This was the most surprising check of TYPE_METHODS. When not optimizing > we use the non-nullness of TYPE_METHODS to figure out if we want to > place a non BLKmode structure into a register. On the grounds that one > can't call a member function with a register-located object. > > That seems overly enthusiastic -- if we're not optimizing, who cares? > > (When we zap TYHPE_METHODS we currently set it to error_mark_node, if it > was non-null, so that this above check will work). > > I'd appreciate comment. Definitely a surprise. I was hatching an idea this might be related to the old stupid.c allocator, but it turns out this code is much newer than that.
If I'm reading BZ39485 correctly, the issue is that when not optimizing, we were shoving the value into a register rather than dumping it into memory. As a result gdb was unable to do an inferior call to its the object's methods. Egad. jeff