Skip to content
Snippets Groups Projects
Commit 77576915 authored by Jakub Jelinek's avatar Jakub Jelinek
Browse files

c: Improve some diagnostics for __builtin_stdc_bit_* [PR114042]

The PR complains that for the __builtin_stdc_bit_* "builtins" the
diagnostics doesn't mention the name of the builtin the user used, but
instead __builtin_{clz,ctz,popcount}g instead (which is what the FE
immediately lowers it to).

The following patch repeats the checks from check_builtin_function_arguments
which are there done on BUILT_IN_{CLZ,CTZ,POPCOUNT}G, such that they
diagnose it with the name of the "builtin" user actually used before it
is gone.

2024-02-26  Jakub Jelinek  <jakub@redhat.com>

	PR c/114042
	* c-parser.cc (c_parser_postfix_expression): Diagnose
	__builtin_stdc_bit_* argument with ENUMERAL_TYPE or BOOLEAN_TYPE
	type or if signed here rather than on the replacement builtins
	in check_builtin_function_arguments.

	* gcc.dg/builtin-stdc-bit-2.c: Adjust testcase for actual builtin
	names rather than names of builtin replacements.
parent 10c73c11
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment