Я пытаюсь demangle мои ошибки, такие как соединительныеD инструмент ddemangle.d не меняет выход из ДМД + GNU Л.Д. ссылки Ошибки
dmd -debug -gc -unittest -D -Dd/home/per/.emacs.d/auto-builds/dmd/Debug-Boundscheck-Unittest/home/per/Work/cognia/ -w ~/Work/cognia/t_geometry.d -of/home/per/.emacs.d/auto-builds/dmd/Debug-Boundscheck-Unittest/home/per/Work/cognia/t_geometry
/home/per/.emacs.d/auto-builds/dmd/Debug-Boundscheck-Unittest/home/per/Work/cognia/t_geometry.o:(.data+0x6d8): undefined reference to `_D4gl3n6linalg12__ModuleInfoZ'
/home/per/.emacs.d/auto-builds/dmd/Debug-Boundscheck-Unittest/home/per/Work/cognia/t_geometry.o: In function `_D4gl3n6linalg16__T6VectorTfVi4Z6Vector19__unittestL103_7189FNaNbNfZv':
/home/per/Work/cognia/gl3n/linalg.d:104: undefined reference to `_D4gl3n6linalg15__unittest_failFiZv'
/home/per/Work/cognia/gl3n/linalg.d:105: undefined reference to `_D4gl3n6linalg15__unittest_failFiZv'
с помощью ddemangle.d
из dtools репо на GitHub, как
same_command_as_above | ddemangle
, но я получаю тот же результат, используя как DMD 2.063.2, так и git master.
Является ли ddemangle.d не uptodate?
Обновление: Хорошо. Благодаря!
same_command_as_above 2>&1 | ddemangle
demangles большинство сообщений, но не все из них. Интересно, почему. Вот некоторые строки
/home/per/Work/cognia/gl3n/linalg.d:1814: undefined reference to `void gl3n.linalg.__unittest_fail(int)'
/home/per/Work/cognia/gl3n/linalg.d:695: undefined reference to `_D4gl3n6linalg19__T6MatrixTfVi2Vi2Z6Matrix6__initZ'
/home/per/Work/cognia/gl3n/linalg.d:695: undefined reference to `_D4gl3n6linalg19__T6MatrixTfVi2Vi2Z6Matrix6__initZ'
/home/per/Work/cognia/gl3n/linalg.d:1815: undefined reference to `void gl3n.linalg.__unittest_fail(int)'
Удовлетворительно ли кто-нибудь?
Символы '__initZ' содержат значение по умолчанию для типа (которое используется для инициализации новых значений). В языке это соответствует неявному свойству '.init' всех типов. Они в настоящее время не развязаны - см. [Ошибка 10189] (http://d.puremagic.com/issues/show_bug.cgi?id=10189). –
BTW, в будущем вы должны публиковать поправки к своему вопросу, редактируя свой вопрос и оставляя комментарий к ответу, который вы выполняете. –