public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "ondrej.kolacek1 at centrum dot cz" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/60274] New: String as template parameter - regression in 4.8.2 Date: Wed, 19 Feb 2014 13:53:00 -0000 [thread overview] Message-ID: <bug-60274-4@http.gcc.gnu.org/bugzilla/> (raw) http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60274 Bug ID: 60274 Summary: String as template parameter - regression in 4.8.2 Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ondrej.kolacek1 at centrum dot cz Greetings, this issue happened to me with Debian's g++ so it is possible it is just their bug but hopefully (well this is debatable :) ) it is not. <begin file test.cpp> typedef const char *const& ProtocolIdType; //typedef int ProtocolIdType; template <ProtocolIdType protocolId> class C { public: typedef int ProtocolVersion; class D { public: ProtocolVersion GetProtocolVersion(); }; }; template <ProtocolIdType protocolId> typename C<protocolId>::ProtocolVersion C<protocolId>::D::GetProtocolVersion() { return 1; } int main(void) { } <end file test.cpp> >g++ test.cpp test.cpp:18:41: error: prototype for ‘typename C<protocolId>::ProtocolVersion C<protocolId>::D::GetProtocolVersion()’ does not match any in class ‘C<protocolId>::D’ typename C<protocolId>::ProtocolVersion C<protocolId>::D::GetProtocolVersion() ^ test.cpp:13:19: error: candidate is: C<protocolId>::ProtocolVersion C<protocolId>::D::GetProtocolVersion() ProtocolVersion GetProtocolVersion(); The code used to work for ages, is compilable with MSVC, clang and gcc on various platforms, was compilable with 4.8.1 but broke with 4.8.2. The issue is with string template parameter; replacing typedef const char *const& ProtocolIdType; by typedef int ProtocolIdType; makes the error go away. > g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.8.2-15' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Debian 4.8.2-15) >From gcc-bugs-return-444208-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Feb 19 13:54:21 2014 Return-Path: <gcc-bugs-return-444208-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 18055 invoked by alias); 19 Feb 2014 13:54:21 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: <gcc-bugs.gcc.gnu.org> List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/> List-Post: <mailto:gcc-bugs@gcc.gnu.org> List-Help: <mailto:gcc-bugs-help@gcc.gnu.org> Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 18010 invoked by uid 48); 19 Feb 2014 13:54:17 -0000 From: "slayoo at staszic dot waw.pl" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/60267] ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE in tsubst_copy, at cp/pt.c:12887 Date: Wed, 19 Feb 2014 13:54:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: slayoo at staszic dot waw.pl X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: <bug-60267-4-K3FEp2WIVq@http.gcc.gnu.org/bugzilla/> In-Reply-To: <bug-60267-4@http.gcc.gnu.org/bugzilla/> References: <bug-60267-4@http.gcc.gnu.org/bugzilla/> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-02/txt/msg01965.txt.bz2 Content-length: 271 http://gcc.gnu.org/bugzilla/show_bug.cgi?id`267 --- Comment #8 from Sylwester Arabas <slayoo at staszic dot waw.pl> --- BTW, I have initially reported it as a comment to http://gcc.gnu.org/bugzilla/show_bug.cgi?id`198 (the same file/line in ICE error message). S.
next reply other threads:[~2014-02-19 13:53 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-02-19 13:53 ondrej.kolacek1 at centrum dot cz [this message] 2014-02-19 14:03 ` [Bug c++/60274] [4.8/4.9 Regression] String as template parameter - regression in 4.8.3 rguenth at gcc dot gnu.org 2014-02-19 15:34 ` jakub at gcc dot gnu.org 2014-02-21 4:10 ` jason at gcc dot gnu.org 2014-02-21 4:43 ` jason at gcc dot gnu.org 2014-02-21 5:05 ` jason at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-60274-4@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).