https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66970
--- Comment #23 from Martin Sebor <msebor at gcc dot gnu.org> --- Author: msebor Date: Mon Oct 28 22:46:28 2019 New Revision: 277544 URL: https://gcc.gnu.org/viewcvs?rev=277544&root=gcc&view=rev Log: PR c/66970 - Add __has_builtin() macro gcc/ChangeLog: PR c/66970 * doc/cpp.texi (__has_builtin): Document. * doc/extend.texi (__builtin_frob_return_addr): Correct spelling. gcc/c/ChangeLog: PR c/66970 * c-decl.c (names_builtin_p): Define a new function. gcc/c-family/ChangeLog: PR c/66970 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins even when only preprocessing. * c-common.h (names_builtin_p): Declare new function. * c-lex.c (init_c_lex): Set has_builtin. (c_common_has_builtin): Define a new function. * c-ppoutput.c (init_pp_output): Set has_builtin. gcc/cp/ChangeLog: PR c/66970 * cp-objcp-common.c (names_builtin_p): Define new function. gcc/testsuite/ChangeLog: PR c/66970 * c-c++-common/cpp/has-builtin-2.c: New test. * c-c++-common/cpp/has-builtin-3.c: New test. * c-c++-common/cpp/has-builtin.c: New test. Added: trunk/gcc/testsuite/c-c++-common/cpp/has-builtin-2.c trunk/gcc/testsuite/c-c++-common/cpp/has-builtin-3.c trunk/gcc/testsuite/c-c++-common/cpp/has-builtin.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/c-family/c-common.h trunk/gcc/c-family/c-lex.c trunk/gcc/c-family/c-ppoutput.c trunk/gcc/c/ChangeLog trunk/gcc/c/c-decl.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-objcp-common.c trunk/gcc/doc/cpp.texi trunk/gcc/doc/extend.texi trunk/gcc/testsuite/ChangeLog trunk/libcpp/include/cpplib.h trunk/libcpp/init.c trunk/libcpp/macro.c trunk/libcpp/traditional.c