GCC Middle and Back End API Reference
flags.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  target_flag_state
 

Macros

#define this_target_flag_state   (&default_target_flag_state)
 
#define align_loops   (this_target_flag_state->x_align_loops)
 
#define align_jumps   (this_target_flag_state->x_align_jumps)
 
#define align_labels   (this_target_flag_state->x_align_labels)
 
#define align_functions   (this_target_flag_state->x_align_functions)
 
#define abi_version_at_least(N)    (flag_abi_version == 0 || flag_abi_version >= (N))
 
#define issue_strict_overflow_warning(c)   (warn_strict_overflow >= (int) (c))
 

Functions

enum debug_info_type debug_set_to_format (uint32_t debug_info_set)
 
unsigned int debug_set_count (uint32_t w_symbols)
 
const char * debug_set_names (uint32_t w_symbols)
 
bool btf_debuginfo_p ()
 
bool btf_with_core_debuginfo_p ()
 
bool ctf_debuginfo_p ()
 
bool codeview_debuginfo_p ()
 
bool dwarf_debuginfo_p (struct gcc_options *opts=&global_options)
 
bool dwarf_based_debuginfo_p ()
 
void strip_off_ending (char *, int)
 
int base_of_path (const char *path, const char **base_out)
 
bool fast_math_flags_set_p (const struct gcc_options *)
 
bool fast_math_flags_struct_set_p (struct cl_optimization *)
 

Variables

const char *const debug_type_names []
 
bool final_insns_dump_p
 
class target_flag_state default_target_flag_state
 

Macro Definition Documentation

◆ abi_version_at_least

#define abi_version_at_least ( N)     (flag_abi_version == 0 || flag_abi_version >= (N))
Returns TRUE if generated code should match ABI version N or
greater is in use.   

Referenced by default_is_empty_record(), and process_options().

◆ align_functions

#define align_functions   (this_target_flag_state->x_align_functions)

◆ align_jumps

#define align_jumps   (this_target_flag_state->x_align_jumps)

Referenced by parse_alignment_opts().

◆ align_labels

#define align_labels   (this_target_flag_state->x_align_labels)

Referenced by parse_alignment_opts().

◆ align_loops

#define align_loops   (this_target_flag_state->x_align_loops)

Referenced by parse_alignment_opts().

◆ issue_strict_overflow_warning

#define issue_strict_overflow_warning ( c)    (warn_strict_overflow >= (int) (c))

◆ this_target_flag_state

#define this_target_flag_state   (&default_target_flag_state)

Function Documentation

◆ base_of_path()

int base_of_path ( const char * path,
const char ** base_out )
extern
Find the base name of a path, stripping off both directories and
a single final extension.  

References path.

Referenced by matches_main_base(), and read_cmdline_options().

◆ btf_debuginfo_p()

bool btf_debuginfo_p ( )
extern
Return true iff BTF debug info is enabled.   
Return TRUE iff BTF debug info is enabled.   

References BTF_DEBUG.

Referenced by ctf_add_enumerator(), ctf_debug_early_finish(), ctf_debug_finish(), and process_options().

◆ btf_with_core_debuginfo_p()

bool btf_with_core_debuginfo_p ( )
extern
Return true iff BTF with CO-RE debug info is enabled.   
Return TRUE iff BTF with CO-RE debug info is enabled.   

References BTF_WITH_CORE_DEBUG.

Referenced by btf_asm_datasec_entry(), and btf_finish().

◆ codeview_debuginfo_p()

bool codeview_debuginfo_p ( )
extern
Return true iff CodeView debug info is enabled.   
Return TRUE iff CodeView debug info is enabled.   

References CODEVIEW_DEBUG.

Referenced by dwarf2out_define(), dwarf2out_end_epilogue(), dwarf2out_switch_text_section(), finish_options(), and process_options().

◆ ctf_debuginfo_p()

bool ctf_debuginfo_p ( )
extern
Return true iff CTF debug info is enabled.   
Return TRUE iff CTF debug info is enabled.   

References CTF_DEBUG.

Referenced by process_options().

◆ debug_set_count()

unsigned int debug_set_count ( uint32_t w_symbols)
Get the number of debug formats enabled for output.   

References count.

Referenced by debug_set_names(), process_options(), and set_debug_level().

◆ debug_set_names()

const char * debug_set_names ( uint32_t w_symbols)
Get the names of the debug formats enabled for output.   

References debug_set_count(), debug_type_masks, debug_type_names, df_set_names, DINFO_TYPE_MAX, DINFO_TYPE_NONE, gcc_assert, and i.

◆ debug_set_to_format()

enum debug_info_type debug_set_to_format ( uint32_t debug_info_set)
extern
Get enum debug_info_type of the specified debug format, for error messages.
Can be used only for individual debug format types.   

References DINFO_TYPE_MAX, DINFO_TYPE_NONE, exact_log2(), and gcc_assert.

Referenced by process_options(), and set_debug_level().

◆ dwarf_based_debuginfo_p()

bool dwarf_based_debuginfo_p ( )
extern
Return true iff the debug info format is to be generated based on DWARF
DIEs (like CTF and BTF debug info formats).   

References BTF_DEBUG, CODEVIEW_DEBUG, and CTF_DEBUG.

Referenced by dwarf2_debug_info_emitted_p(), and dwarf2out_do_frame().

◆ dwarf_debuginfo_p()

bool dwarf_debuginfo_p ( struct gcc_options * opts)
extern
Return true iff DWARF2 debug info is enabled.   
Return TRUE iff dwarf2 debug info is enabled.   

References DWARF2_DEBUG.

Referenced by cfi_label_required_p(), default_debug_unwind_info(), dwarf2_debug_info_emitted_p(), dwarf2out_do_frame(), final_scan_insn_1(), finish_options(), and process_options().

◆ fast_math_flags_set_p()

bool fast_math_flags_set_p ( const struct gcc_options * opts)
extern
Return true iff flags are set as if -ffast-math.   
Return true iff flags in OPTS are set as if -ffast-math.   

References EXCESS_PRECISION_FAST.

Referenced by define_builtin_macros_for_compilation_flags().

◆ fast_math_flags_struct_set_p()

bool fast_math_flags_struct_set_p ( struct cl_optimization * opt)
extern
Return true iff flags are set as if -ffast-math but using the flags stored
in the struct cl_optimization structure.   

◆ strip_off_ending()

void strip_off_ending ( char * name,
int len )
extern
Strip off a legitimate source ending from the input string NAME of
length LEN.  Rather than having to know the names used by all of
our front ends, we strip off an ending of a period followed by
up to fource characters.  (C++ uses ".cpp".)   

References i.

Referenced by get_plugin_base_name(), and init_asm_output().

Variable Documentation

◆ debug_type_names

const char* const debug_type_names[]
extern
Compilation switch flag definitions for GCC.
   Copyright (C) 1987-2024 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/>.   
Names of fundamental debug info formats indexed by enum
debug_info_type.   
Names of fundamental debug info formats indexed by enum
debug_info_type.   

Referenced by debug_set_names(), process_options(), and set_debug_level().

◆ default_target_flag_state

class target_flag_state default_target_flag_state
extern

◆ final_insns_dump_p

bool final_insns_dump_p
extern
Now the symbols that are set with `-f' switches.   
True if printing into -fdump-final-insns= dump.   
True if printing into -fdump-final-insns= dump.   

Referenced by rtx_writer::print_rtx(), and rest_of_clean_state().