[Bug c++/77384] Assembler error - std::forward(decimal64) already defined
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77384 --- Comment #3 from danielberger at gmail dot com --- looks like this is now an ICE on trunk: > :9:63: error: Two symbols with same comdat_group are not linked by > the same_comdat_group list. > 9 | int main(void){return 0;/*stub provided by Compiler Explorer*/} > | ^ > _ZSt7forwardIDdEOT_RNSt16remove_referenceIS0_E4typeE/765 (constexpr _Tp&& > std::forward(typename remove_reference<_Tp>::type&) [with _Tp = > decimal::decimal64]) @0x7fa30f39b000 > Type: function definition analyzed > Visibility: semantic_interposition no_reorder public weak comdat > comdat_group:_ZSt7forwardIDdEOT_RNSt16remove_referenceIS0_E4typeE one_only > visibility_specified > previous sharing asm name: 761 > References: __gxx_personality_v0/768 (addr) > Referring: > Function flags: body > Called by: _ZNSt4pairIiDdEC2IiDdLb1EEEOT_OT0_/763 > Calls: > _ZSt7forwardIDdEOT_RNSt16remove_referenceIS0_E4typeE/761 (constexpr _Tp&& > std::forward(typename remove_reference<_Tp>::type&) [with _Tp = > ]) @0x7fa30f087cc0 > Type: function definition analyzed > Visibility: semantic_interposition no_reorder public weak comdat > comdat_group:_ZSt7forwardIDdEOT_RNSt16remove_referenceIS0_E4typeE one_only > visibility_specified > next sharing asm name: 765 > References: __gxx_personality_v0/768 (addr) > Referring: > Function flags: body > Called by: _ZNSt4pairIiDdEC1IiDdLb1EEEOT_OT0_/754 > Calls: > :9:63: internal compiler error: symtab_node::verify failed > 0x217c229 internal_error(char const*, ...) > ???:0 > 0xbdf772 symtab_node::verify_symtab_nodes() > ???:0 > 0xbfbcaf symbol_table::finalize_compilation_unit() > ???:0 > Please submit a full bug report, with preprocessed source (by using > -freport-bug). > Please include the complete backtrace with any bug report. > See <https://gcc.gnu.org/bugs/> for instructions. > Compiler returned: 1 https://godbolt.org/z/Md56cT9e4
[Bug c++/77384] Assembler error - std::forward(decimal64) already defined
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77384 --- Comment #1 from danielberger at gmail dot com --- Anyone have a chance to take a look at this? It still reproduces in 8.2 and trunk. Any more information I can provide?
[Bug c++/77384] New: Assembler error - std::forward(decimal64) already declared
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77384 Bug ID: 77384 Summary: Assembler error - std::forward(decimal64) already declared Product: gcc Version: 6.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: danielberger at gmail dot com Target Milestone: --- while compiling with no extra flags i get: /tmp/cceuJGN0.s: Assembler messages: 1543 : Error: symbol `_ZSt7forwardIDdEOT_RNSt16remove_referenceIS0_E4typeE' is already defined 1565 : Error: symbol `_ZNSt4pairIiDdEC1IiDdLb1EEEOT_OT0_' is already defined Compilation failed after some investigation it looks like the codegen is emitting this function twice: decimal64&& std::forward(std::remove_reference::type&) perhaps it's the mix of explicit and implicit constructor or something. minimal code - problem.cpp: -- #include #include using std::decimal::decimal64; std::pair<int, decimal64> x = { 1, 1.5dd }; std::pair<int, decimal64> u = { 1, decimal64(1.5dd) }; -- live demonstration: https://godbolt.org/g/xgCliN if needed i'm happy to upload more intermediate files
[Bug c++/76911] internal compiler segfault on illegal implicit cast to decimal64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76911 --- Comment #2 from danielberger at gmail dot com --- Created attachment 39447 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39447=edit preprocessed source
[Bug c++/76911] internal compiler segfault on illegal implicit cast to decimal64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76911 --- Comment #1 from danielberger at gmail dot com --- Created attachment 39446 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39446=edit stderr from compilation
[Bug c++/76911] New: internal compiler segfault on illegal implicit cast to decimal64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76911 Bug ID: 76911 Summary: internal compiler segfault on illegal implicit cast to decimal64 Product: gcc Version: 6.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: danielberger at gmail dot com Target Milestone: --- Created attachment 39445 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39445=edit minimal source minimal code - crash.cpp: #include double get_double(); std::decimal::decimal64 test() { return get_double(); // invalid conversion } gcc 6.1.0 gcc -v -save-temps crash.cpp this triggers "internal compiler error: Segmentation fault" previous versions of such as gcc 5.3 give a compilation error: 10 : error: converting to 'std::decimal::decimal64' from initializer list would use explicit constructor 'std::decimal::decimal64::decimal64(double)'