- 20 Jan, 2014 27 commits
-
-
2014-01-20 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Check_Function_Writable_Actuals): 1) Do not examine code that does not come from source. The check does not apply to code generated for constraint checks, and such code may generate spurious error messages when compiled with expansion disabled (as in a generic unit) because side effects may not have been removed. 2) Make error messages more explicit: indicate the component of the construct whose value is indeterminate because of a call to a function with in-out parameter in another component, when there is no mandated order of execution between the two components (actuals, aggregate components, alternatives). 2014-01-20 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor cleanup. From-SVN: r206820
Arnaud Charlet committed -
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result can now apply to a refined postcondition. * sem_ch6.adb (Analyze_Subprogram_Contract): Remove local variable Result_Seen. Add variables Case_Prag, Post_Prag, Seen_In_Case and Seen_In_Post. Update the mechanism that detects whether postconditions and/or constract-cases mention attribute 'Result and introduce a post-state when applied to functions. (Check_Result_And_Post_State): Removed. * sem_prag.adb (Analyze_Pragma): Add local variable Result_Seen. Verify that the expression of pragma Refined_Post mentions attribute 'Result and introduces a post-state. * sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine. 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Is_Subprogram_Call): New routine. (Process_Transient_Objects): Make variable Must_Hook global with respect to all locally declared subprograms. Search the context for at least one subprogram call. (Requires_Hooking): Removed. 2014-01-20 Claire Dross <dross@adacore.com> * a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads * a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove, External_Axiomatization); From-SVN: r206819
Arnaud Charlet committed -
sem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas. 2014-01-20 Robert Dewar <dewar@adacore.com> * sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas. * sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume): Allow Loop_Entry to be used in these pragmas if they appear in an appropriate context. (Placement_Error): Specialize error message for pragma Assert[_And_Cut] or pragma Assume containing Loop_Entry attribute. * a-exexpr-gcc.adb, sinput.adb: Minor reformatting. * s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting and code clean ups. From-SVN: r206818
Robert Dewar committed -
2014-01-20 Robert Dewar <dewar@adacore.com> * gnat1drv.adb: Minor comment update. 2014-01-20 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused variables, comment out unused code. * a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads * s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb * s-excmac-arm.ads: New file. 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Slice): Remove constant D and variables Drange and Index_Typ. Remove the circuitry which creates a range check to compare the index type of the array against the discrete_range. * sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update the circuitry which creates a range check to handle a discrete_range denoted by a subtype indication. 2014-01-20 Pierre-Marie Derodat <derodat@adacore.com> * sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original nodes to get the original sloc range. 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the entity of a [library level] package. From-SVN: r206817
Arnaud Charlet committed -
2014-01-20 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (exception_class_eq): New function. (is_handled_by): Use it to compare exception classes. (PERSONALITY_STORAGE): Define. (continue_unwind): New function to be called to return URC_CONTINUE_UNWIND. (personality_body): New function, extracted from PERSONALITY_ROUTINE. (PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder. 2014-01-20 Robert Dewar <dewar@adacore.com> * opt.ads: Minor comment update. From-SVN: r206815
Arnaud Charlet committed -
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Slice): Relocate some variables and constants to the "Local variables" area. Add new constant D. Add new variables Drange and Index_Typ. Rename Pfx to Rep and Ptp to Pref_Typ and update all occurrences. Add circuitry to extract the discrete_range and the index type and build a range check. 2014-01-20 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Enable Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics is set. 2014-01-20 Thomas Quinot <quinot@adacore.com> * sem_ch5.adb, sem_ch4.adb: Minor reformatting. 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): When aspect SPARK_Mode appears on a package body, insert the generated pragma at the top of the body declarations. From-SVN: r206814
Arnaud Charlet committed -
2014-01-20 Robert Dewar <dewar@adacore.com> * sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb, checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb, expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb, sem_ch8.adb, exp_dist.adb: Minor reformatting. From-SVN: r206813
Robert Dewar committed -
2014-01-20 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove mode. 2014-01-20 Pascal Obry <obry@adacore.com> * g-arrspl.ads (Slice_Set): New definition (will use a copy on write scheme). * g-arrspl.adb: Adapt all routine to this new implementation. (Set): Copy the Slice_Set definition before reusing it. From-SVN: r206812
Arnaud Charlet committed -
sem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old Ada 83 style of pragma Import. 2014-01-20 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old Ada 83 style of pragma Import. (Analyze_Pragma): Ditto for pragma Export. * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma Import style. From-SVN: r206810
Arnaud Charlet committed -
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * einfo.ads: E_Abstract_State is now part of the entities that can be overloaded. Update type Overloadable_Kind to reflect the inclusion of abstract states. * sem_ch6.adb (New_Overloaded_Entity): A function can now overload an abstract state. * sem_prag.adb (Analyze_Constituent): Handle the overloading of states by functions. Use Entity_Of to obtain the entity of a constituent. (Analyze_Global_Item): Handle the overloading of states by functions. (Analyze_Initialization_Item): Handle the overloading of states by functions. Use Entity_Of to obtain the entity of an item. (Analyze_Input_Item): Handle the overloading of states by functions. Use Entity_Of to obtain the entity of an item. (Analyze_Input_Output): Handle the overloading of states by functions. (Analyze_Refinement_Clause): Handle the overloading of states by functions. Use Entity_Of to obtain the entity of an item. (Appears_In): Use Entity_Of to obtain the entity of an element. (Check_Usage): Use Entity_Of to obtain the entity of an item. Add a guard to prevent a crash due to a previous error. (Resolve_State): New routine. 2014-01-20 Yannick Moy <moy@adacore.com> * spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads, opt.ads: Minor comments updates. From-SVN: r206809
Arnaud Charlet committed -
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Non_Limited_View): Applies to abstract states. (Set_From_Limited_With): Applies to abstract states. (Set_Non_Limited_View): Applies to abstract states. (Write_Field17): Output the non-limited view of an abstract state. * einfo.ads: Update the comment on usage and occurrences in nodes for attributes From_Limited_With and Non_Limited_View. * sem_aux.adb (Available_View): This routine can now handle abstract states. * sem_aux.ads (Available_View): This routine can now handle abstract states. Update the comment on usage. * sem_ch8.adb (Find_Expanded_Name): Handle abstract views of states and variables. (In_Pragmas_Depends_Or_Global): New routine. * sem_ch10.adb (Build_Limited_Views): Implement abstract (limited) views of variables and states. (Build_Shadow_Entity): This routine is now a procedure. Add formal parameter Shadow. Update the comment on usage. Add context-specific decoration for states and variables. (Decorate_State): New routine. (Decorate_Variable): New routine. (Find_And_Process_States): New routine. (Process_Declarations): Renamed to Process_Declarations_And_States. (Process_Declarations_And_States): Add formal parameters Pack and Create_Abstract_Views. Update the comment on usage. (Process_States): New routine. * sem_prag.adb (Check_Dependency_Clause): Handle abstract views of states and variables. Match the abstract view of a state against its corresponding non-abstract view. (Is_Matching_Input): Handle abstract views of states and variables. Match the abstract view of a state against its corresponding non-abstract view. (Process_Global_Item): Handle abstract views of states and variables. From-SVN: r206808
Hristian Kirtchev committed -
sem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current with-ed name refers to a package... 2014-01-20 Bob Duff <duff@adacore.com> * sem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current with-ed name refers to a package that renames its own parent, eg "package P.Q renames P;". From-SVN: r206807
Bob Duff committed -
2014-01-20 Yannick Moy <moy@adacore.com> * exp_spark.adb (Expand_SPARK_Call): Remove procedure. * opt.adb, opt.ads (Full_Expander_Active): Remove function. * checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb, * sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, * sem_disp.adb, sem_res.adb Replace Full_Expander_Active by Expander_Active. 2014-01-20 Yannick Moy <moy@adacore.com> * sinfo.ads Update documentation of GNATprove mode. From-SVN: r206806
Yannick Moy committed -
* adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb, * exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb, * sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, * sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into GNATprove_Mode. * sem_ch13.adb: Remove blank. * exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace subprograms by alias for renamings, not for inherited primitive operations. * exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion in GNATprove mode. (Remove_Side_Effects): Apply the removal in GNATprove mode, for the full analysis of expressions. * expander.adb (Expand): Call the light SPARK expansion in GNATprove mode. (Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore save/restore actions for Expander_Active flag in GNATprove mode, similar to what is done in ASIS mode. * frontend.adb (Frontend): Generic bodies are instantiated in GNATprove mode. * gnat1drv.adb (Adjust_Global_Switches): Set operating mode to Check_Semantics in GNATprove mode, although a light expansion is still performed. (Gnat1drv): Set Back_End_Mode to Declarations_Only in GNATprove mode, and later on special case the GNATprove mode to continue analysis anyway. * lib-writ.adb (Write_ALI): Always generate ALI files in GNATprove mode. * opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to Expander_Active. (SPARK_Mode): Renamed as GNATprove_Mode. * sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the tree in GNATprove_Mode. * sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate body in GNATprove mode. (Need_Subprogram_Instance_Body): Always instantiate body in GNATprove mode. * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl): Make sure side effects are removed in GNATprove mode. From-SVN: r206805
Yannick Moy committed -
gcc/ * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class_ptr): Declare. * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class, aarch64_cannot_change_mode_class_ptr): New. * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call backend hook aarch64_cannot_change_mode_class. From-SVN: r206804
Tejas Belagod committed -
gcc/ * common/config/aarch64/aarch64-common.c (aarch64_handle_option): Don't handle any option order logic here. * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override selected_cpu, warn on architecture version mismatch. (aarch64_override_options): Fix parsing order for option strings. From-SVN: r206803
James Greenhalgh committed -
gcc: PR bootstrap/59496 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable warning. Amend comment to reflect current functionality. Co-Authored-By: Iain Sandoe <iain@codesourcery.com> From-SVN: r206802
Jan-Benedict Glaw committed -
2014-01-20 Richard Biener <rguenther@suse.de> PR middle-end/59860 * builtins.c (fold_builtin_strcat): Remove case better handled by tree-ssa-strlen.c. * gcc.dg/pr59860.c: New testcase. From-SVN: r206799
Richard Biener committed -
decl.c (gnat_to_gnu_entity): Robustify tests for aliased objects with an unconstrained nominal subtype. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests for aliased objects with an unconstrained nominal subtype. * gcc-interface/trans.c (Call_to_gnu): Likewise. (gnat_to_gnu) <case N_Op_Not>: Robustify test for private type. <case N_Op_Minus>: Remove useless code. (Exception_Handler_to_gnu_zcx): Minor tweaks. From-SVN: r206798
Eric Botcazou committed -
gcc/ * config/aarch64/aarch64.opt (mcpu, march, mtune): Make case-insensitive. From-SVN: r206797
Alan Lawrence committed -
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>: Tidy up. For a subtype with discriminants and variant part, if a variant is statically selected and the fields all have a constant position, put them in order of increasing position. Likewise if no variant part but representation clause is present. * gcc-interface/utils.c (make_packable_type): Robustify. (maybe_pad_type): Use local variable and tidy up condition. If no alignment is specified, use the original one. (create_type_stub_decl): Minor tweak. (convert) <case VECTOR_CST>: Fix typo. <case CONSTRUCTOR>: Deal with padding types around the same type. Do not punt on missing fields. (unchecked_convert): Call finish_record_type to lay out the special record types made for conversions from/to problematic integer types. Bump the alignment of CONSTRUCTORs before converting them to a more aligned type. From-SVN: r206796
Eric Botcazou committed -
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove obsolete code for type_annotate_only mode, simplify code and slightly improve wording of comments. From-SVN: r206794
Eric Botcazou committed -
c-family/ * c-ada-spec.h (dump_ada_specs): Revert prototype change. * c-ada-spec.c (dump_ads): Likewise. (cpp_check): Likewise. (dump_ada_specs): Likewise. cp/ * decl2.c (cpp_check): Revert prototype change. From-SVN: r206793
Eric Botcazou committed -
PR target/59880 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if operands[1] is a REG or ZERO_EXTEND of a REG. * gcc.target/i386/pr59880.c: New test. From-SVN: r206792
Jakub Jelinek committed -
From-SVN: r206791
Renlin Li committed -
* MAINTAINERS: Convert to UTF-8. Properly sort Xinliang David Li's entry. From-SVN: r206790
Gerald Pfeifer committed -
From-SVN: r206789
GCC Administrator committed
-
- 19 Jan, 2014 13 commits
-
-
2014-01-19 Steven G. Kargl <kargl@gcc.gnu.org> PR libfortran/59771 PR libfortran/59774 PR libfortran/59836 * gfortran.dg/round_3.f08: New cases added. * gfortran.dg/fmt_g_1.f90: New test. From-SVN: r206786
Steven G. Kargl committed -
2014-01-19 Jerry DeLisle <jvdelisle@gcc.gnu> Dominique d'Humieres <dominiq@lps.ens.fr> PR libfortran/59771 PR libfortran/59774 PR libfortran/59836 * io/write_float.def (output_float): Fix wrong handling of the Fw.0 format. (output_float_FMT_G_): Fixes rounding issues with -m32. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r206785
Jerry DeLisle committed -
From-SVN: r206784
Jan Hubicka committed -
regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**". 2014-01-19 Tim Shen <timshen91@gmail.com> * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**". * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()): Likewise. * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New. From-SVN: r206783
Tim Shen committed -
* g++.dg/pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets. From-SVN: r206782
Uros Bizjak committed -
* config/pa/pa.c (pa_attr_length_millicode_call): Correct length of long non-pic millicode calls. From-SVN: r206779
John David Anglin committed -
2014-01-19 Kito Cheng <kito@0xlab.org> * gcc/builtins.c (expand_movstr): Check movstr expand done or fail. From-SVN: r206777
Kito Cheng committed -
gcc/testsuite/ * gcc.target/mips/pr54240.c: Add -ffat-lto-objects. From-SVN: r206776
Richard Sandiford committed -
Since started, the VAX backend doesn't compile with config-list.mk because one of VAX's macros doesn't use its argument: g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -o loop-invariant.o -MT loop-invariant.o -MMD -MP -MF ./.deps/loop-invariant.TPo ../../../gcc/gcc/loop-invariant.c ../../../gcc/gcc/loop-invariant.c: In function ‘bool check_dependency(basic_block, df_ref, bitmap)’:../../../gcc/gcc/loop-invariant.c:789:20: error: unused variable ‘regno’ [-Werror=unused-variable] unsigned int regno = DF_REF_REGNO (use); ^ cc1plus: all warnings being treated as errors make[2]: *** [loop-invariant.o] Error 1 This should fix it: 2014-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning. [BR]: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00882.html From-SVN: r206775
Jan-Benedict Glaw committed -
re PR target/59379 (gomp_init_num_threads is compiled into an infinite loop with --with-arch=corei7 --with-cpu=slm) PR target/59379 * config/i386/i386.md (*lea<mode>): Zero-extend return register to DImode for zero-extended addresses. From-SVN: r206774
Uros Bizjak committed -
re PR rtl-optimization/57763 (comp-goto-1.c: ICE verify_flow_info failed, error: EDGE_CROSSING missing across section boundary) PR rtl-optimization/57763 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL on the new indirect jump_insn and increment LABEL_NUSES (label). From-SVN: r206773
Jakub Jelinek committed -
gcc/testsuite/ * gcc.dg/vect/pr57705.c: Require vect_int. * gcc.dg/vect/pr58508.c: Fix order of dg-require-effective-target line. * gcc.dg/vect/vect-alias-check.c: Likewise. From-SVN: r206771
Richard Sandiford committed -
From-SVN: r206770
GCC Administrator committed
-