tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
[gcc.git] / gcc / ChangeLog
index 624a77315b5d034c9a1bbfb2eb93e7735c899dd5..21941826201422a70a3850dca288ae6930beec9d 100644 (file)
@@ -1,3 +1,388 @@
+2010-09-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
+       (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
+       * doc/tm.texi: Regenerate.
+       * system.h (OVERRIDE_OPTIONS): Poison.
+       * target.def (override): Default to hook_void_void.
+       * targhooks.c (default_target_option_override): Remove.
+       * genmodes.c, machmode.def: Update comments mentioning
+       OVERRIDE_OPTIONS.
+       * config/alpha/alpha-modes.def: Update comment mentioning
+       alpha_override_options.
+       * config/alpha/alpha-protos.h (override_options): Remove.
+       * config/alpha/alpha.c (override_options): Rename to
+       alpha_option_override.  Call SUBTARGET_OVERRIDE_OPTIONS.  Make
+       static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
+       * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
+       of OVERRIDE_OPTIONS.
+       * config/arc/arc-protos.h (arc_init): Remove.
+       * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
+       (arc_init): Rename to arc_option_override.  Make static.
+       * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
+       (OVERRIDE_OPTIONS): Remove.
+       * config/arm/arm-protos.h (arm_override_options): Remove.
+       * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
+       (arm_override_options): Rename to arm_option_override.  Make
+       static.  Call SUBTARGET_OVERRIDE_OPTIONS.
+       * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
+       * config/arm/arm.md: Update comment referring to
+       arm_override_options.
+       * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/avr/avr-protos.h (avr_override_options): Remove.
+       * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
+       (avr_override_options): Rename to avr_option_override.  Make
+       static.
+       * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
+       * config/bfin/bfin-protos.h (override_options): Remove (twice).
+       * config/bfin/bfin.c (override_options): Rename to
+       bfin_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
+       * config/cris/cris-protos.h (cris_override_options): Remove.
+       * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
+       (cris_override_options): Rename to cris_option_override.  Make
+       static.
+       * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
+       * config/frv/frv-protos.h (frv_override_options): Remove.
+       * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
+       (frv_override_options): Rename to frv_option_override.  Make
+       static.
+       * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
+       * config/h8300/h8300-protos.h (h8300_init_once): Remove.
+       * config/h8300/h8300.c (h8300_init_once): Rename to
+       h8300_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
+       * config/i386/i386-protos.h (override_options): Remove.
+       * config/i386/i386.c (override_options): Rename to
+       ix86_option_override_internal.  Make static.  Comments referring
+       to this function and callers changed.
+       (ix86_option_override): New.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/i386/i386.h (OVERRIDE_OPTION): Remove.
+       * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update
+       comment.
+       * config/ia64/ia64.c (ia64_file_start): Update comment referring
+       to ia64_override_options.
+       * config/iq2000/iq2000-protos.h (override_options): Remove.
+       * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to iq2000_option_override.  Make
+       static.
+       * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
+       * config/lm32/lm32-protos.h (lm32_override_options): Remove.
+       * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
+       (lm32_override_options): Rename to lm32_option_override.  Make
+       static.
+       * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
+       * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
+       (m32r_option_override): New.
+       (m32r_init): Update comment.
+       * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
+       * config/m68hc11/m68hc11-protos.h (m68hc11_override_options):
+       Remove.
+       * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
+       (m68hc11_override_options): Rename to m68hc11_option_override.
+       Make static.  Return void.
+       * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
+       * config/m68k/m68k-protos.h (override_options): Remove.
+       * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to m68k_option_override.  Make static.
+       * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
+       * config/mcore/mcore-protos.h (mcore_override_options): Remove.
+       * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
+       (mcore_override_options): Rename to mcore_option_override.  Make
+       static.
+       * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
+       * config/mep/mep-protos.h (mep_override_options): Remove.
+       * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
+       (mep_override_options): Rename to mep_option_override.  Make
+       static.
+       * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
+       * config/mmix/mmix-protos.h (mmix_override_options): Remove.
+       * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
+       (mmix_override_options): Rename to mmix_option_override.  Make
+       static.
+       * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
+       * config/mn10300/mn10300-protos.h (mn10300_override_options):
+       Remove.
+       * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
+       (mn10300_override_options): Rename to mn10300_option_override.
+       Make static.
+       * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
+       * config/moxie/moxie-protos.h (moxie_override_options): Remove.
+       * config/moxie/moxie.c (moxie_override_options): Rename to
+       moxie_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
+       * config/picochip/picochip-protos.h (picochip_override_options):
+       Remove.  Update comment referring to picochip_override_options.
+       * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
+       (picochip_override_options): Rename to picochip_option_override.
+       Make static.  Update comment and definition of
+       TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
+       * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
+       * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+       comment.
+       * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+       comment.
+       * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+       comment.
+       * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+       comment.
+       * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+       comment.
+       * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/rs6000/rs6000-modes.def: Update comment referring to
+       rs6000_override_options.
+       * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
+       * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
+       (rs6000_override_options): Rename to
+       rs6000_option_override_internal.  Make static.  Commented
+       referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
+       (rs6000_option_override): New.
+       * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+       comment.
+       * config/s390/s390-protos.h (override_options): Remove.
+       * config/s390/s390.c (override_options): Rename to
+       s390_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
+       * config/score/score-protos.h (score_override_options): Remove.
+       * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
+       (score_override_options): Rename to score_option_override.  Make
+       static.
+       * config/score/score.h (OVERRIDE_OPTIONS): Remove.
+       Update comment referring to override_options.
+       * config/score/score3.c (score3_override_options): Rename to
+       score3_option_override.
+       * config/score/score3.h (score3_override_options): Rename to
+       score3_option_override.
+       * config/score/score7.c (score7_override_options): Rename to
+       score7_option_override.
+       * config/score/score7.h (score7_override_options): Rename to
+       score7_option_override.
+       * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
+       * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
+       (sparc_override_options): Rename to sparc_option_override.  Make
+       static.  Call SUBTARGET_OVERRIDE_OPTIONS.
+       * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
+       * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/spu/spu-protos.h (spu_override_options): Remove.
+       * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
+       (spu_override_options): Rename to spu_option_override.  Make
+       static.
+       * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
+       * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
+       OVERRIDE_OPTIONS.
+       * config/vax/vax-protos.h (override_options): Remove.
+       * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to vax_option_override.  Make static.
+       Call SUBTARGET_OVERRIDE_OPTIONS.
+       * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
+       * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
+       * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
+       * config/xtensa/xtensa-protos.h (override_options): Remove.
+       * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to xtensa_option_override.  Make
+       static.
+       * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
+
+2010-09-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45623
+       * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
+       (get_constraint_for_component_ref): If computing a constraint
+       for the rhs handle type punning through unions.
+       (get_constraint_for_address_of): Adjust.
+       (get_constraint_for_1): Likewise.
+       (get_constraint_for): Likewise.
+       (get_constraint_for_rhs): New function.
+       (do_structure_copy): Adjust.
+       (make_constraint_to): Likewise.
+       (handle_const_call): Likewise.
+       (find_func_aliases): Likewise.
+       (process_ipa_clobber): Likewise.
+       (create_variable_info_for): Likewise.
+
+2010-09-16  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vectorizer.c: Fix documentation.
+       * tree-vectorizer.h (vinfo_for_stmt): Add documentation.
+       (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
+       is_pattern_stmt_p, is_loop_header_bb_p,
+       stmt_vinfo_set_inside_of_loop_cost,
+       stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
+       known_alignment_for_access_p): Likewise.
+       * tree-vect-loop.c: Fix documentation.
+       (vect_get_cost): Start function name from new line.
+       * tree-vect-data-refs.c: Fix documentation.
+       * tree-vect_stmts.c: Likewise.
+       (vect_create_vectorized_promotion_stmts): Always free vec_tmp.
+       (vectorizable_store): Free vec_oprnds if allocated.
+       (vectorizable_condition): Initialize several variables to avoid
+       warnings.
+       * tree-vect-slp.c: Fix documentation.
+
+2010-09-16  Richard Guenther  <rguenther@suse.de>
+
+       * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
+       is TS_TRANSLATION_UNIT_DECL.
+       (initialize_tree_contains_struct): Adjust.
+       (all_translation_units): New global vector.
+       (build_translation_unit_decl): New function.
+       * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
+       (struct tree_translation_unit_decl): New.
+       (all_translation_units): Declare.
+       (union tree_node): Add translation_unit_decl member.
+       (build_translation_unit_decl): Declare.
+       * treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
+       * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
+       New function.
+       (pack_value_fields): Call it.
+       (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
+       (lto_output_ts_translation_unit_decl_tree_pointers): New function.
+       (lto_output_tree_pointers): Call it.
+       * lto-streamer-in.c (lto_input_tree_ref): Handle references
+       to TRANSLATION_UNIT_DECL.
+       (unpack_ts_translation_unit_decl_value_fields): New function.
+       (unpack_value_fields): Call it.
+       (lto_input_ts_translation_unit_decl_tree_pointers): New function.
+       (lto_input_tree_pointers): Call it.
+       * lto-streamer.c (check_handled_ts_structures): Adjust.
+       * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
+       * c-decl.c (all_translation_units): Remove.
+       (pop_scope): Use build_translation_unit_decl.
+       (collect_all_refs): Adjust.
+       (for_each_global_decl): Likewise.
+       (c_write_global_declarations): Likewise.
+
+2010-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/45686
+       * fold-const.c (fold_checksum_tree): Change slot from const void **
+       to void **, use CONST_CAST_TREE to store into *slot.
+
+2010-09-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md: Remove unneeded empty conditions and
+       preparation statements from expanders.
+       * config/i386/mmx.md: Ditto.
+       * config/i386/sse.md: Ditto.
+
+2010-09-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
+
+2010-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/45593
+       * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
+       insns that were in delay slots as stand-alone insns.
+
+2010-09-15  Ian Lance Taylor  <iant@google.com>
+
+       * incpath.c (remove_duplicates): If name is not a directory, issue
+       a warning rather than an error.
+
+2010-09-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/45644
+       * tree-sra.c (create_access): Check for bit-fields directly.
+
+2010-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/45633
+       * tree-cfg.c (verify_gimple_assign_binary): Allow
+       MINUS_EXPR with lhs and rhs1 pointer vector and
+       rhs2 sizetype vector.
+       * expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer
+       or vector pointer use TER to optimize pointer subtraction.
+
+2010-09-15  Jie Zhang  <jie@codesourcery.com>
+
+       * config/arm/vfp.md (cmpsf_trap_vfp): Change type from
+       fcmpd to fcmps.
+
+2010-09-15  Ian Lance Taylor  <iant@google.com>
+
+       * config/i386/i386.md (truncxf<mode>2): Fix indentation.
+
+2010-09-15  Ian Lance Taylor  <iant@google.com>
+
+       * function.c (get_arg_pointer_save_area): Set
+       arg_pointer_save_area_init to true.
+
+2010-09-15  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (generate_subtree_copies): Updated comment.
+       (handle_unscalarized_data_in_subtree): Removed parameter lhs which is
+       obtained from the statement iterator instead.
+       (load_assign_lhs_subreplacements): Removed parameters lhs and
+       right_offset, which is obtained from top_racc instead.  Parameter lacc
+       is now expected to be the root of the processed tree rather than root's
+       first child.  Updated all callers.
+
+2010-09-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/pdp11/pdp11.c (register_move_cost): Rename to
+       pdp11_register_move_cost.
+       * config/pdp11/pdp11-protos.h (register_move_cost): Rename to
+       pdp11_register_move_cost.
+       * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call
+       pdp11_register_move_cost instead of register_move_cost.
+
+2010-09-15  Tejas Belagod  <tejas.belagod@arm.com>
+
+       * config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
+       pattern for vmovn. Expansion in case of non 
+       -mvectorize-with-neon-quad.
+       (neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
+       non- -mvectorize-with-neon-quad case.
+       (move_lo_quad_<mode>): New expansion to vmov into low part.
+       (move_hi_quad_<mode>): New expansion to vmov into high part.
+       (move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
+       (move_lo_quad_v4sf): Likewise.
+       (move_lo_quad_v8hi): Likewise.
+       (neon_move_lo_quad_<mode>): Instruction pattern for vmov into
+       low part.
+       (neon_move_hi_quad_<mode>): Instruction pattern for vmov into
+       high part.
+       * config/arm/iterators.md (ANY128): New mode iterator.
+       (V_narrow_pack): New mode attribute.
+       (V_HALF): Add attribute.
+       (V_DOUBLE): Add attribute.
+       (V_mode_nunits): Add attribute.
+
+2010-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/alpha/alpha.c (alpha_expand_prologue): If stack checking
+       is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes.
+
+2010-09-15  Olivier Hainque  <hainque@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define.
+       * config/alpha/osf5-unwind.h: New file.
+
+2010-09-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/45672
+       * config/mips/mips.c (mips_units_per_simd_word): Correct return type.
+       * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
+       * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
+
+2010-09-15  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * c-lang.h (struct lang_type): Add variable_size GTY option.
+
 2010-09-14  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR bootstrap/45672
 
        * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
 
-       * config/i386/i386.c (ix86_units_per_simd_word): Make it
-       static.
+       * config/i386/i386.c (ix86_units_per_simd_word): Make it static.
        (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
 
        * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD.  Add
        PR tree-optimization/45470
        * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
        can throw an exception.
-       * tree-vect-stmts.c (vectorizable_call): Likewise.      
+       * tree-vect-stmts.c (vectorizable_call): Likewise.
 
 2010-09-14  DJ Delorie  <dj@redhat.com>
 
 2010-09-13  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
        * config/arm/arm.md: (define_attr "conds"): Update comment.
-       * config/arm/sync.md (arm_sync_compare_and_swapsi): Change 
+       * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
        conds attribute to clob.
-        (arm_sync_compare_and_swapsi): Likewise.
+       (arm_sync_compare_and_swapsi): Likewise.
        (arm_sync_compare_and_swap<mode>): Likewise.
        (arm_sync_lock_test_and_setsi): Likewise.
        (arm_sync_lock_test_and_set<mode>): Likewise.
 
 2010-09-13  Olivier Hainque  <hainque@adacore.com>
 
-        * fwprop.c (forward_propagate_and_simplify): Only attach a
+       * fwprop.c (forward_propagate_and_simplify): Only attach a
        REG_EQUAL note to an insn if the destination is a register.
-        * gcse.c (try_replace_reg): Likewise.
+       * gcse.c (try_replace_reg): Likewise.
 
 2010-09-13  Richard Guenther  <rguenther@suse.de>
 
 
 2010-09-10  Richard Guenther  <rguenther@suse.de>
 
-       * tree.c (type_hash_eq): For ARRAY_TYPEs also compare
-       TYPE_SIZE.
+       * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
        (build_index_type): Implement in terms of build_range_type.
        (build_range_type): Do not allow NULL_TREE type, improve
        hashing to cover more cases.  Set TYPE_STRUCTURAL_EQUALITY_P
 
 2010-09-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
-        * config/arm/neon-schedgen.ml (allCores): Add support for
-       Cortex-A9.
-        * config/arm/cortex-a9-neon.md: New and partially generated.
-        * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
+       * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9.
+       * config/arm/cortex-a9-neon.md: New and partially generated.
+       * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
 
 2010-09-10  Richard Guenther  <rguenther@suse.de>