[Bug c++/67529] New: rx-elf C++ inherited class malformed call to overridden methods

2015-09-09 Thread ericns1 at spirilis dot net
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ericns1 at spirilis dot net Target Milestone: --- Created attachment 36313 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36313&action=edit Files needed to reproduce t

[Bug c++/67529] rx-elf C++ inherited class malformed call to overridden methods

2015-09-09 Thread ericns1 at spirilis dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67529 Eric changed: What|Removed |Added Attachment #36313|0 |1 is obsolete|

[Bug c++/67529] rx-elf C++ inherited class malformed call to overridden methods

2015-09-09 Thread ericns1 at spirilis dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67529 --- Comment #2 from Eric --- A little more sleuthing, using --save-temps -dP... The "inherited", bug-ridden case has the following before JSR R10: ;(call_insn 16 15 19 (parallel [ ;(call (mem:QI (reg/f:SI 10 r10 [orig:25 D.2187 ]

[Bug c++/67529] rx-elf C++ inherited class malformed call to overridden methods

2015-09-09 Thread ericns1 at spirilis dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67529 --- Comment #3 from Eric --- Further clarifying, creating a whole new function "void check2(void)" inside MyTemplate which did *not* exist as a virtual function inside MyTemplateParent produces correct code when begin(uint8_t) tries to call it:

[Bug c++/67529] rx-elf C++ inherited class malformed call to overridden methods

2015-09-09 Thread ericns1 at spirilis dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67529 --- Comment #4 from Eric --- Okay, I think I've figured out what I'm looking at here. The inheritance has to do with the use of virtual functions - so the JSR vs BSR argument in here is a red herring, overridden virtual functions use JSR because