https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71137
Bug ID: 71137 Summary: [concepts] Spurious 'symbol is already defined' error issued when declaring a constrained non-template function overload. Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tom at honermann dot net CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org Target Milestone: --- I believe the following test case is well-formed; the Concepts TS has similar examples (ยง 13.4p4). However, compiling this code results in a duplicate definition error in gcc r236238. $ cat t.cpp void f() {} void f() requires true {} $ svn info Path: . Working Copy Root Path: /home/tom/src/gcc-trunk URL: svn://gcc.gnu.org/svn/gcc/trunk Relative URL: ^/trunk Repository Root: svn://gcc.gnu.org/svn/gcc Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4 Revision: 236239 Node Kind: directory Schedule: normal Last Changed Author: uros Last Changed Rev: 236238 Last Changed Date: 2016-05-14 05:07:13 -0400 (Sat, 14 May 2016) $ g++ --version g++ (GCC) 7.0.0 20160514 (experimental) ... $ g++ -c -std=c++1z -fconcepts t.cpp /tmp/ccONCRCJ.s: Assembler messages: /tmp/ccONCRCJ.s:22: Error: symbol `_Z1fv' is already defined