- 20 Oct, 2015 24 commits
-
-
sem_ch13.adb (Analyze_One_Aspect): Avoid analyzing the expression in a 'Disable_Controlled attribute when... 2015-10-20 Bob Duff <duff@adacore.com> * sem_ch13.adb (Analyze_One_Aspect): Avoid analyzing the expression in a 'Disable_Controlled attribute when Expander_Active is False, because otherwise, we get errors about nonstatic expressions in pragma-Preelaborate generic packages. * restrict.ads: minor whitespace cleanup in comment 2015-10-20 Bob Duff <duff@adacore.com> * a-conhel.adb: Remove "use SAC;", because otherwise the compiler complains about use clauses in run-time units. Use "use type" instead. * a-btgbso.adb, a-btgbso.ads, a-cbdlli.adb, a-cbdlli.ads, * a-cbhama.adb, a-cbhama.ads, a-cbhase.adb, a-cbhase.ads, * a-cbmutr.adb, a-cbmutr.ads, a-cborma.adb, a-cborma.ads, * a-cborse.adb, a-cborse.ads, a-cdlili.adb, a-cdlili.ads, * a-chtgbk.adb, a-chtgbk.ads, a-chtgbo.adb, a-chtgbo.ads, * a-chtgke.adb, a-chtgke.ads, a-chtgop.adb, a-chtgop.ads, * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads, * a-cihase.adb, a-cihase.ads, a-cimutr.adb, a-cimutr.ads, * a-ciorma.adb, a-ciorma.ads, a-ciormu.adb, a-ciormu.ads, * a-ciorse.adb, a-ciorse.ads, a-cobove.adb, a-cobove.ads, * a-cohama.adb, a-cohama.ads, a-cohase.adb, a-cohase.ads, * a-cohata.ads, a-coinve.adb, a-comutr.adb, a-comutr.ads, * a-convec.adb, a-coorma.adb, a-coorma.ads, a-coormu.adb, * a-coormu.ads, a-coorse.adb, a-coorse.ads, a-crbltr.ads, * a-crbtgk.adb, a-crbtgk.ads, a-crbtgo.adb, a-crbtgo.ads, * a-rbtgbk.adb, a-rbtgbk.ads, a-rbtgbo.adb, a-rbtgbo.ads, * a-rbtgso.adb, a-rbtgso.ads: Change all the predefined containers to share the tampering machinery in Ada.Containers.Helpers. This reduces the amount of duplicated code, and takes advantage of efficiency improvements in Helpers. Protect all run-time checks and supporting machinery with "if Checks" or "if T_Check", so this code can be suppressed with pragma Suppress or -gnatp. Add Pseudo_Reference and Get_Element_Access to remaining containers, so that the compiler can optimize "for ... of" loops. From-SVN: r229041
Bob Duff committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-contai.adb, a-coinve.ads, a-contai.ads, a-conhel.adb, a-conhel.ads, Makefile.rtl, a-convec.ads: Move helper code from Ada.Containers to a new package Ada.Containers.Helpers, because otherwise it's not visible everywhere it needs to be (e.g. in the package Ada.Containers.Red_Black_Trees, Generic_Tree_Types wants to have a component of type Tamper_Counts). 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Intersect_Types): Specialize error message when one operand is a limited view which is a priori incompatible with all other named types. * sem_prag.adb: minor fix in comment * sem_ch13.adb: Code clean up. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * sem_ch12.adb (Need_Subprogram_Instance_Body): Also return true for a subprogram nested in an inlined subprogram. From-SVN: r229040
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-coinve.adb, a-contai.adb: Update comments. * pprint.ads: Minor reformatting. 2015-10-20 Tristan Gingold <gingold@adacore.com> * env.c, init.c: Handle arm64-darwin like arm-darwin. * tracebak.c: Handle arm64-darwin. 2015-10-20 Bob Duff <duff@adacore.com> * s-trasym.adb (Symbolic_Traceback): When giving the traceback as hexadecimal code addresses, separate by blanks instead of LF. From-SVN: r229039
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze node for subprogram in Compile_Only mode. 2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com> * s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads, s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container iterations. From-SVN: r229037
Arnaud Charlet committed -
2015-10-20 Philippe Gil <gil@adacore.com> * g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main contributors. (Dump_Stdout): NEW print to stdout Debug_Pool statistics & main contributors. (Reset): NEW reset counters to 0. (Get_Size): NEW return size allocated at parameter. (High_Water_Mark): NEW. (Current_Water_Mark): NEW. (System_Memory_Debug_Pool): NEW tell Debug_Pools that System.Memory uses it. * g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees components. (Find_Or_Create_Traceback): don't manage in System.Memory Debug_Pool Deallocate Traceback's. (Validity): add optional Handled table when System.Memory asked for Allow_Unhandled_Memory. (Allocate): handle Allocate reentrancy occuring when System.Memory uses Debug_Pools. (Deallocate): handle when Allow_Unhandled_Memory is set deallocation of unhandled memory. Dont't check Size_In_Storage_Elements if equal to Storage_Count'Last. update Frees, Total_Frees new components. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * fe.h: Minor tweak. From-SVN: r229036
Arnaud Charlet committed -
2015-10-20 Vincent Celier <celier@adacore.com> * sem_cat.adb (Check_Categorization_Dependencies): Do nothing when -gnatdu is specified. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a formal abstract subprogram must have a controlling type. * stand.ads: Minor whitespace cleanup. From-SVN: r229035
Arnaud Charlet committed -
2015-10-20 Gary Dismukes <dismukes@adacore.com> * sem_ch13.adb: Minor reference change (RM => AARM). 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * make.adb (Check): Skip multilib switches reinstated by the compiler only when counting the number of switches, since it is what really matters in the regular operating mode. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * einfo.adb: Add extra assertion for small clause. * cstand.adb: Minor style fix in comment. * debug.adb: Minor reformatting. * exp_util.adb: Fix minor typo. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Same_Instantiated_Function): New predicate in Check_Formal_Package_Instance, used to verify that the formal and the actual of an actual package match when both are functions given as attribute references. From-SVN: r229034
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-coinve.ads, a-coinve.adb: Do the same efficiency improvements that were already done in the definite case (Ada.Containers.Vectors, i.e. a-convec). This includes the ability to suppress checks, the fast path for Append, inlining as appropriate, and special-casing of "for ... of" loops. Reuse the tampering machinery that is now in Ada.Containers. Simplify many operations. * a-convec.ads, a-convec.adb: Change the code to be more similar to a-coinve. * a-finali.ads, a-finali.adb: Expose the "null"-ness of the operations. This may enable optimizations in the future, and seems cleaner anyway. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Is_Operational_Item): Attributes related to Ada 2012 iterators are operational items, and can be specified on partial views. From-SVN: r229033
Arnaud Charlet committed -
2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Check_Usage): Update the calls to Usage_Error. (Usage_Error): Remove formal parameter Item. Emit a clearer message concerning a missing dependency item and place it on the related pragma. 2015-10-20 Bob Duff <duff@adacore.com> * debug.adb, expander.adb: Implement -gnatd.B switch, which triggers a bug box when an abort_statement is seen. This is useful for testing Comperr.Compiler_Abort. * gnat1drv.adb: Trigger bug box on all exceptions other than Unrecoverable_Error. From-SVN: r229032
Arnaud Charlet committed -
2015-10-20 Thomas Quinot <quinot@adacore.com> * Makefile.rtl: add the following... * g-binenv.ads, g-binenv.adb: New unit providing runtime access to bind time captured values ("bind environment") * init.c: declare new global variable __gl_bind_env_addr. * bindgen.ads, bindgen.adb (Set_Bind_Env): record a bind environment key=value pair. (Gen_Bind_Env_String): helper to produce the bind environment data called in the binder generated file. (Gen_Output_File_Ada): Call the above (Gen_Adainit): Set __gl_bind_env_addr accordingly. * switch-b.adb: Support for command line switch -V (user interface to set a build environment key=value pair) * bindusg.adb: Document the above 2015-10-20 Vincent Celier <celier@adacore.com> * sem_prag.adb (Analyse_Pragma: Pragma Pure): Do not set the entity as Pure if Debug_Flag_U is set. From-SVN: r229031
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * output.adb (Write_Int): Work with negative numbers in order to avoid negating Int'First and thereby causing overflow. * sem_util.adb: Minor comment fix. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * make.adb (Check): Skip multilib switches reinstated by the compiler when doing the comparison with switches passed to gnatmake. 2015-10-20 Yannick Moy <moy@adacore.com> * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Return False for procedures marked No_Return. * sem_util.ads (Enclosing_Declaration): Improve comment. * einfo.adb (Is_Completely_Hidden): Remove spurious assertion. From-SVN: r229029
Arnaud Charlet committed -
2015-10-20 Thomas Quinot <quinot@adacore.com> * types.ads: Minor reformatting. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Get_Pragma): Minor reformatting. Rename local constant Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of classification pragmas. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Declarations); At the of the visible part, perform name resolution on the expressions in aspects of visible entities. * sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve expressions in aspects independently of whether corresponding entity is frozen. Used to complete name resolution of aspect expressions for entities declared in the visible part of a package or generic package declaration. From-SVN: r229028
Arnaud Charlet committed -
2015-10-20 Vincent Celier <celier@adacore.com> * prj-attr.adb: Add package Codepeer and its attributes. 2015-10-20 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb, sem_ch13.adb: Minor reformatting. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * gnatlink.adb (Gnatlink): Do not translate --RTS switch for the linker and instead pass the switches that were reinstated by the compiler. 2015-10-20 Bob Duff <duff@adacore.com> * a-contai.ads, a-convec.ads: Move Count_Type_Last from a-convec.ads to a-contai.ads, so other containers can refer to it. From-SVN: r229027
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within Analyze_Full_Type_ Declaration, used to apply legality rules in 13,1,1 (18.3.3) concerning aspects that cannot be overridden in a type extension. (Check_Duplicate_Aspects): It is not legal to specify the Implicit_Dereference aspect on a full view if partial view has known discriminants. * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Verify that the specification of the aspect on a derived type confirms the value of the inherited one. * sem_util.adb (Reference_Discriminant): Return empty if none specified. From-SVN: r229026
Ed Schonberg committed -
2015-10-20 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb, sem_ch3.adb: Minor reformatting. 2015-10-20 Vincent Celier <celier@adacore.com> * a-strsup.adb (Super_Trim): Remove statements that put NUL characters in unused portion of the Data string. From-SVN: r229025
Arnaud Charlet committed -
gcc: PR target/66912 * varasm.c (default_binds_local_p_2): Turn on extern_protected_data. gcc/testsuite: PR target/66912 * gcc.target/aarch64/pr66912.c: New. * gcc.target/arm/pr66912.c: New. From-SVN: r229024
Szabolcs Nagy committed -
PR c++/67064 * semantics.c (force_paren_expr): Don't mess with hard register vars. From-SVN: r229021
Jason Merrill committed -
* doc/extend.texi: Update documentation WRT inline functions. From-SVN: r229020
Arkadiusz Drabczyk committed -
gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_nontype_template_args. gcc/cp/ * parser.c (cp_parser_template_argument): For C++1z just parse a constant-expression. * pt.c (convert_nontype_argument): For C++1z always call maybe_constant_value. From-SVN: r229019
Jason Merrill committed -
* constexpr.c (cxx_eval_constant_expression): Expand PTRMEM_CST only when necessary. (cxx_eval_component_reference): Like here. * decl2.c (lower_var_init): And here. (c_parse_final_cleanups): Call it. * typeck2.c (digest_init_r): Not here. * decl.c (complete_vars): Or here. (cp_finish_decl): Add local statics to symbol table. From-SVN: r229018
Jason Merrill committed -
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_enumerator_attributes, __cpp_fold_expressions, __cpp_unicode_characters. From-SVN: r229017
Jason Merrill committed -
From-SVN: r229016
Jason Merrill committed -
2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> * resolve.c (gfc_verify_binding_labels): Check for NULL pointer. 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/pr67900.f90: New tests. From-SVN: r229013
Steven G. Kargl committed -
From-SVN: r229012
GCC Administrator committed
-
- 19 Oct, 2015 16 commits
-
-
A powerpc-linux/powerpc64-linux biarch compiler can default to either -m32 or -m64, and we need to notice both -m32 and -m64 on the gccgo command line. It's also possible to build a -m64 only compiler, so in that case we can define TARGET_CAN_SPLIT_STACK. gcc/ PR go/66870 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define. * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define. (TARGET_CAN_SPLIT_STACK_64BIT): Define. gcc/go/ PR go/66870 * gospec.c (saw_opt_m32): Rename to.. (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT. Update uses. (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32. From-SVN: r229009
Alan Modra committed -
gcc/ChangeLog: PR rtl-optimization/66790 * df.h (DF_MIR): New macro. (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR (DF_MIR_INFO_BB): New macro. (DF_MIR_IN, DF_MIR_OUT): New macros. (struct df_mir_bb_info): New. (df_mir): New macro. (df_mir_add_problem, df_mir_simulate_one_insn): New forward declarations. (df_mir_get_bb_info): New. * df-problems.c (struct df_mir_problem_data): New. (df_mir_free_bb_info, df_mir_alloc, df_mir_reset, df_mir_bb_local_compute, df_mir_local_compute, df_mir_init, df_mir_confluence_0, df_mir_confluence_n, df_mir_transfer_function, df_mir_free, df_mir_top_dump, df_mir_bottom_dump, df_mir_verify_solution_start, df_mir_verify_solution_end): New. (problem_MIR): New. (df_mir_add_problem, df_mir_simulate_one_insn): New. * timevar.def (TV_DF_MIR): New. * ree.c: Include bitmap.h (add_removable_extension): Add an INIT_REGS parameter. Use it to skip zero-extensions that may get an uninitialized register. (find_removable_extensions): Compute must-initialized registers using the MIR dataflow problem. Update the call to add_removable_extension. (find_and_remove_re): Call df_mir_add_problem. gcc/testsuite/ChangeLog: * gnat.dg/opt50.adb: New test. * gnat.dg/opt50_pkg.adb: New helper. * gnat.dg/opt50_pkg.ads: New helper. From-SVN: r229008
Pierre-Marie de Rodat committed -
For mn10300, STC still gives better results for optimise-for-size than "simple" does. So use STC at -Os as well. 2015-10-19 Segher Boessenkool <segher@kernel.crashing.org> * common/config/mn10300/mn10300-common.c (mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up. From-SVN: r229006
Segher Boessenkool committed -
Proposed doc update for Explicit Reg Vars 1/3 * doc/extend.texi (Explicit Register Variables): Simplify and avoid unnecessary and confusion abbreviations. Update cross references. doc/implement-c.tex: Update cross reference. From-SVN: r229004
David Wohlferd committed -
2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68019 * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error message to be issued. 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68019 * gfortran.dg/pr68019.f90: new test. From-SVN: r229003
Steven G. Kargl committed -
[PATCH] Don't allow FSM threader to create irreducible loops unless it eliminates a multi-way branch * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths that create irreducible loops unless the path elimiantes a multiway branch. From-SVN: r228974
Jeff Law committed -
2015-10-19 Richard Biener <rguenther@suse.de> PR tree-optimization/67975 * tree-cfg.h (extract_true_false_controlled_edges): Declare. * tree-cfg.c (extract_true_false_controlled_edges): Split out core worker from ... * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here. * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args instead of block number for PHIs with two or one args. (vn_phi_eq): Compare edge predicates of PHIs that are in different blocks. * gcc.dg/tree-ssa/ssa-fre-50.c: New testcase. From-SVN: r228971
Richard Biener committed -
2015-10-19 Richard Biener <rguenther@suse.de> * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function. (gimple_stmt_nonnegative_warnv_p): Use it. * match.pd (CPROJ): New operator list. (cproj (complex ...)): Move simplifications from ... * builtins.c (fold_builtin_cproj): ... here. * gcc.dg/torture/builtin-cproj-1.c: Skip for -O0. From-SVN: r228970
Richard Biener committed -
Since GET_MODE_ALIGNMENT is defined by psABI and the biggest alignment is 4 byte for IA MCU psABI, we should use GET_MODE_BITSIZE for IA MCU psABI to get vector natural alignment to check misaligned vector move. * config/i386/i386.c (ix86_expand_vector_move): Use GET_MODE_BITSIZE for IA MCU psABI to get vector natural alignment. From-SVN: r228969
H.J. Lu committed -
* doc/invoke.texi: Replace @optindex with @opindex. From-SVN: r228968
H.J. Lu committed -
When processing __attribute__ ((target("arch=XXX"))), we should clear the ISA bits in x_ix86_isa_flags first to avoid leaking ISA from command line. gcc/ PR target/67995 * config/i386/i386.c (ix86_valid_target_attribute_tree): If arch= is set, clear all bits in x_ix86_isa_flags, except for ISA_64BIT, ABI_64, ABI_X32, and CODE16. gcc/testsuite/ PR target/67995 * gcc.target/i386/pr67995-1.c: New test. * gcc.target/i386/pr67995-2.c: Likewise. * gcc.target/i386/pr67995-3.c: Likewise. From-SVN: r228967
H.J. Lu committed -
From-SVN: r228966
Joost VandeVondele committed -
gcc/ChangeLog: 2015-10-17 Joost VandeVondele <vondele@gnu.gcc.org> PR middle-end/68002 * common.opt (fkeep-static-functions): New option. * doc/invoke.texi: Document it. * cgraphunit.c (cgraph_node::finalize_function): Use it. gcc/testsuite/ChangeLog: 2015-10-17 Joost VandeVondele <vondele@gnu.gcc.org> PR middle-end/68002 * gcc.dg/PR68002.c: New test. From-SVN: r228965
Joost VandeVondele committed -
builtins-20.c had: if (cos((y*=2, -fabs(tan(x/-y)))) != cos((y*=2,tan(x/y)))) link_error (); which is undefined behaviour. The test expected that y had the same value in x/y and x/-y, but gimplification actually implements the "obvious" interpretation, multiplying y by 2, using it for one cos call, then multiplying it by 2 again and using it for the other cos call. The file has other (valid) tests that side-effects don't block optimisation, such as: if (cosf((y*=3, -x)) != cosf((y*=3,x))) link_error (); so this patch simply removes this instance. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/testsuite/ * gcc.dg/builtins-20.c: Remove undefined behavior. From-SVN: r228963
Richard Sandiford committed -
* sched-int.h (struct autopref_multipass_data_): Remove offset field. Add min_offset, max_offset, multi_mem_insn_p fields. * haifa-sched.c (analyze_set_insn_for_autopref): New function. (autopref_multipass_init): Use it. Handle PARALLEL sets. (autopref_rank_data): New function. (autopref_rank_for_schedule): Use it. (autopref_multipass_dfa_lookahead_guard_1): Likewise. From-SVN: r228962
Kyrylo Tkachov committed -
From-SVN: r228959
GCC Administrator committed
-