GCC Middle and Back End API Reference
system.h File Reference
#include <stdarg.h>
#include <stdio.h>
#include "safe-ctype.h"
#include <sys/types.h>
#include <errno.h>
#include <signal.h>
#include "filenames.h"
#include <gmp.h>
#include "libiberty.h"
#include "hwint.h"
Include dependency graph for system.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define va_copy(d, s)   ((d) = (s))
#define NULL   0
#define fopen(PATH, MODE)   fopen_unlocked (PATH, MODE)
#define fdopen(FILDES, MODE)   fdopen_unlocked (FILDES, MODE)
#define freopen(PATH, MODE, STREAM)   freopen_unlocked (PATH, MODE, STREAM)
#define __NO_STRING_INLINES
#define SUCCESS_EXIT_CODE   0
#define FATAL_EXIT_CODE   1
#define ICE_EXIT_CODE   4
#define IN_RANGE(VALUE, LOWER, UPPER)
#define INTTYPE_SIGNED(t)   (! ((t) 0 < (t) -1))
#define INTTYPE_MINIMUM(t)
#define INTTYPE_MAXIMUM(t)   ((t) (~ (t) 0 - INTTYPE_MINIMUM (t)))
#define UCHAR_MAX   INTTYPE_MAXIMUM (unsigned char)
#define SEEK_SET   0
#define SEEK_CUR   1
#define SEEK_END   2
#define F_OK   0
#define X_OK   1
#define W_OK   2
#define R_OK   4
#define O_RDONLY   0
#define O_WRONLY   1
#define O_BINARY   0
#define MIN(X, Y)   ((X) < (Y) ? (X) : (Y))
#define MAX(X, Y)   ((X) > (Y) ? (X) : (Y))
#define CEIL(x, y)   (((x) + (y) - 1) / (y))
#define WIFSIGNALED(S)   (((S) & 0xff) != 0 && ((S) & 0xff) != 0x7f)
#define WTERMSIG(S)   ((S) & 0x7f)
#define WIFEXITED(S)   (((S) & 0xff) == 0)
#define WEXITSTATUS(S)   (((S) & 0xff00) >> 8)
#define WSTOPSIG   WEXITSTATUS
#define WCOREDUMP(S)   ((S) & WCOREFLG)
#define WCOREFLG   0200
#define MAP_FAILED   ((void *)-1)
#define HAVE_DESIGNATED_INITIALIZERS
#define HAVE_DESIGNATED_UNION_INITIALIZERS
#define S_ISREG(m)   (((m) & S_IFMT) == S_IFREG)
#define S_ISDIR(m)   (((m) & S_IFMT) == S_IFDIR)
#define S_ISCHR(m)   (((m) & S_IFMT) == S_IFCHR)
#define S_ISBLK(m)   (((m) & S_IFMT) == S_IFBLK)
#define S_ISSOCK(m)   0
#define S_ISFIFO(m)   0
#define STDIN_FILENO   0
#define STDOUT_FILENO   1
#define STDERR_FILENO   2
#define kill(p, s)   raise (s)
#define HOST_PTR_PRINTF   "%p"
#define PATH_SEPARATOR   ':'
#define DIR_SEPARATOR   '/'
#define HOST_BIT_BUCKET   "/dev/null"
#define offsetof(TYPE, MEMBER)   ((size_t) &((TYPE *) 0)->MEMBER)
#define __FUNCTION__   "?"
#define __builtin_expect(a, b)   (a)
#define abort()   fancy_abort (__FILE__, __LINE__, __FUNCTION__)
#define gcc_assert(EXPR)   ((void)(0 && (EXPR)))
#define gcc_checking_assert(EXPR)   ((void)(0 && (EXPR)))
#define gcc_unreachable()   (fancy_abort (__FILE__, __LINE__, __FUNCTION__))
#define bool   unsigned char
#define true   1
#define false   0
#define TRUE   true
#define FALSE   false
#define BOOL_BITFIELD   unsigned int
#define really_call_malloc   malloc
#define really_call_calloc   calloc
#define really_call_realloc   realloc
#define CONST_CAST2(TOTYPE, FROMTYPE, X)   ((TOTYPE)(FROMTYPE)(X))
#define CONST_CAST(TYPE, X)   CONST_CAST2 (TYPE, const TYPE, (X))
#define CONST_CAST_TREE(X)   CONST_CAST (union tree_node *, (X))
#define CONST_CAST_RTX(X)   CONST_CAST (struct rtx_def *, (X))
#define CONST_CAST_BB(X)   CONST_CAST (struct basic_block_def *, (X))
#define CONST_CAST_GIMPLE(X)   CONST_CAST (struct gimple_statement_base *, (X))
#define VALGRIND_DISCARD(x)
#define VALGRIND_MALLOCLIKE_BLOCK(w, x, y, z)
#define VALGRIND_FREELIKE_BLOCK(x, y)
#define DEBUG_FUNCTION
#define DEBUG_VARIABLE

Functions

const char * strsignal (int)
void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN

Macro Definition Documentation

#define __builtin_expect (   a,
 
)    (a)

__builtin_expect(A, B) evaluates to A, but notifies the compiler that the most likely value of A is B. This feature was added at some point between 2.95 and 3.0. Let's use 3.0 as the lower bound for now.

#define __FUNCTION__   "?"

Various error reporting routines want to use FUNCTION.

#define __NO_STRING_INLINES

The compiler is not a multi-threaded application and therefore we do not have to use the locking functions. In fact, using the locking functions can cause the compiler to be significantly slower under I/O bound conditions (such as -g -O0 on very large source files).

HAVE_DECL_PUTC_UNLOCKED actually indicates whether or not the stdio code is multi-thread safe by default. If it is set to 0, then do not worry about using the _unlocked functions.

fputs_unlocked, fwrite_unlocked, and fprintf_unlocked are extensions and need to be prototyped by hand (since we do not define _GNU_SOURCE). ??? Glibc's fwrite/fread_unlocked macros cause "warning: signed and unsigned type in conditional expression". There are an extraordinary number of issues with <ctype.h>. The last straw is that it varies with the locale. Use libiberty's replacement instead. Some of glibc's string inlines cause warnings. Plus we'd rather rely on (and therefore test) GCC's string builtins.

#define abort ( )    fancy_abort (__FILE__, __LINE__, __FUNCTION__)
#define bool   unsigned char

Provide a fake boolean type. We make no attempt to use the C99 _Bool, as it may not be available in the bootstrap compiler, and even if it is, it is liable to be buggy. This must be after all inclusion of system headers, as some of them will mess us up.

#define BOOL_BITFIELD   unsigned int

Some compilers do not allow the use of unsigned char in bitfields.

#define CEIL (   x,
 
)    (((x) + (y) - 1) / (y))

Returns the least number N such that N * Y >= X.

Referenced by apply_args_size(), and assemble_static_space().

#define CONST_CAST2 (   TOTYPE,
  FROMTYPE,
 
)    ((TOTYPE)(FROMTYPE)(X))

This macro allows casting away const-ness to pass -Wcast-qual warnings. DO NOT USE THIS UNLESS YOU REALLY HAVE TO! It should only be used in certain specific cases. One valid case is where the C standard definitions or prototypes force you to. E.g. if you need to free a const object, or if you pass a const string to execv, et al. Another valid use would be in an allocation function that creates const objects that need to be initialized. In some cases we have non-const functions that return the argument (e.g. next_nonnote_insn). Rather than create const shadow functions, we can cast away const-ness in calling these interfaces if we're careful to verify that the called function does indeed not modify its argument and the return value is only used in a const context. (This can be somewhat dangerous as these assumptions can change after the fact). Beyond these uses, most other cases of using this macro should be viewed with extreme caution.

Referenced by add_lto_object().

#define CONST_CAST_BB (   X)    CONST_CAST (struct basic_block_def *, (X))
#define CONST_CAST_GIMPLE (   X)    CONST_CAST (struct gimple_statement_base *, (X))
#define CONST_CAST_RTX (   X)    CONST_CAST (struct rtx_def *, (X))
#define CONST_CAST_TREE (   X)    CONST_CAST (union tree_node *, (X))
#define DEBUG_FUNCTION

In LTO -fwhole-program build we still want to keep the debug functions available for debugger. Mark them as used to prevent removal.

#define DEBUG_VARIABLE
#define DIR_SEPARATOR   '/'

Filename handling macros. These should be phased out in favor of IS_DIR_SEPARATOR, where possible.

Referenced by prefix_from_string(), read_state_type(), and read_state_variables().

#define F_OK   0
#define false   0
#define FATAL_EXIT_CODE   1
#define fdopen (   FILDES,
  MODE 
)    fdopen_unlocked (FILDES, MODE)
#define fopen (   PATH,
  MODE 
)    fopen_unlocked (PATH, MODE)

Use the unlocked open routines from libiberty. Some of these are #define on some systems, e.g. on AIX to redirect the names to 64bit capable functions for LARGE_FILES support. These redefs are pointless here so we can override them.

Referenced by maybe_unlink_file().

#define freopen (   PATH,
  MODE,
  STREAM 
)    freopen_unlocked (PATH, MODE, STREAM)
#define gcc_assert (   EXPR)    ((void)(0 && (EXPR)))

Use gcc_assert(EXPR) to test invariants. Include EXPR, so that unused variable warnings do not occur.

Referenced by _list_alloc(), _succ_iter_cond(), add_allocno_to_bucket(), add_AT_die_ref(), add_AT_lineptr(), add_AT_specification(), add_AT_unsigned(), add_AT_vec(), add_data_member_location_attribute(), add_equivalence(), add_linkage_attr(), add_loc_list(), add_location_or_const_value_attribute(), add_mode_tests(), add_name_attribute(), add_pubtype(), adjust_simduid_builtins(), aff_combination_add_elt(), alloc_aux_for_blocks(), alloc_aux_for_edges(), alloc_cand_and_find_basis(), alloc_reg_note(), analyze_caller_dereference_legality(), analyze_iv_to_split_insn(), anti_adjust_stack_and_probe(), append_to_statement_list_force(), apply_code_iterator(), apply_loop_flags(), assign_parm_setup_stack(), AT_class(), AT_index(), AT_vms_delta1(), automata_list_finish(), bb_predicate(), bitmap_ior_and_compl(), bitmap_obstack_initialize(), bitmap_subset_p(), bitmap_vector_clear(), block_ends_with_condjump_p(), block_move_libcall_safe_for_call_parm(), blocks_nreverse(), build1_stat(), build_new_reduction(), build_string(), build_succ_graph(), build_word_mode_vector_type(), can_fallthru(), can_reload_into(), can_remove_branch_p(), can_unroll_loop_p(), canonicalize_component_ref(), canonicalize_values_star(), cfg_blocks_empty_p(), cgraph_call_node_duplication_hooks(), cgraph_create_empty_node(), cgraph_create_function_alias(), cgraph_find_replacement_node(), cgraph_node_for_asm(), cgraph_release_function_body(), cgraph_set_const_flag_1(), cgraph_set_edge_callee(), cgraph_set_pure_flag_1(), cgraph_unnest_node(), cgraph_variable_initializer_availability(), change_cfi_row(), check_argument_store(), check_for_plus_in_loops_1(), child_would_conflict_in_lacc(), chrec_replace_initial_condition(), cleanup_tree_cfg_1(), clear_storage_hints(), clear_storage_libcall_fn(), clone_inlined_nodes(), clone_tree(), collect_one_action_chain(), comp_type_attributes(), compact_blocks(), compute_alternative_mask(), compute_antic(), compute_argument_block_size(), compute_dominance_frontiers_1(), compute_inverse(), compute_object_offset(), cond_move_convert_if_block(), connect_traces(), const_desc_rtx_eq(), contains_hot_call_p(), convert_descriptor_to_mode(), copy_cfi_row(), copy_decls_for_unworthy_types(), copy_insn_regexp(), copy_loop_before(), copy_lst(), count_alternatives(), count_reg_usage(), count_type_elements(), coverage_counter_alloc(), create_block_symbol(), create_cfi_notes(), create_coalesce_list(), create_empty_if_region_on_edge(), create_loop_fn(), create_mem_ref(), create_temp_arrays(), create_tmp_var_raw(), create_trace_edges(), create_vector_array(), cselib_invalidate_mem(), cselib_subst_to_values(), debug_dfa_stats(), debug_names_replaced_by(), decide_peel_simple(), decl_die_table_eq(), decompose_register(), default_destroy_cost_data(), default_different_addr_displacement_p(), default_elf_select_section(), default_secondary_reload(), default_select_rtx_section(), delete_function_version(), delete_trivially_dead_insns(), delete_var_map(), df_bb_delete(), df_bb_regno_first_def_find(), df_finish_pass(), df_get_call_refs(), df_get_postorder(), df_hard_reg_init(), df_live_free_bb_info(), df_live_verify_solution_end(), df_lr_alloc(), df_mw_compare(), df_read_modify_subreg_p(), df_set_regs_ever_live(), df_update_entry_exit_and_calls(), df_word_lr_free_bb_info(), diddle_return_value(), display_help(), do_deref(), do_output_reload(), double_int_constant_multiple_p(), dump_inline_hints(), dump_recorded_exit(), dump_recorded_exits(), dump_update_ssa(), duplicate_eh_regions_1(), duplicate_loop(), dv_changed_p(), dw2_output_call_site_table(), dwarf2out_define(), dwarf2out_flush_queued_reg_saves(), dwarf2out_frame_debug_cfa_window_save(), dwarf_cfi_name(), eliminate_avail(), eliminate_temp_copies(), emit_block_move_via_loop(), emit_cstore(), emit_jump_insn_before(), emit_local(), emit_push_insn(), enum_arg_to_value(), estimate_size_after_inlining(), estimated_loop_iterations(), execute_function_todo(), execute_one_pass(), execute_pred_commoning_chain(), expand_builtin_longjmp(), expand_builtin_memset_args(), expand_debug_parm_decl(), expand_dummy_function_end(), expand_omp_atomic_load(), expand_omp_for_init_vars(), expand_omp_sections(), expand_return(), expand_widening_mult(), fill_sons_in_loop(), finalize_ddr_dependent(), find_AT_string_in_table(), find_clusters_1(), find_coalesce_pair(), find_cond_trap(), hash_table< Descriptor, Allocator >::find_empty_slot_for_expand(), find_equal_ptrs(), find_first_unused_number_of_operand(), find_induction_variables(), find_max_flow(), find_reg_note(), find_shift_sequence(), find_single_use(), find_src_set_src(), find_switch_asserts(), find_traces_1_round(), find_use_stmt(), find_valid_class(), fini_vars_expansion(), finish_bitfield_layout(), finish_params(), fix_crossing_unconditional_branches(), fixup_eh_region_pointers(), fixup_new_cold_bb(), flow_call_edges_add(), fold_builtin_alloca_with_align(), fold_defer_overflow_warnings(), fold_gimple_cond(), fortran_common(), free_alt_state(), free_original_copy_tables(), free_temp_expr_table(), gate_lto_out(), gcse_emit_move_after(), gen_array_type_die(), gen_conditions_for_pow_cst_base(), gen_conditions_for_pow_int_base(), gen_formal_parameter_die(), gen_highpart_mode(), gen_int_to_fp_nondecimal_conv_libfunc(), gen_lowpart_common(), gen_regexp_repeat(), gen_regexp_sequence(), gen_satfractuns_conv_libfunc(), generate_canonical_option(), get_addr_base_and_unit_offset_1(), get_addr_from_local_cache(), get_ancestor_addr_info(), get_asm_expr_operands(), get_biv_step(), get_constraint_for_rhs(), get_first_repr_for_decl(), get_free_alt_state(), get_initial_def_for_reduction(), get_lang_bitmap(), get_loop_body(), gcc::context::get_passes(), get_ptr_info_alignment(), get_rank(), get_ref_die_offset_label(), get_unwidened(), get_value_for_expr(), get_variable_section(), gimple_bind_expr_stack(), gimple_block_ends_with_call_p(), gimple_build_assign_with_ops(), gimple_build_call(), gimple_build_call_vec(), gimple_build_eh_filter(), gimple_seq_add_seq(), gimplify_assign(), gimplify_mem_ref_parts(), gimplify_modify_expr_to_memset(), gimplify_omp_workshare(), gimplify_switch_expr(), gsi_insert_seq_before(), gsi_set_stmt(), gsi_split_seq_before(), gt_pch_note_object(), hide_evolution_in_other_loops_than_loop(), if_convertible_loop_p(), independent_of_stmt_p(), init_addr_table_entry(), initializer_constant_valid_p_1(), inline_forbidden_p_stmt(), inline_small_functions(), inner_loop_header_p(), input_overwrite_node(), insert_float(), insert_init_debug_bind(), insert_insn_end_basic_block(), insert_restore(), insert_rtx_to_part_on_edge(), insert_var_expansion_initialization(), instrument_builtin_call(), instrument_edges(), intersect_loc_chains(), invariant_for_use(), ipa_analyze_node(), ipa_analyze_virtual_call_uses(), ipa_free_all_structures_after_iinln(), ipa_free_all_structures_after_ipa_cp(), ipa_reference_get_not_written_global(), is_and_set_subset_of(), is_pseudo_reg(), lambda_matrix_vector_mult(), lhd_complain_wrong_lang_p(), loc_descr_equal_p_1(), loop_has_vector_phi_nodes(), loop_in_sese_p(), lower_eh_constructs(), lower_emutls_stmt(), lower_send_clauses(), lst_find_last_pbb(), lto_bitmap_free(), lto_compress_block(), lto_init_eh(), lto_input_ts_decl_common_tree_pointers(), lto_output(), lto_read_body(), lto_read_tree(), lto_start_compression(), lto_uncompress_block(), lto_write_tree(), lto_zalloc(), make_invariant_chain(), make_note_raw(), mark_last_stmt_necessary(), mark_operands_from_match_dup(), mark_stmt_if_obviously_necessary(), may_reassociate_p(), may_trap_p(), maybe_propagate_label_ref(), maybe_record_in_goto_queue(), maybe_set_first_label_num(), merge_aggregate_lattices(), merge_ranges(), mode_for_array(), modify_move_list(), move_by_pieces_1(), move_pointer_to_base(), move_stmt_op(), move_stmt_r(), nesting_copy_decl(), new_loop_vec_info(), new_stridx(), next_real_insn(), niter_for_single_dom_exit(), no_conflict_move_test(), noce_emit_store_flag(), normalize_omega_problem(), note_uses(), omega_problem_has_red_equations(), omp_is_private(), omp_max_vf(), operands_match_p(), optab_for_tree_code(), outof_cfg_layout_mode(), output_asm_insn(), output_constant(), output_constructor_bitfield(), output_description(), output_eh_regions(), output_max_insn_queue_index_def(), output_min_issue_delay_vect_name(), output_trans_comb_vect_name(), output_translate_vect_name(), pbb_iterator_dim(), pbb_nb_dynamic_scattering_transform(), pbb_nb_local_vars(), pbb_nb_scattering_transform(), pbb_parameter_dim(), pbb_set_black_box(), phi_result_unknown_predicate(), premark_types_used_by_global_vars_helper(), process_assert_insertions_for(), propagate_controlled_uses(), prune_ref_by_self_reuse(), psco_iterator_dim(), psco_scattering_dim(), psct_local_var_dim(), psct_scattering_dim(), push_gimplify_context(), read_cmdline_options(), record_last_set_info(), record_loop_exits(), record_stmt_eh_region(), referred_to_p(), reg_save(), reg_saved_in(), regexp_representation(), regno_clobbered_at_setjmp(), relink_imm_use_stmt(), reload_combine_recognize_const_pattern(), remap_edge_change_prob(), remap_vla_decls(), remove_child_or_replace_with_skeleton(), remove_exit_barriers(), remove_unused_temp_slot_addresses(), replace_phi_args_in(), replace_reg_with_saved_mem(), replace_rtx(), replace_ssa_name(), reserv_sets_are_intersected(), rewrite_use_compare(), rhs_to_tree(), rtl_move_block_after(), rtx_refs_may_alias_p(), rtx_to_double_int(), safe_from_earlyclobber(), scale_dominated_blocks_in_loop(), schedule_generic_params_dies_gen(), sdiv_cost(), separate_decls_in_region_name(), separate_decls_in_region_stmt(), set_AT_ref_external(), set_default_param_value(), set_dv_changed(), set_lattice_value(), set_live_p(), set_ptr_info_alignment(), set_reg_attrs_from_value(), set_storage_via_libcall(), set_strinfo(), set_uids_in_ptset(), should_hoist_expr_to_dom(), shrink_wrap_one_built_in_call(), simple_edge_hints(), simplify_const_unary_operation(), simplify_relational_operation_1(), simplify_replace_rtx(), sjlj_assign_call_site_values(), splay_tree_compare_strings(), split_all_insns(), split_complex_types(), split_insn(), sprint_ul_rev(), ssa_default_def(), ssa_name_has_uses_outside_loop_p(), ssanames_print_statistics(), stabilize_va_list_loc(), start_ssa_stmt_operands(), stmt_is_power_of_op(), stmt_overflow_infinity(), stmt_starts_bb_p(), store_alt_unit_usage(), streamer_read_tree_bitfields(), streamer_tree_cache_append(), subst_pattern_match(), sweep_pages(), symtab_remove_unreachable_nodes(), test_for_singularity(), timevar_init(), timevar_stop(), tm_log_emit(), tree_nrv(), tsi_link_before(), type_hash_eq(), type_tag(), unmark_all_dies(), unshare_expr_without_location(), update_bad_spill_attribute(), update_call_expr(), update_stmt_operands(), use_group_regs(), varpool_output_variables(), vect_analyze_stmt(), vect_can_advance_ivs_p(), vect_create_cond_for_alias_checks(), vect_do_peeling_for_loop_bound(), vect_get_new_vect_var(), vect_get_vec_def_for_operand(), vect_mark_relevant(), vect_permute_store_chain(), vect_print_slp_tree(), vect_update_ivs_after_vectorizer(), verify_dominators(), vrp_stmt_computes_nonzero(), vrp_val_is_min(), vt_find_locations(), workshare_safe_to_combine_p(), write_agg_replacement_chain(), write_const_num_delay_slots(), write_state(), zero_one_operation(), and ziv_subscript_p().

#define gcc_checking_assert (   EXPR)    ((void)(0 && (EXPR)))

Referenced by add_dependence(), add_new_name_mapping(), add_to_partition_kill_list(), allocate_pool_descriptor(), and_predicates(), attrs_list_clear(), bitmap_and(), bitmap_set_bit(), bitmap_set_contains_expr(), bitpack_create(), bp_pack_int_in_range(), canonicalize_values_star(), cgraph_clone_edge(), cgraph_create_function_alias(), cgraph_node_set_new(), cgraph_node_set_remove(), change_cfi_row(), check_cond_move_block(), check_qualified_type(), chrec_fold_automatically_generated_operands(), compare_names(), vec< T, A, vl_embed >::copy(), copy_ssa_name(), covers_regno_no_parallel_p(), create_preheader(), cselib_invalidate_regno(), dead_debug_global_find(), dead_debug_global_insert(), debug_var_infos_r(), decl_for_component_ref(), delete_update_ssa(), delink_imm_use(), determine_dominators_for_sons(), df_word_lr_simulate_uses(), do_estimate_edge_time(), dot_rdg(), dv_is_decl_p(), dv_is_value_p(), emit_jump_insn_after_setloc(), emit_local(), emit_move_insn(), eq_assembler_name(), evaluate_predicate(), expr_with_var_bounded_array_refs_p(), false_predicate(), find_constant_src(), find_decls_types_in_node(), find_def_blocks_for(), find_more_scalar_values_for_callers_subset(), finish_copy(), free_cgraph_node_set(), free_dominance_info(), free_scc_info(), gen_subprogram_die(), get_common_info(), get_dominated_by_region(), get_dominated_to_depth(), get_mem_ref_of_assignment(), get_ptr_info_alignment(), gimple_build_try(), group_case_labels(), gsi_for_stmt(), initialize_inline_failed(), intersect_with_agg_replacements(), ipa_find_agg_cst_for_param(), ipa_free_all_edge_args(), ipa_free_node_params_substructures(), ipa_get_jf_constant(), ipa_get_jf_constant_rdesc(), ipa_get_jf_known_type_base_type(), ipa_get_jf_known_type_component_type(), ipa_get_jf_known_type_offset(), ipa_get_jf_pass_through_operand(), ipa_prop_write_all_agg_replacement(), ipa_record_reference(), ipcp_versionable_function_p(), is_a(), is_overflow_infinity(), load_assign_lhs_subreplacements(), loc_exp_dep_clear(), vec< T, A, vl_embed >::lower_bound(), lto_write_tree(), make_pass_build_ssa(), make_pass_into_cfg_layout_mode(), mark_def_interesting(), maybe_emit_chk_warning(), maybe_hot_count_p(), maybe_record_node(), maybe_register_def(), double_int::mod(), double_int::multiple_of(), nearest_common_dominator_for_set(), needs_overflow_infinity(), num_imm_uses(), op_iter_next_tree(), op_iter_next_use(), partition_is_global(), pos_mul_hwi(), predicates_equal_p(), preserve_constants_and_equivs(), propagate_aggs_accross_jump_function(), read_write_all_from_decl(), ref_always_accessed_p(), remove_visited_stmt_chain(), rewrite_debug_stmt_uses(), vec< T, va_heap, vl_ptr >::safe_splice(), set_agg_lats_contain_variable(), set_all_contains_variable(), set_first_insn(), shared_var_p(), single_ssa_tree_operand(), sparseset_set_bit(), sparseset_size(), split_live_ranges_for_shrink_wrap(), ssa_conflicts_test_p(), streamer_read_hwi_in_range(), streamer_write_hwi_in_range(), supports_overflow_infinity(), truth_value_p(), unsuitable_loc(), var_reg_set(), var_to_partition_to_var(), vec_safe_copy(), vec_safe_insert(), vec_safe_truncate(), vt_expand_loc(), vt_find_locations(), and zero_ssa_operands().

#define gcc_unreachable ( )    (fancy_abort (__FILE__, __LINE__, __FUNCTION__))

Use gcc_unreachable() to mark unreachable locations (like an unreachable default case of a switch. Do not use gcc_assert(0).

Referenced by add_AT_string(), adjust_simduid_builtins(), alter_predicate_for_insn(), attr_copy_rtx(), can_unroll_loop_p(), canon_rtx(), cgraph_process_new_functions(), check_for_plus_in_loops_1(), contains_placeholder_p(), decimal_to_decnumber(), default_addr_space_valid_pointer_mode(), default_legitimate_address_p(), df_get_eh_block_artificial_uses(), df_live_free(), do_compare(), dump_dref(), dump_gimple_debug(), dump_gimple_fmt(), emit_debug_insn(), expand_all_functions(), expand_ANNOTATE(), expand_builtin_sincos(), expand_GOMP_SIMD_LANE(), expand_GOMP_SIMD_VF(), file_name_acquire(), finish_bitfield_layout(), fixup_same_cpp_alias_visibility(), fold_comparison(), gen_const_vector(), get_initial_def_for_reduction(), gimple_has_side_effects(), gimple_set_bb(), gimplify_omp_workshare(), handle_option(), hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false(), hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true(), hook_int_CUMULATIVE_ARGS_mode_tree_bool_0(), init_dom_info(), init_emit_once(), initialize_tree_contains_struct(), initializer_constant_valid_p_1(), insert_insn_end_basic_block(), inside_basic_block_p(), instantiate_decls(), instantiate_scev_binary(), instrument_values(), invert_tree_comparison(), lhd_tree_dump_dump_tree(), lookup_cfa_1(), lower_reduction_clauses(), lower_send_clauses(), lra_create_copy(), lto_input_tree_ref(), lto_read_tree_1(), match_pattern(), maybe_canonicalize_argtypes(), mode_for_size(), move_by_pieces_1(), objects_must_conflict_p(), prev_nonnote_insn(), print_path(), process_alt_operands(), real_ldexp(), record_in_goto_queue_label(), redirect_exp_1(), set_rename(), setup_allocno_assignment_flags(), sign_bit_p(), signed_or_unsigned_type_for(), simplify_const_unary_operation(), simplify_or_tree(), simplify_using_condition(), single_dom_exit(), size_of_sleb128(), split_iv(), swap_allocno_copy_ends_if_necessary(), test_for_singularity(), timevar_cond_stop(), tree_unary_nonnegative_warnv_p(), type_from_format(), type_lineloc(), unroll_and_peel_loops(), update_costs_from_allocno(), vect_analyze_stmt(), vect_min_worthwhile_factor(), state_writer::write_state_gc_used(), and write_test_expr().

#define HAVE_DESIGNATED_INITIALIZERS
Value:
(((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)) \
&& !defined(__cplusplus))

1 if we have C99 designated initializers.

#define HAVE_DESIGNATED_UNION_INITIALIZERS
Value:
(((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)) \
&& (!defined(__cplusplus) || (GCC_VERSION >= 4007)))
#define HOST_BIT_BUCKET   "/dev/null"

Do not introduce a gmp.h dependency on the build system. Get libiberty declarations. Provide a default for the HOST_BIT_BUCKET. This suffices for POSIX-like hosts.

#define HOST_PTR_PRINTF   "%p"

Provide a way to print an address via printf.

Referenced by bitmap_ior_and_compl_into().

#define ICE_EXIT_CODE   4
#define IN_RANGE (   VALUE,
  LOWER,
  UPPER 
)
Value:
((unsigned HOST_WIDE_INT) (VALUE) - (unsigned HOST_WIDE_INT) (LOWER) \
<= (unsigned HOST_WIDE_INT) (UPPER) - (unsigned HOST_WIDE_INT) (LOWER))

A macro to determine whether a VALUE lies inclusively within a certain range without evaluating the VALUE more than once. This macro won't warn if the VALUE is unsigned and the LOWER bound is zero, as it would e.g. with "VALUE >= 0 && ...". Note the LOWER bound is evaluated twice, and LOWER must not be greater than UPPER. However the bounds themselves can be either positive or negative.

Referenced by compute_const_anchors().

#define INTTYPE_MAXIMUM (   t)    ((t) (~ (t) 0 - INTTYPE_MINIMUM (t)))

Referenced by check_argument_store().

#define INTTYPE_MINIMUM (   t)
Value:
((t) (INTTYPE_SIGNED (t) \
? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))

The outer cast is needed to work around a bug in Cray C 5.0.3.0. It is necessary at least when t == time_t.

#define INTTYPE_SIGNED (   t)    (! ((t) 0 < (t) -1))

Infrastructure for defining missing _MAX and _MIN macros. Note that macros defined with these cannot be used in #if. The extra casts work around common compiler bugs.

#define kill (   p,
 
)    raise (s)

Some systems have mkdir that takes a single argument.

#define MAP_FAILED   ((void *)-1)

Referenced by lookup_page_table_entry().

#define NULL   0

Define a generic NULL if one hasn't already been defined.

Referenced by add_allocno_pref_to_list(), add_allocno_to_ordered_bucket(), add_AT_fde_ref(), add_AT_lineptr(), add_AT_loc(), add_AT_loc_list(), add_AT_low_high_pc(), add_bit_offset_attribute(), add_bound_info(), add_builtin_type(), add_copies(), add_linkage_name(), add_loop_to_tree(), add_new_allocno_hard_regs_node_to_forest(), add_new_edges_to_heap(), add_pass_instance(), add_pseudo_to_slot(), add_ranges_and_copies(), add_standard_paths(), add_stmt_to_eh_lp(), add_sysrooted_prefix(), add_to_obstack(), add_to_worklist(), addr_table_entry_do_hash(), address_of_int_loc_descriptor(), adjust_hard_regno_cost(), adjust_iv_update_pos(), adjust_line(), adjust_related_strinfos(), adjust_simduid_builtins(), all_immediate_uses_same_place(), alloc_aux_for_block(), alloc_aux_for_blocks(), alloc_aux_for_edge(), alloc_aux_for_edges(), alloc_empty_reserv_sets(), allocno_cost_compare_func(), allocno_hard_regs_compare(), alter_predicate_for_insn(), analyze_function(), analyze_insn_to_expand_var(), analyze_iv_to_split_insn(), analyze_memory_references(), analyze_scalar_evolution_for_address_of(), announce_function(), array_and_function_declarators_opt(), assign_discriminators(), assign_symbol_names(), associate_equivalences_with_edges(), AT_addr(), AT_loc_list_ptr(), AT_ref_external(), attempt_builtin_powi(), attr_copy_rtx(), strlen_dom_walker::before_dom_children(), bitmap_and(), bitmap_copy(), bitmap_obstack_initialize(), bitmap_xor(), biv_p(), break_out_includes(), bt_callback(), btr_def_live_range(), bucket_allocno_compare_func(), build_btr_def_use_webs(), build_conflict_bit_table(), build_one_array(), build_one_cst(), build_rdg_partition_for_vertex(), build_stack_save_restore(), build_succ_graph(), build_vector_from_val(), calculate_live_on_exit(), can_remove_branch_p(), canonicalize_component_ref(), canonicalize_values_star(), cgraph_add_edge_duplication_hook(), cgraph_add_function_insertion_hook(), cgraph_create_function_alias(), cgraph_fnver_htab_hash(), cgraph_node_remove_callees(), cgraph_process_new_functions(), change_AT_die_ref(), change_cfi_row(), check_aligned_type(), check_array_ref(), check_bool_pattern(), check_for_plus_in_loops(), check_qualified_type(), chrec_evaluate(), classify_partition(), clear_arc_insns_equiv_num(), clear_aux_for_edges(), clear_by_pieces(), clear_iv_info(), clear_marks(), clobber_overlapping_mems(), coalescable_pseudo_p(), coalesce_partitions(), coalesced_pseudo_reg_slot_compare(), collect_spilled_coalesced_allocnos(), hash_table< Descriptor, Allocator >::collisions(), colorize_stop(), common_handle_option(), comp_type_attributes(), compact_blocks(), compare_max_occ_cycle_nums(), compare_ptr_data(), compare_states_for_equiv(), complex_visit_phi(), compute_alternative_mask(), compute_available(), compute_builtin_object_size(), compute_dominance_frontiers_1(), compute_frequency_overlap(), compute_hash_table(), compute_out(), compute_transp(), cond_exec_find_if_block(), connect_traces(), constant_pointer_difference(), convert_descriptor_to_mode(), convert_optab_libfunc(), copy_edges_for_bb(), copy_gimple_bind(), copy_if_shared(), copy_info_to_removed_store_destinations(), copy_loop_before(), count_alternatives(), count_insns_seq(), count_states_and_arcs(), coverage_begin_function(), coverage_counter_alloc(), coverage_obj_fn(), cprop_into_successor_phis(), create_at_file(), create_block_for_threading(), create_coalesce_list(), create_composed_state(), create_iv(), create_live_range_start_chains(), create_mul_ssa_cand(), create_node(), create_omp_child_function(), create_one_component_var(), create_phi_for_local_result(), create_preheader(), create_tmp_var_name(), create_trace_edges(), cselib_subst_to_values(), dataflow_set_destroy(), dataflow_set_equiv_regs(), dbg_cnt_process_opt(), dbx_reg_number(), ddr_consistent_p(), dead_debug_add(), dead_debug_global_init(), dead_debug_insert_temp(), dead_or_set_regno_p(), debug(), debug_cluster(), debug_print_page_list(), debug_var_infos_r(), decide_peel_simple(), decl_die_table_eq(), decl_die_table_hash(), decl_eq_p(), decode_asm_operands(), default_expand_builtin(), default_fixed_point_supported_p(), default_function_incoming_arg(), default_function_section(), default_internal_label(), delegitimize_mem_from_attrs(), delete_function_version(), delete_insn(), delete_temp_files(), delete_unreachable_blocks_update_callgraph(), delink_imm_use(), deps_ok_for_redirect(), determine_base_object(), determine_dominators_for_sons(), determine_offset(), determine_unroll_factor(), devirt_variable_node_removal_hook(), df_bb_regno_first_def_find(), df_finish_pass(), df_get_eh_block_artificial_uses(), df_get_n_blocks(), df_install_ref(), df_live_add_problem(), df_record_entry_block_defs(), df_reg_defined(), df_remove_problem(), df_reorganize_refs_by_insn_bb(), diagnostic_action_after_output(), diagnostic_for_asm(), discard_useless_locs(), do_goto_redirection(), do_return_redirection(), double_int_constant_multiple_p(), dse_step3(), dump_chains(), dump_pass_list(), dump_split_point(), dump_update_ssa(), dump_value_range(), dump_varpool(), duplicate_alternatives(), duplicate_computed_gotos(), duplicate_eh_regions_1(), duplicate_loop(), dv_onepart_p(), eliminate_indirect_cycles(), emit_call_insn_after_setloc(), emit_clobber(), emit_cmp_and_jump_insn_1(), emit_move_insn(), eq_struct_pred_data(), ptr_hash_hasher::equal(), cu_hash_table_entry_hasher::equal(), equal_alternatives_p(), equiv_constant(), error_at_line(), estimated_unrolled_size(), et_splay(), execute_lower_eh_dispatch(), execute_lower_tm(), execute_pred_commoning_chain(), expand_block_edges(), expand_builtin_memory_chk(), expand_builtin_memset_args(), expand_builtin_prefetch(), expand_builtin_sincos(), expand_loc(), expand_location_to_spelling_point(), expand_omp_atomic_load(), expand_omp_for_init_vars(), expand_omp_sections(), expand_transaction(), expansion_failed(), extract_attribute_substring(), extract_range_from_cond_expr(), fatal_reading_state(), file_name_as_prefix(), finalize_task_copyfn(), find_a_file(), find_all_hard_reg_sets(), find_arc(), find_basis_for_base_expr(), find_btr_use(), find_call_crossed_cheap_reg(), find_call_stack_args(), find_coalesce_pair(), hash_table< Descriptor, Allocator >::find_empty_slot_for_expand(), find_equal_ptrs(), find_first_unused_number_of_operand(), find_fixup_edge(), find_implicit_sets(), find_induction_variables(), find_loop_location(), find_loop_niter(), find_matching_predicate_in_rest_chains(), find_released_ssa_name(), find_simple_exit(), find_src_set_src(), find_subloop_latch_edge_by_profile(), find_traces_1_round(), hash_table< Descriptor, Allocator >::find_with_hash(), find_working_set(), finish_allocno_hard_regs(), finish_automaton_decl_table(), fixup_args_size_notes(), fixup_eh_region_pointers(), fixup_noreturn_call(), fold_builtin_4(), fold_builtin_classify(), fold_builtin_exponent(), fold_builtin_n(), fold_builtin_sprintf_chk_1(), fold_builtin_tan(), fold_defer_overflow_warnings(), fold_gimple_cond(), fold_trunc_transparent_mathfn(), fold_undefer_and_ignore_overflow_warnings(), for_each_edge(), for_each_path(), force_move_args_size_note(), fp_setter_insn(), free_all_edge_infos(), free_automata_list_el(), free_expr_hash_elt(), free_gcse_mem(), free_histograms(), free_inline_summary(), free_INSN_LIST_list(), free_insn_recog_data(), free_insn_regs(), free_modify_mem_tables(), free_move(), free_original_copy_tables(), free_state(), free_temp_expr_table(), free_update_cost_record_list(), free_var_map_entry(), frob_extension(), gate_fwprop(), gate_ud_dce(), gen_array_type_die(), gen_bypass(), gen_formal_parameter_die(), gen_fp_to_int_conv_libfunc(), gen_internal_sym(), gen_mnemonic_attr(), gen_mnemonic_setattr(), generate_canonical_option(), generate_code_for_partition(), generate_subtree_copies(), generic_expr_could_trap_p(), get_addr_from_local_cache(), get_asm_expr_operands(), get_attrs_for(), get_base_type_offset(), get_bitmap_index(), get_common_info(), get_continuation_for_phi(), gcc::dump_manager::get_dump_file_info(), get_expr_type(), get_initial_def_for_reduction(), get_input_file_name(), get_last_bb_insn(), get_named_text_section(), get_or_alloc_expr_for(), get_prop_dest_stmt(), get_prop_source_stmt(), get_ref_die_offset(), get_rtx_for_ssa_name(), get_shiftadd_cost(), get_tm_region_blocks(), get_update_cost_record(), get_var_base_offset_size_access(), getenv_spec_function(), ggc_call_count(), ggc_mark_root_tab(), ggc_register_cache_tab(), gimple_block_ends_with_call_p(), gimple_duplicate_stmt_histograms(), gimple_expand_builtin_powi(), gimple_gen_one_value_profiler(), gimple_init_edge_profiler(), gimple_make_forwarder_block(), gimple_predict_edge(), gimple_purge_dead_eh_edges(), gimple_remove_stmt_histograms(), gimple_seq_add_seq(), gimplify_expr(), gimplify_init_ctor_eval(), gimplify_modify_expr_to_memset(), gimplify_seq_add_stmt(), gimplify_vla_decl(), glb_enum_p(), gmalloc(), go_output_typedef(), gsi_insert_on_edge_immediate(), gsi_insert_seq_before(), gsi_set_stmt(), gsi_split_seq_before(), gt_ggc_mx(), gt_pch_note_object(), gt_pch_save_stringpool(), handle_option(), handle_pointer_plus(), handle_spec_function(), has_nonexceptional_receiver(), has_zero_uses(), tree_upper_hasher::hash(), cand_chain_hasher::hash(), honor_protect_cleanup_actions(), hook_constcharptr_const_rtx_null(), hook_constcharptr_const_tree_null(), hook_constcharptr_void_null(), hook_rtx_rtx_null(), hook_tree_tree_tree_null(), hook_tree_tree_tree_tree_3rd_identity(), hook_tree_tree_tree_tree_null(), hot_function_section(), identify_dead_nodes(), idx_contains_abnormal_ssa_name_p(), index_addr_table_entry(), init_dom_info(), init_insn_code_data_once(), init_lives(), init_local_tick(), init_loop_tree_node(), init_optabs(), init_resource_info(), init_ssa_operands(), initialize_expr_from_cond(), initialize_root(), initialize_root_vars_lm(), initializer_constant_valid_p_1(), initiate_insn_decl_table(), inline_summary_alloc(), inner_loop_header_p(), input_cfg(), input_overwrite_node(), input_phi(), insert_aux(), insert_decl(), insert_move_for_subreg(), insert_store(), insert_with_costs(), insn_decl_eq_p(), instantiate_scev_1(), instantiate_scev_binary(), instantiate_scev_poly(), instrument_builtin_call(), instrument_derefs(), instrument_memory_accesses(), internal_get_tmp_var(), intersect_loc_chains(), intersected_state_reservs_p(), invariant_for_use(), invariantness_dom_walker::invariantness_dom_walker(), ipa_edge_duplication_hook(), ipa_edge_removal_hook(), ipa_find_agg_cst_for_param(), ipa_find_reference(), ipa_free_all_edge_args(), ipa_free_postorder_info(), ipa_get_cs_argument_count(), ipa_modify_call_arguments(), ipa_passes(), ipa_ref_has_aliases_p(), ipa_ref_list_first_reference(), ipa_ref_list_first_referring(), ipa_ref_referred_ref_list(), ipa_reference_get_not_read_global(), ipa_remove_stmt_references(), ipa_reverse_postorder(), ipa_unregister_cgraph_hooks(), ira_copy_iter_cond(), ira_create_live_range(), ira_create_new_reg(), ira_create_object(), ira_create_pref(), ira_debug_allocno_prefs(), ira_debug_live_range_list(), ira_free_allocno_updated_costs(), ira_init_register_move_cost_if_necessary(), is_ctrl_stmt(), is_fortran(), is_phi_for_stmt(), is_tagged_type(), is_used_p(), vec< T, va_heap, vl_ptr >::iterate(), iv_ca_add_use(), iv_ca_delta_commit(), iv_ca_extend(), iv_ca_set_cp(), kill_expr(), label_for_bb(), lhd_initialize_diagnostics(), lhd_print_error_function(), link_block(), link_imm_use_stmt(), list_length(), load_from_unmodified_param(), load_killed_in_block_p(), loe_visit_block(), log_op_type(), lookup_page_table_entry(), lookup_redirection_data(), lookup_tmp_var(), lower_eh_constructs(), lower_omp_sections(), lower_omp_target(), lower_reduction_clauses(), lower_send_clauses(), lower_try_finally_dup_block(), lower_try_finally_onedest(), lra_copy_live_range_list(), lra_create_copy(), lra_update_insn_recog_data(), lst_depth(), lst_dewey_number(), lst_find_last_pbb(), lto_bitmap_free(), lto_get_out_decl_state(), lto_input_eh_catch_list(), lto_output_type_ref_index(), lto_tree_code_to_tag(), lto_write_stream(), lv_add_condition_to_bb(), main(), make_blocks(), make_cond_expr_edges(), make_goto_expr_edges(), make_heapvar(), make_pass_build_ssa(), make_pass_dominator(), make_pass_optimize_bswap(), make_reg_eh_region_note(), mangle_name(), mark_constant_pool(), mark_decl_referenced(), mark_ident(), mark_label_nuses(), mark_matching_switches(), mark_parm_dereference(), mark_pseudo_reg_live(), mark_threaded_blocks(), mark_use_interesting(), max_stmt_executions_tree(), may_eliminate_iv(), maybe_add_implicit_barrier_cancel(), maybe_catch_exception(), maybe_default_options(), maybe_delete_ident(), maybe_emit_sprintf_chk_warning(), maybe_fix_stack_asms(), maybe_lookup_ctx(), maybe_propagate_label_ref(), maybe_register_def(), maybe_unlink_file(), member_declared_type(), memref_referenced_p(), memref_used_between_p(), merge_allocnos(), merge_blocks_move_successor_nojumps(), merge_trees(), merge_weak(), mergeable_string_section(), minimize_DFA(), modify_move_list(), mostly_copy_tree_r(), move_all_children(), move_block_after(), move_stmt_eh_region_tree_nr(), move_stmt_op(), move_stmt_r(), move_unallocated_pseudos(), n_of_executions_at_most(), n_sep_els(), ncd_for_two_cands(), NDFA_to_DFA(), new_die(), new_omp_context(), new_omp_region(), new_stridx(), new_strinfo(), next_readonly_imm_use(), nodes_identical_1(), nontrivial_chain_p(), note_simd_array_uses_cb(), nothing_to_prefetch_p(), notice_stack_pointer_modification(), occ_new(), omp_check_private(), omp_clause_aligned_alignment(), omp_is_private(), omp_max_vf(), one_pre_gcse_pass(), op_iter_next_tree(), opt_enum_arg_to_value(), optab_libfunc(), optimize_macinfo_range(), optimize_range_tests_diff(), optimize_stmt(), output_asm_insn(), output_cfg(), output_constructor_bitfield(), output_description(), output_dfa_start_func(), output_eh_try_list(), output_internal_reset_func(), output_location(), output_max_insn_queue_index_def(), output_pattern_set_el_list(), output_trans_comb_vect_name(), page_group_index(), parse_gcc_colors(), partition_contains_all_rw(), pass_state_graph(), pfatal_with_name(), pfgets(), phi_result_unknown_predicate(), place_operands(), pointer_map_destroy(), possible_polymorphic_call_target_p(), powi_lookup_cost(), pp_flush(), pre_edge_insert(), pre_insert_copies(), predicate_for_phi_result(), predict_edge(), premark_types_used_by_global_vars(), prepend_lexical_block(), preserve_value(), print_all_lattices(), print_allocno_costs(), print_allocno_prefs(), print_conflicts(), print_hard_reg_set(), print_hard_regs_forest(), print_multilib_info(), print_pref(), print_to_asm_out_file(), print_usage(), process_alt_operands(), process_bb_for_costs(), process_bb_node_lives(), process_bypass_1(), process_scope_var(), profile_function(), propagate_effects(), prune_unused_types_walk(), prune_unused_types_walk_local_classes(), push_insns(), push_only_colorable(), queue_pattern(), read_cmdline_options(), read_state_common_type_content(), read_state_fileloc(), read_state_type(), read_state_type_option(), read_state_variables(), real_arithmetic(), record_set(), record_stmt_cost(), record_stmt_eh_region(), record_temporary_equivalences(), record_type(), redirect_edge_succ(), redirect_edge_succ_nodup(), redirection_block_p(), ref_indep_loop_p_2(), referenced_in_one_insn_in_loop_p(), refs_newer_value_cb(), reg_available_p(), reg_in_class_p(), reg_loc_descriptor(), reg_nonzero_bits_general(), reg_num_sign_bit_copies_general(), reg_used_on_edge(), register_edge_assert_for_1(), register_pass_name(), register_scoped_attribute(), release_ssa_name(), reload_combine_purge_insn_uses(), remap_decl(), remap_edge_change_prob(), remap_ssa_name(), remap_vla_decls(), remove_branch(), remove_exit_barriers(), remove_loc_list_addr_table_entries(), remove_name_from_operation(), remove_phi_args(), remove_phi_node(), remove_pseudos(), remove_some_program_points_and_update_live_ranges(), remove_stmt_from_eh_lp(), remove_unused_temp_slot_addresses(), remove_value_from_changed_variables(), renaming_slot_free(), renumerate_operands_in_pattern(), reorder_basic_blocks(), replace_conditional_candidate(), replace_ref(), replace_ssa_name(), replace_uncond_cands_and_profitable_phis(), report_inline_failed_reason(), reserv_sets_and(), reserv_sets_cmp(), reset_debug_uses_in_loop(), reset_insn_used_flags(), resolve_unique_section(), rest_of_type_compilation(), restore_vars_to_original_value(), return_insn_p(), returnjump_p_1(), reverse_op(), rewrite_use_compare(), rewrite_use_nonlinear_expr(), rewrite_uses(), rhs_to_tree(), rtx_equal_for_field_assignment_p(), rtx_equal_for_memref_p(), save_call_clobbered_regs(), saved_hard_reg_compare_func(), scale_dominated_blocks_in_loop(), scan_one_insn(), scev_reset(), scompare_loc_descriptor(), sese_add_exit_phis_edge(), set_allocno_somewhere_renamed_p(), set_component_ssa_name(), set_incoming_from_chain(), set_insn_deleted(), set_is_used(), set_paradoxical_subreg(), set_ptr_info_alignment(), set_reference_optimization_summary(), set_register_defs(), set_state_reserv(), set_uids_in_ptset(), set_value_range_to_null(), set_value_regno(), setup_allocno_hard_regs_nodes_parent(), setup_cost_classes(), setup_loop_tree_level(), setup_try_hard_regno_pseudos(), shared_var_p(), should_move_die_to_comdat(), simplify_bitwise_binary_boolean(), simplify_rotate(), sjlj_assign_call_site_values(), solve_flow_graph(), spill_for(), spill_pseudos(), split_edge_and_insert(), split_live_ranges_for_shrink_wrap(), ssa_name_has_uses_outside_loop_p(), state_ident_by_name(), state_token_is_name(), stmt_can_make_abnormal_goto(), stmt_cost(), stmt_kills_ref_p_1(), store_child_info(), store_ops_ok(), streamer_string_index(), streamer_tree_cache_append(), streamer_tree_cache_create(), streamer_write_string_cst(), strlen_optimize_stmt(), subloop_tree_node_p(), swap_allocno_copy_ends_if_necessary(), swap_ops_for_binary_stmt(), sweep_pages(), symbol_push(), symtab_add_to_same_comdat_group(), symtab_insert_node_to_hashtable(), tag_lines(), TB_get_command(), temp_slot_address_hash(), thread_block_1(), thread_prologue_and_epilogue_insns(), ticker_off(), tidy_fallthru_edges(), timevar_init(), tm_log_emit(), tm_log_emit_saves(), tm_memopt_clear_visited(), tm_region_init_1(), transform_regexp(), translate_name(), hash_table< Descriptor, Allocator >::traverse(), tree_nrv(), tree_ssa_uncprop(), tree_unary_nonnegative_warnv_p(), trivially_conflicts_p(), tsi_link_before(), type_can_have_subvars(), type_like_member_ptr_p(), type_lineloc(), unchecked_make_edge(), unit_present_on_list_p(), unloop_loops(), unroll_loop_stupid(), unswitch_loops(), unvisit_body(), update_allocno_cost(), update_call_edge_frequencies(), update_caller_keys(), update_complex_assignment(), update_costs_from_allocno(), update_dominators_in_loop(), update_hard_regno_preference(), update_left_conflict_sizes_p(), update_lives(), update_path(), update_rep_bb(), update_stmt_operands(), use_register_for_decl(), val_bind(), valid_address_p(), validate_switches(), var_map_base_fini(), variable_part_different_p(), variable_post_merge_perm_vals(), varpool_output_variables(), vec_safe_address(), VEC_safe_set_locstr(), vect_analyze_loop_1(), vect_analyze_slp(), vect_analyze_stmt(), vect_create_cond_for_alias_checks(), vect_create_vectorized_demotion_stmts(), vect_destroy_datarefs(), vect_do_peeling_for_loop_bound(), vect_estimate_min_profitable_iters(), vect_find_same_alignment_drs(), vect_finish_stmt_generation(), vect_get_new_vect_var(), vect_get_vec_def_for_operand(), vect_grouped_store_supported(), vect_init_vector_1(), vect_loop_kill_debug_uses(), vect_make_slp_decision(), vect_peeling_hash_choose_best_peeling(), vect_peeling_hash_get_lowest_cost(), vect_permute_store_chain(), vect_recog_pow_pattern(), vect_recog_rotate_pattern(), vect_slp_analyze_bb(), vect_transform_loop(), vect_update_ivs_after_vectorizer(), verify_dominators(), verify_expr_location_1(), verify_loop_closed_ssa(), verify_related_strinfos(), vn_nary_op_compute_hash(), vn_reference_maybe_forwprop_address(), vrp_intersect_ranges_1(), vrp_meet_1(), vrp_operand_equal_p(), vt_expand_1pvar(), vt_expand_loc(), vt_find_locations(), walk_gimple_seq(), workshare_safe_to_combine_p(), wrap_help(), state_writer::write_state_array_type(), state_writer::write_state_scalar_type(), state_writer::write_state_type(), write_symbol(), and pointer_map< T >::~pointer_map().

#define O_BINARY   0
#define O_RDONLY   0

Referenced by announce_function().

#define O_WRONLY   1
#define offsetof (   TYPE,
  MEMBER 
)    ((size_t) &((TYPE *) 0)->MEMBER)
#define PATH_SEPARATOR   ':'

By default, colon separates directories in a path.

Referenced by add_env_var_paths(), for_each_path(), and prefix_from_string().

#define R_OK   4
#define really_call_calloc   calloc
#define really_call_malloc   malloc

As the last action in this file, we poison the identifiers that shouldn't be used. Note, luckily gcc-3.0's token-based integrated preprocessor won't trip on poisoned identifiers that arrive from the expansion of macros. E.g. #define strrchr rindex, won't error if rindex is poisoned after this directive is issued and later on strrchr is called.

Note: We define bypass macros for the few cases where we really want to use the libc memory allocation routines. Otherwise we insist you use the "x" versions from libiberty.

#define really_call_realloc   realloc
#define S_ISBLK (   m)    (((m) & S_IFMT) == S_IFBLK)

Test if something is a block special file.

#define S_ISCHR (   m)    (((m) & S_IFMT) == S_IFCHR)

Test if something is a character special file.

#define S_ISDIR (   m)    (((m) & S_IFMT) == S_IFDIR)

Test if something is a directory.

Referenced by find_a_file().

#define S_ISFIFO (   m)    0

Test if something is a FIFO.

#define S_ISREG (   m)    (((m) & S_IFMT) == S_IFREG)

Test if something is a normal file.

#define S_ISSOCK (   m)    0

Test if something is a socket.

#define SEEK_CUR   1
#define SEEK_END   2
#define SEEK_SET   0
#define STDERR_FILENO   2
#define STDIN_FILENO   0

Define well known filenos if the system does not define them.

#define STDOUT_FILENO   1
#define SUCCESS_EXIT_CODE   0

When compiling C++ we need to include <cstdlib> as well as <stdlib.h> so that it is processed before we poison "malloc"; otherwise, if a source file uses a standard library header that includes <cstdlib>, we will get an error about 'using std::malloc'. Undef vec_free from AIX stdlib.h header which conflicts with vec.h. If we don't have an overriding definition, set SUCCESS_EXIT_CODE and FATAL_EXIT_CODE to EXIT_SUCCESS and EXIT_FAILURE respectively, or 0 and 1 if those macros are not defined.

Referenced by main().

#define true   1
#define UCHAR_MAX   INTTYPE_MAXIMUM (unsigned char)

Use that infrastructure to provide a few constants.

#define va_copy (   d,
 
)    ((d) = (s))

Get common system includes and various definitions and declarations based on autoconf macros. Copyright (C) 1998-2013 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/. We must include stdarg.h before stdio.h.

#define VALGRIND_DISCARD (   x)

Activate certain diagnostics as warnings (not errors via the -Werror flag). Avoid #ifdef:s when we can help it.

Referenced by clear_marks(), and gt_ggc_m_S().

#define VALGRIND_FREELIKE_BLOCK (   x,
 
)
#define VALGRIND_MALLOCLIKE_BLOCK (   w,
  x,
  y,
 
)
#define W_OK   2
#define WCOREDUMP (   S)    ((S) & WCOREFLG)
#define WCOREFLG   0200
#define WEXITSTATUS (   S)    (((S) & 0xff00) >> 8)
#define WIFEXITED (   S)    (((S) & 0xff) == 0)
#define WIFSIGNALED (   S)    (((S) & 0xff) != 0 && ((S) & 0xff) != 0x7f)
#define WSTOPSIG   WEXITSTATUS
#define WTERMSIG (   S)    ((S) & 0x7f)
#define X_OK   1

Function Documentation

void fancy_abort ( const char *  ,
int  ,
const char *   
)

Redefine abort to report an internal error w/o coredump, and reporting the location of the error in the source file.

const char* strsignal ( int  )

The HAVE_DECL_* macros are three-state, undefined, 0 or 1. If they are defined to 0 then we must provide the relevant declaration here. These checks will be in the undefined state while configure is running so be careful to test "defined (HAVE_DECL_*)". If the system doesn't provide strsignal, we get it defined in libiberty but no declaration is supplied.