aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-05-03PR 70687: Use wide_int in combine.c:change_zero_extRichard Sandiford2-5/+9
PR 70687 reports a case where combine.c mishandles integer modes wider than unsigned HOST_WIDE_INT. I don't have a testcase since the PR is just pointing out the hole. Also, I think a ZERO_EXTEND of a vector mode could in principle satisfy the subreg condition but wouldn't be equivalent to an AND. E.g.: (zero_extend:V4DI (subreg:V4SI (reg:V4DI R) 0)) Tested on x86_64-linux-gnu. gcc/ PR rtl-optimization/70687 * combine.c (change_zero_ext): Check for scalar modes. Use wide_int instead of unsigned HOST_WIDE_INT. From-SVN: r235811
2016-05-03Fix PR44281, bad RA with global regs.Bernd Schmidt7-3/+53
PR rtl-optimization/44281 * hard-reg-set.h (struct target_hard_regs): New field x_fixed_nonglobal_reg_set. (fixed_nonglobal_reg_set): New macro. * reginfo.c (init_reg_sets_1): Initialize it. * ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead of fixed_reg_set. * df-scan.c (df_insn_refs_collect): Asms may reference global regs. testsuite/ PR rtl-optimization/44281 * gcc.target/i386/pr44281.c: New test. From-SVN: r235809
2016-05-03re PR tree-optimization/56541 (vectorizaton fails in conditional assignment ↵Bin Cheng7-61/+155
of a constant) PR tree-optimization/56541 * doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item. * params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param. * tree-if-conv.c (MAX_PHI_ARG_NUM): new macro. (any_complicated_phi): new static variable. (aggressive_if_conv): delete. (if_convertible_phi_p): support phis with more than two arguments. (if_convertible_bb_p): remvoe check on aggressive_if_conv and critical pred edges. (ifcvt_split_critical_edges): support phis with more than two arguments by checking new parameter. only split critical edges if needed. (tree_if_conversion): handle simd pragma marked loop using new local variable aggressive_if_conv. check any_complicated_phi. gcc/testsuite PR tree-optimization/56541 * gcc.dg/tree-ssa/ifc-pr56541.c: new test. * gcc.dg/vect/pr56541.c: new test. From-SVN: r235808
2016-05-03tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on before ↵Bin Cheng2-2/+7
using it. * tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on before using it. From-SVN: r235807
2016-05-03tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber cbase.Bin Cheng2-5/+12
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber cbase. From-SVN: r235805
2016-05-03Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the ↵Richard Biener4-4/+28
previous stage. 2016-05-03 Richard Biener <rguenther@suse.de> c/ * Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the previous stage. cp/ * Make-lang.in (cc1plus-checksum.c): For stage-final re-use the checksum from the previous stage. From-SVN: r235804
2016-05-03sh.md (udivsi3, [...]): Simplify.Oleg Endo2-183/+109
gcc/ * config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify. (mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to define_insn_and_split. (mulsi3_i): New define_insn_and_split. (mulsi3_call): Convert to define_insn. (mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact): Remove constraints. From-SVN: r235803
2016-05-03* c-common.h (enum c_omp_region_type): Remove stray comma.Marek Polacek2-1/+5
From-SVN: r235802
2016-05-03Daily bump.GCC Administrator1-1/+1
From-SVN: r235800
2016-05-02machmode.h (mode_complex): Add support to give the complex mode for a given ↵Michael Meissner13-29/+480
mode. [gcc] 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> * machmode.h (mode_complex): Add support to give the complex mode for a given mode. (GET_MODE_COMPLEX_MODE): Likewise. * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode stored by build_complex_type and gfc_build_complex_type instead of trying to figure out the appropriate mode based on the size. Raise an assertion error, if the type was not set. * genmodes.c (struct mode_data): Add field for the complex type of the given type. (blank_mode): Likewise. (make_complex_modes): Remember the complex mode created in the base type. (emit_mode_complex): Write out the mode_complex array to map a type mode to the complex version. (emit_insn_modes_c): Likewise. * tree.c (build_complex_type): Set the complex type to use before calling layout_type. * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add support for __float128 complex datatypes. (rs6000_hard_regno_mode_ok): Likewise. (rs6000_setup_reg_addr_masks): Likewise. (rs6000_complex_function_value): Likewise. * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise. __float128 and __ibm128 complex. (FLOAT128_IBM_P): Likewise. (ALTIVEC_ARG_MAX_RETURN): Likewise. * doc/extend.texi (Additional Floating Types): Document that -mfloat128 must be used to enable __float128. Document complex __float128 and __ibm128 support. [gcc/fortran] 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> * trans-types.c (gfc_build_complex_type): [gcc/testsuite] 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/float128-complex-1.c: New tests for complex __float128. * gcc.target/powerpc/float128-complex-2.c: Likewise. From-SVN: r235794
2016-05-03re PR target/49244 (__sync or __atomic builtins will not emit 'lock ↵Jakub Jelinek2-1/+16
bts/btr/btc') PR target/49244 * gimple.c (gimple_builtin_call_types_compatible_p): Allow char/short arguments promoted to int because of promote_prototypes. From-SVN: r235792
2016-05-02backport: Since x86 psABIs require the function incoming stack must align at ↵H.J. Lu2-1/+7
16 bytes... Backport r265322 from llvm upstream Since x86 psABIs require the function incoming stack must align at 16 bytes, child process stack passed to clone should be aligned at 16 bytes. PR testsuite/70520 * c-c++-common/asan/clone-test-1.c (main): Align child process stack to 16 bytes. From-SVN: r235790
2016-05-02PR c++/62314: C++: add fixit hint to misspelled member namesDavid Malcolm4-3/+46
When we emit a hint about a misspelled member name, it will slightly aid readability if we use a fixit-hint to show the proposed name in context within the source code (and in the future this might support some kind of auto-apply in an IDE). This patch adds such a hint to the C++ frontend, taking us from: test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'? return ptr->colour; ^~~~~~ to: test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'? return ptr->colour; ^~~~~~ color gcc/cp/ChangeLog: PR c++/62314 * typeck.c (finish_class_member_access_expr): When giving a hint about a possibly-misspelled member name, add a fix-it replacement hint. gcc/testsuite/ChangeLog: PR c++/62314 * g++.dg/spellcheck-fields-2.C: New test case. From-SVN: r235785
2016-05-02* ChangeLog: Add missing entry.Uros Bizjak1-0/+1
From-SVN: r235783
2016-05-02predicates.md (register_ssemem_operand): New predicate.Uros Bizjak3-27/+59
* config/i386/predicates.md (register_ssemem_operand): New predicate. * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from *cmpi<FPCMP:unord><MODEF:mode>_mixed and *cmpi<FPCMP:unord><X87MODEF:mode>_i387. Disable unsupported alternatives using "enabled" attribute. Use register_ssemem_operand as operand 1 predicate. (*cmpi<unord>xf_i387): Split XFmode pattern from *cmpi<FPCMP:unord><X87MODEF:mode>_i387. (*absneg<mode>2): Merge from *absneg<mode>2_mixed and *absneg<mode>2_i387. Disable unsupported alternatives using "enabled" attribute. From-SVN: r235782
2016-05-02c-common.h (enum c_omp_region_type): Define.Cesar Philippidis11-89/+147
gcc/c-family/ * c-common.h (enum c_omp_region_type): Define. gcc/c/ * c-parser.c (c_parser_oacc_all_clauses): Update call to c_finish_omp_clauses. (c_parser_omp_all_clauses): Likewise. (c_parser_oacc_cache): Likewise. (c_parser_oacc_loop): Likewise. (omp_split_clauses): Likewise. (c_parser_omp_declare_target): Likewise. (c_parser_cilk_all_clauses): Likewise. (c_parser_cilk_for): Likewise. * c-typeck.c (c_finish_omp_clauses): Replace bool arguments is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort. gcc/cp/ * cp-tree.h (finish_omp_clauses): Update prototype. * parser.c (cp_parser_oacc_all_clauses): Update call to finish_omp_clauses. (cp_parser_omp_all_clauses): Likewise. (cp_parser_omp_for_loop): Likewise. (cp_omp_split_clauses): Likewise. (cp_parser_oacc_cache): Likewise. (cp_parser_oacc_loop): Likewise. (cp_parser_omp_declare_target): (cp_parser_cilk_simd_all_clauses): Likewise. (cp_parser_cilk_for): Likewise. * pt.c (tsubst_omp_clauses): Replace allow_fields and declare_simd arguments with enum c_omp_region_type ort. (tsubst_omp_clauses): Update calls to finish_omp_clauses. (tsubst_omp_attribute): Update calls to tsubst_omp_clauses. (tsubst_omp_for_iterator): Update calls to finish_omp_clauses. (tsubst_expr): Update calls to tsubst_omp_clauses. * semantics.c (finish_omp_clauses): Replace bool arguments allow_fields, declare_simd, and is_cilk with bitmask ort. (finish_omp_for): Update call to finish_omp_clauses. From-SVN: r235780
2016-05-02PR c++/62314: add fixit hint for missing "template <> " in explicit ↵David Malcolm4-2/+45
specialization gcc/cp/ChangeLog: PR c++/62314 * parser.c (cp_parser_class_head): Capture the start location; use it to emit a fix-it insertion hint when complaining about missing "template <> " in explicit specializations. gcc/testsuite/ChangeLog: PR c++/62314 * g++.dg/pr62314.C: New test case. From-SVN: r235777
2016-05-02omp-low.c (lower_oacc_head_tail): Assert there is at least one marker.Nathan Sidwell2-6/+8
* omp-low.c (lower_oacc_head_tail): Assert there is at least one marker. (oacc_loop_process): Check mask for loop termination. From-SVN: r235775
2016-05-02ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert ↵Jan Hubicka2-2/+3
accidental change. * ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert accidental change. From-SVN: r235771
2016-05-02* cif-code.def (CIF_THUNK): Add.Jan Hubicka2-0/+8
From-SVN: r235770
2016-05-02* sv.po, zh_CN.po: Update.Joseph Myers3-122/+107
From-SVN: r235768
2016-05-02ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressionsJan Hubicka7-15/+163
* ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions (dump_inline_summary): Dump it. (fp_expression_p): New predicate. (estimate_function_body_sizes): Use it. (inline_merge_summary): Merge fp_expressions. (inline_read_section): Read fp_expressions. (inline_write_summary): Write fp_expressions. * ipa-inline.c (can_inline_edge_p): Permit inlining across fp math codegen boundary if either caller or callee is !fp_expressions. * ipa-inline.h (inline_summary): Add fp_expressions. * ipa-inline-transform.c (inline_call): When inlining !fp_expressions to fp_expressions be sure the fp generation flags are updated. * gcc.dg/ipa/inline-8.c: New testcase. From-SVN: r235766
2016-05-02re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with ↵Jakub Jelinek4-1/+90
uint64_t variable) PR rtl-optimization/70467 * cse.c (cse_insn): Handle no-op MEM moves after folding. * gcc.target/i386/pr70467-1.c: New test. From-SVN: r235765
2016-05-02re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with ↵Jakub Jelinek2-2/+10
uint64_t variable) PR rtl-optimization/70467 * ipa-pure-const.c (check_call): Handle internal calls even in ipa mode like in local mode. From-SVN: r235764
2016-05-02configure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code.Bernd Edlinger2-0/+10
2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de> * configure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code. * configure: Regenerated. * Makefile.def (gmp): Explicitly disable assembler. (mpfr): Adjust lib_path. (mpc): Likewise. * Makefile.in: Regenerated. gcc/ 2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de> * doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions. contrib/ 2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de> * download_prerequisites: Adjust gmp/mpfr/mpc versions. From-SVN: r235763
2016-05-02spec-options.c: Run the test on all targets.Bernd Edlinger3-3/+7
2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de> * gcc.dg/spec-options.c: Run the test on all targets. * gcc.dg/foo.specs: Use cpp_unique_options. From-SVN: r235762
2016-05-02Canonicalize X u< X to UNORDERED_EXPRMarc Glisse4-0/+19
2016-05-02 Marc Glisse <marc.glisse@inria.fr> gcc/ * match.pd (X u< X, X u> X): New transformations. gcc/testsuite/ * gcc.dg/tree-ssa/unord.c: New testcase. From-SVN: r235761
2016-05-02Move "X +- C1 CMP C2 to X CMP C2 -+ C1" to match.pdMarc Glisse9-95/+90
2016-05-02 Marc Glisse <marc.glisse@inria.fr> gcc/ * flag-types.h (enum warn_strict_overflow_code): Move ... * coretypes.h: ... here. * fold-const.h (fold_overflow_warning): Declare. * fold-const.c (fold_overflow_warning): Make non-static. (fold_comparison): Move the transformation of X +- C1 CMP C2 into X CMP C2 -+ C1 ... * match.pd: ... here. * gimple-fold.c (fold_stmt_1): Protect with fold_defer_overflow_warnings. gcc/testsuite/ * gcc.dg/tree-ssa/20040305-1.c: Adjust. From-SVN: r235760
2016-05-02omp-low.c (struct oacc_loop): Add 'inner' field.Nathan Sidwell4-18/+54
gcc/ * omp-low.c (struct oacc_loop): Add 'inner' field. (new_oacc_loop_raw): Initialize it to zero. (oacc_loop_fixed_partitions): Initialize it. (oacc_loop_auto_partitions): Partition outermost loop to outermost available partitioning. gcc/testsuite/ * c-c++-common/goacc/loop-auto-1.c: Adjust expected warnings. libgomp/ * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust expected partitioning. From-SVN: r235756
2016-05-02Fix make install-gcc-specs with empty GCC_SPEC_FILESRainer Orth2-4/+8
* gcc-interface/Makefile.in (install-gcc-specs): Use foreach. Honor DESTDIR. From-SVN: r235754
2016-05-02re PR c/70851 (internal compiler error: in create_tmp_var, at gimple-expr.c:473)Marek Polacek4-2/+44
PR c/70851 * c-decl.c (grokdeclarator): Diagnose when array's size has an incomplete type. * gcc.dg/enum-incomplete-3.c: New test. From-SVN: r235750
2016-05-02[ARC] Various instruction pattern fixesClaudiu Zissulescu2-7/+19
gcc/ 2016-05-02 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (mulsidi3): Change operand 0 predicate to register_operand. (umulsidi3): Likewise. (indirect_jump): Fix jump instruction assembly patterns. From-SVN: r235749
2016-05-02[PR target/70860] [nvptx] Handle NULL cfun in nvptx_libcall_valueThomas Schwinge2-1/+8
gcc/ PR target/70860 * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun. (nvptx_function_value): Assert non-NULL cfun. From-SVN: r235748
2016-05-02Minor reformatting.Arnaud Charlet2-6/+8
From-SVN: r235747
2016-05-02[multiple changes]Arnaud Charlet5-18/+53
2016-05-02 Tristan Gingold <gingold@adacore.com> * fname.adb (Is_Predefined_File_Name): Also consider non-krunched i-* names. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Aggregate_Constraint_Checks): Separate accessibility checks and non-null checks for aggregate components, to prevent spurious accessibility errors. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (OK_For_Limited_Init): A type conversion is not always legal in the in-place initialization of a limited entity (e.g. an allocator). * sem_res.adb (Resolve_Allocator): Improve error message with RM reference when allocator expression is illegal. From-SVN: r235746
2016-05-02[multiple changes]Arnaud Charlet4-36/+79
2016-05-02 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Call): When inlining a call to a function declared in a package instance, locate the instance node of the package after the actual package declaration. skipping over pragmas that may have been introduced when the generic unit carries aspects that are transformed into pragmas. 2016-05-02 Bob Duff <duff@adacore.com> * s-memory.adb (Alloc, Realloc): Move checks for Size = 0 or size_t'Last into the Result = System.Null_Address path for efficiency. Improve comments (based on actual C language requirements for malloc). * exp_util.adb (Build_Allocate_Deallocate_Proc): Optimize the case where we are using the default Global_Pool_Object, and we don't need the heavy finalization machinery. From-SVN: r235745
2016-05-02Minor reformatting.Arnaud Charlet1-7/+7
From-SVN: r235744
2016-05-02exp_util.ads, [...]: Minor reformatting.Gary Dismukes3-7/+11
2016-05-02 Gary Dismukes <dismukes@adacore.com> * exp_util.ads, sem_ch12.adb: Minor reformatting. From-SVN: r235743
2016-05-02[multiple changes]Arnaud Charlet5-23/+61
2016-05-02 Javier Miranda <miranda@adacore.com> * exp_util.ads, exp_util.adb (Force_Evaluation): Adding new formal. (Remove_Side_Effects): Adding a new formal. * exp_ch6.adb (Expand_Simple_Function_Return): Generating the call to the _Postconditions procedure ensure that side-effects are unconditionally removed. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Check_Formal_Package_Instance, Check_Mismatch): Use original node to determine whether the declaration is for a formal type declaration, to take into account that formwl private types are rewritten as private extension declarations to simplify semantic analysis. From-SVN: r235742
2016-05-02exp_ch9.adb, [...]: Minor reformatting and typo fixes.Gary Dismukes4-39/+43
2016-05-02 Gary Dismukes <dismukes@adacore.com> * exp_ch9.adb, sem_ch6.adb, sem_ch6.ads: Minor reformatting and typo fixes. From-SVN: r235741
2016-05-02[multiple changes]Arnaud Charlet7-90/+123
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb, exp_ch9.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb: Minor reformatting. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Allocator): If the designated type is a private derived type with no discriminants, examine its underlying_full_view to determine whether the full view has defaulted discriminants, so their defaults can be used in the call to the initialization procedure for the designated object. From-SVN: r235740
2016-05-02[multiple changes]Arnaud Charlet12-371/+791
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_prag.adb, comperr.adb: Minor reformatting. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * exp_pakd.adb (Rj_Unchecked_Convert_To): Do not perform an unchecked conversion if the source size is 0 (indicating that its RM size is unknown). This will happen with packed arrays of non-discrete types, in which case the component type is known to match. 2016-05-02 Arnaud Charlet <charlet@adacore.com> * debug.adb: Reserve -gnatd.V. 2016-05-02 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Process_Full_View): Remove from visibility wrappers of synchronized types to avoid spurious errors with their wrapped entity. * exp_ch9.adb (Build_Wrapper_Spec): Do not generate the wrapper if no interface primitive is covered by the subprogram and this is not a primitive declared between two views; see Process_Full_View. (Build_Protected_Sub_Specification): Link the dispatching subprogram with its original non-dispatching protected subprogram since their names differ. (Expand_N_Protected_Type_Declaration): If a protected subprogram overrides an interface primitive then do not build a wrapper if it was already built. * einfo.ads, einfo.adb (Original_Protected_Subprogram): New attribute. * sem_ch4.adb (Names_Match): New subprogram. * sem_ch6.adb (Check_Synchronized_Overriding): Moved to library level and defined in the public part of the package to invoke it from Exp_Ch9.Build_Wrapper_Spec (Has_Matching_Entry_Or_Subprogram): New subprogram. (Report_Conflict): New subprogram. From-SVN: r235739
2016-05-02[multiple changes]Arnaud Charlet5-14/+52
2016-05-02 Jerome Lambourg <lambourg@adacore.com> * s-unstyp.ads: Code cleanups. 2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Size_Too_Small_Error): Fix the error message format. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * exp_prag.adb (Expand_attributes_In_Consequence, Expand_Attributes): If the prefix of'Old is an unconstrained type, for example an unconstrained formal of the enclosing subprogram, create an object declaration with an expression to obtain the actual subtype of the temporary. 2016-05-02 Arnaud Charlet <charlet@adacore.com> * comperr.adb (Delete_SCIL_Files): Add missing handling of N_Subprogram_Declaration. From-SVN: r235738
2016-05-02Minor reformatting.Arnaud Charlet1-3/+3
From-SVN: r235737
2016-05-02[multiple changes]Arnaud Charlet15-44/+73
2016-05-02 Gary Dismukes <dismukes@adacore.com> * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, checks.adb, sem_attr.adb, gnat1drv.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting and typo fixes. * sem_prag.adb, sem_ch12.adb: Minor typo fixes. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): The function call may be wrapped in an explicit type conversion. 2016-05-02 Jerome Lambourg <lambourg@adacore.com> * interfac.ads: use pragma No_Elaboration_Code_All. * s-unstyp.ads: s-unstyp.ads: use pragma No_Elaboration_Code_All. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem.adb (Analyze: If node is an error node previously created by the parser, disable expansion to prevent subsequent glitches in error recovery. From-SVN: r235736
2016-05-02re PR rtl-optimization/70886 (-frename-registers causes boostrap comparison ↵Eric Botcazou4-20/+39
failures on ia64) PR rtl-optimization/70886 * sched-deps.c (estimate_dep_weak): Canonicalize cselib values. * cselib.h (rtx_equal_for_cselib_1): Declare. (rtx_equal_for_cselib_p: New inline function. * cselib.c (rtx_equal_for_cselib_p): Delete. (rtx_equal_for_cselib_1): Make public. From-SVN: r235735
2016-05-02Minor reformatting.Arnaud Charlet1-6/+8
From-SVN: r235734
2016-05-02sem_ch13.adb (Alignment_Error): Removed.Hristian Kirtchev2-22/+20
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Alignment_Error): Removed. (Get_Alignment_Value): Code cleanup. From-SVN: r235733
2016-05-02[multiple changes]Arnaud Charlet15-615/+697
2016-05-02 Tristan Gingold <gingold@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): Use Has_Protected to check for the no local protected objects restriction. 2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb Anonymous_Master now uses Node35. (Anonymous_Master): Update the assertion and node reference. (Set_Anonymous_Master): Update the assertion and node reference. (Write_Field35_Name): Add output for Anonymous_Master. (Write_Field36_Name): The output is now undefined. * einfo.ads Update the node and description of attribute Anonymous_Master. Remove prior occurrences in entities as this is now a type attribute. * exp_ch3.adb (Expand_Freeze_Array_Type): Remove local variable Ins_Node. Anonymous access- to-controlled component types no longer need finalization masters. The master is now built when a related allocator is expanded. (Expand_Freeze_Record_Type): Remove local variable Has_AACC. Do not detect whether the record type has at least one component of anonymous access-to- controlled type. These types no longer need finalization masters. The master is now built when a related allocator is expanded. * exp_ch4.adb Remove with and use clauses for Lib and Sem_Ch8. (Current_Anonymous_Master): Removed. (Expand_N_Allocator): Call Build_Anonymous_Master to create a finalization master for an anonymous access-to-controlled type. * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call): Call routine Build_Anonymous_Master to create a finalization master for an anonymous access-to-controlled type. * exp_ch7.adb (Allows_Finalization_Master): New routine. (Build_Anonymous_Master): New routine. (Build_Finalization_Master): Remove formal parameter For_Anonymous. Use Allows_Finalization_Master to determine whether circumstances warrant a finalization master. This routine no longer creates masters for anonymous access-to-controlled types. (In_Deallocation_Instance): Removed. * exp_ch7.ads (Build_Anonymous_Master): New routine. (Build_Finalization_Master): Remove formal parameter For_Anonymous and update the comment on usage. * sem_util.adb (Get_Qualified_Name): New routines. (Output_Name): Reimplemented. (Output_Scope): Removed. * sem_util.ads (Get_Qualified_Name): New routines. 2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * debug.adb: Document the use of switch -gnatd.H. * gnat1drv.adb (Adjust_Global_Switches): Set ASIS_GNSA mode when -gnatd.H is present. (Gnat1drv): Suppress the call to gigi when ASIS_GNSA mode is active. * opt.ads: Add new option ASIS_GNSA_Mode. * sem_ch13.adb (Alignment_Error): New routine. (Analyze_Attribute_Definition_Clause): Suppress certain errors in ASIS mode for attribute clause Alignment, Machine_Radix, Size, and Stream_Size. (Check_Size): Use routine Size_Too_Small_Error to suppress certain errors in ASIS mode. (Get_Alignment_Value): Use routine Alignment_Error to suppress certain errors in ASIS mode. (Size_Too_Small_Error): New routine. From-SVN: r235732
2016-05-022016-05-02 Arnaud Charlet <charlet@adacore.com>Arnaud Charlet4-77/+79
* spark_xrefs.ads Description of the spark cross-references clarified; small style fixes. * lib-xref-spark_specific.adb (Add_SPARK_Scope, Detect_And_Add_SPARK_Scope): consider protected types and bodies as yet another scopes. (Enclosing_Subprogram_Or_Library_Package): refactored using Hristian's suggestions; added support for scopes of protected types and bodies; fix for entries to return the scope of the enclosing concurrent type, which is consistent with what is returned for protected subprograms. * sem_intr.adb: Minor style fix in comment. From-SVN: r235731