- 31 Aug, 2010 9 commits
-
-
* doc/extend.texi: Fix documentation of the return value of __builtin_choose_expr. From-SVN: r163675
Francois-Xavier Coudert committed -
* config/v850/v850-protos.h (function_arg): Delete. * config/v850/v850.h (FUNCTION_ARG): Delete. (FUNCTION_ARG_ADVANCE): Move code to... * config/v850/v850.c (v850_function_arg_advance): ...here. (v850_function_arg): Make static. Take a const_tree and a bool. (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. From-SVN: r163674
Nathan Froyd committed -
* config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move these... (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P): ...and these... * config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance): ..to here.. (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P): ...and here. (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. From-SVN: r163672
Nathan Froyd committed -
* config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size): Delete. * config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. * config/rx/rx.c (rx_function_arg_size): Make static. (rx_function_arg): Likewise. (rx_function_arg_advance): New function. (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. From-SVN: r163671
Nathan Froyd committed -
2010-08-31 Richard Guenther <rguenther@suse.de> PR testsuite/45455 * gcc.dg/vect/vect-cond-4.c: Fix use of uninitialized variable. From-SVN: r163669
Richard Guenther committed -
2010-08-31 Bingfeng Mei <bmei@broadcom.com> * gcc.dg/vect/pr43430-1.c: Requires vect_condition target. From-SVN: r163668
Bingfeng Mei committed -
* config/arm/arm.c (arm_override_options): Remove superfluous test. Fix indentation. From-SVN: r163667
John Tytgat committed -
* dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada. (dwarf2out_decl) <CONST_DECL>: Likewise. From-SVN: r163666
Eric Botcazou committed -
From-SVN: r163665
GCC Administrator committed
-
- 30 Aug, 2010 20 commits
-
-
2010-08-30 Janus Weil <janus@gcc.gnu.org> PR fortran/45456 * resolve.c (resolve_structure_cons): Handle pointer-valued PPCs. 2010-08-30 Janus Weil <janus@gcc.gnu.org> PR fortran/45456 * gfortran.dg/typebound_proc_18.f03: New. From-SVN: r163661
Janus Weil committed -
Stack usage support * common.opt (-fstack-usage): New option. * doc/invoke.texi (Debugging options): Document it. * builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to allocate_dynamic_stack_space. (expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE and propagate it to allocate_dynamic_stack_space. (expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change. * calls.c (initialize_argument_information): Pass TRUE as 4th argument to allocate_dynamic_stack_space. (expand_call): Set current_function_has_unbounded_dynamic_stack_size to 1 when pushing a variable-sized argument onto the stack. Pass TRUE as 4th argument to allocate_dynamic_stack_space. Update current_function_pushed_stack_size. (emit_library_call_value_1): Likewise. * explow.c (allocate_dynamic_stack_space): Add 4th bool parameter CANNOT_ACCUMULATE. If flag_stack_usage, look into the size and attempt to find an upper bound. Remove redundant code for the SETJMP_VIA_SAVE_AREA case. * expr.h (allocate_dynamic_stack_space): Add 4th bool parameter. * function.h (struct stack_usage): New structure. (current_function_static_stack_size): New macro. (current_function_dynamic_stack_size): Likewise. (current_function_pushed_stack_size): Likewise. (current_function_dynamic_alloc_count): Likewise. (current_function_has_unbounded_dynamic_stack_size): Likewise. (current_function_allocates_dynamic_stack_space): Likewise. (struct function): Add new field 'su'. * function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA, add the value of the dynamic offset to the dynamic stack usage. (gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA for variable-sized objects. (prepare_function_start): Allocate cfun->su if flag_stack_usage. (rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage. * gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA for variable-sized objects. * output.h (output_stack_usage): Declare. * toplev.c (stack_usage_file): New file pointer. (output_stack_usage): New function. (open_auxiliary_file): Likewise. (lang_dependent_init): Open file if flag_stack_usage is set. (finalize): Close file if stack_usage_file is not null. * tree.h (ALLOCA_FOR_VAR_P): New macro. * config/alpha/alpha.c (compute_frame_size): New function. (alpha_expand_prologue): Use it. (alpha_start_function): Likewise. (alpha_expand_epilogue): Likewise. Set stack usage info. * config/i386/i386.c (ix86_expand_prologue): Likewise. * config/ia64/ia64.c (ia64_expand_prologue): Likewise. * config/mips/mips.c (mips_expand_prologue): Likewise. * config/pa/pa.c (hppa_expand_prologue): Likewise. * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise. * config/sparc/sparc.c (sparc_expand_prologue): Likewise. testsuite/ * lib/gcc-dg.exp (cleanup-stack-usage): New procedure. * lib/scanasm.exp (scan-stack-usage): Likewise. (scan-stack-usage-not): Likewise. * gcc.dg/stack-usage-1.c: New test. * gcc.target/i386/stack-usage-realign.c: Likewise. From-SVN: r163660
Eric Botcazou committed -
PR tree-optimization/45427 * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten. Handle the case that the exit is never taken correctly. (number_of_iterations_ne): Pass exit_must_be_taken to number_of_iterations_ne_max. * gcc.dg/tree-ssa/pr45427.c: New test. From-SVN: r163659
Zdenek Dvorak committed -
2010-08-31 Catherine Moore <clm@codesourcery.com> * config/mips/mips.h (BASE_DRIVER_SELF_SPECS): Infer -mdspr2 for the the 74K. From-SVN: r163656
Catherine Moore committed -
re PR c++/45043 (ICE: tree check: expected identifier_node, have bit_not_expr in grokdeclarator, at cp/decl.c:8113 on invalid code) /cp 2010-08-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45043 * decl.c (grokdeclarator): Use MAIN_NAME_P only on IDENTIFIER_NODEs. /testsuite 2010-08-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45043 * g++.dg/template/crash102.C: New. From-SVN: r163655
Paolo Carlini committed -
PR debug/45419 * tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable. From-SVN: r163654
Jakub Jelinek committed -
PR middle-end/45423 * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR and TRUTH_{AND,OR,XOR}_EXPR. * c-parser.c (c_parser_omp_atomic): Handle boolean {PRE,POST}_{INC,DEC}REMENT. cp/ * parser.c (cp_parser_omp_atomic): Handle boolean {PRE,POST}_INCREMENT. testsuite/ * gcc.dg/gomp/atomic-12.c: New test. * gcc.dg/gomp/atomic-13.c: New test. * gcc.dg/gomp/atomic-14.c: New test. * g++.dg/gomp/atomic-11.C: New test. * g++.dg/gomp/atomic-12.C: New test. * g++.dg/gomp/atomic-13.C: New test. * g++.dg/gomp/atomic-14.C: New test. From-SVN: r163653
Jakub Jelinek committed -
* gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs. Attach fake PARM_DECLs to the topmost block of the function. From-SVN: r163651
Eric Botcazou committed -
* g++.dg/debug/dwarf2/nested-2.C: Allow for single / as comment delimiter. From-SVN: r163650
Rainer Orth committed -
* config/xtensa/xtensa-protos.h (function_arg_advance): Delete. (function_arg): Delete. * config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. (FUNCTION_INCOMING_ARG): Delete. * config/xtensa/xtensa.c (function_arg_advance): Rename to... (xtensa_function_arg_advance): ...this. Make static. Take a const_tree and a bool. (function_arg): Rename to... (xtensa_function_arg_1): ...this. Make static. Take a const_tree and a bool. (xtensa_function_arg, xtensa_function_incoming_arg): Nex functions. (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. (TARGET_FUNCTION_INCOMING_ARG): Define. From-SVN: r163649
Nathan Froyd committed -
trans.c (call_to_gnu): Also force the return slot opt for the call to a function whose return type was... * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt for the call to a function whose return type was unconstrained. From-SVN: r163648
Eric Botcazou committed -
2010-08-30 Richard Guenther <rguenther@suse.de> PR tree-optimization/21602 * builtins.c (fold_builtin_memory_op): Fold memmove to memcpy using points-to information. From-SVN: r163646
Richard Guenther committed -
From-SVN: r163645
Uros Bizjak committed -
decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro, replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN. * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro, replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN. (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it. From-SVN: r163641
Olivier Hainque committed -
2010-08-30 H.J. Lu <hongjiu.lu@intel.com> * config/linux.h (TARGET_HAS_SINCOS): Replace | with ||. From-SVN: r163640
H.J. Lu committed -
From-SVN: r163639
Francois-Xavier Coudert committed -
2010-08-30 Richard Guenther <rguenther@suse.de> PR tree-optimization/45449 * tree-ssa-live.c (remove_unused_locals): Also remove address-taken variables. * gcc.dg/pr45449.c: New testcase. From-SVN: r163638
Richard Guenther committed -
* opts.h (CL_ERR_NEGATIVE): Define. * opts.c (unknown_option_callback): Don't postpone warnings for options marked with CL_ERR_NEGATIVE. * opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error for negative versions of CL_REJECT_NEGATIVE options. testsuite: * gcc.dg/opts-1.c: Expect errors, not warnings. From-SVN: r163637
Joseph Myers committed -
* config/i386/i386.md (zero_extendsidi2_1): Rename from zero_extendsidi2_32. (zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2 using SWI12 mode iterator. (zero_extendhisi2_and): Merge insn pattern and corresponding spliter to define_insn_and_split pattern. (zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2 using SWI24 mode iterator. (*zero_extendqi<mode>2_and): Macroize insn from *zero_extendqi{hi,si}2_and using SWI24 mode iterator. (*zero_extendqi<mode>2_movzbl_and): Macroize insn from *zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using SWI24 mode iterator. (*zero_extendqi<mode>2_movzbl): Ditto from *zero_extendqi{hi,si}2_movzbl. (extendsidi2_1): Rename from extendsidi2_32. (extend<mode>di2): Macroize insn from extend{qi,hi}di2 using SWI12 mode iterator. From-SVN: r163636
Uros Bizjak committed -
From-SVN: r163635
GCC Administrator committed
-
- 29 Aug, 2010 6 commits
-
-
2010-08-29 Janus Weil <janus@gcc.gnu.org> PR fortran/42769 * resolve.c (resolve_structure_cons): For derived types, make sure the type has been resolved. (resolve_typebound_procedures): Make sure the vtab has been generated. 2010-08-29 Janus Weil <janus@gcc.gnu.org> PR fortran/42769 * gfortran.dg/dynamic_dispatch_11.f03: New. From-SVN: r163631
Janus Weil committed -
* config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in general purpose registers. (HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers. * config/ia64/ia64.md (*movcci): Change to named pattern. Deal with general purpose registers and memory operands. Add associated CCImode post-reload splitter. * config/ia64/div.md: Change BImode to CCImode throughout. From-SVN: r163630
Eric Botcazou committed -
PR c++/44991 * parser.c (cp_parser_parameter_declaration): Pop parameter decls after tentative parsing. From-SVN: r163629
Jason Merrill committed -
2010-08-29 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/23_containers/bitset/invalidation: Move... * testsuite/23_containers/bitset/debug/invalidation: ... here. * testsuite/23_containers/deque/invalidation: Move... * testsuite/23_containers/deque/debug/invalidation: ... here. * testsuite/23_containers/list/invalidation: Move... * testsuite/23_containers/list/debug/invalidation: ... here. * testsuite/23_containers/map/invalidation: Move... * testsuite/23_containers/map/debug/invalidation: ... here. * testsuite/23_containers/multimap/invalidation: Move... * testsuite/23_containers/multimap/debug/invalidation: ... here. * testsuite/23_containers/set/invalidation: Move... * testsuite/23_containers/set/debug/invalidation: ... here. * testsuite/23_containers/multiset/invalidation: Move... * testsuite/23_containers/multiset/debug/invalidation: ... here. * testsuite/23_containers/vector/invalidation: Move... * testsuite/23_containers/vector/debug/invalidation: ... here. 2010-08-29 François Dumont <francois.cppdevs@free.fr> * include/bits/stl_algobase.h (_Iter_base): Move... * include/bits/stl_iterator_base_types.h: ...here. * include/debug/functions.h (__check_valid_range, __check_string, __check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include formatter.h and use formatting macros for a consistent debug result. * include/debug/formatter.h (__check_singular): Declare; do not include debug.h. * include/debug/debug.h: Do not include formatter.h. * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator) rename to iterator_type. (__gnu_debug::__base): Add. * include/debug/set.h: Use everywhere __gnu_debug::__base once iterator range valided. * include/debug/unordered_map: Likewise. * include/debug/multiset.h: Likewise. * include/debug/vector: Likewise. * include/debug/unordered_set: Likewise. * include/debug/deque: Likewise. * include/debug/map.h: Likewise. * include/debug/string: Likewise. * include/debug/list: Likewise. * include/debug/multimap.h: Likewise. * testsuite/23_containers/util/debug/assign_neg.h: New test cases on debug checks performed on container assign operation. * testsuite/23_containers/util/debug/construct_neg.h: New test cases on debug checks on constructors. * testsuite/23_containers/util/debug/insert_neg.h: New test cases on debug checks performed on container insert operations. * testsuite/23_containers/unordered_map/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: New. * testsuite/23_containers/multimap/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/set/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/map/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/vector/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/deque/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/list/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/performance/23_containers/range_construct/ list_construct1.cc: New, validate performance impact of the patch on the debug mode. * testsuite/performance/23_containers/range_construct/ list_construct2.cc: Likewise. * testsuite/performance/23_containers/range_construct/ vector_construct.cc: Likewise. * testsuite/performance/23_containers/range_construct/ deque_construct.cc: Likewise. From-SVN: r163628
Paolo Carlini committed -
2010-08-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45439 * match.c (gfc_match_select_type): Give the associate-name the FL_VARIABLE attribute. 2010-08-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45439 * gfortran.dg/select_type_16.f03: New. From-SVN: r163626
Janus Weil committed -
From-SVN: r163624
GCC Administrator committed
-
- 28 Aug, 2010 5 commits
-
-
* m4/mtype.m4 (upcase, hasmathfunc, mathfunc_macro): New macros. * m4/fraction.m4: Use new macros to support quad-float types. * m4/set_exponent.m4: Likewise. * m4/spacing.m4: Likewise. * m4/exponent.m4: Likewise. * m4/nearest.m4: Likewise. * m4/norm2.m4: Likewise. * m4/bessel.m4: Likewise. * m4/rrspacing.m4: Likewise. * generated/bessel_r4.c:Regenerated. * generated/bessel_r8.c: Regenerated. * generated/bessel_r10.c: Regenerated. * generated/bessel_r16.c: Regenerated. * generated/exponent_r4.c: Regenerated. * generated/exponent_r8.c: Regenerated. * generated/exponent_r10.c: Regenerated. * generated/exponent_r16.c: Regenerated. * generated/fraction_r4.c: Regenerated. * generated/fraction_r8.c: Regenerated. * generated/fraction_r10.c: Regenerated. * generated/fraction_r16.c: Regenerated. * generated/nearest_r4.c: Regenerated. * generated/nearest_r8.c: Regenerated. * generated/nearest_r10.c: Regenerated. * generated/nearest_r16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/rrspacing_r4.c: Regenerated. * generated/rrspacing_r8.c: Regenerated. * generated/rrspacing_r10.c: Regenerated. * generated/rrspacing_r16.c: Regenerated. * generated/set_exponent_r4.c: Regenerated. * generated/set_exponent_r8.c: Regenerated. * generated/set_exponent_r10.c: Regenerated. * generated/set_exponent_r16.c: Regenerated. * generated/spacing_r4.c: Regenerated. * generated/spacing_r8.c: Regenerated. * generated/spacing_r10.c: Regenerated. * generated/spacing_r16.c: Regenerated. From-SVN: r163620
Francois-Xavier Coudert committed -
From-SVN: r163618
Eric Botcazou committed -
* config/picochip/picochip.c (reorder_var_tracking_notes): This function was dropping debug insns which caused PR45299. From-SVN: r163617
Hariharan Sandanagobalane committed -
* config/i386/sse.md (extsuffix): New code attribute. (sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2 and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator. (sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2 and sse4_1_zero_extendv4qiv4si2. (sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2 and sse4_1_zero_extendv2qiv2di2. (sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2 and sse4_1_zero_extendv4hiv4si2. (sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2 and sse4_1_zero_extendv2hiv2di2. (sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2 and sse4_1_zero_extendv2siv2di2 (<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart using any_extend code iterator. (*avx_<s>mulv8hi3_highpart): Macroize insn from *avx_{u,s}mulv8hi3_highpart using any_extend code iterator. (*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart. * config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed gen_sse4_1_sign_extend* functions. (struct builtin_description bdesc_args): Ditto. From-SVN: r163616
Uros Bizjak committed -
fortran/ 2010-07-21 Steven G. Kargl <kargl@gcc.gnu.org> * simplify.c (gfc_simplify_bessel_n2): Fix indention and argument type. testsuite/ 2010-07-21 Steven G. Kargl <kargl@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> * gfortran.dg/bessel_7.f90: Decrease required precision. Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r163615
Steven G. Kargl committed
-