Mercurial > hg > CbC > CbC_gcc
diff gcc/builtins.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/builtins.h Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/builtins.h Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Expand builtin functions. - Copyright (C) 1988-2017 Free Software Foundation, Inc. + Copyright (C) 1988-2018 Free Software Foundation, Inc. This file is part of GCC. @@ -29,14 +29,14 @@ the register is not used for calling a function. If the machine has register windows, this gives only the outbound registers. INCOMING_REGNO gives the corresponding inbound register. */ - machine_mode x_apply_args_mode[FIRST_PSEUDO_REGISTER]; + fixed_size_mode_pod x_apply_args_mode[FIRST_PSEUDO_REGISTER]; /* For each register that may be used for returning values, this gives a mode used to copy the register's value. VOIDmode indicates the register is not used for returning values. If the machine has register windows, this gives only the outbound registers. INCOMING_REGNO gives the corresponding inbound register. */ - machine_mode x_apply_result_mode[FIRST_PSEUDO_REGISTER]; + fixed_size_mode_pod x_apply_result_mode[FIRST_PSEUDO_REGISTER]; }; extern struct target_builtins default_target_builtins; @@ -49,7 +49,6 @@ /* Non-zero if __builtin_constant_p should be folded right away. */ extern bool force_folding_builtin_constant_p; -extern bool is_builtin_fn (tree); extern bool called_as_built_in (tree); extern bool get_object_alignment_1 (tree, unsigned int *, unsigned HOST_WIDE_INT *); @@ -57,7 +56,15 @@ extern bool get_pointer_alignment_1 (tree, unsigned int *, unsigned HOST_WIDE_INT *); extern unsigned int get_pointer_alignment (tree); -extern tree c_strlen (tree, int); +extern unsigned string_length (const void*, unsigned, unsigned); +struct c_strlen_data +{ + tree decl; + tree len; + tree off; +}; + +extern tree c_strlen (tree, int, c_strlen_data * = NULL, unsigned = 1); extern void expand_builtin_setjmp_setup (rtx, rtx); extern void expand_builtin_setjmp_receiver (rtx); extern void expand_builtin_update_setjmp_buf (rtx); @@ -76,7 +83,7 @@ extern rtx expand_builtin (tree, rtx, rtx, machine_mode, int); extern rtx expand_builtin_with_bounds (tree, rtx, rtx, machine_mode, int); extern enum built_in_function builtin_mathfn_code (const_tree); -extern tree fold_builtin_expect (location_t, tree, tree, tree); +extern tree fold_builtin_expect (location_t, tree, tree, tree, tree); extern bool avoid_folding_inline_builtin (tree); extern tree fold_call_expr (location_t, tree, bool); extern tree fold_builtin_call_array (location_t, tree, tree, int, tree *); @@ -89,6 +96,7 @@ extern void set_builtin_user_assembler_name (tree decl, const char *asmspec); extern bool is_simple_builtin (tree); extern bool is_inexpensive_builtin (tree); +extern tree compute_objsize (tree, int); extern bool readonly_data_expr (tree exp); extern bool init_target_chars (void); @@ -102,4 +110,8 @@ extern internal_fn associated_internal_fn (tree); extern internal_fn replacement_internal_fn (gcall *); -#endif +extern void warn_string_no_nul (location_t, const char *, tree, tree); +extern tree unterminated_array (tree, tree * = NULL, bool * = NULL); +extern tree max_object_size (); + +#endif /* GCC_BUILTINS_H */