GCC Middle and Back End API Reference
|
#include "line-map.h"
Go to the source code of this file.
Macros | |
#define | UNKNOWN_LOCATION ((source_location) 0) |
#define | BUILTINS_LOCATION ((source_location) 1) |
#define | LOCATION_FILE(LOC) ((expand_location (LOC)).file) |
#define | LOCATION_LINE(LOC) ((expand_location (LOC)).line) |
#define | LOCATION_COLUMN(LOC) ((expand_location (LOC)).column) |
#define | LOCATION_LOCUS(LOC) |
#define | LOCATION_BLOCK(LOC) |
#define | input_line LOCATION_LINE (input_location) |
#define | input_filename LOCATION_FILE (input_location) |
#define | in_system_header_at(LOC) ((linemap_location_in_system_header_p (line_table, LOC))) |
#define | in_system_header (in_system_header_at (input_location)) |
Typedefs | |
typedef source_location | location_t |
Functions | |
expanded_location | expand_location (source_location) |
const char * | location_get_source_line (expanded_location xloc) |
expanded_location | expand_location_to_spelling_point (source_location) |
source_location | expansion_point_location_if_in_system_header (source_location) |
void | dump_line_table_statistics (void) |
Variables | |
struct line_maps * | line_table |
char | builtins_location_check [(BUILTINS_LOCATION< RESERVED_LOCATION_COUNT)?1:-1] |
location_t | input_location |
#define BUILTINS_LOCATION ((source_location) 1) |
The location for declarations in "<built-in>"
Referenced by adjust_line(), coverage_obj_init(), and lhd_omp_predetermined_sharing().
#define in_system_header (in_system_header_at (input_location)) |
#define in_system_header_at | ( | LOC | ) | ((linemap_location_in_system_header_p (line_table, LOC))) |
Referenced by expand_location_to_spelling_point().
#define input_filename LOCATION_FILE (input_location) |
Referenced by diagnostic_report_current_function().
#define input_line LOCATION_LINE (input_location) |
#define LOCATION_BLOCK | ( | LOC | ) |
Referenced by expand_location_1(), and gimplify_build3().
#define LOCATION_COLUMN | ( | LOC | ) | ((expand_location (LOC)).column) |
#define LOCATION_FILE | ( | LOC | ) | ((expand_location (LOC)).file) |
#define LOCATION_LINE | ( | LOC | ) | ((expand_location (LOC)).line) |
Referenced by number_of_iterations_exit().
#define LOCATION_LOCUS | ( | LOC | ) |
Referenced by expand_location_1(), gimplify_expr(), mark_all_vars_used(), rtl_split_block(), signed_or_unsigned_type_for(), and vect_create_cond_for_alias_checks().
#define UNKNOWN_LOCATION ((source_location) 0) |
A value which will never be used to represent a real location.
Referenced by build3_stat(), choose_inner_scope(), create_iv(), create_loop_fn(), default_function_arg_round_boundary(), default_stack_protect_guard(), display_help(), do_return_redirection(), elim_graph_size(), elim_unvisited_predecessor(), examine_assign_tm(), factor_computed_gotos(), find_clusters_1(), gen_def_assigns(), get_emutls_object_name(), get_initial_def_for_reduction(), gimple_stringop_fixed_value(), gimplify_expr(), gimplify_vla_decl(), ipa_set_jf_known_type(), mark_all_vars_used(), maybe_emit_atomic_exchange(), maybe_register_def(), pp_cfg_jump(), rtl_split_block(), ubsan_source_location_type(), and unshare_body().
typedef source_location location_t |
Historically GCC used location_t, while cpp used source_location. This could be removed but it hardly seems worth the effort.
void dump_line_table_statistics | ( | void | ) |
Dump statistics to stderr about the memory usage of the line_table set of line maps. This also displays some statistics about macro expansion.
expanded_location expand_location | ( | source_location | ) |
expanded_location expand_location_to_spelling_point | ( | source_location | ) |
source_location expansion_point_location_if_in_system_header | ( | source_location | ) |
const char* location_get_source_line | ( | expanded_location | xloc | ) |
char builtins_location_check[(BUILTINS_LOCATION< RESERVED_LOCATION_COUNT)?1:-1] |
line-map.c reserves RESERVED_LOCATION_COUNT to the user. Ensure both UNKNOWN_LOCATION and BUILTINS_LOCATION fit into that.
location_t input_location |
Data and functions related to line maps and input files. Copyright (C) 2004-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/. Current position in real source file.
Referenced by create_tmp_var_name(), diagnostic_for_asm(), emit_diagnostic(), gimplify_expr(), number_of_iterations_exit(), permerror(), read_profile_edge_counts(), thunk_adjust(), vrp_initialize(), and wrapup_global_declarations().
struct line_maps* line_table |
Declarations for variables relating to reading the source file. Used by parsers, lexical analyzers, and error message routines. Copyright (C) 1993-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/.
Referenced by diagnostic_report_current_module(), expand_location_to_spelling_point(), and signed_or_unsigned_type_for().