This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/71973] c++ handles built-in functions inconsistently
- From: "bernd.edlinger at hotmail dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 18 Aug 2016 20:38:53 +0000
- Subject: [Bug c++/71973] c++ handles built-in functions inconsistently
- Authentication-results: sourceware.org; auth=none
- Auto-submitted: auto-generated
- References: <bug-71973-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71973
--- Comment #3 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
Created attachment 39472
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39472&action=edit
possible patch
Oh, yeah!
Boot-strap OK.
The eh-code is OK.
BUT: the warning triggers a few hundred times, within the g++.dg testsuite,
and all of the places look like real bugs, that deserve a warning...
FAIL: g++.dg/charset/asm2.c -std=c++98 (test for excess errors)
FAIL: g++.dg/charset/asm2.c -std=c++11 (test for excess errors)
FAIL: g++.dg/charset/asm2.c -std=c++14 (test for excess errors)
FAIL: g++.dg/debug/dwarf2/template-func-params-7.C -std=gnu++11 (test for
excess errors)
FAIL: g++.dg/debug/dwarf2/template-func-params-7.C -std=gnu++14 (test for
excess errors)
FAIL: g++.dg/addr_builtin-1.C -std=c++98 (test for excess errors)
FAIL: g++.dg/addr_builtin-1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/addr_builtin-1.C -std=c++14 (test for excess errors)
FAIL: g++.dg/cpp0x/constexpr-builtin1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/cpp0x/constexpr-builtin1.C -std=c++14 (test for excess errors)
FAIL: g++.dg/cpp0x/constexpr-function2.C -std=c++11 (test for excess errors)
FAIL: g++.dg/cpp0x/constexpr-function2.C -std=c++14 (test for excess errors)
FAIL: g++.dg/cpp0x/constexpr-pos1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/cpp0x/constexpr-pos1.C -std=c++14 (test for excess errors)
FAIL: g++.dg/cpp0x/gen-attrs-40.C -std=c++11 (test for excess errors)
FAIL: g++.dg/cpp0x/gen-attrs-40.C -std=c++14 (test for excess errors)
FAIL: g++.dg/cpp1y/lambda-generic-udt.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/cpp1y/lambda-generic-xudt.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/diagnostic/pr70105.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/diagnostic/pr70105.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/diagnostic/pr70105.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/ext/attrib40.C -std=c++98 (test for excess errors)
FAIL: g++.dg/ext/attrib40.C -std=c++11 (test for excess errors)
FAIL: g++.dg/ext/attrib40.C -std=c++14 (test for excess errors)
FAIL: g++.dg/init/new15.C -std=c++98 (test for excess errors)
FAIL: g++.dg/init/new15.C -std=c++11 (test for excess errors)
FAIL: g++.dg/init/new15.C -std=c++14 (test for excess errors)
FAIL: g++.dg/init/ref9.C -std=c++98 (test for excess errors)
FAIL: g++.dg/init/ref9.C -std=c++11 (test for excess errors)
FAIL: g++.dg/init/ref9.C -std=c++14 (test for excess errors)
AIL: g++.dg/ipa/inline-1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/ipa/inline-1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/ipa/inline-1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/ipa/inline-2.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/ipa/inline-2.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/ipa/inline-2.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/lookup/builtin1.C -std=c++98 (test for excess errors)
FAIL: g++.dg/lookup/builtin1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/lookup/builtin1.C -std=c++14 (test for excess errors)
FAIL: g++.dg/lookup/builtin3.C -std=c++98 (test for excess errors)
FAIL: g++.dg/lookup/builtin3.C -std=c++11 (test for excess errors)
FAIL: g++.dg/lookup/builtin3.C -std=c++14 (test for excess errors)
FAIL: g++.dg/lookup/builtin5.C -std=c++11 (test for excess errors)
FAIL: g++.dg/lookup/builtin5.C -std=c++14 (test for excess errors)
FAIL: g++.dg/lookup/builtin7.C -std=c++98 (test for excess errors)
FAIL: g++.dg/lookup/builtin7.C -std=c++11 (test for excess errors)
FAIL: g++.dg/lookup/builtin7.C -std=c++14 (test for excess errors)
FAIL: g++.dg/lookup/extern-c-redecl4.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/lookup/extern-c-redecl4.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/lookup/extern-c-redecl4.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/opt/cfg1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/opt/cfg1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/opt/cfg1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/opt/conj1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/opt/conj1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/opt/conj1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/opt/conj2.C -std=c++11 (test for excess errors)
FAIL: g++.dg/opt/conj2.C -std=c++14 (test for excess errors)
FAIL: g++.dg/opt/copysign-1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/opt/copysign-1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/opt/copysign-1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/opt/pr17724-5.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/opt/pr17724-5.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/opt/pr17724-5.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/opt/pr17724-6.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/opt/pr17724-6.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/opt/pr17724-6.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/opt/reload2.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/opt/reload2.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/opt/reload2.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/other/vararg-2.C -std=c++98 (test for excess errors)
FAIL: g++.dg/other/vararg-2.C -std=c++11 (test for excess errors)
FAIL: g++.dg/other/vararg-2.C -std=c++14 (test for excess errors)
FAIL: g++.dg/overload/builtin3.C -std=c++98 (test for excess errors)
FAIL: g++.dg/overload/builtin3.C -std=c++11 (test for excess errors)
FAIL: g++.dg/overload/builtin3.C -std=c++14 (test for excess errors)
FAIL: g++.dg/overload/using2.C -std=c++98 (test for excess errors)
FAIL: g++.dg/overload/using2.C -std=c++11 (test for excess errors)
FAIL: g++.dg/overload/using2.C -std=c++14 (test for excess errors)
FAIL: g++.dg/parse/builtin1.C -std=c++98 (test for excess errors)
FAIL: g++.dg/parse/builtin1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/parse/builtin1.C -std=c++14 (test for excess errors)
FAIL: g++.dg/parse/pr26997.C -std=c++98 (test for excess errors)
FAIL: g++.dg/parse/pr26997.C -std=c++11 (test for excess errors)
FAIL: g++.dg/parse/pr26997.C -std=c++14 (test for excess errors)
FAIL: g++.dg/spellcheck-identifiers-2.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/spellcheck-identifiers-2.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/spellcheck-identifiers-2.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/spellcheck-identifiers.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/spellcheck-identifiers.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/spellcheck-identifiers.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/tc1/dr20.C -std=c++98 (test for excess errors)
FAIL: g++.dg/tc1/dr20.C -std=c++11 (test for excess errors)
FAIL: g++.dg/tc1/dr20.C -std=c++14 (test for excess errors)
FAIL: g++.dg/template/strlen1.C -std=c++98 (test for excess errors)
FAIL: g++.dg/template/strlen1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/template/strlen1.C -std=c++14 (test for excess errors)
FAIL: g++.dg/tree-ssa/copyprop.C (test for excess errors)
FAIL: g++.dg/tree-ssa/inline-1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/tree-ssa/inline-1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/tree-ssa/inline-1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/tree-ssa/inline-2.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/tree-ssa/inline-2.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/tree-ssa/inline-2.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/tree-ssa/nothrow-1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/tree-ssa/nothrow-1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/tree-ssa/nothrow-1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/tree-ssa/pr21584-2.C -std=c++98 (test for excess errors)
FAIL: g++.dg/tree-ssa/pr21584-2.C -std=c++11 (test for excess errors)
FAIL: g++.dg/tree-ssa/pr21584-2.C -std=c++14 (test for excess errors)
FAIL: g++.dg/tree-ssa/pr22037.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/tree-ssa/pr22037.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/tree-ssa/pr22037.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/tree-ssa/ssa-dom.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/tree-ssa/ssa-dom.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/tree-ssa/ssa-dom.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/warn/Wreturn-1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/warn/Wreturn-1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/warn/Wreturn-1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/warn/Wsystem-headers1a.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/warn/Wsystem-headers1a.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/warn/Wsystem-headers1a.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/warn/noeffect5.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/warn/noeffect5.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/warn/noeffect5.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/warn/sequence-pt-1.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/warn/sequence-pt-1.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/warn/sequence-pt-1.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/gomp/for-14.C -std=c++98 (test for excess errors)
FAIL: g++.dg/gomp/for-14.C -std=c++11 (test for excess errors)
FAIL: g++.dg/gomp/for-14.C -std=c++14 (test for excess errors)
FAIL: g++.dg/gomp/openmp-simd-2.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/gomp/openmp-simd-2.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/gomp/openmp-simd-2.C -std=gnu++14 (test for excess errors)
etc. etc. etc....