- 18 Nov, 2015 19 commits
-
-
2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * exp_aggr.adb (Is_Completely_Hidden_Discriminant): New routine. (Init_Hidden_Discriminants): Code reformatting. Do not initialize a completely hidden discriminant. * a-interr.ads (Get_CPU): Added SPARK_Mode, Volatile_Function and Global aspects on the function. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is a concurrent type, the deallocation applies to the corresponding record type, or to its class-wide type if the type is tagged. From-SVN: r230535
Arnaud Charlet committed -
2015-11-18 Doug Rupp <rupp@adacore.com> * s-parame-vxworks.adb: Reduce default stack size for stack limit check to a reasonable value * s-tpopsp-vxworks.adb: Make Stack_Limit a task variable for vx5 and vxmils. From-SVN: r230534
Doug Rupp committed -
2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Assignment): Diagnose assignment where left-hand side has a limited view of a class-wide type. * sem_ch6.adb (Detected_And_Exchange): Do not install a non-limited view if the scope of the type of the formal is visible through a limited_with_clause, even if the non-limited view is available. 2015-11-18 Emmanuel Briot <briot@adacore.com> * s-pooglo.ads: Make Global_Pool_Object aliased. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Access): If the prefix is an expression function, do not analyze the generated body if the current scope is not the scope of the expression function, as may happen if the attribute is an actual in an instantiation. * sem_ch10.adb, sem_ch12.adb, a-stzmap.adb, s-soflin.adb, a-stwima.adb: Fix typos. 2015-11-18 Arnaud Charlet <charlet@adacore.com> * exp_ch11.adb (Expand_N_Exception_Declaration): No-op when generating C code. 2015-11-18 Vincent Celier <celier@adacore.com> * g-comlin.adb (Find_Longest_Matching_Switch): Do not take into account a switch ending with '=' when the actual command line switch is not followed with a space or '='. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Explicit_Dereference): Do not add an access check if the type of the prefix is known to exclude null. * a-coinve.adb (Get_Element_Access): The function returns an access type that excludes null, so add an explicit check for a null element pointer, which is created when Insert_Spaces is called on an indefinite vector container. From-SVN: r230533
Arnaud Charlet committed -
2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> PR ada/66242 * exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort defer / undefer pairs are now encapsulated in a block with an AT END handler. Partial finalization now takes restriction No_Exception_Propagation into account when generating blocks. * exp_ch7.adb Various reformattings. (Create_Finalizer): Change the generation of abort defer / undefer pairs and explain the lack of an AT END handler. (Process_Transient_Objects): Add generation of abort defer/undefer pairs. * exp_ch9.adb Various reformattings. (Build_Protected_Subprogram_Body): Use Build_Runtime_Call to construct a call to Abort_Defer. (Build_Protected_Subprogram_Call_Cleanup): Use Build_Runtime_Call to construct a call to Abort_Undefer. (Expand_N_Asynchronous_Select): Use Build_Runtime_Call to construct a call to Abort_Defer. * exp_intr.adb (Expand_Unc_Deallocation): Abort defer / undefer pairs are now encapsulated in a block with an AT END handler. Finalization now takes restriction No_Exception_Propagation into account when generating blocks. * exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed. From-SVN: r230531
Hristian Kirtchev committed -
re PR tree-optimization/68157 (internal compiler error: in reassoc_stmt_dominates_stmt_p, at tree-ssa-reassoc.c:1287) PR tree-optimization/68157 * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of pow_stmt or mul_stmt from stmt's uid. (reassociate_bb): Set uid of mul_stmt from stmt's uid. * g++.dg/opt/pr68157.C: New test. From-SVN: r230530
Jakub Jelinek committed -
2015-11-18 Arnaud Charlet <charlet@adacore.com> * switch-c.adb (Scan_Front_End_Switches): Add a check requiring -gnatc with -gnateg. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Uninstall_Declarations): Before swapping private and full views, ensure that the potential use visbility of the two views is consistent. 2015-11-18 Doug Rupp <rupp@adacore.com> * s-parame-vxworks.adb: Increase default stack size for targets using stack limit checking. 2015-11-18 Jose Ruiz <ruiz@adacore.com> * a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this function that was added to Ada 2005 returning the processor where interrupt handlers execute. 2015-11-18 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Is_Pure_Barrier): Handle expanded component declaration of a protected definition. From-SVN: r230529
Arnaud Charlet committed -
2015-11-18 Ed Falis <falis@adacore.com> * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups. 2015-11-18 Gary Dismukes <dismukes@adacore.com> * bcheck.adb: Minor editorial changes. From-SVN: r230528
Arnaud Charlet committed -
2015-11-18 Arnaud Charlet <charlet@adacore.com> * interfac.ads (Unsigned_24): New type. * sem_ch13.adb (Validate_Unchecked_Conversion): Disable error on unconstrained arrays in Relaxed_RM_Semantics mode. 2015-11-18 Vincent Celier <celier@adacore.com> * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): No warning is withed unit is the interface of a Stand-Alone Library. From-SVN: r230527
Arnaud Charlet committed -
2015-11-18 Thomas Quinot <quinot@adacore.com> * s-os_lib.ads, s-os_lib.adb(Normalize_Pathname): Support the case of an unresolved Directory argument, by recursively resolving it against the current dir. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_Formals): A function declaration that returns a class-wide type must have freeing deferred, so that it is not frozen before the class-wide type and its root type are frozen. This is significant when there may be a limited view of the class_wide type in another package. From-SVN: r230526
Arnaud Charlet committed -
2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Has_Non_Null_Refinement): Rename to Has_Non_Null_Visible_Refinement. (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement. * einfo.ads Update the documentation of attribute Has_Non_Null_Refinement and attribute Has_Null_Refinement. (Has_Non_Null_Refinement): Rename to Has_Non_Null_Visible_Refinement and update occurrences in entities. (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement and update occurrences in entities. * sem_prag.adb (Check_In_Out_States): Update the calls to Has_[Non_]Null_Refinement. (Check_Input_States): Update the calls to Has_[Non_]Null_Refinement. (Check_Output_States): Update the calls to Has_[Non_]Null_Refinement. (Check_Proof_In_States): Update the calls to Has_[Non_]Null_Refinement. (Collect_Global_Item): Update the calls to Has_[Non_]Null_Refinement. (Is_Null_Refined_State): Update the calls to Has_[Non_]Null_Refinement. (Match_Item): Update the calls to Has_[Non_]Null_Refinement. * sem_util.adb (Has_Non_Null_Refinement): New routine. (Has_Null_Refinement): New routine. * sem_util.ads (Has_Non_Null_Refinement): New routine. (Has_Null_Refinement): New routine. 2015-11-18 Gary Dismukes <dismukes@adacore.com> * exp_util.adb: Minor reformatting and typo fixes. From-SVN: r230525
Arnaud Charlet committed -
2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch4.adb: Minor reformatting. 2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Expand_Subtype_From_Expr): Add new formal parameter Related_Id and propagate it to Make_Subtype_From_Expr. (Make_Subtype_From_Expr): Add new formal parameter Related_Id. Create external entities when requested by the caller. * exp_util.ads (Expand_Subtype_From_Expr): Add new formal parameter Related_Id. Update the comment on usage. (Make_Subtype_From_Expr): Add new formal parameter Related_Id. Update the comment on usage. * sem_ch3.adb (Analyze_Object_Declaration): Add local variable Related_Id. Generate an external constrained subtype when the object is a public symbol. 2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma): Update the grammars of pragmas Abstract_State, Depends, Global, Initializes, Refined_Depends, Refined_Global and Refined_State. From-SVN: r230524
Hristian Kirtchev committed -
2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Has_Full_Default_Initialization): Perform the test for the presence of pragma Default_Initial_Condition prior to the specialized type checks. Add a missing case where the lack of a pragma argument yields full default initialization. 2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Entity_Name): Do not check for elaboration issues when a variable appears as the name of an object renaming declaration as this constitutes an aliasing, not a read. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * checks.adb (Overlap_Check): An actual that is an aggregate cannot overlap with another actual, and no check should be generated for it. * targparm.ads: Fix typos. 2015-11-18 Pascal Obry <obry@adacore.com> * adaint.c: Routine __gnat_killprocesstree only implemented on Linux and Windows. 2015-11-18 Pascal Obry <obry@adacore.com> * g-ctrl_c.adb: Minor style fixes. From-SVN: r230523
Arnaud Charlet committed -
2015-11-18 Pascal Obry <obry@adacore.com> * adaint.c, s-os_lib.adb, s-os_lib.ads (Kill_Process_Tree): New. 2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Check_Nonvolatile_Function_Profile): Place the error message concerning the return type on the result definition. (Is_Volatile_Function): A function with a parameter of a protected type is a protected function if it is defined within a protected definition. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Container_Indexing): When building the parameter list for the function call on indexing functions, preserve overloading of the parameters, which may themselves be generalized indexing operations. From-SVN: r230522
Arnaud Charlet committed -
From-SVN: r230521
Martin Liska committed -
* haifa-sched.c (haifa_finish_h_i_d): Release reg_set_list. From-SVN: r230520
Martin Liska committed -
* tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Fix GNU coding style. (find_def_preds): Use auto_vec. (destroy_predicate_vecs): Change signature of the function. (prune_uninit_phi_opnds_in_unrealizable_paths): Use the new signature. (simplify_preds_4): Use destroy_predicate_vecs instread of just releasing preds vector. (normalize_preds): Likewise. (is_use_properly_guarded): Use new signature of destroy_predicate_vecs. (find_uninit_use): Likewise. From-SVN: r230519
Martin Liska committed -
2015-11-18 Richard Biener <rguenther@suse.de> PR tree-optimization/67790 * tree-vect-loop.c (vect_is_simple_reduction_1): Remove IL rewrite for MINUS_EXPR reductions, rename back to ... (vect_is_simple_reduction): ... this, removing the wrapper. (vect_force_simple_reduction): Adjust. (vectorizable_reduction): Adjust reduc_index for MINUS_EXPR reductions and make use if reduc_index in all places. For the final reduction of MINUS_EXPR use PLUS_EXPR. * gcc.dg/vect/pr67790.c: New testcase. From-SVN: r230518
Richard Biener committed -
From-SVN: r230516
David Edelsohn committed -
From-SVN: r230515
GCC Administrator committed
-
- 17 Nov, 2015 21 commits
-
-
POWERPC64_TOC_POINTER_ALIGNMENT A default of -z relro (as on Fedora) defeats the deliberate mis-alignment of .got in the testcase. * configure.ac (POWERPC64_TOC_POINTER_ALIGNMENT): Pass -z norelro to ld. * configure: Regenerate. From-SVN: r230509
Alan Modra committed -
PR bootstrap/68346 * typeck.c (build_static_cast_1): Force a NOP when converting to the same type. From-SVN: r230508
Jason Merrill committed -
* cp-tree.h (LITERAL_ZERO_P): Remove. * parser.c (cp_parser_postfix_expression, literal_zeros) (cp_parser_parenthesized_expression_list): Don't mess with it. From-SVN: r230507
Jason Merrill committed -
* parser.c (cp_parser_unary_expression): Fold -constant here. * typeck.c (cp_build_unary_op): Not here. From-SVN: r230506
Jason Merrill committed -
2015-11-17 Tom de Vries <tom@codesourcery.com> * tree-ssa-loop.c (pass_tree_loop_init::execute): Improve comments. From-SVN: r230505
Tom de Vries committed -
2015-11-17 Tom de Vries <tom@codesourcery.com> * tree-scalar-evolution.c (scev_const_prop): Dump details if replacing uses of ssa_name with constant. From-SVN: r230504
Tom de Vries committed -
2015-11-17 Tom de Vries <tom@codesourcery.com> * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if something changed. From-SVN: r230503
Tom de Vries committed -
2015-11-17 Tom de Vries <tom@codesourcery.com> * cfgloop.h (struct loop): Add in_oacc_kernels_region field. * omp-low.c (mark_loops_in_oacc_kernels_region): New function. (expand_omp_target): Call mark_loops_in_oacc_kernels_region. From-SVN: r230502
Tom de Vries committed -
* regrename.c (regrename_find_superclass): New function, code moved from ... (rename_chains): ... here. Call it. * regrename.h (regrename_find_superclass): Declare. From-SVN: r230501
Bernd Schmidt committed -
* regrename.c (record_out_operands): Terminate earlyclobbered operands here. From-SVN: r230500
Bernd Schmidt committed -
PR target/66785 * regrename.c (record_operand_use): Keep track of failed operands and stop appending if we see any. * regrename.h (struct operand_rr_info): Add a failed field and shrink n_chains to short. From-SVN: r230499
Bernd Schmidt committed -
2015-11-17 Sandra Loosemore <sandra@codesourcery.com> PR 48568 * doc/extend.texi (Common Function Attributes) [visibility]: Add cross-references to matching variable and type attributes. (Common Variable Attributes) [visibility]: Add missing entry. From-SVN: r230498
Sandra Loosemore committed -
gcc/c/ChangeLog: * c-parser.c (set_c_expr_source_range): Bulletproof both overloaded implementations against NULL expr->value. (c_parser_braced_init): Set src_range for "ret" to a sane pair of values. (c_parser_unary_expression): Likewise when handling addresses of labels. (c_parser_postfix_expression): Likewise for statement expressions, for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for __builtin_va_arg, and for __builtin_offset_of. (c_parser_postfix_expression_after_paren_type): Initialize expr's src_range using the range of the braced initializer. (c_parser_transaction_expression): Set src_range for "ret" to a sane pair of values. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-expressions-1.c (vector): New macro. (test_braced_init): New function. (test_statement_expression): New function. (test_address_of_label): New function. (test_transaction_expressions): New function. (test_keywords): New function. (test_builtin_va_arg): New function. (test_builtin_offsetof): New function. * lib/multiline.exp (_build_multiline_regex): Escape braces. From-SVN: r230497
David Malcolm committed -
PR libstdc++/66059 * include/std/utility (_Build_index_tuple): Optimise. From-SVN: r230496
Jonathan Wakely committed -
2015-11-17 Steven G. Kargl <kargl@gcc.gnu.org> * primary.c (gfc_match_structure_constructor): Fix whitespace. From-SVN: r230495
Steven G. Kargl committed -
After the previous patches it's no longer necessary for TARGET_BUILTIN_VECTORIZED_FUNCTION to return functions that map to the vector optab of the original operation. We'll use a vector form of the internal function instead. Tested on powerpc64-linux-gnu. gcc/ * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove entries that map directly to optabs. From-SVN: r230494
Richard Sandiford committed -
After the previous patches it's no longer necessary for TARGET_BUILTIN_VECTORIZED_FUNCTION to return functions that map to the vector optab of the original operation. We'll use a vector form of the internal function instead. Tested on x86_64-linux-gnu. gcc/ * config/i386/i386.c (ix86_builtin_vectorized_function): Remove entries that map directly to optabs. From-SVN: r230493
Richard Sandiford committed -
This patch tries to vectorize built-in and internal functions as internal functions first, falling back on the current built-in target hooks otherwise. This means that we'll automatically pick up vector versions of optabs without the target having to implement any special hooks. E.g. we'll use V4SF sqrt if the target defines a "sqrtv4sf2" optab. As well as being simpler, it means that the target-independent code has more idea what the vectorized function does. Tested on x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnu and powerpc64-linux-gnu. gcc/ * internal-fn.h (direct_internal_fn_info): Add vectorizable flag. * internal-fn.c (direct_internal_fn_array): Update accordingly. * tree-vectorizer.h (vectorizable_function): Delete. * tree-vect-stmts.c: Include internal-fn.h. (vectorizable_internal_function): New function. (vectorizable_function): Inline into... (vectorizable_call): ...here. Explicitly reject calls that read from or write to memory. Try using an internal function before falling back on the old vectorizable_function behavior. From-SVN: r230492
Richard Sandiford committed -
This patch replaces the fndecl argument to builtin_vectorized_function with a combined_fn and gets the vectoriser to call it for internal functions too. The patch also moves vectorisation of machine-specific built-ins to a new hook, builtin_md_vectorized_function. Tested on x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnu and powerpc64-linux-gnu. gcc/ * target.def (builtin_vectorized_function): Take a combined_fn (in the form of an unsigned int) rather than a function decl. (builtin_md_vectorized_function): New. * targhooks.h (default_builtin_vectorized_function): Replace the fndecl argument with an unsigned int. (default_builtin_md_vectorized_function): Declare. * targhooks.c (default_builtin_vectorized_function): Replace the fndecl argument with an unsigned int. (default_builtin_md_vectorized_function): New function. * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): New hook. * doc/tm.texi: Regenerate. * tree-vect-stmts.c (vectorizable_function): Update call to builtin_vectorized_function, also passing internal functions. Call builtin_md_vectorized_function for target-specific builtins. * config/aarch64/aarch64-protos.h (aarch64_builtin_vectorized_function): Replace fndecl argument with an unsigned int. * config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h. (aarch64_builtin_vectorized_function): Update after above changes. Use CASE_CFN_*. * config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace fndecl argument with an unsigned int. * config/arm/arm-builtins.c: Include case-cfn-macros.h (arm_builtin_vectorized_function): Update after above changes. Use CASE_CFN_*. * config/i386/i386.c: Include case-cfn-macros.h (ix86_veclib_handler): Take a combined_fn rather than a built_in_function. (ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use mathfn_built_in rather than calling builtin_decl_implicit directly. (ix86_builtin_vectorized_function) Update after above changes. Use CASE_CFN_*. * config/rs6000/rs6000.c: Include case-cfn-macros.h (rs6000_builtin_vectorized_libmass): Replace fndecl argument with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather than calling builtin_decl_implicit directly. (rs6000_builtin_vectorized_function): Update after above changes. Use CASE_CFN_*. Move BUILT_IN_MD to... (rs6000_builtin_md_vectorized_function): ...this new function. (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define. From-SVN: r230491
Richard Sandiford committed -
In practice all targets that can vectorise sqrt define the appropriate sqrt<mode>2 optab. The only case where this isn't immediately obvious is the libmass support in rs6000.c, but Mike Meissner said that it shouldn't be exercised for sqrt. This patch therefore uses the internal function interface instead of going via the target hook. Tested on x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi and powerpc64-linux-gnu. gcc/ * tree-vect-patterns.c: Include internal-fn.h. (vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*. From-SVN: r230490
Richard Sandiford committed -
Nothing uses these macros and removing them makes it more likely that future code will use CASE_CFN_* instead. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P) (BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete. From-SVN: r230489
Richard Sandiford committed
-