1. 20 Oct, 2015 24 commits
    • sem_ch13.adb (Analyze_One_Aspect): Avoid analyzing the expression in a… · 14f73211
      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
    • [multiple changes] · b7737d1d
      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
    • [multiple changes] · 6fa8f71c
      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
    • [multiple changes] · 36f2e3d3
      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
    • [multiple changes] · be7e4a40
      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
    • [multiple changes] · 46ee0270
      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
    • [multiple changes] · 47b79f78
      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
    • [multiple changes] · e9f97e79
      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
    • [multiple changes] · 0489576c
      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
    • [multiple changes] · 3c777b50
      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
    • [multiple changes] · 7188885e
      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
    • [multiple changes] · f06f5f6b
      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
    • [multiple changes] · 40417de8
      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
    • sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within Analyze_Full_Type_ Declaration... · b8a18216
      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
    • [multiple changes] · d9147bb6
      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
    • Fix default_binds_local_p_2 for extern protected data · 16b340c2
      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
    • re PR c++/67064 (Register asm variable broken) · 0d8ab59c
      	PR c++/67064
      
      	* semantics.c (force_paren_expr): Don't mess with hard register vars.
      
      From-SVN: r229021
      Jason Merrill committed
    • [PATCH] c/67925 - update documentation on `inline' · 620cf5ea
      	* doc/extend.texi: Update documentation WRT inline functions.
      
      From-SVN: r229020
      Arkadiusz Drabczyk committed
    • Implement N4268, Do constant evaluation of all non-type template args. · 2a9fb712
      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
    • Expand PTRMEM_CST only when necessary. · dcdbc004
      	* 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... · 13b380a3
      	* c-cppbuiltin.c (c_cpp_builtins): Define
      	__cpp_enumerator_attributes, __cpp_fold_expressions,
      	__cpp_unicode_characters.
      
      From-SVN: r229017
      Jason Merrill committed
    • typo · a36b732a
      From-SVN: r229016
      Jason Merrill committed
    • resolve.c (gfc_verify_binding_labels): Check for NULL pointer. · b6969536
      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
    • Daily bump. · f7ddf3f3
      From-SVN: r229012
      GCC Administrator committed
  2. 19 Oct, 2015 16 commits
    • PR66870 PowerPC64 Enable gold linker with split stack · b2e4c071
      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
    • REE: fix uninitialized registers handling · 524d9b4b
      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
    • mn10300: Use the STC bb-reorder algorithm at -Os · 32308c8d
      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 · 88f3c6e6
      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
    • re PR fortran/68019 (ICE on rank mismatch of implied-shape array of user-defined type) · c3fa5d78
      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… · a2f6018f
      [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
    • re PR tree-optimization/67975 (Failure to optimise equality between two call sequences) · e6503e0a
      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
    • gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function. · 4534c203
      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
    • Use GET_MODE_BITSIZE to get vector natural alignment · 1c6e3c3e
      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
    • Replace @optindex with @opindex · 1be8ebde
      	* doc/invoke.texi: Replace @optindex with @opindex.
      
      From-SVN: r228968
      H.J. Lu committed
    • Don't leak ISA to __attribute__ ((target("arch=XXX"))) · 3f11bf19
      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
    • fix date of changelog entry · 7be37b35
      From-SVN: r228966
      Joost VandeVondele committed
    • Fix PR68002, add -fkeep-static-functions · 787da5fd
      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
    • Remove undefined behaviour from builtins-20.c · 9c99fe75
      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
    • [haifa-sched] model load/store multiples properly in autoprefetcher scheduling · 613743a2
      	* 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
    • Daily bump. · eb5ea58e
      From-SVN: r228959
      GCC Administrator committed