Mail Archives: djgpp-workers/2001/11/03/15:05:12
It says this, but it seems it lies:
/* The system prototypes for these functions have many
variations, so don't specify parameters to avoid conflicts.
The expand_* functions check the argument types anyway. */
builtin_function_2 ("__builtin_bzero", "bzero",
bzero_ftype, void_ftype_any,
BUILT_IN_BZERO, BUILT_IN_NORMAL, 1, 1, 0);
The prototype is:
/* Prototype for bzero. */
bzero_ftype
= build_function_type (void_type_node,
tree_cons (NULL_TREE, traditional_ptr_type_node,
traditional_len_endlink));
traditonal_ptr_type_node is what strlen uses. traditional_len_endlink
refers to "int". My guess is it wants:
void bzero (char *, int);
As far as whether or not it's a bug, and/or how to shut it up
portably, probably best to ask on gcc AT gcc DOT gnu DOT org.
- Raw text -