[Bug preprocessor/79210] New: "internal compiler error: in get_substring_ranges_for_loc" processing -Wformat-signedness warning
arnd at linaro dot org
gcc-bugzilla@gcc.gnu.org
Tue Jan 24 10:59:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79210
Bug ID: 79210
Summary: "internal compiler error: in
get_substring_ranges_for_loc" processing
-Wformat-signedness warning
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: preprocessor
Assignee: unassigned at gcc dot gnu.org
Reporter: arnd at linaro dot org
Target Milestone: ---
I ran into a variant of pr78569, again building the kernel, reduced test case
of
drivers/scsi/lpfc/lpfc_attr.c:
/* build with gcc-7.0.0 -c test.c -Wformat -Wformat-signedness */
__attribute__((format(printf, 3, 4)))
void dev_printk(const char *level, void *dev, const char *fmt, ...);
#define lpfc_vport_param_init(attr) \
void lpfc_##attr##_init(void *vport, unsigned int val) \
{ \
dev_printk("3", (void *)0, \
"0423 lpfc_"#attr" attribute cannot be set to %d, "\
"allowed range is [0, 1]\n", val); \
}
#define LPFC_VPORT_ATTR_R(name, desc) \
unsigned int lpfc_##name;\
lpfc_vport_param_init(name)\
LPFC_VPORT_ATTR_R(peer_port_login,
"Allow peer ports on the same physical port to login to each
"
"other.");
// EOF
/git/arm-soc/drivers/scsi/lpfc/lpfc_attr.c: In function
'lpfc_peer_port_login_init':
/git/arm-soc/drivers/scsi/lpfc/lpfc_attr.c:16:1: internal compiler error: in
get_substring_ranges_for_loc, at input.c:1398
LPFC_VPORT_ATTR_R(peer_port_login,
^~~~~~~~~~~~~~~~~
0x111138c get_substring_ranges_for_loc
/home/arnd/git/gcc/gcc/input.c:1398
0x111138c get_source_location_for_substring(cpp_reader*, string_concat_db*,
unsigned int, cpp_ttype, int, int, int, unsigned int*)
/home/arnd/git/gcc/gcc/input.c:1468
0x672afe c_get_substring_location(substring_loc const&, unsigned int*)
/home/arnd/git/gcc/gcc/c-family/c-common.c:865
0x69ea5e get_corrected_substring
/home/arnd/git/gcc/gcc/c-family/c-format.c:3308
0x69ea5e format_type_warning
/home/arnd/git/gcc/gcc/c-family/c-format.c:3461
0x6a01f7 check_format_types
/home/arnd/git/gcc/gcc/c-family/c-format.c:3075
0x6a01f7 argument_parser::check_argument_type(format_char_info const*,
length_modifier const&, tree_node*&, char const*&, bool, unsigned long&,
tree_node*&, int, char const*, char const*, unsigned int, char)
/home/arnd/git/gcc/gcc/c-family/c-format.c:2675
0x6a2d07 argument_parser::check_argument_type(format_char_info const*,
length_modifier const&, tree_node*&, char const*&, bool, unsigned long&,
tree_node*&, int, char const*, char const*, unsigned int, char)
/home/arnd/git/gcc/gcc/c-family/c-format.c:2568
0x6a2d07 check_format_info_main
/home/arnd/git/gcc/gcc/c-family/c-format.c:2813
0x6a2d07 check_format_arg
/home/arnd/git/gcc/gcc/c-family/c-format.c:1672
0x6a0e5e check_format_info
/home/arnd/git/gcc/gcc/c-family/c-format.c:1405
0x6a0e5e check_function_format(tree_node*, int, tree_node**)
/home/arnd/git/gcc/gcc/c-family/c-format.c:1066
0x695712 check_function_arguments(unsigned int, tree_node const*, int,
tree_node**)
/home/arnd/git/gcc/gcc/c-family/c-common.c:5599
0x638e8b build_function_call_vec(unsigned int, vec<unsigned int, va_heap,
vl_ptr>, tree_node*, vec<tree_node*, va_gc, vl_embed>*, vec<tree_node*, va_gc,
vl_embed>*)
/home/arnd/git/gcc/gcc/c/c-typeck.c:3113
0x6556d7 c_parser_postfix_expression_after_primary
/home/arnd/git/gcc/gcc/c/c-parser.c:8402
0x64e4ea c_parser_postfix_expression
/home/arnd/git/gcc/gcc/c/c-parser.c:8194
0x65105a c_parser_unary_expression
/home/arnd/git/gcc/gcc/c/c-parser.c:7012
0x651daf c_parser_cast_expression
/home/arnd/git/gcc/gcc/c/c-parser.c:6841
0x651ff5 c_parser_binary_expression
/home/arnd/git/gcc/gcc/c/c-parser.c:6650
0x652c88 c_parser_conditional_expression
/home/arnd/git/gcc/gcc/c/c-parser.c:6418
More information about the Gcc-bugs
mailing list