#include "config.h"#include "system.h"#include "input.h"#include "tree.h"#include "cp-tree.h"#include "cpplib.h"#include "lex.h"#include "parse.h"#include "flags.h"#include "c-pragma.h"#include "toplev.h"#include "output.h"#include "ggc.h"#include "tm_p.h"#include "timevar.h"#include "diagnostic.h"#include "operators.def"

Go to the source code of this file.
| #define D_ASM 0x02 |
| #define D_EXT 0x01 |
| #define DEF_OPERATOR | ( | NAME, | |||
| CODE, | |||||
| MANGLING, | |||||
| ARITY, | |||||
| ASSN_P | ) |
Value:
sprintf (buffer, ISALPHA (NAME[0]) ? "operator %s" : "operator%s", NAME); \ identifier = get_identifier (buffer); \ IDENTIFIER_OPNAME_P (identifier) = 1; \ \ oni = (ASSN_P \ ? &assignment_operator_name_info[(int) CODE] \ : &operator_name_info[(int) CODE]); \ oni->identifier = identifier; \ oni->name = NAME; \ oni->mangled_name = MANGLING; \ oni->arity = ARITY;
| #define DEF_OPERATOR | ( | NAME, | |||
| C, | |||||
| M, | |||||
| AR, | |||||
| AP | ) | CONSTRAINT (C, sizeof "operator " + sizeof NAME <= 256); |
Definition at line 1380 of file lex.c.
Referenced by build_enumerator(), build_library_fn_1(), build_self_reference(), build_template_decl(), build_vtable(), cxx_init_decl_processing(), do_class_using_decl(), do_namespace_alias(), finish_template_template_parm(), get_tinfo_decl(), grokdeclarator(), grokfndecl(), grokvardecl(), implicitly_declare(), implicitly_declare_fn(), push_namespace(), push_namespace_with_attribs(), push_using_decl(), start_cleanup_fn(), start_objects(), and tinfo_base_init().
Definition at line 913 of file lex.c.
References build_tree_list, clear_anon_tags(), error(), shadow_tag(), TREE_CODE, TYPE_ANONYMOUS_P, and yylex.
Referenced by finish_class_definition().
| CONSTRAINT | ( | ridbits_fit | ) |
Definition at line 1458 of file lex.c.
Referenced by build_clone(), finish_struct_1(), and tsubst_decl().
Definition at line 1471 of file lex.c.
References ggc_alloc, int, lt, memcpy, size, tree_node_counts, tree_node_sizes, and TYPE_LANG_SPECIFIC.
Referenced by copy_type().
| int cp_type_qual_from_rid | ( | tree | rid | ) |
Definition at line 1576 of file lex.c.
References abort, RID_CONST, RID_RESTRICT, RID_VOLATILE, ridpointers, TYPE_QUAL_CONST, TYPE_QUAL_RESTRICT, TYPE_QUAL_VOLATILE, and TYPE_UNQUALIFIED.
Referenced by GTY().
Definition at line 1432 of file lex.c.
Referenced by build_clone(), copy_decl(), GTY(), and make_thunk().
| const char* cxx_init | ( | char * | filename | ) | const |
Definition at line 638 of file lex.c.
References build_int_2, c_common_init(), c_common_type_for_size(), class_type, class_type_node, current_function_decl, cxx_init_decl_processing(), enum_type, enum_type_node, init_cp_pragma(), init_cp_semantics(), init_cpp_parse(), init_error(), init_method(), init_operators(), init_repo(), init_reswords(), init_tree(), input_filename, int, NULL, null_node, POINTER_SIZE, record_type, record_type_node, RID_CLASS, RID_ENUM, RID_NULL, RID_STRUCT, RID_UNION, ridpointers, TREE_TYPE, union_type, and union_type_node.
| void cxx_init_options | ( | ) |
Definition at line 211 of file lex.c.
References c_common_init_options(), clk_cplusplus, diagnostic_line_cutoff, diagnostic_prefixing_rule, DIAGNOSTICS_SHOW_PREFIX_ONCE, flag_exceptions, global_dc, key_exceptions, and opt_regions.
Definition at line 1175 of file lex.c.
References build_min_nt(), check_for_out_of_scope_variable(), CP_DECL_CONTEXT, current_template_parms, DECL_ANTICIPATED, DECL_INITIAL, DECL_TEMPLATE_PARM_P, enforce_access(), error_mark_node, hack_identifier(), IDENTIFIER_CLASS_VALUE, IDENTIFIER_TYPENAME_P, is_global(), is_overloaded_fn(), lookup_arg_dependent(), lookup_name(), maybe_note_name_used_in_class(), POP_TIMEVAR_AND_RETURN, processing_template_decl, timevar_push, TREE_CODE, TREE_DEPRECATED, unqualified_name_lookup_error(), and warn_deprecated_use().
Referenced by build_expr_from_tree(), finish_id_expr(), and tsubst_copy().
| void do_pending_lang_change | ( | ) |
Definition at line 1111 of file lex.c.
References lang_name_c, pending_lang_change, pop_lang_context(), and push_lang_context().
Definition at line 1269 of file lex.c.
References build1, build_min_nt(), convert_from_reference(), DECL_ANTICIPATED, DECL_INITIAL, error(), error_mark_node, IDENTIFIER_NAMESPACE_VALUE, is_overloaded_fn(), LOOKUP_EXPR_GLOBAL, mark_used(), POP_TIMEVAR_AND_RETURN, processing_template_decl, SET_IDENTIFIER_NAMESPACE_VALUE, timevar_push, TREE_CODE, TREE_CONSTANT, TREE_OPERAND, and TREE_TYPE.
Referenced by build_expr_from_tree().
| void extract_interface_info | ( | ) |
Definition at line 849 of file lex.c.
References flag_alt_external_templates, get_fileinfo(), input_filename, c_fileinfo::interface_only, c_fileinfo::interface_unknown, TINST_FILE, and tinst_for_decl().
| static void handle_pragma_implementation | ( | dfile | ) | [static] |
Definition at line 1054 of file lex.c.
References cpp_included(), impl_files::filename, input_filename, lbasename(), main_input_filename, impl_files::next, parse_in, parse_strconst_pragma(), strcmp(), TREE_STRING_POINTER, warning, and xmalloc().
Referenced by init_cp_pragma().
| static void handle_pragma_interface | ( | dfile | ) | [static] |
Definition at line 1007 of file lex.c.
References get_fileinfo(), input_filename, c_fileinfo::interface_only, interface_strcmp(), c_fileinfo::interface_unknown, lbasename(), main_input_filename, parse_strconst_pragma(), and TREE_STRING_POINTER.
Referenced by init_cp_pragma().
| static void handle_pragma_java_exceptions | ( | dfile | ) | [static] |
Definition at line 1100 of file lex.c.
References c_lex(), choose_personality_routine(), lang_java, warning, and x.
Referenced by init_cp_pragma().
| static void handle_pragma_unit | ( | dfile | ) | [static] |
Definition at line 999 of file lex.c.
References parse_strconst_pragma().
Referenced by init_cp_pragma().
| static void handle_pragma_vtable | ( | dfile | ) | [static] |
Definition at line 991 of file lex.c.
References parse_strconst_pragma(), and sorry().
Referenced by init_cp_pragma().
Definition at line 1320 of file lex.c.
References IDENTIFIER_BINDING, IDENTIFIER_NAMESPACE_VALUE, IDENTIFIER_TYPE_VALUE, IDENTIFIER_VALUE, NULL_TREE, TREE_CODE, TREE_TYPE, and TYPE_MAIN_DECL.
Definition at line 617 of file lex.c.
References cpp_register_pragma(), handle_pragma_implementation(), handle_pragma_interface(), handle_pragma_java_exceptions(), handle_pragma_unit(), handle_pragma_vtable(), and parse_in.
Referenced by cxx_init().
| static int* init_cpp_parse | ( | ) | [static] |
Definition at line 262 of file lex.c.
References assignment_operator_name_info, get_identifier(), and int.
Referenced by cxx_init().
| static int interface_strcmp | ( | char * | s | ) | const [static] |
Definition at line 871 of file lex.c.
References impl_files::filename, impl_files::next, s1, strchr, and t1.
Referenced by handle_pragma_interface().
| static int is_global | ( | tree | d | ) | [static] |
Definition at line 1122 of file lex.c.
References DECL_NAMESPACE_SCOPE_P, DECL_P, my_friendly_assert, OVL_FUNCTION, TREE_CODE, and TREE_VALUE.
Referenced by build_aggr_init(), build_vec_init(), Create_Sync_Structure(), create_variable_info_for(), do_identifier(), and update_region().
Definition at line 1561 of file lex.c.
Referenced by begin_class_definition(), bind_template_template_parm(), build_ptrmemfunc_type(), create_pseudo_type_info(), create_tinfo_types(), cxx_init_decl_processing(), finish_typeof(), GTY(), lookup_template_class(), make_unbound_class_template(), process_template_parm(), VPARAMS(), and xref_tag().
| tree make_call_declarator | ( | tree | target, | |
| tree | parms, | |||
| tree | cv_qualifiers, | |||
| tree | exception_specification | |||
| ) |
Definition at line 183 of file lex.c.
References build_nt(), CALL_DECLARATOR_EXCEPTION_SPEC, NULL_TREE, and tree_cons.
Referenced by cp_parser_direct_declarator(), implicitly_declare_fn(), start_objects(), and tsubst().
Definition at line 139 of file lex.c.
References ANON_AGGRNAME_P, build_nt(), error(), TREE_CODE, and TREE_TYPE.
Definition at line 159 of file lex.c.
References ANON_AGGRNAME_P, build_nt(), error(), TREE_CODE, and TREE_TYPE.
Referenced by cp_parser_conversion_declarator_opt(), cp_parser_declarator(), cp_parser_new_declarator_opt(), finish_decl_parsing(), and tsubst().
Definition at line 939 of file lex.c.
References abort, CLASS_TYPE_P, CLASSTYPE_GOT_SEMICOLON, and TYPE_P.
Referenced by finish_class_definition(), and note_list_got_semicolon().
Definition at line 949 of file lex.c.
References clear_anon_tags(), note_got_semicolon(), TREE_CHAIN, TREE_VALUE, and TYPE_P.
Referenced by finish_member_class_template().
| static int is_global PARAMS | ( | (tree) | ) | [static] |
| static void handle_pragma_vtable PARAMS | ( | (cpp_reader *) | ) | [static] |
| static tree parse_strconst_pragma PARAMS | ( | (const char *, int) | ) | [static] |
| static int* init_cpp_parse PARAMS | ( | (void) | ) | [static, read] |
Definition at line 77 of file cplus-dem.c.
| static int interface_strcmp PARAMS | ( | (const char *) | ) | [static] |
Definition at line 635 of file mips-tfile.c.
| static tree parse_strconst_pragma | ( | char * | name, | |
| int | opt | |||
| ) | const [static] |
Definition at line 967 of file lex.c.
References c_lex(), error(), result, warning, and x.
Referenced by handle_pragma_implementation(), handle_pragma_interface(), handle_pragma_unit(), and handle_pragma_vtable().
| void print_parse_statistics | ( | ) |
Definition at line 1397 of file lex.c.
Referenced by alter_access(), build_lang_decl(), duplicate_decls(), finish_omp_threadprivate(), finish_struct_1(), push_local_name(), pushdecl(), pushdecl_maybe_friend(), and pushtag().
Definition at line 196 of file lex.c.
References CALL_DECLARATOR_EXCEPTION_SPEC, and CALL_DECLARATOR_QUALS.
Definition at line 1144 of file lex.c.
Referenced by build_method_call(), cp_parser_postfix_expression(), do_identifier(), tsubst_copy_and_build(), and unqualified_fn_lookup_error().
Definition at line 691 of file lex.c.
References abort, class_type_node, CONSTANT, DECL_NAME, enum_type_node, fprintf(), HOST_BITS_PER_INT, HOST_BITS_PER_LONG, HOST_BITS_PER_WIDE_INT, IDENTIFIER_POINTER, my_friendly_assert, record_type_node, TREE_CODE, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, and union_type_node.
| operator_name_info_t assignment_operator_name_info[(int) LAST_CPLUS_TREE_CODE] |
struct impl_files* impl_file_chain [static] |
| int interface_only |
| operator_name_info_t operator_name_info[(int) LAST_CPLUS_TREE_CODE] |
| int * token_count |
| int yychar |
1.5.6