This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/62063] g++ disregards template specialization and skips try/catch blocks
- From: "redi at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 08 Aug 2014 14:20:14 +0000
- Subject: [Bug c++/62063] g++ disregards template specialization and skips try/catch blocks
- Auto-submitted: auto-generated
- References: <bug-62063-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62063
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Ferenc GÃczi from comment #0)
> Created attachment 33276 [details]
> Source code for reproducing the reported issue
>
> g++ disregards that template specialization might happen in a different
> compilation unit.
How is the compiler supposed to know that?
If you don't declare a specialization before it would be needed the compiler
will not use it, and the program has undefined behaviour.
> For comparison, clang++ works as expected with -O0, without the
> -fnon-callexceptions.
> Although it has the same the behavior with higher optimization levels.
That should tell you your expectation is wrong.