Mercurial > hg > CbC > CbC_gcc
diff libcc1/libcp1plugin.cc @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/libcc1/libcp1plugin.cc Thu Oct 25 07:37:49 2018 +0900 +++ b/libcc1/libcp1plugin.cc Thu Feb 13 11:34:05 2020 +0900 @@ -1,5 +1,5 @@ /* Library interface to C++ front end. - Copyright (C) 2014-2018 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of GCC. As it interacts with GDB through libcc1, they all become a single program as regards the GNU GPL's requirements. @@ -178,15 +178,15 @@ return t; } - source_location get_source_location (const char *filename, - unsigned int line_number) + location_t get_location_t (const char *filename, + unsigned int line_number) { if (filename == NULL) return UNKNOWN_LOCATION; filename = intern_filename (filename); linemap_add (line_table, LC_ENTER, false, filename, line_number); - source_location loc = linemap_line_start (line_table, line_number, 0); + location_t loc = linemap_line_start (line_table, line_number, 0); linemap_add (line_table, LC_LEAVE, false, NULL, 0); return loc; } @@ -630,7 +630,8 @@ usable. */ tree this_val = lookup_name (get_identifier ("this")); current_class_ref = !this_val ? NULL_TREE - : cp_build_indirect_ref (this_val, RO_NULL, tf_warning_or_error); + : cp_build_indirect_ref (input_location, this_val, RO_NULL, + tf_warning_or_error); current_class_ptr = this_val; } } @@ -941,7 +942,7 @@ gcc_assert (TREE_CODE (used_ns) == NAMESPACE_DECL); - finish_namespace_using_directive (used_ns, NULL_TREE); + finish_using_directive (used_ns, NULL_TREE); return 1; } @@ -1019,7 +1020,7 @@ { /* We can't be at local scope. */ gcc_assert (at_namespace_scope_p ()); - finish_namespace_using_decl (target, tcontext, identifier); + finish_nonmember_using_decl (tcontext, identifier); } return 1; @@ -1028,7 +1029,7 @@ static tree build_named_class_type (enum tree_code code, tree id, - source_location loc) + location_t loc) { /* See at_fake_function_scope_p. */ gcc_assert (!at_function_scope_p ()); @@ -1114,7 +1115,7 @@ gcc_assert (!substitution_name); } - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); bool class_member_p = at_class_scope_p (); bool ctor = false, dtor = false, assop = false; tree_code opcode = ERROR_MARK; @@ -1742,7 +1743,7 @@ unsigned int line_number) { plugin_context *ctx = static_cast<plugin_context *> (self); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); tree typedecl = convert_in (typedecl_in); tree type = TREE_TYPE (typedecl); @@ -1802,8 +1803,8 @@ tree lambda_expr = build_lambda_expr (); - LAMBDA_EXPR_LOCATION (lambda_expr) = ctx->get_source_location (filename, - line_number); + LAMBDA_EXPR_LOCATION (lambda_expr) = ctx->get_location_t (filename, + line_number); tree type = begin_lambda_type (lambda_expr); @@ -1936,7 +1937,7 @@ gcc_assert (is_new_type); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); tree type_decl = TYPE_NAME (type); DECL_SOURCE_LOCATION (type_decl) = loc; SET_OPAQUE_ENUM_P (type, false); @@ -2244,7 +2245,7 @@ unsigned int line_number) { plugin_context *ctx = static_cast<plugin_context *> (self); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); gcc_assert (template_parm_scope_p ()); @@ -2274,7 +2275,7 @@ unsigned int line_number) { plugin_context *ctx = static_cast<plugin_context *> (self); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); gcc_assert (template_parm_scope_p ()); @@ -2309,7 +2310,7 @@ unsigned int line_number) { plugin_context *ctx = static_cast<plugin_context *> (self); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); gcc_assert (template_parm_scope_p ()); @@ -2796,7 +2797,7 @@ break; case THROW_EXPR: - result = build_throw (op0); + result = build_throw (input_location, op0); break; case TYPEID_EXPR: @@ -2805,12 +2806,14 @@ case SIZEOF_EXPR: case ALIGNOF_EXPR: - result = cxx_sizeof_or_alignof_expr (op0, opcode, true); + result = cxx_sizeof_or_alignof_expr (input_location, + op0, opcode, true); break; case DELETE_EXPR: case VEC_DELETE_EXPR: - result = delete_sanity (op0, NULL_TREE, opcode == VEC_DELETE_EXPR, + result = delete_sanity (input_location, op0, NULL_TREE, + opcode == VEC_DELETE_EXPR, global_scope_p, tf_error); break; @@ -3047,7 +3050,8 @@ default: /* Use the C++11 alignof semantics. */ - result = cxx_sizeof_or_alignof_type (type, opcode, true, true); + result = cxx_sizeof_or_alignof_type (input_location, type, + opcode, true, true); } if (template_dependent_p) @@ -3063,7 +3067,8 @@ gcc_expr operand2) { plugin_context *ctx = static_cast<plugin_context *> (self); - tree (*build_cast)(tree type, tree expr, tsubst_flags_t complain) = NULL; + tree (*build_cast)(location_t loc, tree type, tree expr, + tsubst_flags_t complain) = NULL; tree type = convert_in (operand1); tree expr = convert_in (operand2); @@ -3100,7 +3105,7 @@ if (!template_dependent_p) processing_template_decl--; - tree val = build_cast (type, expr, tf_error); + tree val = build_cast (input_location, type, expr, tf_error); if (template_dependent_p) processing_template_decl--; @@ -3154,7 +3159,7 @@ case CHARS2 ('c', 'v'): // conversion with parenthesized expression list gcc_assert (TYPE_P (type)); args = args_to_tree_list (values_in); - result = build_functional_cast (type, args, tf_error); + result = build_functional_cast (input_location, type, args, tf_error); break; case CHARS2 ('t', 'l'): // conversion with braced expression list @@ -3253,8 +3258,8 @@ if (!template_dependent_p) processing_template_decl--; - tree result = build_new (&placement, type, nelts, &initializer, - global_scope_p, tf_error); + tree result = build_new (input_location, &placement, type, nelts, + &initializer, global_scope_p, tf_error); if (template_dependent_p) processing_template_decl--; @@ -3338,10 +3343,7 @@ if (op0) type = TREE_TYPE (op0); else - { - type = make_decltype_auto (); - AUTO_IS_DECLTYPE (type) = true; - } + type = make_decltype_auto (); return convert_out (ctx->preserve (type)); } @@ -3354,7 +3356,7 @@ unsigned int line_number) { plugin_context *ctx = static_cast<plugin_context *> (self); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); tree name = convert_in (template_decl); tree targsl = targlist (targs); @@ -3374,7 +3376,7 @@ unsigned int line_number) { plugin_context *ctx = static_cast<plugin_context *> (self); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); tree name = convert_in (template_decl); tree tdecl = finish_template_type (name, targlist (args), false);; @@ -3601,7 +3603,7 @@ cst = build_int_cst (type, value); if (!TYPE_READONLY (type)) type = build_qualified_type (type, TYPE_QUAL_CONST); - decl = build_decl (ctx->get_source_location (filename, line_number), + decl = build_decl (ctx->get_location_t (filename, line_number), VAR_DECL, get_identifier (name), type); TREE_STATIC (decl) = 1; TREE_READONLY (decl) = 1; @@ -3637,7 +3639,7 @@ TREE_TYPE (message) = char_array_type_node; fix_string_type (message); - source_location loc = ctx->get_source_location (filename, line_number); + location_t loc = ctx->get_location_t (filename, line_number); bool member_p = at_class_scope_p ();