Skip to content
Snippets Groups Projects
  1. Jun 16, 2017
    • Jan Hubicka's avatar
      predict.c (force_edge_cold): Handle declaring edges impossible more aggresively. · 8d71d7cd
      Jan Hubicka authored
      
      	* predict.c (force_edge_cold): Handle declaring edges impossible
      	more aggresively.
      
      From-SVN: r249276
      8d71d7cd
    • Jan Hubicka's avatar
      tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update profile. · 8fb0ae82
      Jan Hubicka authored
      	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update
      	profile.
      	(try_unroll_loop_completely): Fix reporting.
      
      From-SVN: r249275
      8fb0ae82
    • Jan Hubicka's avatar
      * tree-ssa-tail-merge.c (replace_block_by): Fix profile updating. · deca6d60
      Jan Hubicka authored
      From-SVN: r249274
      deca6d60
    • Nathan Sidwell's avatar
      * pt.c (tsubst_baselink): Fix & clarify formatting. · 4086ef7d
      Nathan Sidwell authored
      From-SVN: r249273
      4086ef7d
    • James Greenhalgh's avatar
      [Patch ARM] Fix PR71778 · 56960fd6
      James Greenhalgh authored
      gcc/
      
      	PR target/71778
      	* config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET
      	if given a non-constant argument for an intrinsic which requires a
      	constant.
      
      gcc/testsuite/
      
      	PR target/71778
      	* gcc.target/arm/pr71778.c: New.
      
      From-SVN: r249272
      56960fd6
    • Jan Hubicka's avatar
      * gcc.dg/tree-ssa/ssa-lim-11.c: Disable branch prediction. · ec73e54d
      Jan Hubicka authored
      From-SVN: r249271
      ec73e54d
    • Jan Hubicka's avatar
      profile.c (compare_freqs): New function. · 28ae04d4
      Jan Hubicka authored
      	* profile.c (compare_freqs): New function.
      	(branch_prob): Sort edge list.
      	(find_spanning_tree): Assume that the list is priority sorted.
      
      From-SVN: r249270
      28ae04d4
    • Nathan Sidwell's avatar
      cp-tree.h (build_this_parm, [...]): Add FN parm. · e249fcad
      Nathan Sidwell authored
      	gcc/cp/
      	* cp-tree.h (build_this_parm, cp_build_parm_decl)
      	build_artificial_parm): Add FN parm.
      	* decl.c (start_cleanup_fn): Adjust.
      	(build_this_parm): Add FN parm, pass it through.
      	(grokfndecl): Adjust parm building.
      	* decl2.c (cp_build_parm_decl): Add FN parm, set context.
      	(build_artificial_parm): Add FN parm, pass through.
      	(maybe_retrofit_in_chrg): Adjust parm building.
      	(start_static_storage_duration_function): Likwise.
      	* lambda.c (maybe_aadd_lambda_conv_op): Likewise.
      	* method.c (implicitly_declare_fn): Likewise.
      	* parser.c (inject_this_parameter): Likewise.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_build_decl): Adjust parm building.
      (--This line, and those below, will be ignored--
      
      M    gcc/cp/parser.c
      M    gcc/cp/ChangeLog
      M    gcc/cp/decl.c
      M    gcc/cp/lambda.c
      M    gcc/cp/cp-tree.h
      M    gcc/cp/method.c
      M    gcc/cp/decl2.c
      M    libcc1/libcp1plugin.cc
      M    libcc1/ChangeLog
      
      From-SVN: r249268
      e249fcad
    • Jonathan Wakely's avatar
      Add std::get_deleter overload with correct signature · 78a8b676
      Jonathan Wakely authored
      	* include/bits/shared_ptr.h (get_deleter): Add overload matching
      	standard signature.
      	* include/bits/shared_ptr_base.h (__shared_ptr): Declare new
      	get_deleter overload as a friend.
      	* testsuite/20_util/shared_ptr/misc/get_deleter.cc: New.
      
      From-SVN: r249267
      78a8b676
    • Nathan Sidwell's avatar
      Symbol tables are insert only. · d7b11178
      Nathan Sidwell authored
      	* cp-tree.h (default_hash_traits <lang_identifier *>): Don't
      	derive from pointer_hash.  Make undeletable.
      
      From-SVN: r249266
      d7b11178
    • Nathan Sidwell's avatar
      class.c (resort_type_method_vec): Avoid potential unsigned overflow. · ba27a39d
      Nathan Sidwell authored
      	* class.c (resort_type_method_vec): Avoid potential unsigned
      	overflow.
      
      From-SVN: r249265
      ba27a39d
    • Nathan Sidwell's avatar
      Don't defer noexcept_deferred_spec. · 0d1dc586
      Nathan Sidwell authored
      	* cp-tree.h (unevaluated_noexcept_spec): Don't declare.
      	* decl.c (cxx_init_decl_processing): Initialize
      	noexcept_deferred_spec.
      	* except.c (unevaluated_noexcept_spec): Delete.
      	* class.c (deduce_noexcept_on_destructor): Use
      	noexcept_deferred_spec directly.
      	* method.c (implicitly_declare_fn): Likewise.
      
      From-SVN: r249264
      0d1dc586
    • Nathan Sidwell's avatar
      Make keyed_classes a vector. · 6a2dfd9a
      Nathan Sidwell authored
      	* cp-tree.h (CPTI_KEYED_CLASSES, keyed_classes): Delete.
      	(keyed_classes): Declare as vector.
      	* decl.c (keyed_classes): Define.
      	(cxx_init_decl_processing): Allocate it.
      	(record_key_method_defined): Use vec_safe_push.
      	* class.c (finish_struct_1): Likewise.
      	* pt.c (instantiate_class_template_1): Likewise.
      	* decl2.c (c_parse_final_cleanups): Reverse iterate keyed_classes.
      
      From-SVN: r249263
      6a2dfd9a
    • Nathan Sidwell's avatar
      Fix keyboard flub. · 8c1ca7ee
      Nathan Sidwell authored
      From-SVN: r249262
      8c1ca7ee
    • Jakub Jelinek's avatar
      re PR libstdc++/81092 (Missing symbols for new std::wstring constructors) · fb7a1633
      Jakub Jelinek authored
      	PR libstdc++/81092
      	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
      
      From-SVN: r249260
      fb7a1633
    • Nathan Sidwell's avatar
      Make rtti lazier · ac9a1c7e
      Nathan Sidwell authored
      	Make rtti lazier
      	* rtti.c (enum tinfo_kind): Add TK_DERIVED_TYPES,
      	TK_VMI_CLASS_TYPES, TK_MAX.  Delete TK_FIXED.
      	(tinfo_names): New.
      	(typeid_ok_p): Add quotes to error messages.  Use get_tinfo_desc.
      	(get_tinfo_decl): Use get_tinfo_desc.
      	(get_pseudo_ti_init): Likewise. Adjust VMI construction.
      	(create_pseudo_type_info): Delete.
      	(get_pseudo_ti_index): Just determine the index.
      	(get_tinfo_desc): New.  Create all types lazily.
      	(create_tinfo_types): Just allocate the descriptor array.
      	(emit_support_tinfos): Use non-inserting type lookup.  Set builtin
      	location.
      
      From-SVN: r249258
      ac9a1c7e
    • Jonathan Wakely's avatar
      Fix std::wbuffer_convert::sync() · bfe8a528
      Jonathan Wakely authored
      	* include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition.
      	* testsuite/22_locale/conversions/buffer/2.cc: New.
      
      From-SVN: r249255
      bfe8a528
    • Richard Biener's avatar
      re PR tree-optimization/81090 ([graphite] ICE in loop_preheader_edge) · 01f1c24e
      Richard Biener authored
      2017-06-16  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81090
      	* passes.def (pass_record_bounds): Remove.
      	* tree-pass.h (make_pass_record_bounds): Likewise.
      	* tree-ssa-loop.c (pass_data_record_bounds, pass_record_bounds,
      	make_pass_record_bounds): Likewise.
      	* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Do
      	not free niter estimates at the beginning but at the end.
      	* tree-scalar-evolution.c (scev_finalize): Free niter estimates.
      
      	* gcc.dg/graphite/pr81090.c: New testcase.
      
      From-SVN: r249249
      01f1c24e
    • Jonathan Wakely's avatar
      PR libstdc++/81092 add std::wstring symbols and bump library version · 4317778a
      Jonathan Wakely authored
      	PR libstdc++/81092
      	* acinclude.m4: Bump libtool_VERSION.
      	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
      	* config/abi/pre/gnu.ver: Add wstring constructor symbols to
      	GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol
      	to new GLIBCXX_3.4.25 version.
      	* doc/xml/manual/abi.xml: Document new versions.
      	* doc/html/*: Regenerate.
      	* testsuite/21_strings/basic_string/cons/char/8.cc: Use base object
      	constructors to ensure required symbols are exported.
      	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
      	* testsuite/util/testsuite_abi.cc: Add new version.
      
      From-SVN: r249246
      4317778a
    • Richard Biener's avatar
      tree-switch-conversion.c (emit_case_bit_tests): Adjust initializer to... · 66846c07
      Richard Biener authored
      tree-switch-conversion.c (emit_case_bit_tests): Adjust initializer to workaround ICE in host GCC 4.8.
      
      2017-06-16  Richard Biener  <rguenther@suse.de>
      
      	* tree-switch-conversion.c (emit_case_bit_tests): Adjust
      	initializer to workaround ICE in host GCC 4.8.
      
      From-SVN: r249245
      66846c07
    • Jan Hubicka's avatar
      ipa-inline-transform.c (update_noncloned_frequencies): Update also counts. · 7d72a77f
      Jan Hubicka authored
      	* ipa-inline-transform.c (update_noncloned_frequencies): Update also
      	counts.
      	(clone_inlined_nodes): Update.
      
      From-SVN: r249244
      7d72a77f
    • Janus Weil's avatar
      re PR fortran/80983 ([F03] memory leak when calling procedure-pointer... · 8d94f932
      Janus Weil authored
      re PR fortran/80983 ([F03] memory leak when calling procedure-pointer component with allocatable result)
      
      2017-06-16  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80983
      	* gfortran.dg/proc_ptr_comp_51.f90: Repair test case.
      
      From-SVN: r249243
      8d94f932
    • Maxim Kuvyrkov's avatar
      Update prefetch tuning parameters for qdf24xx. · 70c51b58
      Maxim Kuvyrkov authored
      	* config/aarch64/aarch64.c (qdf24xx_prefetch_tune): Update
      	prefetch settings, and enable prefetching by default at -O3.
      
      Change-Id: I2f0da54a8c262f6fbd0dcfde4584141bb09f1013
      
      From-SVN: r249242
      70c51b58
    • Maxim Kuvyrkov's avatar
      Enable -fprefetch-loop-arrays at given optimization level. · 16b2cafd
      Maxim Kuvyrkov authored
      	* config/aarch64/aarch64.c (aarch64_override_options_internal):
      	Set flag_prefetch_loop_arrays according to tuning data.
      
      Change-Id: Id41411e671e0a55dc7268e0ad0a4e8ff1421c90a
      
      From-SVN: r249241
      16b2cafd
    • Maxim Kuvyrkov's avatar
      Add prefetch configuration to aarch64 backend. · 9d2c6e2e
      Maxim Kuvyrkov authored
      	* config/aarch64/aarch64-protos.h (struct cpu_prefetch_tune):
      	New tune structure.
      	(struct tune_params): Use cpu_prefetch_tune instead of cache_line_size.
      	[Unrelated to main purpose of the patch] Place the pointer field last
      	to enable type checking errors when tune structure are wrongly merged.
      	* config/aarch64/aarch64.c (generic_prefetch_tune,)
      	(exynosm1_prefetch_tune, qdf24xx_prefetch_tune,)
      	(thunderx2t99_prefetch_tune): New tune constants.
      	(tune_params *_tunings): Update all tunings (no functional change).
      	(aarch64_override_options_internal): Set PARAM_SIMULTANEOUS_PREFETCHES,
      	PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE, and PARAM_L2_CACHE_SIZE
      	from tunings structures.
      
      Change-Id: I1ddbac1863dcf078a2e5b14dd904debc76a7da94
      
      From-SVN: r249240
      9d2c6e2e
    • Jakub Jelinek's avatar
      re PR sanitizer/81094 (-fsanitize=object-size does not instrument aggregate call arguments) · b783399a
      Jakub Jelinek authored
      	PR sanitizer/81094
      	* ubsan.c (instrument_null): Add T argument, use it instead
      	of computing it based on IS_LHS.
      	(instrument_object_size): Likewise.
      	(pass_ubsan::execute): Adjust instrument_null and
      	instrument_object_size callers to pass gimple_get_lhs or
      	gimple_assign_rhs1 result to it.  Use instrument_null instead of
      	calling get_base_address and instrument_mem_ref.  Handle
      	aggregate call arguments for object-size sanitization.
      
      	* c-c++-common/ubsan/object-size-11.c: New test.
      
      From-SVN: r249239
      b783399a
    • Jonathan Wakely's avatar
      Fix missing returns in libstdc++ header and tests · 6ec3c9c8
      Jonathan Wakely authored
      	* include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing
      	return statement.
      	* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
      	Return void.
      	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
      	Likewise.
      	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add
      	missing return statements.
      	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
      	Likewise.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
      	Return void.
      	* testsuite/special_functions/14_expint/pr68397.cc: Likewise.
      
      From-SVN: r249238
      6ec3c9c8
    • Yury Gribov's avatar
      re PR tree-optimization/81089 (ICE: tree check: expected ssa_name, have... · 32e37414
      Yury Gribov authored
      re PR tree-optimization/81089 (ICE: tree check: expected ssa_name, have integer_cst in register_edge_assert_for_2, at tree-vrp.c:5023)
      
      2017-06-16  Yury Gribov  <tetra2005@gmail.com>
      
      	PR tree-optimization/81089
      	* tree-vrp.c (is_masked_range_test): Validate operands of
      	subexpression.
      
      From-SVN: r249237
      32e37414
    • Rainer Orth's avatar
      Don't use >& for I/O redirection · 0186cacf
      Rainer Orth authored
      	* Makefile.am (check-go-tool): Don't use >& for I/O redirection.
      	* Makefile.in: Regenerate.
      
      From-SVN: r249236
      0186cacf
    • François Dumont's avatar
      stl_bvector.h (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): Change signature. · 7d594224
      François Dumont authored
      2017-06-16  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_bvector.h
      	(__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)):
      	Change signature.
      	(std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt.
      	(_Bvector_impl_data): New.
      	(_Bvector_impl): Inherits from latter.
      	(_Bvector_impl(_Bit_alloc_type&&)): Delete.
      	(_Bvector_impl(_Bvector_impl&&)): New, default.
      	(_Bvector_base()): Default.
      	(_Bvector_base(_Bvector_base&&)): Default.
      	(_Bvector_base::_M_move_data(_Bvector_base&&)): New.
      	(vector(vector&&, const allocator_type&)): Use latter.
      	(vector<bool>::operator=(vector&&)): Likewise.
      	(vector<bool>::vector()): Default.
      	(vector<bool>::vector(vector&&)): Default.
      	(vector<bool>::assign(_InputIterator, _InputIterator)): Use
      	_M_assign_aux.
      	(vector<bool>::assign(initializer_list<bool>)): Likewise.
      	(vector<bool>::_M_initialize_value(bool)): New.
      	(vector<bool>(size_type, const bool&, const allocator_type&)): Use
      	latter.
      	(vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)):
      	Likewise.
      	(vector<bool>::_M_fill_assign(size_t, bool)): Likewise.
      
      From-SVN: r249235
      7d594224
    • Martin Sebor's avatar
      PR c++/80560 - warn on undefined memory operations involving non-trivial types · c3684b7b
      Martin Sebor authored
      gcc/c-family/ChangeLog:
      
      	PR c++/80560
      	* c.opt (-Wclass-memaccess): New option.
      
      gcc/cp/ChangeLog:
      
      	PR c++/80560
      	* call.c (first_non_public_field, maybe_warn_class_memaccess): New
      	functions.
      	(has_trivial_copy_assign_p, has_trivial_copy_p): Ditto.
      	(build_cxx_call): Call maybe_warn_class_memaccess.
      
      gcc/ChangeLog:
      
      	PR c++/80560
      	* dumpfile.c (dump_register): Avoid calling memset to initialize
      	a class with a default ctor.
      	* gcc.c (struct compiler): Remove const qualification.
      	* genattrtab.c (gen_insn_reserv): Replace memset with initialization.
      	* hash-table.h: Ditto.
      	* ipa-cp.c (allocate_and_init_ipcp_value): Replace memset with
      	  assignment.
      	* ipa-prop.c (ipa_free_edge_args_substructures): Ditto.
      	* omp-low.c (lower_omp_ordered_clauses): Replace memset with
      	default ctor.
      	* params.h (struct param_info): Make struct members non-const.
      	* tree-switch-conversion.c (emit_case_bit_tests): Replace memset
      	with default initialization.
      	* vec.h (vec_copy_construct, vec_default_construct): New helper
      	functions.
      	(vec<T>::copy, vec<T>::splice, vec<T>::reserve): Replace memcpy
      	with vec_copy_construct.
      	(vect<T>::quick_grow_cleared): Replace memset with default ctor.
      	(vect<T>::vec_safe_grow_cleared, vec_safe_grow_cleared): Same.
      	* doc/invoke.texi (-Wclass-memaccess): Document.
      
      libcpp/ChangeLog:
      
      	PR c++/80560
      	* line-map.c (line_maps::~line_maps): Avoid calling htab_delete
      	with a null pointer.
      	(linemap_init): Avoid calling memset on an object of a non-trivial
      	type.
      
      libitm/ChangeLog:
      
      	PR c++/80560
      	* beginend.cc (GTM::gtm_thread::rollback): Avoid calling memset
      	on an object of a non-trivial type.
      	(GTM::gtm_transaction_cp::commit): Use assignment instead of memcpy
      	to copy an object.
      	* method-ml.cc (orec_iterator::reinit): Avoid -Wclass-memaccess.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/80560
      	* g++.dg/Wclass-memaccess.C: New test.
      
      From-SVN: r249234
      c3684b7b
    • GCC Administrator's avatar
      Daily bump. · 6a382041
      GCC Administrator authored
      From-SVN: r249233
      6a382041
  2. Jun 15, 2017
    • Nicolas Boulenguez's avatar
      re PR ada/81105 (system-freebsd-x86.ads renamed but referenced by... · cb55f77d
      Nicolas Boulenguez authored
      re PR ada/81105 (system-freebsd-x86.ads renamed but referenced by gcc/ada/gcc-interface/Makefile.in)
      
      	PR ada/81105
      	* gcc-interface/Makefile.in (x86 kfreebsd): Adjust system.ads setting.
      	(i[3456]86-pc-gnu): Likewise.
      	(x86_64 kfreebsd): Likewise.
      
      From-SVN: r249228
      cb55f77d
    • Janus Weil's avatar
      re PR fortran/80983 ([F03] memory leak when calling procedure-pointer... · d0e7a9fd
      Janus Weil authored
      re PR fortran/80983 ([F03] memory leak when calling procedure-pointer component with allocatable result)
      
      2017-06-15  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80983
      	* trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
      	scalar allocatable procedure-pointer components.
      
      
      2017-06-15  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/80983
      	* gfortran.dg/proc_ptr_comp_51.f90: New test.
      
      From-SVN: r249227
      d0e7a9fd
    • François Dumont's avatar
      2017-06-15 François Dumont <fdumont@gcc.gnu.org> · 0356a074
      François Dumont authored
      	* src/c++98/tree.cc  [!_GLIBCXX_INLINE_VERSION]
      	(_Rb_tree_rotate_left, _Rb_tree_rotate_right): Delete.
      
      From-SVN: r249226
      0356a074
    • Jan Hubicka's avatar
      Revert accidental checkin. · 3a849280
      Jan Hubicka authored
      From-SVN: r249225
      3a849280
    • Jan Hubicka's avatar
      re PR lto/69866 (lto1: internal compiler error: in add_symbol_to_partition_1,... · d1eed638
      Jan Hubicka authored
      re PR lto/69866 (lto1: internal compiler error: in add_symbol_to_partition_1, at lto/lto-partition.c:158)
      
      
      	PR lto/69866
      	* lto-symtab.c (lto_symtab_merge_symbols): Drop useless definitions
      	that resolved externally.
      
      	* gcc.dg/lto/pr69866_0.c: New test.
      	* gcc.dg/lto/pr69866_1.c: Likewise.
      
      From-SVN: r249224
      d1eed638
    • Ramana Radhakrishnan's avatar
      Update comment about is_leaf · 55dabf65
      Ramana Radhakrishnan authored
      crtl->is_leaf has a comment above it referring to "Local Register
      Allocation". However this is set by IRA and not LRA since the meaning
      of Local Register Allocator in GCC has changed quite drastically since
      1999 when this comment was introduced above the variable
      current_function_is_leaf. From memory gcc in those days had "local"
      and "global" register allocation - however all of this has changed
      quite a bit drastically since.
      
      This patch merely updates the comment as I did some head scratching
      this morning about how this could be set before Local Register
      Allocator especially given the comment in ira.c as below.
      
      
       /* Determine if the current function is a leaf before running IRA
           since this can impact optimizations done by the prologue and
           epilogue thus changing register elimination offsets.  */
        crtl->is_leaf = leaf_function_p ();
      
      From-SVN: r249223
      55dabf65
    • Jozef Lawrynowicz's avatar
      Fix problems with the MSP430 port's handling of persistent data. · 61f5d852
      Jozef Lawrynowicz authored
      	PR target/78818
      gcc	* config/msp430/msp430.c (msp430_data_attr): Check that it's possible
      	for a variable to have a section before checking if the section has a
      	name.
      	Set section to.persistent if persistent	attribute is set.
      	Warn if .persistent attribute is used on an automatic variable.
      
      tests	* gcc.target/msp430/pr78818-real.c: New template for tests.
      	* gcc.target/msp430/pr78818-auto.c: New test.
      	* gcc.target/msp430/pr78818-data-region.c: New test.
      	* gcc.target/msp430/pr78818-data-sec.c: New test.
      	* gcc.target/msp430/pr78818-auto-warn.c: New test.
      
      From-SVN: r249222
      61f5d852
    • Eric Botcazou's avatar
      re PR rtl-optimization/80474 (ipa-cp wrongly adding LO(symbol) twice) · 0948d23f
      Eric Botcazou authored
      	PR rtl-optimization/80474
      	* reorg.c (update_block): Do not ignore instructions in a delay slot.
      
      From-SVN: r249219
      0948d23f
Loading