- 02 May, 2016 40 commits
-
-
From-SVN: r235768
Joseph Myers committed -
PR c++/70498 * cp-demangle.c: Parse numbers as integer instead of long to avoid overflow after sanity checks. Include <limits.h> if available. (INT_MAX): Define if necessary. (d_make_template_param): Takes integer argument instead of long. (d_make_function_param): Likewise. (d_append_num): Likewise. (d_identifier): Likewise. (d_number): Parse as and return integer. (d_compact_number): Handle overflow. (d_source_name): Change variable type to integer for parsed number. (d_java_resource): Likewise. (d_special_name): Likewise. (d_discriminator): Likewise. (d_unnamed_type): Likewise. * testsuite/demangle-expected: Add regression test cases. From-SVN: r235767
Marcel Böhme committed -
* 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
Jan Hubicka committed -
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
Jakub Jelinek committed -
PR rtl-optimization/70467 * ipa-pure-const.c (check_call): Handle internal calls even in ipa mode like in local mode. From-SVN: r235764
Jakub Jelinek committed -
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
Bernd Edlinger committed -
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
Bernd Edlinger committed -
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
Marc Glisse committed -
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
Marc Glisse committed -
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
Nathan Sidwell committed -
* gcc-interface/Makefile.in (install-gcc-specs): Use foreach. Honor DESTDIR. From-SVN: r235754
Rainer Orth committed -
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
Marek Polacek committed -
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
Claudiu Zissulescu committed -
gcc/ PR target/70860 * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun. (nvptx_function_value): Assert non-NULL cfun. From-SVN: r235748
Thomas Schwinge committed -
From-SVN: r235747
Arnaud Charlet committed -
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
Arnaud Charlet committed -
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
Arnaud Charlet committed -
From-SVN: r235744
Arnaud Charlet committed -
2016-05-02 Gary Dismukes <dismukes@adacore.com> * exp_util.ads, sem_ch12.adb: Minor reformatting. From-SVN: r235743
Gary Dismukes committed -
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
Arnaud Charlet committed -
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
Gary Dismukes committed -
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
Arnaud Charlet committed -
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
Arnaud Charlet committed -
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
Arnaud Charlet committed -
From-SVN: r235737
Arnaud Charlet committed -
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
Arnaud Charlet committed -
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
Eric Botcazou committed -
From-SVN: r235734
Arnaud Charlet committed -
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Alignment_Error): Removed. (Get_Alignment_Value): Code cleanup. From-SVN: r235733
Hristian Kirtchev committed -
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
Arnaud Charlet committed -
* 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
Arnaud Charlet committed -
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * lib-xref.ads, lib-xref-spark_specific.adb, get_spark_xrefs.adb, put_spark_xrefs.adb: Minor reformatting. 2016-05-02 Doug Rupp <rupp@adacore.com> * g-traceb.ads: Document traceback for ARM. 2016-05-02 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_Tags): Do not generate the external name of interface tags adding the suffix counter since it causes problems at link time when the IP routines are inlined across units with optimization. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Predicates_Ignared): new flag to indicate that predicate checking is disabled for predicated subtypes in the context of an Assertion_Policy pragma. * checks.adb (Apply_Predicate_Check): Do nothing if Predicates_Ignored is true. * exp_ch3.adb (Expand_Freeze_Enumeration_Type): If Predicates_Ignores is true, the function Rep_To_Pos does raise an exception for invalid data. * exp_ch4.adb (Expand_N_Type_Conversion): IF target is a predicated type do not apply check if Predicates_Ignored is true. * exp_ch5.adb (Expand_N_Case_Statement): If Predicates_Ignored is true, sem_prag.adb: * sem_ch3.adb (Analyze_Object_Declaration): If Predicates_Ignored is true do not emit predicate check on initializing expression. From-SVN: r235730
Arnaud Charlet committed -
2016-05-02 Arnaud Charlet <charlet@adacore.com> * get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when they are declared; refine type of a counter from Integer to Natural. * sem_ch5.adb, gnatcmd.adb, s-intman-posix.adb, eval_fat.adb, prj.adb, sem_util.adb, s-intman-android.adb, prj-nmsc.adb, sem_ch8.adb, exp_ch3.adb: Minor editing. From-SVN: r235729
Arnaud Charlet committed -
2016-05-02 Yannick Moy <moy@adacore.com> * a-tigeli.adb (Get_Line): Always set Last prior to returning. 2016-05-02 Yannick Moy <moy@adacore.com> * lib-xref.adb: Minor style fix in whitespace of declarations. * put_spark_xrefs.adb (Put_SPARK_Xrefs): printing of strings refactored without loops. * put_spark_xrefs.ads (Write_Info_Str): new formal argument of generic procedure. * spark_xrefs.adb (Write_Info_Str): new actual in instantiation of generic procedure. From-SVN: r235728
Yannick Moy committed -
* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate. (register_mixssei387nonimm_operand): Remove predicate. * config/i386/i386.md (*fop_<mode>_comm): Merge from *fop_<mode>_comm_mixed and *fop_<mode>_comm_i387. Disable unsupported alternatives using "enabled" attribute. Also check X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives. (*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387. Disable unsupported alternatives using "enabled" attribute. Use nonimm_ssenomem_operand as operand 1 predicate. Also check X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives. * config/i386/predicates.md (nonimm_ssenomem_operand): New predicate. (register_mixssei387nonimm_operand): Remove predicate. From-SVN: r235727
Uros Bizjak committed -
2016-05-02 Arnaud Charlet <charlet@adacore.com> * lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope. (Detect_And_Add_SPARK_Scope): detect and add task type scope. (Enclosing_Subprogram_Or_Package): Respect boundaries of task and entry declarations. * spark_xrefs.ads: minor typo in comment. From-SVN: r235726
Arnaud Charlet committed -
2016-05-02 Arnaud Charlet <charlet@adacore.com> * make.adb: Minor: avoid an exception when calling gnatmake with no argument and gnatmake is built with checks on. * lib-xref-spark_specific.adb: Minor code cleanup. From-SVN: r235725
Arnaud Charlet committed -
From-SVN: r235724
Arnaud Charlet committed -
sem_util.adb (Normalize_Actuals): Take into account extra actuals that may have been introduced previously. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Normalize_Actuals): Take into account extra actuals that may have been introduced previously. Normally extra actuals are introduced when a call is expanded, but a validity check may copy and reanalyze a call that carries an extra actual (e.g. an accessibility parameter) before the call itself is marked Analzyed, and the analysis of the copy has to be able to cope with the added actual. From-SVN: r235723
Ed Schonberg committed -
While looking at the use of cst_and_fits_in_hwi in tree-ssa-loop-ivopts.c, I had difficulty working out what the function actually tests. The final NUNITS check seems redundant, since it asks about the number of HWIs in the _unextended_ constant. We've already checked that the unextended constant has no more than HOST_BITS_PER_WIDE_INT bits, so the length must be 1. I think this was my fault, sorry. Tested on x86_64-linux-gnu and aarch64-linux-gnu. gcc/ * tree.c (cst_and_fits_in_hwi): Simplify. From-SVN: r235722
Richard Sandiford committed
-