https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77384
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-01-07 Ever confirmed|0 |1 --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- This only happens for C++11 and later. Modified testcase that's valid in C++98 too: #include <decimal/decimal> #include <utility> using std::decimal::decimal64; std::pair<int, decimal64> x( 1, 1.5dd ); std::pair<int, decimal64> u( 1, decimal64(1.5dd) ); tmp$ g++ d64.cc /tmp/cceiwvNA.s: Assembler messages: /tmp/cceiwvNA.s:1386: Error: symbol `_ZNSt4pairIiDdEC1IiDdLb1EEEOT_OT0_' is already defined /tmp/cceiwvNA.s:1390: Error: symbol `_ZSt7forwardIDdEOT_RNSt16remove_referenceIS0_E4typeE' is already defined tmp$ g++ d64.cc -std=c++98 /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: error: ld returned 1 exit status