aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-02-20re PR middle-end/60221 (gcc -fexceptions generates unnecessary cleanup code)Richard Biener2-2/+9
2014-02-20 Richard Biener <rguenther@suse.de> PR middle-end/60221 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH regions at -O0. From-SVN: r207937
2014-02-20re PR middle-end/58555 (Floating point exception in ↵Jan Hubicka6-7/+150
want_inline_self_recursive_call_p) PR ipa/58555 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale parameter specifying the scaling. (inline_call): Update. (want_inline_recursively): Guard division by zero. (recursive_inlining): Update. * ipa-inline.h (clone_inlined_nodes): Update. * testsuite/g++.dg/torture/pr58555.C: New testcase. From-SVN: r207934
2014-02-20re PR target/60204 (struct with __m512i is mishandled in function parameter ↵Ilya Tocar5-82/+25
passing and return) gcc/ PR target/60204 * config/i386/i386.c (classify_argument): Pass structures of size 64 bytes or less in register. tessuite/gcc/ PR target/60204 * gcc.target/x86_64/abi/avx512f/test_passing_structs.c: Update to reflect abi fix. * gcc.target/x86_64/abi/avx512f/test_passing_unions.c: Ditto. From-SVN: r207933
2014-02-20avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.Ilya Tocar11-52/+94
gcc/ * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands. (_mm_rcp28_round_ss): Ditto. (_mm_rsqrt28_round_sd): Ditto. (_mm_rsqrt28_round_ss): Ditto. * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto. (_mm_rcp14_round_ss): Ditto. (_mm_rsqrt14_round_sd): Ditto. (_mm_rsqrt14_round_ss): Ditto. * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as the first input operand, get rid of match_dup. (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type attribute to sse. (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto. (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate operand as the first input operand, set type attribute. (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Set type attribute. (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate operand as the first input operand, set type attribute. testsuite/gcc/ * gcc.target/i386/avx512er-vrcp28sd-2.c: Distinguish src1 and src2. * gcc.target/i386/avx512er-vrcp28ss-2.c: Call correct intrinsic. * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Distinguish src1 and src2. * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto. * gcc.target/i386/avx512f-vrcp14sd-2.c: Fix reference calculation. * gcc.target/i386/avx512f-vrcp14ss-2.c: Fix reference calculation. Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> From-SVN: r207932
2014-02-20Daily bump.GCC Administrator1-1/+1
From-SVN: r207930
2014-02-19re PR c/37743 (Bogus printf format warning with __builtin_bswap32.)Jakub Jelinek5-3/+49
PR c/37743 * c-common.c (c_common_nodes_and_builtins): When initializing c_uint{16,32,64}_type_node, also set corresponding uint{16,32,64}_type_node to the same value. * g++.dg/ext/builtin-bswap1.C: New test. * c-c++-common/pr37743.c: New test. From-SVN: r207924
2014-02-19rs6000.c (vspltis_constant): Fix most significant bit of zero.Bill Schmidt2-1/+6
2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (vspltis_constant): Fix most significant bit of zero. From-SVN: r207919
2014-02-19re PR c++/60046 (internal compiler error: in nothrow_spec_p, at ↵Jason Merrill3-0/+31
cp/except.c:1280) PR c++/60046 * pt.c (maybe_instantiate_noexcept): Don't instantiate exception spec from template context. From-SVN: r207917
2014-02-19c-parser.c (c_parser_declspecs): Replace call to error by error_at.Prathamesh Kulkarni4-2/+24
* c-parser.c (c_parser_declspecs): Replace call to error by error_at. (c_parser_parameter_declaration): Likewise. From-SVN: r207916
2014-02-19re PR debug/56563 (no debuginfo for "explicit" operator)Jakub Jelinek2-1/+4
PR debug/56563 * cp-objcp-common.c (cp_function_decl_explicit_p): Remove FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check. From-SVN: r207915
2014-02-19re PR c++/60267 (ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE ↵Jakub Jelinek4-0/+31
in tsubst_copy, at cp/pt.c:12887) PR c++/60267 * pt.c (tsubst_expr): Handle ANNOTATE_EXPR. * g++.dg/ext/ivdep-1.C: New test. From-SVN: r207914
2014-02-19Remove TFmode check for X86_64_INTEGER_CLASSH.J. Lu2-1/+7
PR target/60207 * config/i386/i386.c (construct_container): Remove TFmode check for X86_64_INTEGER_CLASS. From-SVN: r207913
2014-02-19re PR c++/60267 (ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE ↵Jakub Jelinek4-2/+28
in tsubst_copy, at cp/pt.c:12887) PR c++/60267 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma for PRAGMA_IVDEP if flag_preprocess_only. * gcc.dg/pr60267.c: New test. From-SVN: r207911
2014-02-19re PR target/59794 (i386 backend fails to detect MMX/SSE/AVX ABI changes)Uros Bizjak8-53/+62
PR target/59794 * config/i386/i386.c (type_natural_mode): Warn for ABI changes only when -Wpsabi is enabled. testsuite/ChangeLog: PR target/59794 * gcc.target/i386/pr39162.c: Add dg-prune-output. (dg-options): Remove -Wno-psabi. * gcc.target/i386/59794-2.c: Ditto. * gcc.target/i386/60205-1.c: Ditto. * gcc.target/i386/sse-5.c: Ditto. From-SVN: r207910
2014-02-19pr46966.c: Only run on 32-bit+ targets.Nick Clifton16-8/+79
* gcc.dg/graphite/pr46966.c: Only run on 32-bit+ targets. * gcc.dg/pr23623.c: Likewise. * gcc.dg/pr48784-1.c: Likewise. * gcc.dg/pr48784-2.c: Likewise. * gcc.dg/pr56997-2.c: Likewise. * gcc.dg/sms-6.c: Likewise. * gcc.dg/torture/pr60183.c: Likewise. * gcc.dg/torture/vec-cvt-1.c: Likewise. * gcc.c-torture/execute/20061220-1.x: New. * gcc.c-torture/execute/pr43220.x: New. * gcc.c-torture/execute/pr51581-1.x: New. * gcc.c-torture/execute/pr51581-2.x: New. * gcc.c-torture/execute/pr58570.x: New. * gcc.c-torture/unsorted/DFcmp.x: New. * gcc.c-torture/unsorted/SFset.x: New. From-SVN: r207909
2014-02-19re PR target/59799 (aarch64_pass_by_reference never passes arrays by value, ↵Michael Hudson-Doyle2-7/+10
contrary to ABI documentation) 2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org> PR target/59799 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for passing arrays in registers are the same as for structs, so remove the special case for them. From-SVN: r207908
2014-02-19[multiple changes]Arnaud Charlet7-21/+23
2014-02-19 Robert Dewar <dewar@adacore.com> * sem_ch5.adb, sem_prag.adb, sem_attr.adb: Minor reformatting. * debug.adb: Remove -gnatd.X switch, no longer used. * styleg.adb (Check_Then): Remove check of -gnatd.X, check is now always made. 2014-02-19 Bob Duff <duff@adacore.com> * g-socket.ads: Minor: Correct some comments. From-SVN: r207907
2014-02-19[multiple changes]Arnaud Charlet5-18/+53
2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb: Inhibit iterator rewriting in ASIS mode. 2014-02-19 Arnaud Charlet <charlet@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Do not generate an error on out of range priorities if Relaxed_RM_Semantics. * sem_prag.adb (Analyze_Pragma): Ditto. 2014-02-19 Bob Duff <duff@adacore.com> * sem_attr.adb (Resolve_Attribute): Detect the case of F'Access where F denotes the renaming of an enumeration literal, and issue a specialized error message. From-SVN: r207906
2014-02-19[multiple changes]Arnaud Charlet25-768/+1740
2014-02-19 Matthew Heaney <heaney@adacore.com> * a-chtgop.ads (Checked_Index): New operation. (Next): Changed mode of hash table. * a-chtgop.adb (Adjust, Delete_Node_Sans_Free): Detect tampering (Generic_Read, Reserve_Capacity): Ditto. (Generic_Equal): Detect tampering. (Next): Changed mode of hash table, detect tampering. * a-chtgke.ads (Checked_Index, Checked_Equivalent_Keys): New operation. (Find): Changed mode of hash table. * a-chtgke.adb (Checked_Equivalent_Keys): New operation (Delete_Key_Sans_Free, Generic_Conditional_Insert): Detect tampering. (Find): Changed mode of hash table, check for tampering. (Generic_Replace_Element): Check for tampering. * a-chtgbk.ads (Checked_Index, Checked_Equivalent_Keys): New operation. * a-chtgbk.adb (Checked_Index, Checked_Equivalent_Keys): New operation (Delete_Key_Sans_Free, Generic_Conditional_Insert): Detect tampering. (Find, Generic_Replace_Element): Check for tampering. * a-chtgbo.ads (Checked_Index): New operation. * a-chtgbo.adb (Checked_Index): New operation (Delete_Node_Sans_Free, Generic_Equal): Detect tampering. (Generic_Read, Next): Ditto. * a-cohase.adb, a-cihase.adb (Is_In): Changed mode of hash table (Difference, Intersection): Use variable view of source, detect tampering (Find, Is_Subset, Overlap): Use variable view of container (Symmetric_Difference, Union): Detect tampering (Vet): Use Checked_Index to detect tampering (Constant_Reference, Element, Find): Use variable view of container. (Update_Element_Preserving_Key): Detect tampering. * a-cbhase.adb (Difference, Find, Is_In): Use variable view of container. (Is_Subset): Ditto. (Equivalent_Sets, Overlap): Use Node's Next component. (Vet): Use Checked_Index to detect tampering. (Constant_Reference, Element, Find): Use variable view of container. (Update_Element_Preserving_Key): Detect tampering. * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Constant_Reference, Element, Find): Use variable view of container. (Reference): Rename hash table component. (Vet): Use Checked_Index to detect tampering. 2014-02-19 Arnaud Charlet <charlet@adacore.com> * adabkend.adb (Scan_Compiler_Arguments): Add missing handling of -nostdinc. 2014-02-19 Thomas Quinot <quinot@adacore.com> * tbuild.adb (New_Occurrence_Of, New_Rerefence_To): Guard against calls without Def_Id. 2014-02-19 Claire Dross <dross@adacore.com> * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, a-cofove.ads: Add global annotations to subprograms. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Remove constants Errors, Pack_Id and Pack_Init. Remove variable Vars. Initial_Condition no longer requires the presence of pragma Initialized. Do not try to diagnose whether all variables mentioned in pragma Initializes also appear in Initial_Condition. (Collect_Variables): Removed. (Match_Variable): Removed. (Match_Variables): Removed. (Report_Unused_Variables): Removed. 2014-02-19 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi (pragma Stream_Convert): Minor rewording. From-SVN: r207905
2014-02-19[multiple changes]Arnaud Charlet8-57/+81
2014-02-19 Robert Dewar <dewar@adacore.com> * sem_util.adb, sem_util.ads, prj-conf.adb, s-os_lib.adb: Minor reformatting. 2014-02-19 Vincent Celier <celier@adacore.com> * prj-part.adb (Parse_Single_Project): Use the fully resolved project path, with all symbolic links resolved, to check if the same project is imported with a different unresolved path. * prj-tree.ads (Project_Name_And_Node): Component Canonical_Path changed to Resolved_Path to reflect that all symbolic links are resolved. From-SVN: r207904
2014-02-19[multiple changes]Arnaud Charlet10-109/+194
2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_util.adb (Get_Cursor_Type): Moved to sem_util from sem_ch13, for use elsewhere. * sem_ch13.adb (Get_Cursor_Type): Moved to sem_util. * sem_ch5.adb (Analyze_Iterator_Specification): Set properly the cursor type on the loop variable when the iteration is over o formal container. 2014-02-19 Vincent Celier <celier@adacore.com> * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Add declaration for an empty Target (Check_Target): Never fail when an empty target is declared in the configuration project. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Check_Arg_Is_Local_Name): Argument is local if the pragma comes fron a predicate aspect and the context is a record declaration within the scope that declares the type. 2014-02-19 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor clarifications. * expander.adb, sem_aggr.adb: Add comments. From-SVN: r207903
2014-02-19expr.c (expand_expr_real_1): For a bit-field destination type...Eric Botcazou4-4/+62
* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field destination type, extract only the valid bits if the source type is not integral and has a different mode. From-SVN: r207902
2014-02-19[multiple changes]Arnaud Charlet7-9/+71
2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Check_Arg_Is_Local_Name): For an aspect that applies to a subprogram body, the name is the current scope, rather than being declared in the current scope. (Analyze_Pragma, case No_Return): Handle properly a No_Return aspect applied to a subprogram body. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Resolve_Iterable_Operation): Improve resolution of overloaded subprograms, and fix bug in handling of primitive operation Element. 2014-02-19 Pascal Obry <obry@adacore.com> * s-os_lib.adb: Minor reformatting. 2014-02-19 Yannick Moy <moy@adacore.com> * expander.adb (Expand): Do nothing inside generics. * sem_aggr.adb (Aggregate_Constraint_Checks): Do nothing inside generics. 2014-02-19 Yannick Moy <moy@adacore.com> * exp_ch2.adb: Remove useless 'with' of unit Uintp. From-SVN: r207901
2014-02-19[multiple changes]Arnaud Charlet12-28/+57
2014-02-19 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, style.adb, sem_prag.adb, sem_ch13.adb: Minor reformatting * a-sequio.adb: Remove useless pragma Extensions_Allowed (no longer needed). 2014-02-19 Claire Dross <dross@adacore.com> * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, a-cofove.ads: Add Iterable aspect to formal containers. From-SVN: r207900
2014-02-19re PR ipa/60243 (IPA is slow on large cgraph tree)Richard Biener2-32/+41
2014-02-19 Richard Biener <rguenther@suse.de> PR ipa/60243 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node for all calls. From-SVN: r207899
2014-02-19XFAIL gcc.dg/torture/pr60092.c execution on Solaris 11Rainer Orth2-0/+5
* gcc.dg/torture/pr60092.c: xfail execution on *-*-solaris2.11* at -O0. From-SVN: r207898
2014-02-19re PR fortran/60232 ([OOP] The rank of the element in the structure ↵Janus Weil4-3/+54
constructor does not match that of the component) 2014-02-19 Janus Weil <janus@gcc.gnu.org> PR fortran/60232 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful functions, which are used as procedure pointer target. 2014-02-19 Janus Weil <janus@gcc.gnu.org> PR fortran/60232 * gfortran.dg/typebound_proc_33.f90: New. From-SVN: r207896
2014-02-19[multiple changes]Arnaud Charlet3-6/+50
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb (Analyze_Declarations): Analyze a package contract at the end of the private declarations (if applicable), otherwise analyze it and the end of the visible declarations. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * style.adb (Missing_Overriding): If subprogram is an instantiation, place warning on the instance node itself, without mention of the original generic. Do not emit message if explicit Ada version is older than the introduction of the overriding indicator. From-SVN: r207895
2014-02-19[multiple changes]Arnaud Charlet6-185/+315
2014-02-19 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Doc clarifications. 2014-02-19 Yannick Moy <moy@adacore.com> * exp_util.adb (Remove_Side_Effects): Do not remove side-effects inside a generic. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Get_Cursor_Type): Obtain cursor type from specified First primitive, rather than by name. (Validate_Iterable_Aspect, Resolve_Iterable_Operation): Use it, and extend error checking for missing primitives and incorrect signatures. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Check_Pragma_Implemented): Detect additional errors when a Synchronization aspect on an overriding protected operation does not match the given aspect on the overridden operation of an ancestor interface. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Check_Loop_Pragma_Grouping): New routine. (Check_Loop_Pragma_Placement): Update comment on usage. Remove local variables Orig_Stmt and Within_Same_Sequence. Check that the current Loop_Invariant or Loop_Variant pragma is grouped together with other such pragmas. (Is_Loop_Pragma): New routine. (Prev_In_Loop): Removed. From-SVN: r207894
2014-02-19[multiple changes]Arnaud Charlet26-84/+333
2014-02-19 Robert Dewar <dewar@adacore.com> * par-ch6.adb (P_Return): For extended return, end column lines up with RETURN. * par.adb: Minor documentation clarification. 2014-02-19 Yannick Moy <moy@adacore.com> * sem_prag.adb (Check_Loop_Pragma_Placement): Add check that Loop_Invariant and Loop_Variant appear consecutively. * gnat_rm.texi Update documentation of Loop_Invariant and Loop_Variant pragmas. 2014-02-19 Robert Dewar <dewar@adacore.com> * debug.adb: Document -gnatd.X. * par-ch5.adb (P_If_Statement): Always check THEN, even if not first token (Check_Then_Column): Ditto. * styleg.adb (Check_Then): Allow THEN on line after IF. (Check_Then): Check THEN placement under control of -gnatd.X * styleg.ads (Check_Then): Now called even if THEN is not first token on line. * stylesw.ads (Style_Check_If_Then_Layout): Document new relaxed rules. * gnat_ugn.texi: For -gnatyi, THEN can now be on line after IF. 2014-02-19 Robert Dewar <dewar@adacore.com> * a-cfhama.adb, a-cfhase.adb, a-cforse.adb, a-cofove.adb, a-ngcefu.adb, a-teioed.adb, a-wtedit.adb, a-ztedit.adb, exp_ch5.adb, inline.adb, prj-pp.adb, prj-tree.adb, sem_ch12.adb, sem_ch8.adb, vms_conv.adb: Fix bad layout of IF statements From-SVN: r207893
2014-02-19exp_util.adb (Side_Effect_Free): Scalar if expressions can be SEF.Robert Dewar2-7/+18
2014-02-19 Robert Dewar <dewar@adacore.com> * exp_util.adb (Side_Effect_Free): Scalar if expressions can be SEF. From-SVN: r207892
2014-02-19[multiple changes]Arnaud Charlet9-486/+773
2014-02-19 Robert Dewar <dewar@adacore.com> * exp_util.adb: Update comments. 2014-02-19 Doug Rupp <rupp@adacore.com> * bindgen.adb (Gen_Adainit) [VMS] New global Float_Format. * init.c (__gl_float_format): [VMS] New global. (__gnat_set_features): Call FP_CONTROL to set FPSR for the float representation in effect. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb Add with and use clause for Exp_Prag. (Expand_Contract_Cases): Relocated to Exp_Prag. * exp_ch6.ads (Expand_Contract_Cases): Relocated to Exp_Prag. * exp_prag.adb Add with and use clauses for Checks and Validsw. (Expand_Contract_Cases): Relocated from Exp_Ch6. Update the structure of the expanded code to showcase the evaluation of attribute 'Old prefixes. Add local variable Old_Evals. Expand any attribute 'Old references found within a consequence. Add circuitry to evaluate the prefixes of attribute 'Old that belong to a selected consequence. (Expand_Old_In_Consequence): New routine. * exp_prag.ads (Expand_Contract_Cases): Relocated from Exp_Ch6. * sem_attr.adb (Check_Use_In_Contract_Cases): Warn that a potentially unevaluated prefix is always evaluated. From-SVN: r207891
2014-02-19[multiple changes]Arnaud Charlet10-668/+862
2014-02-19 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_Min_Max_Attribute): Use Insert_Declaration (Expand_Min_Max_Attribute): Use Matching_Standard_Type. * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove special handling for the case of Modify_Tree_For_C, this approach did not work. * exp_util.adb (Matching_Standard_Type): New function (Side_Effect_Free): New top level functions (from Remove_Side_Effects). * exp_util.ads (Side_Effect_Free): New top level functions (moved from body). * sinfo.ads: Minor comment updates. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Simple_Function_Return): If return type is unconstrained and uses the secondary stack, mark the enclosing function accordingly, to ensure that the value is not prematurely removed. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * par.adb Alphabetize the routines in Par.Sync. (Resync_Past_Malformed_Aspect): New routine. * par-ch13.adb (Get_Aspect_Specifications): Alphabetize local variables. Code and comment reformatting. Detect missing parentheses on aspects [Refined_]Global and [Refined_]Depends with a non-null definition. * par-sync.adb: Alphabetize all routines in this separate unit. (Resync_Past_Malformed_Aspect): New routine. From-SVN: r207890
2014-02-19sem_eval.ads, [...] (Subtypes_Statically_Match): Return False if Esize ↵Robert Dewar4-3/+66
values do not match. 2014-02-19 Robert Dewar <dewar@adacore.com> * sem_eval.ads, sem_eval.adb (Subtypes_Statically_Match): Return False if Esize values do not match. From-SVN: r207889
2014-02-19[multiple changes]Arnaud Charlet11-26/+193
2014-02-19 Yannick Moy <moy@adacore.com> * sinfo.ads: Minor comment update. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * atree.ads: Minor reformatting (change Entity_Info to Einfo). 2014-02-19 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb (Find_Node_To_Be_Wrapped): An assignment statement that has the No_Ctrl_Actions flag is a suitable node to be wrapped if the assigned expression has no finalization actions. * sem_eval.adb (Eval_Entity_Name): For a compile time known boolean value, mark the corresponding condition SCO as constant. 2014-02-19 Robert Dewar <dewar@adacore.com> * exp_util.adb: Minor reformatting. * exp_util.ads (Matching_Standard_Type): New function. * exp_ch7.adb: Minor reformatting. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Get_Cursor_Type): Use scope of iterable type to find declaration for Cursor, to handle properly the case of a discriminated iterable type. 2014-02-19 Vincent Celier <celier@adacore.com> * gnatcmd.adb (GNATCmd): Always replace the object dirs of imported library projects with the library ALI dirs, when setting the object paths. * prj-env.ads (Ada_Objects_Path): Correct comments about argument Including_Libraries. From-SVN: r207888
2014-02-19[multiple changes]Arnaud Charlet5-6/+18
2014-02-19 Gary Dismukes <dismukes@adacore.com> * gnat_rm.texi: Minor spelling fixes. 2014-02-19 Doug Rupp <rupp@adacore.com> * init.c: Remove unneeded code. * fe.h (Float_Format): New macro * gcc-interface/trans.c (gigi): On VMS, set vms_float_format. From-SVN: r207887
2014-02-19[multiple changes]Arnaud Charlet4-3/+69
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Check_Refined_Global_Item): A state or variable acts as a constituent only it is part of an encapsulating state and the state has visible refinement. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Contract): Do not warn on a postcondition for a function when the expression does not mention 'Result but the function has in-out parameters. 2014-02-19 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Add documentation on Value_Size forcing biased representation. From-SVN: r207886
2014-02-19[multiple changes]Arnaud Charlet4-104/+309
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * lib-xref.ads Remove the small table of letter and symbol usage as we already have one. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Emit specific error messages depending on the offending misplaced aspect specifications. (Diagnose_Misplaced_Aspect_Specifications): New routine. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Get_Cursor): Utility to retrieve cursor type for iterable aspect primitives. (Resolve_Iterable_Operation): Use expected signature of iterable aspect to resolve primitive when overloading is present. (Validate_Iterable_Aspect, Analyze_Aspects_At_Freeze_Point): use it. (Check_Signature): Removed. From-SVN: r207885
2014-02-19[multiple changes]Arnaud Charlet5-110/+128
2014-02-19 Yannick Moy <moy@adacore.com> * sem_ch10.adb (Analyze_Proper_Body): Issue error on missing subunit in GNATprove_Mode. * sinfo.ads (GNATprove_Mode): Document error issued in GNATprove_Mode. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * lib-xref.ads Alphabetize the contents of table Xref_Entity_Letters. Add an entry in table Xref_Entity_Letters for E_Abstract_State. List all letters and symbols in use. * sem_prag.adb (Analyze_Abstract_State): Update all calls to Create_Abstract_State to reflect the new signature. (Create_Abstract_State): Change subprogram profile and update the comment on usage. Use the proper location of the state declaration when creating a new abstract state entity. Do not generate an external name, but simply reuse the name coming from the state declaration. From-SVN: r207884
2014-02-19exp_ch4.adb (Expand_N_Expression_With_Actions): Make sure declarations get ↵Robert Dewar3-1/+41
properly inserted in Modify_Tree_For_C mode. 2014-02-19 Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Expand_N_Expression_With_Actions): Make sure declarations get properly inserted in Modify_Tree_For_C mode. * sinfo.ads: Minor comment addition. From-SVN: r207883
2014-02-19par-ch9.adb, [...]: Minor reformatting.Robert Dewar9-82/+101
2014-02-19 Robert Dewar <dewar@adacore.com> * par-ch9.adb, exp_ch5.adb, sem_ch5.adb, exp_attr.adb, sem_util.adb, sem_util.ads, sem_ch13.adb, sem_ch13.ads: Minor reformatting. From-SVN: r207882
2014-02-19style.adb (Missing_Overriding): Warning does not apply in language versions ↵Ed Schonberg13-5/+561
prior to Ada 2005. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * style.adb (Missing_Overriding): Warning does not apply in language versions prior to Ada 2005. * snames.ads-tmpl: Add Name_Iterable and Attribute_Iterable. * sem_attr.adb: Add Attribute_Iterable where needed. * exp_attr.adb: ditto. * exp_ch5.adb (Expand_Formal_Container_Loop): New procedure to handle loops and quantified expressions over types that have an iterable aspect. Called from Expand_Iterator_Loop. * sem_ch5.adb (Analyze_Iterator_Specification): Recognize types with Iterable aspect. * sem_ch13.adb (Validate_Iterable_Aspect): Verify that the subprograms specified in the Iterable aspect have the proper signature involving container and cursor. (Check_Aspect_At_Freeze_Point): Analyze value of iterable aspect. * sem_ch13.ads (Validate_Iterable_Aspect): New subprogram. * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): New procedure to retrieve one of the primitives First, Last, or Has_Element, from the value of the iterable aspect of a formal container. (Is_Container_Element): Predicate to recognize expressions that denote an element of one of the predefined containers, for possible optimization. This subprogram is not currently used, pending ARG discussions on the legality of the proposed optimization. Worth preserving for eventual use. (Is_Iterator): Recognize formal container types. * aspects.ads, aspects.adb: Add Aspect_Iterable where needed. From-SVN: r207881
2014-02-19[multiple changes]Arnaud Charlet9-86/+282
2014-02-19 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_Min_Max_Attribute): New procedure (Expand_N_Attribute_Reference): Use this procedure for Min and Max. * exp_ch4.adb (Expand_N_Expression_With_Actions): Remove object declarations from list of actions. * output.ads, output.adb (Delete_Last_Char): New procedure. * sinfo.ads: Document handling of Mod and expression with actions in Modify_Tree_For_C mode. 2014-02-19 Ed Schonberg <schonberg@adacore.com> * par-ch9.adb (P_Task): Add a null statement to produce a well-formed task body when due to a previous syntax error the statement list is empty. 2014-02-19 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Check_Dependency_Clause): Account for the case where a state with a non-null refinement matches a null output list. Comment reformatting. (Inputs_Match): Copy a solitary input to avoid an assertion failure when trying to match the same input in multiple clauses. 2014-02-19 Gary Dismukes <dismukes@adacore.com> * sem_attr.adb: Minor typo fix. From-SVN: r207880
2014-02-19re PR ipa/60243 (IPA is slow on large cgraph tree)Richard Biener2-8/+38
2014-02-19 Richard Biener <rguenther@suse.de> PR ipa/60243 * ipa-prop.c: Include stringpool.h and tree-ssanames.h. (ipa_modify_call_arguments): Emit an argument load explicitely and preserve virtual SSA form there and for the replacement call. Do not update SSA form nor free dominance info. From-SVN: r207879
2014-02-19ipa.c (function_and_variable_visibility): Also clear WEAK flag when ↵Jan Hubicka2-0/+8
disolving COMDAT_GROUP. * ipa.c (function_and_variable_visibility): Also clear WEAK flag when disolving COMDAT_GROUP. From-SVN: r207878
2014-02-19ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.Jan Hubicka4-7/+37
* ipa-prop.h (ipa_ancestor_jf_data): Update ocmment. * ipa-prop.c (ipa_set_jf_known_type): Return early when not devirtualizing. (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved; do more sanity checks. (detect_type_change): Return true when giving up early. (compute_complex_assign_jump_func): Fix type parameter of ipa_set_ancestor_jf. (compute_complex_ancestor_jump_func): Likewise. (update_jump_functions_after_inlining): Fix updating of ancestor function. * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL. From-SVN: r207877
2014-02-19cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove inline clones ↵Jan Hubicka2-1/+9
when edge disappears. * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove inline clones when edge disappears. From-SVN: r207875
2014-02-19re PR c/60195 (Strange warnings using atomic types)Marek Polacek4-1/+78
PR c/60195 c/ * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp. Call mark_exp_read on exp.value. (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set TREE_ADDRESSABLE on old instead of val. (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING. testsuite/ * gcc.dg/pr60195.c: New test. From-SVN: r207873
2014-02-18no-vfa-vect-depend-2.c (main1): Fix buffer overflow.Paul Pluzhnikov2-2/+7
2014-02-19 Paul Pluzhnikov <ppluzhnikov@google.com> * gcc.dg/vect/no-vfa-vect-depend-2.c (main1): Fix buffer overflow. From-SVN: r207872
2014-02-19re PR preprocessor/58844 (ICE with invalid use of ##)Jakub Jelinek3-0/+22
PR preprocessor/58844 * macro.c (enter_macro_context): Only push macro_real_token_count (macro) tokens rather than macro->count tokens, regardless of CPP_OPTION (pfile, track-macro-expansion). * c-c++-common/cpp/pr58844-1.c: New test. * c-c++-common/cpp/pr58844-2.c: New test. From-SVN: r207871