1. 16 Nov, 2015 13 commits
  2. 15 Nov, 2015 10 commits
    • on_exit.c: New file. · d9adb476
              * config/rs6000/on_exit.c: New file.
              * config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c.
              * config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports.
      
      From-SVN: r230398
      David Edelsohn committed
    • freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. · 01a0467e
      	* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
      	Remove support for FreeBSD 5 and earlier.
      
      From-SVN: r230397
      Gerald Pfeifer committed
    • re PR fortran/50221 (Allocatable string length fails with array assignment) · 78ab5260
      2015-11-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/50221
      	PR fortran/68216
      	PR fortran/63932
      	PR fortran/66408
      	* trans_array.c (gfc_conv_scalarized_array_ref): Pass the
      	symbol decl for deferred character length array references.
      	* trans-stmt.c (gfc_trans_allocate): Keep the string lengths
      	to update deferred length character string lengths.
      	* trans-types.c (gfc_get_dtype_rank_type); Use the string
      	length of deferred character types for the dtype size.
      	* trans.c (gfc_build_array_ref): For references to deferred
      	character arrays, use the domain max value, if it is a variable
      	to set the 'span' and use pointer arithmetic for acces to the
      	element.
      	(trans_code): Set gfc_current_locus for diagnostic purposes.
      
      	PR fortran/67674
      	* trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
      	string lengths of components.
      
      	PR fortran/49954
      	* resolve.c (deferred_op_assign): New function.
      	(gfc_resolve_code): Call it.
      	* trans-array.c (concat_str_length): New function.
      	(gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
      	realloc blocks for deferred character length arrays because the
      	string length might change, even if the shape is the same. Call
      	concat_str_length to obtain the string length for concatenation
      	since it is needed to compute the lhs string length.
      	Set the descriptor dtype appropriately for the new string
      	length.
      	* trans-expr.c (gfc_trans_assignment_1): Use the rse string
      	length for all characters, other than deferred types. For
      	concatenation operators, push the rse.pre block to the inner
      	most loop so that the temporary pointer and the assignments
      	are properly placed.
      
      2015-11-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/50221
      	* gfortran.dg/deferred_character_1.f90: New test.
      	* gfortran.dg/deferred_character_4.f90: New test for comment
      	#4 of the PR.
      
      	PR fortran/68216
      	* gfortran.dg/deferred_character_2.f90: New test.
      
      	PR fortran/67674
      	* gfortran.dg/deferred_character_3.f90: New test.
      
      	PR fortran/63932
      	* gfortran.dg/deferred_character_5.f90: New test.
      
      	PR fortran/66408
      	* gfortran.dg/deferred_character_6.f90: New test.
      
      	PR fortran/49954
      	* gfortran.dg/deferred_character_7.f90: New test.
      
      From-SVN: r230396
      Paul Thomas committed
    • PR libstdc++/68353 fix _GLIBCXX_USE_C99_WCHAR test · 356510ac
      	PR libstdc++/68353
      	* include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
      	not whether it is defined.
      	* include/ext/vstring.h: Likewise.
      
      From-SVN: r230395
      Jonathan Wakely committed
    • always define ENABLE_OFFLOADING · 1d899da2
      gcc/cp/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* parser.c (cp_parser_omp_declare_target): Adjust.
      
      gcc/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* configure: Regenerate.
      	* configure.ac: Always define ENABLE_OFFLOADING.
      	* cgraph.c (cgraph_node::create): Adjust.
      	* gcc.c (process_command): Likewise.
      	* omp-low.c (create_omp_child_function): Likewise.
      	(expand_omp_target): Likewise.
      	* varpool.c (varpool_node::get_create): Likewise.
      
      gcc/c/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* c-parser.c (c_parser_omp_declare_target): Adjust.
      
      From-SVN: r230393
      Trevor Saunders committed
    • always define EH_RETURN_HANDLER_RTX · dd4fb609
      gcc/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* defaults.h (EH_RETURN_HANDLER_RTX): New default definition.
      	* df-scan.c (df_get_exit_block_use_set): Adjust.
      	* except.c (expand_eh_return): Likewise.
      
      From-SVN: r230392
      Trevor Saunders committed
    • always define TARGET_PECOFF · ab7b5673
      gcc/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* config/i386/i386.h (TARGET_PECOFF): Remove define.
      	* defaults.h (TARGET_PECOFF): New default definition.
      	* varasm.c (handle_vtv_comdat_section): Adjust.
      
      gcc/cp/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust.
      
      From-SVN: r230391
      Trevor Saunders committed
    • remove conditional compilation of sdb debug info · 53943148
      gcc/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* defaults.h: New definition of SDB_DEBUGGING_INFO.
      	* doc/tm.texi: Regenerate.
      	* doc/tm.texi.in: Adjust.
      	* final.c (rest_of_clean_state): Remove check if
      	SDB_DEBUGGING_INFO is defined.
      	* function.c (number_blocks): Likewise.
      	* output.h: Likewise.
      	* sdbout.c: Likewise.
      	* toplev.c (process_options): Likewise.
      
      From-SVN: r230390
      Trevor Saunders committed
    • remove EXTENDED_SDB_BASIC_TYPES · d36402d9
      The last target using this was i960, which was removed many years ago,
      so there's no reason to keep it.
      
      gcc/ChangeLog:
      
      2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* gsyms.h (enum sdb_type): Remove code for
      	EXTENDED_SDB_BASIC_TYPES.
      	(enum sdb_masks): Likewise.
      	* sdbout.c (plain_type_1): Likewise.
      	* system.h: Poison EXTENDED_SDB_BASIC_TYPES macro.
      
      From-SVN: r230389
      Trevor Saunders committed
    • Daily bump. · 6aab8e4f
      From-SVN: r230388
      GCC Administrator committed
  3. 14 Nov, 2015 15 commits
    • libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 sections. · 00b9bd52
      	* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
      	sections.
      
      From-SVN: r230384
      Jakub Jelinek committed
    • acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation from darwin to DragonFly. · 301d1d00
      2015-11-14  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
          from darwin to DragonFly.
          * configure: Regenerate.
          * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
          support, do it the same as DragonFly.
          * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.
      
      From-SVN: r230383
      Andreas Tobler committed
    • re PR bootstrap/68346 (Bootstrap failure on i686-linux) · 38e5f045
      	PR bootstrap/68346
      	* call.c (build_new_op_1): Don't fold arguments to
      	warn_tautological_cmp.
      
      From-SVN: r230382
      Jason Merrill committed
    • omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... · e4606348
      gcc/
      2015-11-14  Jakub Jelinek  <jakub@redhat.com>
      
      	* omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_*
      	internal calls - 0 if ordered simd and 1 for ordered threads simd.
      	* tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_*
      	argument is 1, replace it with GOMP_ordered_* call instead of removing
      	it.
      gcc/c/
      2015-11-14  Jakub Jelinek  <jakub@redhat.com>
      
      	* c-typeck.c (c_finish_omp_clauses): Don't mark
      	GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
      gcc/cp/
      2015-11-14  Jakub Jelinek  <jakub@redhat.com>
      
      	* semantics.c (finish_omp_clauses): Don't mark
      	GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
      libgomp/
      2015-11-14  Jakub Jelinek  <jakub@redhat.com>
      	    Aldy Hernandez  <aldyh@redhat.com>
      	    Ilya Verbin  <ilya.verbin@intel.com>
      
      	* ordered.c (gomp_doacross_init, GOMP_doacross_post,
      	GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
      	GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
      	iterators or IV by chunk size.
      	* parallel.c (gomp_resolve_num_threads): Don't assume that
      	if thr->ts.team is non-NULL, then pool must be non-NULL.
      	* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
      	* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
      	GOMP_PLUGIN_target_task_completion.
      	* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
      	* Makefile.in: Regenerate.
      	* libgomp.h: Shuffle prototypes and forward definitions around so
      	priority queues can be defined.
      	(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
      	(enum gomp_target_task_state): New enum.
      	(struct gomp_target_task): Add state, tgt, task and team fields.
      	(gomp_create_target_task): Change return type to bool, add
      	state argument.
      	(gomp_target_task_fn): Change return type to bool.
      	(struct gomp_device_descr): Add async_run_func.
      	(struct gomp_task): Remove children, next_child, prev_child,
      	next_queue, prev_queue, next_taskgroup, prev_taskgroup.
      	Add pnode field.
      	(struct gomp_taskgroup): Remove children.
      	Add taskgroup_queue.
      	(struct gomp_team): Change task_queue type to a priority queue.
      	(splay_compare): Define inline.
      	(priority_queue_offset): New.
      	(priority_node_to_task): New.
      	(task_to_priority_node): New.
      	* oacc-mem.c: Do not include splay-tree.h.
      	* priority_queue.c: New file.
      	* priority_queue.h: New file.
      	* splay-tree.c: Do not include splay-tree.h.
      	(splay_tree_foreach_internal): New.
      	(splay_tree_foreach): New.
      	* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
      	(splay_tree_callback): Define typedef.
      	* target.c (splay_compare): Move to libgomp.h.
      	(GOMP_target): Don't adjust *thr in any way around running offloaded
      	task.
      	(GOMP_target_ext): Likewise.  Handle target nowait.
      	(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
      	return value from gomp_create_target_task, if false, fallthrough
      	as if no dependencies exist.
      	(gomp_target_task_fn): Change return type to bool, return true
      	if the task should have another part scheduled later.  Handle
      	target nowait.
      	(gomp_load_plugin_for_device): Initialize async_run.
      	* task.c (gomp_init_task): Initialize children_queue.
      	(gomp_clear_parent_in_list): New.
      	(gomp_clear_parent_in_tree): New.
      	(gomp_clear_parent): Handle priorities.
      	(GOMP_task): Likewise.
      	(priority_queue_move_task_first,
      	gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
      	New functions.
      	(gomp_create_target_task): Use priority queues.  Change return type
      	to bool, add state argument, return false if for async
      	{{enter,exit} data,update} constructs no dependencies need to be
      	waited for, handle target nowait.  Set task->fn to NULL instead of
      	gomp_target_task_fn.
      	(verify_children_queue): Remove.
      	(priority_list_upgrade_task): New.
      	(priority_queue_upgrade_task): New.
      	(verify_task_queue): Remove.
      	(priority_list_downgrade_task): New.
      	(priority_queue_downgrade_task): New.
      	(gomp_task_run_pre): Use priority queues.
      	Abstract code out to priority_queue_downgrade_task.
      	(gomp_task_run_post_handle_dependers): Use priority queues.
      	(gomp_task_run_post_remove_parent): Likewise.
      	(gomp_task_run_post_remove_taskgroup): Likewise.
      	(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
      	tasks specially.
      	(GOMP_taskwait): Likewise.
      	(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
      	priority-queue_upgrade_task.
      	(GOMP_taskgroup_start): Use priority queues.
      	(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
      	specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
      	barrier.
      	* taskloop.c (GOMP_taskloop): Handle priorities.
      	* team.c (gomp_new_team): Call priority_queue_init.
      	(free_team): Call priority_queue_free.
      	(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
      	team created for target nowait in implicit parallel region.
      	(gomp_team_start): For nested check, test thr->ts.level instead of
      	thr->ts.team != NULL.
      	* testsuite/libgomp.c/doacross-3.c: New test.
      	* testsuite/libgomp.c/ordered-5.c: New test.
      	* testsuite/libgomp.c/priority.c: New test.
      	* testsuite/libgomp.c/target-31.c: New test.
      	* testsuite/libgomp.c/target-32.c: New test.
      	* testsuite/libgomp.c/target-33.c: New test.
      	* testsuite/libgomp.c/target-34.c: New test.
      liboffloadmic/
      2015-11-14  Ilya Verbin  <ilya.verbin@intel.com>
      
      	* runtime/offload_host.cpp (task_completion_callback): New
      	variable.
      	(offload_proxy_task_completed_ooo): Call task_completion_callback.
      	(__offload_register_task_callback): New function.
      	* runtime/offload_host.h (__offload_register_task_callback): New
      	declaration.
      	* plugin/libgomp-plugin-intelmic.cpp (offload): Add async_data
      	argument, handle async offloading.
      	(register_main_image): Call register_main_image.
      	(GOMP_OFFLOAD_init_device, get_target_table, GOMP_OFFLOAD_alloc,
      	GOMP_OFFLOAD_free, GOMP_OFFLOAD_host2dev, GOMP_OFFLOAD_dev2host,
      	GOMP_OFFLOAD_dev2dev) Adjust offload callers.
      	(GOMP_OFFLOAD_async_run): New function.
      	(GOMP_OFFLOAD_run): Implement using GOMP_OFFLOAD_async_run.
      
      From-SVN: r230381
      Jakub Jelinek committed
    • re PR fortran/67803 (ICE on concatenating wrong character array constructor) · 67f0527a
      2015-11-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
          PR fortran/67803
          * array.c (gfc_match_array_constructor): If array constructor included
          a CHARACTER typespec, check array elements for compatible type.
      
      2015-11-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
          PR fortran/67803
          * gfortran.dg/pr67803.f90: New test.
      
      From-SVN: r230379
      Steven G. Kargl committed
    • Fix std::wstring capacity test for short wchar_t · 230b4ede
      	* testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
      	real minimum capacity.
      	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
      	Likewise.
      
      From-SVN: r230378
      Jonathan Wakely committed
    • * g++.dg/cpp/ucn-1.C: Fix typo. · 9357bae9
      From-SVN: r230376
      David Edelsohn committed
    • c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout. · 3e636daf
      	* c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
      	* c-typeck.c: Likewise.
      
      From-SVN: r230375
      Marek Polacek committed
    • re PR ada/68345 (gnat build broken on dragonfly due to omission of r229342) · 9bd6766d
      2015-11-13  Arnaud Charlet  <charlet@adacore.com>
              
      	PR ada/68345
      	* s-osinte-dragonfly.ads (Get_Page_Size): C function returns an int.
      
      From-SVN: r230373
      Arnaud Charlet committed
    • ChangeLog: Fix whitespace. · e63e20c0
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r230372
      Uros Bizjak committed
    • vbase1.C: XFAIL powerpc*-*-*. · f0c4658b
      * g++.dg/init/vbase1.C: XFAIL powerpc*-*-*.
      * g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX.
      
      From-SVN: r230371
      David Edelsohn committed
    • Daily bump. · 1a5254ed
      From-SVN: r230370
      GCC Administrator committed
    • sh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC. · 6a60e03e
      2015-11-13  Rich Felker <dalias@libc.org>
      * config/sh/sh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC.
      
      From-SVN: r230366
      Rich Felker committed
    • Merge C++ delayed folding branch. · cda0a029
      	* call.c (build_conditional_expr_1, convert_like_real)
      	(convert_arg_to_ellipsis, convert_for_arg_passing): Don't fold.
      	(build_new_op_1, build_over_call, build_cxx_call): Fold for warnings.
      	* class.c (build_base_path, determine_primary_bases)
      	(update_vtable_entry_for_fn, check_bitfield_decl)
      	(layout_nonempty_base_or_field, layout_empty_base)
      	(propagate_binfo_offsets, include_empty_classes)
      	(layout_class_type, build_vbase_offset_vtbl_entries): Use
      	fold_convert.
      	* constexpr.c (cxx_eval_builtin_function_call): Fold away the NOP_EXPR.
      	(cxx_eval_call_expression): Handle MEM_REF.
      	(cxx_eval_pointer_plus_expression): Fold the second operand.
      	(cxx_eval_constant_expression): Handle MEM_REF, UNARY_PLUS_EXPR.
      	(fold_simple_1, fold_simple): New.
      	(maybe_constant_value_1): Factor out from maybe_constant_value.
      	(cv_cache, maybe_constant_value): Cache results.
      	(maybe_constant_init): Handle null input.
      	(potential_constant_expression_1): Handle RESULT_DECL, EMPTY_CLASS_EXPR.
      	* cp-array-notation.c (build_array_notation_ref): Fold operands.
      	* cp-gimplify.c (cp_fold_r, cp_fold): New.
      	(cp_genericize_r): Use fold_convert.  Don't fold SIZEOF_EXPR.
      	(cp_genericize): Fold everything.
      	(contains_label_1, contains_label_p): New.
      	(cp_fold, cp_fully_fold): New.
      	* cp-tree.h (class cache_map): New.
      	* cvt.c (cp_convert_to_pointer, ocp_convert): Use convert_to_*_nofold.
      	(cp_convert_and_check): Use cp_fully_fold.
      	(convert, convert_force): Don't fold.
      	* decl.c (fold_sizeof_expr): Change from fold_sizeof_expr_r.
      	(compute_array_index_type): Use cp_fully_fold.
      	(build_enumerator): Use fold_convert.
      	* decl2.c (get_guard_cond, set_guard): Use fold_convert.
      	* init.c (build_zero_init_1): Fold zero-initializers.
      	(build_new_1): Fold nelts calculations.
      	(build_vec_delete_1): Fold conversions.
      	(build_vec_init): Fold maxindex.
      	* parser.c (cp_parser_binary_expression): Fold LHS of || and &&.
      	(cp_parser_question_colon_clause): Fold LHS.
      	* pt.c (convert_nontype_argument): Fold nullptr conversion.
      	* semantics.c (finish_unary_op_expr): Fold for warnings.
      	(handle_omp_array_sections_1): Fold length and low bound.
      	(handle_omp_for_class_iterator): Fold various things.
      	* tree.c (builtin_valid_in_constant_expr_p): Add
      	BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE.
      	(convert_bitfield_to_declared_type): Don't fold.
      	(handle_init_priority_attribute): Fold.
      	(fold_if_not_in_template): Remove.
      	* typeck.c (decay_conversion, build_class_member_access_expr)
      	(build_simple_component_ref, cp_build_array_ref, build_vec_cmp)
      	(cp_pointer_int_sum, pointer_diff): Don't fold.
      	(cp_build_binary_op): Fold for warnings and PMF ops.
      	(cp_build_unary_op): Fold negation of a constant, nothing else.
      	(expand_ptrmemfunc_cst): Fold operations.
      	* typeck2.c (split_nonconstant_init): Fold initializer.
      	(store_init_value): Likewise.
      	(check_narrowing): Try folding.
      	* config-lang.in (gtfiles): Add cp-gimplify.c.
      
      From-SVN: r230365
      Jason Merrill committed
  4. 13 Nov, 2015 2 commits
    • [Patch,tree-optimization]: Add new path Splitting pass on tree ssa · 8fe17e23
      representation
      
      	* Makefile.in (OBJS): Add gimple-ssa-split-paths.o
      	* common.opt (-fsplit-paths): New flag controlling path splitting.
      	* doc/invoke.texi (fsplit-paths): Document.
      	* opts.c (default_options_table): Add -fsplit-paths to -O2.
      	* passes.def: Add split_paths pass.
      	* timevar.def (TV_SPLIT_PATHS): New timevar.
      	* tracer.c: Include "tracer.h"
      	(ignore_bb_p): No longer static.
      	(transform_duplicate): New function, broken out of tail_duplicate.
      	(tail_duplicate): Use transform_duplicate.
      	* tracer.h (ignore_bb_p): Declare
      	(transform_duplicate): Likewise.
      	* tree-pass.h (make_pass_split_paths): Declare.
      	* gimple-ssa-split-paths.c: New file.
      
      	* gcc.dg/tree-ssa/split-path-1.c: New test.
      
      Co-Authored-By: Jeff Law <law@redhat.com>
      
      From-SVN: r230364
      Ajit Agarwal committed
    • Add non-folding variants for convert_to_*. · 269e63b7
      2015-11-13  Kai Tietz  <ktietz70@googlemail.com>
      	    Marek Polacek  <polacek@redhat.com>
      	    Jason Merrill  <jason@redhat.com>
      
      gcc/
      	* convert.c (maybe_fold_build1_loc): New.
      	(maybe_fold_build2_loc): New.
      	(convert_to_pointer_1): Split out from convert_to_pointer.
      	(convert_to_pointer_nofold): New.
      	(convert_to_real_1): Split out from convert_to_real.
      	(convert_to_real_nofold): New.
      	(convert_to_integer_1): Split out from convert_to_integer.
      	(convert_to_integer_nofold): New.
      	(convert_to_complex_1): Split out from convert_to_complex.
      	(convert_to_complex_nofold): New.
      	* convert.h: Declare new functions.
      	* tree-complex.c (create_one_component_var): Break up line to
      	avoid sequence point issues.
      gcc/c-family/
      	* c-lex.c (interpret_float): Use fold_convert.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      Co-Authored-By: Marek Polacek <polacek@redhat.com>
      
      From-SVN: r230359
      Kai Tietz committed