http://bugs.winehq.org/show_bug.cgi?id=10122
--- Comment #3 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-26 14:09:31 --- In CS setup there are two types of casts that repeats:
trace:msvcrt:MSVCRT___RTDynamicCast obj: 0x33f7a0 unknown: 92 src: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} dst: 0x4d2f98 {vtable=0x4b7084 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@devtech@@ ()} do_throw: 0) fixme:msvcrt:MSVCRT___RTDynamicCast Unknown parameter is non-zero: please report trace:msvcrt:dump_obj_locator 0x780ecea0: sig=00000000 base_offset=0000005c flags=00000000 type=0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} hierarchy=0x780ece90 trace:msvcrt:dump_obj_locator hierarchy: sig=00000000 attr=00000000 len=4 base classes=0x780ece78 trace:msvcrt:dump_obj_locator base class 0x780ece60: num 3 off 0,-1,0 attr 00000000 type 0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2b8: num 2 off 0,-1,0 attr 00000000 type 0x7811b260 {vtable=0x780eb1a0 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2a0: num 1 off 0,0,4 attr 00000010 type 0x7811b228 {vtable=0x780eb1a0 name=.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb288: num 0 off 0,0,4 attr 00000000 type 0x7811b208 {vtable=0x780eb1a0 name=.?AVios_base@std@@ ()} trace:msvcrt:MSVCRT___RTDynamicCast obj: 0x33f7a0 unknown: 92 src: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} dst: 0x4d2f18 {vtable=0x4b7084 name=.?AV?$basic_irstream@DU?$char_traits@D@std@@@devtech@@ ()} do_throw: 0) fixme:msvcrt:MSVCRT___RTDynamicCast Unknown parameter is non-zero: please report trace:msvcrt:dump_obj_locator 0x780ecea0: sig=00000000 base_offset=0000005c flags=00000000 type=0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} hierarchy=0x780ece90 trace:msvcrt:dump_obj_locator hierarchy: sig=00000000 attr=00000000 len=4 base classes=0x780ece78 trace:msvcrt:dump_obj_locator base class 0x780ece60: num 3 off 0,-1,0 attr 00000000 type 0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2b8: num 2 off 0,-1,0 attr 00000000 type 0x7811b260 {vtable=0x780eb1a0 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2a0: num 1 off 0,0,4 attr 00000010 type 0x7811b228 {vtable=0x780eb1a0 name=.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb288: num 0 off 0,0,4 attr 00000000 type 0x7811b208 {vtable=0x780eb1a0 name=.?AVios_base@std@@ ()} trace:msvcrt:MSVCRT___RTDynamicCast obj: 0x33f7a0 unknown: 92 src: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} dst: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} do_throw: 0) fixme:msvcrt:MSVCRT___RTDynamicCast Unknown parameter is non-zero: please report trace:msvcrt:dump_obj_locator 0x780ecea0: sig=00000000 base_offset=0000005c flags=00000000 type=0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} hierarchy=0x780ece90 trace:msvcrt:dump_obj_locator hierarchy: sig=00000000 attr=00000000 len=4 base classes=0x780ece78 trace:msvcrt:dump_obj_locator base class 0x780ece60: num 3 off 0,-1,0 attr 00000000 type 0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2b8: num 2 off 0,-1,0 attr 00000000 type 0x7811b260 {vtable=0x780eb1a0 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2a0: num 1 off 0,0,4 attr 00000010 type 0x7811b228 {vtable=0x780eb1a0 name=.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb288: num 0 off 0,0,4 attr 00000000 type 0x7811b208 {vtable=0x780eb1a0 name=.?AVios_base@std@@ ()}
Thus it uses namespaces, templates and virtual inheritance but so far I was unable to recreate it and force Visual Studio to generate me a RTDynamicCast with a non-zero parameter.