aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family/c-ada-spec.c
AgeCommit message (Collapse)AuthorFilesLines
2020-11-28Improve support of simple bit-fields in -fdump-ada-specEric Botcazou1-14/+9
This fixes an issue with nested structures and adds an Alignment clause to counter the effect of the Pack aspect. gcc/c-family/ChangeLog: * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code. (dump_ada_structure): Also deal with convention, unchecked union and bit-field for nested types. In the latter case, print an Alignment aspect along with the Pack aspect.
2020-11-06core: Rename DECL_IS_BUILTIN -> DECL_IS_UNDECLARED_BUILTINNathan Sidwell1-4/+4
In cleaning up C++'s handling of hidden decls, I renamed its DECL_BUILTIN_P, which checks for loc == BUILTINS_LOCATION to DECL_UNDECLARED_BUILTIN_P, because the location gets updated, if user source declares the builtin, and the predicate no longer holds. The original name was confusing me. (The builtin may still retain builtin properties in the redeclaration, and other predicates can still detect that.) I discovered that tree.h had its own variant 'DECL_IS_BUILTIN', which behaves in (almost) the same manner. And therefore has the same mutating behaviour. This patch deletes the C++ one, and renames tree.h's to DECL_IS_UNDECLARED_BUILTIN, to emphasize its non-constantness. I guess _IS_ wins over _P gcc/ * tree.h (DECL_IS_BUILTIN): Rename to ... (DECL_IS_UNDECLARED_BUILTIN): ... here. No need to use SOURCE_LOCUS. * calls.c (maybe_warn_alloc_args_overflow): Adjust for rename. * cfgexpand.c (pass_expand::execute): Likewise. * dwarf2out.c (base_type_die, is_naming_typedef_decl): Likewise. * godump.c (go_decl, go_type_decl): Likewise. * print-tree.c (print_decl_identifier): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Likewise. * xcoffout.c (xcoff_assign_fundamental_type_number): Likewise. gcc/c-family/ * c-ada-spec.c (collect_ada_nodes): Rename DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. (collect_ada_node): Likewise. (dump_forward_type): Likewise. * c-common.c (set_underlying_type): Rename DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. (user_facing_original_type, c_common_finalize_early_debug): Likewise. gcc/c/ * c-decl.c (diagnose_mismatched_decls): Rename DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. (warn_if_shadowing, implicitly_declare, names_builtin_p) (collect_source_refs): Likewise. * c-typeck.c (inform_declaration, inform_for_arg) (convert_for_assignment): Likewise. gcc/cp/ * cp-tree.h (DECL_UNDECLARED_BUILTIN_P): Delete. * cp-objcp-common.c (names_bultin_p): Rename DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. * decl.c (decls_match): Likewise. Replace DECL_UNDECLARED_BUILTIN_P with DECL_IS_UNDECLARED_BUILTIN. (duplicate_decls): Likewise. * decl2.c (collect_source_refs): Likewise. * name-lookup.c (anticipated_builtin_p, print_binding_level) (do_nonmember_using_decl): Likewise. * pt.c (builtin_pack_fn_p): Likewise. * typeck.c (error_args_num): Likewise. gcc/lto/ * lto-symtab.c (lto_symtab_merge_decls_1): Rename DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. gcc/go/ * go-gcc.cc (Gcc_backend::call_expression): Rename DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. libcc1/ * libcc1plugin.cc (address_rewriter): Rename DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. * libcp1plugin.cc (supplement_binding): Likewise.
2020-05-12Suppress warning for Interfaces.C with -fdump-ada-specEric Botcazou1-3/+6
The C/C++ bindings generated by means of -fdump-ada-spec always contain with and use clauses for Interfaces.C, but they can be unused in some cases so make sure to avoid warning about that. * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
2020-02-15Fix duplicates for anonymous structures with -fdump-ada-specEric Botcazou1-67/+71
This fixes a weakness in the way -fdump-ada-spec builds names for anonymous structures in the C/C++ code, resulting in duplicate identifiers under specific circumstances. c-family/ * c-ada-spec.c: Include bitmap.h. (dump_ada_double_name): Rename into... (dump_anonymous_type_name): ...this. Always use the TYPE_UID. (dump_ada_array_type): Adjust to above renaming. Robustify. (dump_nested_types_1): New function copied from... Add dumped_types parameter and pass it down to dump_nested_type. (dump_nested_types): ...this. Remove parent parameter. Just call dump_nested_types_1 on an automatic bitmap. (dump_nested_type): Add dumped_types parameter. <ARRAY_TYPE>: Do not dump it if already present in dumped_types. Adjust recursive calls and adjust to above renaming. (dump_ada_declaration): Adjust call to dump_nested_types. Tidy up and adjust to above renaming. (dump_ada_specs): Initialize and release bitmap obstack.
2020-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r279813
2019-12-20c-ada-spec.h (decl_sloc): Delete.Eric Botcazou1-1/+1
c-family/ * c-ada-spec.h (decl_sloc): Delete. * c-ada-spec.c (decl_sloc): Make static. c/ * c-decl.c (collect_source_ref_cb): Delete. (for_each_global_decl): Rename into... (collect_source_refs): ...this. Call collect_source_ref directly. (c_parse_final_cleanups): Always call collect_source_ref on the main input filename. cp/ * decl2.c (c_parse_final_cleanups): Always call collect_source_ref on the main input filename. From-SVN: r279670
2019-11-13c-ada-spec.c (get_underlying_decl): Do not look through typedefs.Eric Botcazou1-2/+10
* c-ada-spec.c (get_underlying_decl): Do not look through typedefs. (dump_forward_type): Do not generate a declaration for function types. (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration of the component type if it is declared in another file. From-SVN: r278129
2019-08-21c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken ↵Eric Botcazou1-18/+21
function declarations where arguments are missing. * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken function declarations where arguments are missing. Rename variables. From-SVN: r274794
2019-05-23* c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.Eric Botcazou1-1/+3
From-SVN: r271549
2019-05-21c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.Eric Botcazou1-0/+22
c-family/ * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR. * c-ada-spec.c (print_assignment_operator): New function. (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy assignment operators declared as methods and filter out the others. cp/ * decl2.c (cpp_check) <IS_ASSIGNMENT_OPERATOR>: New case. From-SVN: r271457
2019-04-09c-ada-spec.c (print_destructor): Deal with deleting destructors.Eric Botcazou1-2/+5
* c-ada-spec.c (print_destructor): Deal with deleting destructors. (dump_ada_declaration) <FUNCTION_DECL>: Likewise. From-SVN: r270239
2019-04-07c-ada-spec.c (is_float128): New predicate extracted from...Eric Botcazou1-6/+24
c-family/ * c-ada-spec.c (is_float128): New predicate extracted from... (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128. <REAL_TYPE>: ...here. Call it. ada/ * libgnat/i-cexten.ads (CFloat_128): New type. From-SVN: r270188
2019-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r267494
2018-11-27c-ada-spec.c: Include stringpool.h.Eric Botcazou1-20/+99
* c-ada-spec.c: Include stringpool.h. (has_static_fields): Return false for incomplete types. (is_tagged_type): Likewise. (has_nontrivial_methods): Likewise. (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128. (struct overloaded_name_hash): New structure. (struct overloaded_name_hasher): Likewise. (overloaded_names): New global variable. (init_overloaded_names): New static function. (overloaded_name_p): New predicate. (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED on the TYPE_STUB_DECL of the original type of a typedef, if any. <FUNCTION_DECL>: Bail out for an unsupported overloaded name. Remove always-true condition and dump forward types. (dump_ada_specs): Delete overloaded_names. From-SVN: r266506
2018-10-01c-ada-spec.c (get_underlying_decl): Get to the main type variant.Eric Botcazou1-7/+12
* c-ada-spec.c (get_underlying_decl): Get to the main type variant. (dump_ada_node): Add const keyword. From-SVN: r264738
2018-09-21c-ada-spec.c: Include diagnostic.h.Eric Botcazou1-0/+11
* c-ada-spec.c: Include diagnostic.h. (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout. From-SVN: r264466
2018-08-20[PATCH] #assert becomes macro-likeNathan Sidwell1-4/+4
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01140.html libcpp/ * include/cpp-id-data.h (struct answer): Delete. * include/cpplib.h (struct answer): Don't forward-declare. (enum cpp_macro_kind): Add cmk_assert. (struct cpp_macro): Union parms and next assert chain. (union _cpp_hashnode_value): 'answer' field is cpp_macro. * directives.c (parse_answer): Convert to use cpp_macro. Return true on success. (parse_assertion, find_answer, _cpp_test_assertion, cpp_do_assert) (cpp_do_unassert): Convert to use cpp_macro. * macro.c (warn_of_redefinition, _cpp_new_macro) (check_trad_stringification, cpp_macro_definition): Adjust macro parm access. * traditional.c (_cpp_replacement_text_len) (_cpp_copy_replacement_text, _cpp_create_trad_definition): Likewise. gcc/c-family/ * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm access. From-SVN: r263658
2018-08-17[PATCH] Macro body is trailing arrayNathan Sidwell1-2/+2
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01037.html * include/cpplib.h (enum cpp_macro_kind): New. (struct cpp_macro): Make body trailing array. Add kind field, delete traditional flag. * internal.h (_cpp_new_macro): Declare. (_cpp_reserve_room): New inline. (_cpp_commit_buf): Declare. (_cpp_create_trad_definition): Return new macro. * lex.c (_cpp_commit_buff): New. * macro.c (macro_real_token_count): Count backwards. (replace_args): Pointer equality not orderedness. (_cpp_save_parameter): Use _cpp_reserve_room. (alloc_expansion_token): Delete. (lex_expansion_token): Return macro pointer. Use _cpp_reserve_room. (create_iso_definition): Allocate macro itself. Adjust for different allocation ordering. (_cpp_new_macro): New. (_cpp_create_definition): Adjust for API changes. * traditional.c (push_replacement_text): Don't set traditional flag. (save_replacement_text): Likewise. (_cpp_create_trad_definition): Allocate macro itself, Adjust for different allocation ordering. From-SVN: r263622
2018-08-17[PATCH] Move cpp_macro to cpplib.hNathan Sidwell1-1/+0
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01016.html libcpp/ * cpp-id-data.h (uchar, UC): Move to internal.h (struct cpp_macro): Move to cpplib.h. * internal.h (uchar, UC): From cpp-id-data.h. * include/cpplib.h (struct cpp_macro): From cpp-id-data.h. gcc/c-family/ * c-ada-spec.c: Don't #include "cpp-id-data.h" * c-cppbuiltin.c: Likewise. gcc/ * cppbuiltin.c: Include "cpplib.h", not "cpp-id-data.h". From-SVN: r263618
2018-08-16[PATCH] CPP Macro predicatesNathan Sidwell1-16/+13
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00897.html libcpp/ * include/cpplib.h (cpp_user_macro_p, cpp_builtin_macro_p) (cpp_macro_p): New inlines. * directives.c (do_pragma_poison): Use cpp_macro_p. (do_ifdef, do_ifndef): Likewise. Use _cpp_maybe_notify_macro_use. (cpp_pop_definition): Use cpp_macro_p. Move _cpp_free_definition earlier. Don't zap node directly. * expr.c (parse_defined): Use _cpp_maybe_notify_macro_use & cpp_macro_p. * files.c (should_stack_file): Use cpp_macro_p. * identifiers.c (cpp_defined): Likewise. * internal.h (_cpp_mark_macro): Use cpp_user_macro_p. (_cpp_notify_macro_use): Declare. (_cpp_maybe_notify_macro_use): New inline. * lex.c (is_macro): Use cpp_macro_p. * macro.c (_cpp_warn_if_unused_macro): Use cpp_user_macro_p. (enter_macro_context): Likewise. (_cpp_create_definition): Use cpp_builtin_macro_p, cpp_user_macro_p. Move _cpp_free_definition earlier. (_cpp_notify_macro_use): New, broken out of multiple call sites. * traditional.c (fun_like_macro_p): Use cpp_builtin_macro_p. (maybe_start_funlike, _cpp_scan_out_logical_line) (push_replacement_text): Likewise. gcc/c-family/ * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p. (store_ada_macro): Likewise. * c-ppoutput.c (cb_used_define, dump_macro): Likewise. * c-spellcheck.cc (should-suggest_as_macro_p): Likewise, gcc/ * config/rs6000/rs6000-c.c (rs6000_macro_to_expend): Use cpp_macro_p. * config/powerpcspc/powerpcspe-c.c (rs6000_macro_to_expend): Likewise. gcc/cp/ * name-lookup.c (lookup_name_fuzzy): Likewise. gcc/fortran/ * cpp.c (dump_macro): Use cpp_user_macro_p. From-SVN: r263587
2018-07-07c-ada-spec.c (to_ada_name): Remove index parameter.Eric Botcazou1-217/+105
* c-ada-spec.c (to_ada_name): Remove index parameter. (pp_ada_tree_identifier): Likewise. (dump_ada_macros): Adjust call to to_ada_name. (struct overloaded_name_hash): Delete. (struct overloaded_name_hasher): Likewise. (overloaded_names): Likewise. (compute_overloading_index): Likewise. (dump_ada_decl_name): Do not call compute_overloading_index and adjust calls to pp_ada_tree_identifier. (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier. (dump_ada_import): Add spc parameter and switch to aspect syntax. (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier. (dump_ada_enum_type): Remove type and display_convention parameters. Adjust calls to pp_ada_tree_identifier. (dump_ada_node): Likewise and for dump_ada_structure. (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type and tidy up. <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect syntax. (print_constructor): Adjust call to pp_ada_tree_identifier. (print_destructor): Likewise. (dump_ada_declaration): Switch to aspect syntax. (dump_ada_structure): Likewise and tidy up. Replace display_convention parameter with nested parameter. (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005. (dump_ada_specs): Do not delete overloaded_names table. From-SVN: r262499
2018-06-01c-ada-spec.c (dump_ada_declaration): Generate a forward declaration for a ↵Eric Botcazou1-4/+10
typedef independently of whether the... * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward declaration for a typedef independently of whether the declaration of the subtype is generated. From-SVN: r261058
2018-03-20* c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.Eric Botcazou1-1/+1
From-SVN: r258675
2018-02-28i-cexten.ads (Float_128): New type.Eric Botcazou1-4/+16
ada/ * libgnat/i-cexten.ads (Float_128): New type. c-family/ * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case. <REAL_TYPE>: Deal specifically with _Float128/__float128. From-SVN: r258068
2018-02-28c-ada-spec.c (dump_ada_double_name): New case.Eric Botcazou1-201/+200
* c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case. (is_char_array): Take a type instead of a declaration. (dump_ada_array_type): Likewise. (is_simple_enum): Minor tweak. (dump_ada_enum_type): New function extracted from... (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it. <INTEGER_TYPE>: Remove unreachable code. <RECORD_TYPE>: Likewise. Minor tweaks. (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes. <ENUMERAL_TYPE>: New case. <RECORD_TYPE>: Factor out common code. (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes. Minor tweaks. Deal with enumeral types. (dump_ada_structure): Minor tweaks. From-SVN: r258067
2018-02-28c-ada-spec.c (dump_ada_node): Do not use generic address for incomplete ↵Eric Botcazou1-28/+14
structures. * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic address for incomplete structures. (dump_forward_type): Do not bail out for incomplete structures. (dump_ada_declaration): Do not special-case incomplete structures for subtypes. Dump them as null records for types. From-SVN: r258066
2018-02-28c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.Eric Botcazou1-85/+79
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. (is_char_array): Fix formatting. (dump_template_types): Likewise. (dump_generic_ada_node): Rename into... (dump_ada_node): ...this. <POINTER_TYPE>: Remove superfluous space. Use generic address for incomplete structures and not for empty structures. Do not use it when forward declarations are needed. (dump_forward_type): New function. (dump_nested_types): Remove FORWARD parameter. Do not consider TREE_VISITED and do not generate a forward declaration. Only dump original nested types for nested declaration. (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type. <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer. <RECORD_TYPE>: Do not consider TREE_VISITED. (dump_ada_declaration): Use booleans and fix formatting throughout. <TYPE_DECL>: Skip incomplete structures and not empty structures. Call dump_forward_type instead of dump_nested_types for a typedef. Remove superfluous check and adjust call to dump_nested_types. <POINTER_TYPE>: Call dump_forward_type and fall through. (dump_ada_struct_decl): Rename into... (dump_ada_structure): ...this. Do not special-case empty structures. From-SVN: r258064
2018-02-28c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.Eric Botcazou1-180/+159
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. (is_char_array): Fix formatting. (dump_template_types): Likewise. (dump_generic_ada_node): Rename into... (dump_ada_node): ...this. <POINTER_TYPE>: Remove superfluous space. Use generic address for incomplete structures and not for empty structures. Do not use it when forward declarations are needed. (dump_forward_type): New function. (dump_nested_types): Remove FORWARD parameter. Do not consider TREE_VISITED and do not generate a forward declaration. Only dump original nested types for nested declaration. (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type. <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer. <RECORD_TYPE>: Do not consider TREE_VISITED. (dump_ada_declaration): Use booleans and fix formatting throughout. <TYPE_DECL>: Skip incomplete structures and not empty structures. Call dump_forward_type instead of dump_nested_types for a typedef. Remove superfluous check and adjust call to dump_nested_types. <POINTER_TYPE>: Call dump_forward_type and fall through. (dump_ada_struct_decl): Rename into... (dump_ada_structure): ...this. Do not special-case empty structures. From-SVN: r258062
2018-02-09c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant' keyword ↵Eric Botcazou1-2/+2
for components. * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant' keyword for components. From-SVN: r257517
2018-01-10c-ada-spec.c (dump_number): Add FLOAT_P parameter.Eric Botcazou1-19/+34
* c-ada-spec.c (dump_number): Add FLOAT_P parameter. Skip 'f' and 'F' characters if it is true. (store_ada_macro): Minor tweak. (dump_ada_macros) <CPP_COMMENT>: Likewise. <CPP_WSTRING>: Likewise. <CPP_STRING>: Output '&' in the buffer if not the first string. <CPP_NUMBER>: Adjust calls to dump_number. From-SVN: r256463
2018-01-03Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r256169
2017-10-10Require wi::to_wide for treesRichard Sandiford1-1/+1
The wide_int routines allow things like: wi::add (t, 1) to add 1 to an INTEGER_CST T in its native precision. But we also have: wi::to_offset (t) // Treat T as an offset_int wi::to_widest (t) // Treat T as a widest_int Recently we also gained: wi::to_wide (t, prec) // Treat T as a wide_int in preccision PREC This patch therefore requires: wi::to_wide (t) when operating on INTEGER_CSTs in their native precision. This is just as efficient, and makes it clearer that a deliberate choice is being made to treat the tree as a wide_int in its native precision. This also removes the inconsistency that a) INTEGER_CSTs in their native precision can be used without an accessor but must use wi:: functions instead of C++ operators b) the other forms need an explicit accessor but the result can be used with C++ operators. It also helps with SVE, where there's the additional possibility that the tree could be a runtime value. 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * wide-int.h (wide_int_ref_storage): Make host_dependent_precision a template parameter. (WIDE_INT_REF_FOR): Update accordingly. * tree.h (wi::int_traits <const_tree>): Delete. (wi::tree_to_widest_ref, wi::tree_to_offset_ref): New typedefs. (wi::to_widest, wi::to_offset): Use them. Expand commentary. (wi::tree_to_wide_ref): New typedef. (wi::to_wide): New function. * calls.c (get_size_range): Use wi::to_wide when operating on trees as wide_ints. * cgraph.c (cgraph_node::create_thunk): Likewise. * config/i386/i386.c (ix86_data_alignment): Likewise. (ix86_local_alignment): Likewise. * dbxout.c (stabstr_O): Likewise. * dwarf2out.c (add_scalar_info, gen_enumeration_type_die): Likewise. * expr.c (const_vector_from_tree): Likewise. * fold-const-call.c (host_size_t_cst_p, fold_const_call_1): Likewise. * fold-const.c (may_negate_without_overflow_p, negate_expr_p) (fold_negate_expr_1, int_const_binop_1, const_binop) (fold_convert_const_int_from_real, optimize_bit_field_compare) (all_ones_mask_p, sign_bit_p, unextend, extract_muldiv_1) (fold_div_compare, fold_single_bit_test, fold_plusminus_mult_expr) (pointer_may_wrap_p, expr_not_equal_to, fold_binary_loc) (fold_ternary_loc, multiple_of_p, fold_negate_const, fold_abs_const) (fold_not_const, round_up_loc): Likewise. * gimple-fold.c (gimple_fold_indirect_ref): Likewise. * gimple-ssa-warn-alloca.c (alloca_call_type_by_arg): Likewise. (alloca_call_type): Likewise. * gimple.c (preprocess_case_label_vec_for_gimple): Likewise. * godump.c (go_output_typedef): Likewise. * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise. * internal-fn.c (get_min_precision): Likewise. * ipa-cp.c (ipcp_store_vr_results): Likewise. * ipa-polymorphic-call.c (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise. (ipa_modify_call_arguments): Likewise. * match.pd: Likewise. * omp-low.c (scan_omp_1_op, lower_omp_ordered_clauses): Likewise. * print-tree.c (print_node_brief, print_node): Likewise. * stmt.c (expand_case): Likewise. * stor-layout.c (layout_type): Likewise. * tree-affine.c (tree_to_aff_combination): Likewise. * tree-cfg.c (group_case_labels_stmt): Likewise. * tree-data-ref.c (dr_analyze_indices): Likewise. (prune_runtime_alias_test_list): Likewise. * tree-dump.c (dequeue_and_dump): Likewise. * tree-inline.c (remap_gimple_op_r, copy_tree_body_r): Likewise. * tree-predcom.c (is_inv_store_elimination_chain): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. * tree-scalar-evolution.c (iv_can_overflow_p): Likewise. (simple_iv_with_niters): Likewise. * tree-ssa-address.c (addr_for_mem_ref): Likewise. * tree-ssa-ccp.c (ccp_finalize, evaluate_stmt): Likewise. * tree-ssa-loop-ivopts.c (constant_multiple_of): Likewise. * tree-ssa-loop-niter.c (split_to_var_and_offset) (refine_value_range_using_guard, number_of_iterations_ne_max) (number_of_iterations_lt_to_ne, number_of_iterations_lt) (get_cst_init_from_scev, record_nonwrapping_iv) (scev_var_range_cant_overflow): Likewise. * tree-ssa-phiopt.c (minmax_replacement): Likewise. * tree-ssa-pre.c (compute_avail): Likewise. * tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise. (vn_reference_maybe_forwprop_address, valueized_wider_op): Likewise. * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise. * tree-ssa-uninit.c (is_pred_expr_subset_of): Likewise. * tree-ssanames.c (set_nonzero_bits, get_nonzero_bits): Likewise. * tree-switch-conversion.c (collect_switch_conv_info, array_value_type) (dump_case_nodes, try_switch_expansion): Likewise. * tree-vect-loop-manip.c (vect_gen_vector_loop_niters): Likewise. (vect_do_peeling): Likewise. * tree-vect-patterns.c (vect_recog_bool_pattern): Likewise. * tree-vect-stmts.c (vectorizable_load): Likewise. * tree-vrp.c (compare_values_warnv, vrp_int_const_binop): Likewise. (zero_nonzero_bits_from_vr, ranges_from_anti_range): Likewise. (extract_range_from_binary_expr_1, adjust_range_with_scev): Likewise. (overflow_comparison_p_1, register_edge_assert_for_2): Likewise. (is_masked_range_test, find_switch_asserts, maybe_set_nonzero_bits) (vrp_evaluate_conditional_warnv_with_ops, intersect_ranges): Likewise. (range_fits_type_p, two_valued_val_range_p, vrp_finalize): Likewise. (evrp_dom_walker::before_dom_children): Likewise. * tree.c (cache_integer_cst, real_value_from_int_cst, integer_zerop) (integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2) (tree_floor_log2, tree_ctz, mem_ref_offset, tree_int_cst_sign_bit) (tree_int_cst_sgn, get_unwidened, int_fits_type_p): Likewise. (get_type_static_bounds, num_ending_zeros, drop_tree_overflow) (get_range_pos_neg): Likewise. * ubsan.c (ubsan_expand_ptr_ifn): Likewise. * config/darwin.c (darwin_mergeable_constant_section): Likewise. * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise. * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise. * config/avr/avr.c (avr_fold_builtin): Likewise. * config/bfin/bfin.c (bfin_local_alignment): Likewise. * config/msp430/msp430.c (msp430_attr): Likewise. * config/nds32/nds32.c (nds32_insert_attributes): Likewise. * config/powerpcspe/powerpcspe-c.c (altivec_resolve_overloaded_builtin): Likewise. * config/powerpcspe/powerpcspe.c (rs6000_aggregate_candidate) (rs6000_expand_ternop_builtin): Likewise. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Likewise. * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise. (rs6000_expand_ternop_builtin): Likewise. * config/s390/s390.c (s390_handle_hotpatch_attribute): Likewise. gcc/ada/ * gcc-interface/decl.c (annotate_value): Use wi::to_wide when operating on trees as wide_ints. gcc/c/ * c-parser.c (c_parser_cilk_clause_vectorlength): Use wi::to_wide when operating on trees as wide_ints. * c-typeck.c (build_c_cast, c_finish_omp_clauses): Likewise. (c_tree_equal): Likewise. gcc/c-family/ * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when operating on trees as wide_ints. * c-common.c (pointer_int_sum): Likewise. * c-pretty-print.c (pp_c_integer_constant): Likewise. * c-warn.c (match_case_to_enum_1): Likewise. (c_do_switch_warnings): Likewise. (maybe_warn_shift_overflow): Likewise. gcc/cp/ * cvt.c (ignore_overflows): Use wi::to_wide when operating on trees as wide_ints. * decl.c (check_array_designated_initializer): Likewise. * mangle.c (write_integer_cst): Likewise. * semantics.c (cp_finish_omp_clause_depend_sink): Likewise. gcc/fortran/ * target-memory.c (gfc_interpret_logical): Use wi::to_wide when operating on trees as wide_ints. * trans-const.c (gfc_conv_tree_to_mpz): Likewise. * trans-expr.c (gfc_conv_cst_int_power): Likewise. * trans-intrinsic.c (trans_this_image): Likewise. (gfc_conv_intrinsic_bound): Likewise. (conv_intrinsic_cobound): Likewise. gcc/lto/ * lto.c (compare_tree_sccs_1): Use wi::to_wide when operating on trees as wide_ints. gcc/objc/ * objc-act.c (objc_decl_method_attributes): Use wi::to_wide when operating on trees as wide_ints. From-SVN: r253595
2017-09-29c-ada-spec.c (to_ada_name): Add index parameter.Eric Botcazou1-24/+102
* c-ada-spec.c (to_ada_name): Add index parameter. (pp_ada_tree_identifier): Likewise. (dump_ada_macros): Adjust call to to_ada_name. (struct overloaded_name_hash): New type. (struct overloaded_name_hasher): Likewise. (overloaded_names): New hash table. (compute_overloading_index): New function. (dump_ada_decl_name): Call it and pass the result to pp_ada_tree_identifier. (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier. (dump_ada_function_declaration): Likewise. (dump_generic_ada_node): Likewise. (print_constructor): Likewise. (print_destructor): Likewise. (dump_ada_specs): Delete overloaded_names table. From-SVN: r253306
2017-09-29c-ada-spec.c (max_ada_macros): Move around.Eric Botcazou1-261/+196
* c-ada-spec.c (max_ada_macros): Move around. (store_ada_macro_index): Likewise. (source_file): Rename into... (macro_source_file): ...this. (count_ada_macro): Move around. (store_ada_macro): Likewise. (compare_macro): Likewise. (print_ada_macros): Merge in... (dump_ada_macros): ...this. (source_file_base): Rename into... (current_source_file): ...this. (print_comment): Move around. (dump_ada_nodes): Call dump_ada_declaration directly. (struct with): Change type of limited field to bool. (append_withs): Change type of limited_access parameter to bool. (pp_ada_tree_identifie): Likewise. (dump_ada_decl_nam): Likewise. (dump_generic_ada_node): Likewise. Do not print the return type. (to_ada_name): Change type of space_found parameter to bool. (dump_ada_function_declaration): Return void and change type of parameters to bool. Also print the return type for a function. (print_ada_methods): Rename into... (dump_ada_methods): ...this. (print_ada_declaration): Rename into ... (dump_ada_declaration): ...this. Do not print the return type. (print_ada_struct_decl): Rename into... (dump_ada_struct_decl): ...this. From-SVN: r253304
2017-08-08trans.c: Include header files.Martin Liska1-0/+2
. 2017-08-08 Martin Liska <mliska@suse.cz> * gcc-interface/trans.c: Include header files. 2017-08-08 Martin Liska <mliska@suse.cz> * objc-gnu-runtime-abi-01.c: Include header files. * objc-next-runtime-abi-01.c: Likewise. * objc-next-runtime-abi-02.c: Likewise. 2017-08-08 Martin Liska <mliska@suse.cz> * asan.c: Include header files. * attribs.c (build_decl_attribute_variant): New function moved from tree.[ch]. (build_type_attribute_qual_variant): Likewise. (cmp_attrib_identifiers): Likewise. (simple_cst_list_equal): Likewise. (omp_declare_simd_clauses_equal): Likewise. (attribute_value_equal): Likewise. (comp_type_attributes): Likewise. (build_type_attribute_variant): Likewise. (lookup_ident_attribute): Likewise. (remove_attribute): Likewise. (merge_attributes): Likewise. (merge_type_attributes): Likewise. (merge_decl_attributes): Likewise. (merge_dllimport_decl_attributes): Likewise. (handle_dll_attribute): Likewise. (attribute_list_equal): Likewise. (attribute_list_contained): Likewise. * attribs.h (lookup_attribute): New function moved from tree.[ch]. (lookup_attribute_by_prefix): Likewise. * bb-reorder.c: Include header files. * builtins.c: Likewise. * calls.c: Likewise. * cfgexpand.c: Likewise. * cgraph.c: Likewise. * cgraphunit.c: Likewise. * convert.c: Likewise. * dwarf2out.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * gimple-expr.c: Likewise. * gimple-fold.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple.c: Likewise. * gimplify.c: Likewise. * hsa-common.c: Likewise. * hsa-gen.c: Likewise. * internal-fn.c: Likewise. * ipa-chkp.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-fnsummary.c: Likewise. * ipa-inline.c: Likewise. * ipa-visibility.c: Likewise. * ipa.c: Likewise. * lto-cgraph.c: Likewise. * omp-expand.c: Likewise. * omp-general.c: Likewise. * omp-low.c: Likewise. * omp-offload.c: Likewise. * omp-simd-clone.c: Likewise. * opts-global.c: Likewise. * passes.c: Likewise. * predict.c: Likewise. * sancov.c: Likewise. * sanopt.c: Likewise. * symtab.c: Likewise. * toplev.c: Likewise. * trans-mem.c: Likewise. * tree-chkp.c: Likewise. * tree-eh.c: Likewise. * tree-into-ssa.c: Likewise. * tree-object-size.c: Likewise. * tree-parloops.c: Likewise. * tree-profile.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-loop.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa.c: Likewise. * tree-streamer-in.c: Likewise. * tree-vectorizer.c: Likewise. * tree-vrp.c: Likewise. * tsan.c: Likewise. * ubsan.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * tree.c: Remove functions moved to attribs.[ch]. * tree.h: Likewise. * config/aarch64/aarch64.c: Add attrs.h header file. * config/alpha/alpha.c: Likewise. * config/arc/arc.c: Likewise. * config/arm/arm.c: Likewise. * config/avr/avr.c: Likewise. * config/bfin/bfin.c: Likewise. * config/c6x/c6x.c: Likewise. * config/cr16/cr16.c: Likewise. * config/cris/cris.c: Likewise. * config/darwin.c: Likewise. * config/epiphany/epiphany.c: Likewise. * config/fr30/fr30.c: Likewise. * config/frv/frv.c: Likewise. * config/ft32/ft32.c: Likewise. * config/h8300/h8300.c: Likewise. * config/i386/winnt.c: Likewise. * config/ia64/ia64.c: Likewise. * config/iq2000/iq2000.c: Likewise. * config/lm32/lm32.c: Likewise. * config/m32c/m32c.c: Likewise. * config/m32r/m32r.c: Likewise. * config/m68k/m68k.c: Likewise. * config/mcore/mcore.c: Likewise. * config/microblaze/microblaze.c: Likewise. * config/mips/mips.c: Likewise. * config/mmix/mmix.c: Likewise. * config/mn10300/mn10300.c: Likewise. * config/moxie/moxie.c: Likewise. * config/msp430/msp430.c: Likewise. * config/nds32/nds32-isr.c: Likewise. * config/nds32/nds32.c: Likewise. * config/nios2/nios2.c: Likewise. * config/nvptx/nvptx.c: Likewise. * config/pa/pa.c: Likewise. * config/pdp11/pdp11.c: Likewise. * config/powerpcspe/powerpcspe.c: Likewise. * config/riscv/riscv.c: Likewise. * config/rl78/rl78.c: Likewise. * config/rx/rx.c: Likewise. * config/s390/s390.c: Likewise. * config/sh/sh.c: Likewise. * config/sol2.c: Likewise. * config/sparc/sparc.c: Likewise. * config/spu/spu.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/tilegx/tilegx.c: Likewise. * config/tilepro/tilepro.c: Likewise. * config/v850/v850.c: Likewise. * config/vax/vax.c: Likewise. * config/visium/visium.c: Likewise. * config/xtensa/xtensa.c: Likewise. 2017-08-08 Martin Liska <mliska@suse.cz> * call.c: Include header files. * cp-gimplify.c: Likewise. * cp-ubsan.c: Likewise. * cvt.c: Likewise. * init.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * typeck.c: Likewise. 2017-08-08 Martin Liska <mliska@suse.cz> * lto-lang.c: Include header files. * lto-symtab.c: Likewise. 2017-08-08 Martin Liska <mliska@suse.cz> * c-convert.c: Include header files. * c-typeck.c: Likewise. 2017-08-08 Martin Liska <mliska@suse.cz> * c-ada-spec.c: Include header files. * c-ubsan.c: Likewise. * c-warn.c: Likewise. 2017-08-08 Martin Liska <mliska@suse.cz> * trans-types.c: Include header files. From-SVN: r250946
2017-08-07c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.Eric Botcazou1-5/+4
* c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL. (print_ada_methods): Likewise. (print_ada_declaration): Likewise. From-SVN: r250920
2017-08-05c-ada-spec.c (has_static_fields): Look only into variables.Eric Botcazou1-15/+14
* c-ada-spec.c (has_static_fields): Look only into variables. (print_constructor): Add TYPE parameter and use it for the name. (print_destructor): Likewise. (print_ada_declaration): Adjust to new constructor/destructor names. Adjust calls to print_constructor and print_destructor. (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL. Look only into variables in the final loop. From-SVN: r250890
2017-08-01c-ada-spec.c (has_static_fields): Look only into fields.Eric Botcazou1-17/+21
* c-ada-spec.c (has_static_fields): Look only into fields. (dump_generic_ada_node): Small tweak. (dump_nested_types): Look only into fields. (print_ada_declaration): Look only into methods. Small tweak. (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P. From-SVN: r250802
2017-08-01c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.Eric Botcazou1-3/+10
* c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant. (dump_ada_function_declaration): Likewise. (dump_generic_ada_node): Likewise. (print_ada_declaration): Add support for const-qualified variables. From-SVN: r250797
2017-07-29c-ada-spec.c (dump_generic_ada_node): Take into account signedness for ↵Eric Botcazou1-2/+5
enumeral types. * c-ada-spec.c (dump_generic_ada_node): Take into account signedness for enumeral types. (print_ada_declaration): Add missing guard for record types. From-SVN: r250714
2017-07-21Remove TYPE_METHODS.Nathan Sidwell1-66/+46
gcc/ Remove TYPE_METHODS. * tree.h (TYPE_METHODS): Delete. * dwarf2out.c (gen_member_die): Member fns are on TYPE_FIELDS. * dbxout.c (dbxout_type_fields): Ignore FUNCTION_DECLs. (dbxout_type_methods): Scan TYPE_FIELDS. (dbxout_type): Don't check TYPE_METHODS here. * function.c (use_register_for_decl): Always ignore register for class types when not optimizing. * ipa-devirt.c (odr_types_equivalent_p): Delete TYPE_METHODS scan. * tree.c (free_lang_data_in_type): Stitch out member functions and templates from TYPE_FIELDS. (build_distinct_type_copy, verify_type_variant, verify_type): Member fns are on TYPE_FIELDS. * tree-dump.c (dequeue_and_dump): No TYPE_METHODS. * tree-pretty-print.c (dump_generic_node): Likewise. gcc/cp/ Remove TYPE_METHODS. * class.c (maybe_warn_about_overly_private_class, finish_struct_methods, one_inheriting_sig, count_fields, add_fields_to_record_type, check_field_decls, check_methods, clone_function_decl, set_method_tm_attributes, finalize_literal_type_property, check_bases_and_members, create_vtable_ptr, determine_key_method, unreverse_member_declarations, finish_struct, add_vcall_offset_vtbl_entries_1): Member fns are on TYPE_FIELDS. * decl.c (fixup_anonymous_aggr): Likewise. * decl2.c (reset_type_linkage_2): Likewise. * method.c (after_nsdmi_defaulted_late_checks, lazily_declare_fn): Likewise. * optimize.c (maybe_thunk_body, maybe_clone_body): Likewise. * pt.c (instantiate_class_template_1, tsubst_expr, do_type_instantiation, instantiate_pending_templates): Likewise. * search.c (lookup_field_1): Likewise. * semantics.c (finish_member_declaration, finish_omp_declare_simd_methods): Likewise. gcc/c-family/ Remove TYPE_METHODS. * c-ada-spec.c (is_tagged_type, has_nontrivial_methods, dump_ada_template, print_ada_methods, print_ada_declaration): Member fns are on TYPE_FIELDS. gcc/objc/ Remove TYPE_METHODS. * objc-runtime-shared-support.c (build_ivar_list_initializer): Don't presume first item is a FIELD_DECL. gcc/testsuite/ * g++.dg/ext/anon-struct6.C: Adjust diag. * g++.old-deja/g++.other/anon4.C: Adjust diag. libcc1/ Remove TYPE_METHODS. * libcp1plugin.cc (plugin_build_decl): Member fns are on TYPE_FIELDS. From-SVN: r250413
2017-06-11tree.h (id_equal): New.Jason Merrill1-1/+1
* tree.h (id_equal): New. * dwarf2out.c, hsa-gen.c, ipa-devirt.c, omp-expand.c, omp-simd-clone.c, read-rtl-function.c, tree-chkp.c, tree.c: Use it instead of strcmp of IDENTIFIER_POINTER. c-family/ * c-ada-spec.c, c-pragma.c: Use it. cp/ * cp-tree.h, decl2.c, mangle.c, parser.c, pt.c, semantics.c: Use it. From-SVN: r249103
2017-03-09Increment value instead of a pointer in ADA macro processing.Martin Liska1-1/+1
2017-03-09 Martin Liska <mliska@suse.cz> * c-ada-spec.c (macro_length): Increment value instead of a pointer. From-SVN: r245992
2017-02-24c-ada-spec.c (dump_ada_function_declaration): Add comment about the ↵Eric Botcazou1-98/+13
treatment of parameters with pointer-to-tagged type and... c-family/ * c-ada-spec.c (dump_ada_function_declaration): Add comment about the treatment of parameters with pointer-to-tagged type and tidy up. (print_ada_methods): Remove the special treatment of C++ static member functions. ada/ * gcc-interface/decl.c: Include demangle.h. (is_cplusplus_method): Return again true for a primitive operation only if it is dispatching. For a subprogram with an interface name, call the demangler to get the number of C++ parameters and compare it with the number of Ada parameters. From-SVN: r245700
2017-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r243994
2016-11-13c-ada-spec.c (print_ada_declaration): For typedef declarations...Eric Botcazou1-2/+3
* c-ada-spec.c (print_ada_declaration): For typedef declarations, look for nested types only if the type is a record or union and dump SLOC. From-SVN: r242356
2016-09-27auto-inc-dec.c (try_merge): Remove break after return.Jakub Jelinek1-1/+0
* auto-inc-dec.c (try_merge): Remove break after return. * cselib.c (autoinc_split): Likewise. * explow.c (promote_mode): Likewise. * fixed-value.c (fixed_arithmetic): Likewise. * hsa.c (hsa_internal_fn::get_arity): Likewise. * rtlanal.c (modified_between_p, modified_in_p): Likewise. * trans-mem.c (get_attrs_for): Likewise. * tree-if-conv.c (if_convertible_stmt_p): Likewise. * tree-vrp.c (simplify_stmt_using_ranges): Likewise. * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Likewise. * config/aarch64/aarch64.c (aarch64_get_condition_code_1): Likewise. * config/c6x/c6x.c (c6x_get_unit_specifier): Likewise. * config/cr16/cr16.c (legitimate_pic_operand_p): Likewise. * config/cris/cris.c (cris_op_str): Likewise. * config/mn10300/mn10300.c (cc_flags_for_code): Likewise. * config/tilepro/tilepro.c (tilepro_emit_setcc_internal_di): Likewise. c-family/ * c-ada-spec.c (print_ada_declaration): Remove break after return. objc/ * objc-act.c (continue_class): Remove break after return. (objc_maybe_printable_name): Likewise. fortran/ * dependency.c (gfc_dep_compare_expr): Remove break after return. * frontend-passes.c (optimize_op): Likewise. * interface.c (gfc_current_interface_head): Likewise. * symbol.c (check_conflict): Likewise. * trans-intrinsic.c (build_fix_expr): Likewise. ada/ * terminals.c (is_gui_app): Remove break after return. From-SVN: r240554
2016-09-01c-ada-spec.c (dump_ada_function_declaration): Increase buffer size to ↵Martin Sebor1-1/+1
guarantee it fits the output of the formatted function... gcc/c-family/ChangeLog: * c-ada-spec.c (dump_ada_function_declaration): Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. gcc/cp/ChangeLog: * mangle.c: Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. gcc/go/ChangeLog: * gofrontend/expressions.cc: Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. gcc/java/ChangeLog: * decl.c (give_name_to_locals): Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. * mangle_name.c (append_unicode_mangled_name): Same. gcc/ChangeLog: * genmatch.c (parser::parse_expr): Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. * gcc/genmodes.c (parser::parse_expr): Same. * gimplify.c (gimplify_asm_expr): Same. * passes.c (pass_manager::register_one_dump_file): Same. * print-tree.c (print_node): Same. From-SVN: r239949
2016-08-15c-ada-spec.c (dump_number): New function.Eric Botcazou1-3/+140
* c-ada-spec.c (dump_number): New function. (handle_escape_character): Likewise. (print_ada_macros): Add handling of constant integers and strings. Co-Authored-By: Arnaud Charlet <charlet@adacore.com> From-SVN: r239481
2016-08-09re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)Marek Polacek1-0/+1
PR c/7652 gcc/c-family/ * c-ada-spec.c (dump_generic_ada_node): Add return. gcc/ * cselib.c (cselib_expand_value_rtx_1): Add return. * gengtype.c (dbgprint_count_type_at): Likewise. * hsa-gen.c (gen_hsa_insn_for_internal_fn_call): Likewise. * reg-stack.c (get_true_reg): Restructure to avoid fallthrough warning. From-SVN: r239297