https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99558
Bug ID: 99558 Summary: wrong argument types reported for "no matching function" error message if ctor argument is a variable Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jfhart085 at gmail dot com Target Milestone: --- Created attachment 50371 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50371&action=edit utl2.cc - demonstrates using deliberate error message from compile Wrong argument types are reported for "no matching function" error message for a ctor if a ctor argument is a variable. The argument is reported as being a reference when it is not. An error message is deliberately generated to demonstrate the problem as follows: wrong argument type: variable used as argument, first argument is shown as "int &" but is actually "int" : $ g++ -c -o utl2.o utl2.cc utl2.cc: In function "int main()": utl2.cc:13:5: error: no matching function for call to "cls4::cls4(int&, int)" correct argument type: constant used as argument, first argument is correctly shown as "int" $ g++ -D DBG1 -c -o utl2.o utl2.cc utl2.cc: In function "int main()": utl2.cc:13:5: error: no matching function for call to "cls4::cls4(int, int)" from gcc -v : Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /home/jhart/temp1/gcc-10.2.0/configure --prefix=/usr --disable-multilib --with-system-zlib --enable-languages=c,c++,fortran Thread model: posix Supported LTO compression algorithms: zlib gcc version 10.2.0 (GCC)