1. 16 Apr, 2014 6 commits
  2. 15 Apr, 2014 32 commits
    • ipa-devirt.c (referenced_from_vtable_p): New predicate. · ccb05ef2
      
      	* ipa-devirt.c (referenced_from_vtable_p): New predicate.
      	(maybe_record_node, likely_target_p): Use it.
      
      From-SVN: r209435
      Jan Hubicka committed
    • shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Remove name of unused parameter. · 33fbb358
      	* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
      	Remove name of unused parameter.
      
      From-SVN: r209434
      Jonathan Wakely committed
    • container.cc: Do not use uninitialized members in mem-initializers. · a1e1bc90
      	* testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
      	not use uninitialized members in mem-initializers.
      	* testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
      	* testsuite/util/testsuite_common_types.h: Update comment.
      
      From-SVN: r209432
      Jonathan Wakely committed
    • re PR c++/60786 (In C++11 an explicit instantiation with an unqualified name… · 3a0f3672
      re PR c++/60786 (In C++11 an explicit instantiation with an unqualified name must be in the right namespace)
      
      	PR c++/60786
      	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
      	1.cc: Fix invalid explicit instantiations with unqualified names.
      	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
      	2.cc: Likweise.
      	* testsuite/20_util/tuple/53648.cc: Likweise.
      	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
      	Likewise.
      	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_map/requirements/
      	debug_container.cc: Likewise.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation/3.cc: Likewise.
      	* testsuite/23_containers/unordered_multimap/requirements/debug.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation/3.cc: Likewise.
      	* testsuite/23_containers/unordered_multiset/requirements/debug.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation/3.cc: Likewise.
      	* testsuite/23_containers/unordered_set/requirements/
      	debug_container.cc: Likewise.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation/3.cc: Likewise.
      
      From-SVN: r209431
      Jonathan Wakely committed
    • * include/std/atomic: Uglify parameter names. · 227df36e
      From-SVN: r209429
      Jonathan Wakely committed
    • shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use delegating constructor. · ed39835f
      	* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
      	delegating constructor.
      	* include/bits/shared_ptr_base.h
      	(__shared_ptr::__shared_ptr(nullptr_t)): Likewise
      
      From-SVN: r209428
      Jonathan Wakely committed
    • atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add const to constexpr member functions. · 260d16c8
      	* include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
      	const to constexpr member functions.
      
      From-SVN: r209427
      Jonathan Wakely committed
    • re PR target/60839 (PowerPC: internal compiler error: in extract_insn, at recog.c:2154) · dfe449d1
      2014-04-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR target/60839
      	Revert following patch
      
      	2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/60735
      	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
      	software floating point or no floating point registers, do not
      	allow any type in the FPRs.  Eliminate a test for SPE SIMD types
      	in GPRs that occurs after we tested for GPRs that would never be
      	true.
      
      	* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
      	Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
      	since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
      	specifically allow DDmode, since that does not use the SPE SIMD
      	instructions.
      
      From-SVN: r209425
      Bill Schmidt committed
    • Add DW_AT_const_value as unsigned or int depending on type and value used. · 25dce5c6
      As the comment in the code already indicated DWARF2 does provide
      DW_FORM_sdata/DW_FORM_udata to represent signed/unsigned data.
      Enumeration constants wider than HOST_WIDE_INT are already handled
      separately. Those constant values that do fit a HOST_WIDE_INT can
      be encoded as signed or unsigned depending on type and value for
      more efficient encoding.
      
      	* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
      	as unsigned or int depending on type and value used.
      
      From-SVN: r209424
      Mark Wielaard committed
    • re PR rtl-optimization/56965 (nonoverlapping_component_refs_p is bogus and slow) · 8d3c076f
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	PR rtl-optimization/56965
      	* alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
      	* tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
      	... here.
      	* alias.c (true_dependence_1): Do not call
      	nonoverlapping_component_refs_p.
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
      	nonoverlapping_component_refs_p.
      	(indirect_refs_may_alias_p): Likewise.
      
      	* gcc.dg/torture/pr56965-1.c: New testcase.
      	* gcc.dg/torture/pr56965-2.c: Likewise.
      
      From-SVN: r209423
      Richard Biener committed
    • re PR libstdc++/60594 (std::function of a type with a declared (but not defined)… · 4803acce
      re PR libstdc++/60594 (std::function of a type with a declared (but not defined) return type fails to compile)
      
      	PR libstdc++/60594
      	* include/std/functional (function::_Callable): Exclude own type
      	from the callable checks.
      	* testsuite/20_util/function/60594.cc: New.
      
      From-SVN: r209422
      Jonathan Wakely committed
    • cfg.c (dump_bb_info): Fix flags check. · d00e4baa
      2014-04-15  Teresa Johnson  <tejohnson@google.com>
      
      	* cfg.c (dump_bb_info): Fix flags check.
      	* tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
      
      2014-04-15  Teresa Johnson  <tejohnson@google.com>
      
      	* gcc.dg/tree-prof/update-loopch.c: Update expected output.
      
      From-SVN: r209421
      Teresa Johnson committed
    • decl.c (duplicate_decls): Remove redundant TYPE_NAME use. · fe9208ef
      2014-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
      	* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
      	(do_class_using_decl): Likewise.
      	* mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.
      
      From-SVN: r209420
      Paolo Carlini committed
    • re PR rtl-optimization/60663 (Errors out on valid inline asm) · 98a2fdfb
      
      	PR rtl-optimization/60663
      	* config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
      	avoid 0 cost.
      
      From-SVN: r209419
      Kyrylo Tkachov committed
    • re PR libstdc++/60695 (std::atomic<X> doesn't work when X is of zero size) · 9ffc6d0b
      	PR libstdc++/60695
      	* include/std/atomic (atomic<_Tp>): Add static assertion.
      	* testsuite/29_atomics/atomic/60695.cc: New.
      
      From-SVN: r209418
      Jonathan Wakely committed
    • lto-streamer.h (LTO_major_version): Bump to 4. · b9ed2c2c
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer.h (LTO_major_version): Bump to 4.
      
      From-SVN: r209417
      Richard Biener committed
    • common.opt (lto_partition_model): New enum. · 783dab6b
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* common.opt (lto_partition_model): New enum.
      	(flto-partition=): Merge separate options with a single with argument,
      	add -flto-partition=one support.
      	* flag-types.h (enum lto_partition_model): Declare.
      	* opts.c (finish_options): Remove duplicate -flto-partition=
      	option check.
      	* lto-wrapper.c (run_gcc): Adjust.
      
      	lto/
      	* lto.c: Include params.h.
      	(do_whole_program_analysis): Switch on flag_lto_partition value,
      	add support for LTO_PARTITION_ONE.
      	* lto-partition.h (lto_balanced_map): Adjust.
      	* lto-partition.c (lto_balanced_map): Get number of desired
      	partitions as argument to support -flto-partition=one.
      
      From-SVN: r209416
      Richard Biener committed
    • re PR libstdc++/60734 (Undefined behavior in g++-v4/bits/stl_tree.h) · 4b3f9829
      	PR libstdc++/60734
      	* include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
      
      From-SVN: r209414
      Jonathan Wakely committed
    • alias.c (ncr_compar): New function. · d8e4ce6d
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* alias.c (ncr_compar): New function.
      	(nonoverlapping_component_refs_p): Re-implement in O (n log n).
      
      From-SVN: r209413
      Richard Biener committed
    • alias.c (record_component_aliases): Do not walk BINFOs. · 1999fd7d
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* alias.c (record_component_aliases): Do not walk BINFOs.
      
      From-SVN: r209412
      Richard Biener committed
    • decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a… · e297e2ea
      decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a reference for renaming of scalar literal.
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a mere
      	scalar constant instead of a reference for renaming of scalar literal.
      	Do not create a new object for constant renaming except for a function
      	call.  Make sure a VAR_DECL is created for the renaming pointer.
      	* gcc-interface/trans.c (constant_decl_with_initializer_p): New.
      	(fold_constant_decl_in_expr): New function.
      	(Identifier_to_gnu): Use constant_decl_with_initializer_p.
      	For a constant renaming, try to fold a constant DECL in the result.
      	(lvalue_required_p) <N_Object_Renaming_Declaration>: Always return 1.
      	(Identifier_to_gnu): Reference the renamed object of constant renaming
      	pointers directly.
      	(Case_Statement_to_gnu): Do not re-fold the bounds of integer types.
      	Assert that the case values are constant.
      	* gcc-interface/utils.c (invalidate_global_renaming_pointers): Do not
      	invalidate constant renaming pointers.
      
      Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>
      
      From-SVN: r209411
      Eric Botcazou committed
    • utils.c (type_for_vector_element_p): New predicate. · e63b36bd
      	* gcc-interface/utils.c (type_for_vector_element_p): New predicate.
      	(build_vector_type_for_size): New function.
      	(build_vector_type_for_array): Likewise.
      	(unchecked_convert): Build an intermediate vector type to convert
      	from a generic array type to a vector type.
      	(handle_vector_size_attribute): Reimplement.
      	(handle_vector_type_attribute): Likewise.
      
      From-SVN: r209410
      Eric Botcazou committed
    • decl.c (prepend_one_attribute_pragma): Call Is_OK_Static_Expression in lieu of… · bd6a077a
      decl.c (prepend_one_attribute_pragma): Call Is_OK_Static_Expression in lieu of Is_Static_Expression to detect valid...
      
      	* gcc-interface/decl.c (prepend_one_attribute_pragma): Call
      	Is_OK_Static_Expression in lieu of Is_Static_Expression to
      	detect valid arguments.
      
      From-SVN: r209409
      Eric Botcazou committed
    • tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Add struct function… · 628169e0
      tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Add struct function argument and adjust.
      
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
      	Add struct function argument and adjust.
      	(find_func_aliases_for_call): Likewise.
      	(find_func_aliases): Likewise.
      	(find_func_clobbers): Likewise.
      	(intra_create_variable_infos): Likewise.
      	(compute_points_to_sets): Likewise.
      	(ipa_pta_execute): Adjust.  Do not push/pop cfun.
      
      From-SVN: r209408
      Richard Biener committed
    • Minor tweaks · d6d215ac
      From-SVN: r209407
      Eric Botcazou committed
    • tree.c (iterative_hash_expr): Use enum tree_code_class to store TREE_CODE_CLASS. · 349e6210
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* tree.c (iterative_hash_expr): Use enum tree_code_class
      	to store TREE_CODE_CLASS.
      	(tree_block): Likewise.
      	(tree_set_block): Likewise.
      	* tree.h (fold_build_pointer_plus_loc): Use
      	convert_to_ptrofftype_loc.
      
      From-SVN: r209406
      Richard Biener committed
    • re PR plugins/59335 (Plugin doesn't build on trunk) · 4f0ddb6f
      	PR plugins/59335
      	* Makefile.in (PLUGIN_HEADERS): Add various headers that have been
      	added in 4.9.
      
      	* Make-lang.h (CP_PLUGIN_HEADERS): Add type-utils.h.
      
      From-SVN: r209404
      Jakub Jelinek committed
    • cfgloop.h (struct loop): Move force_vectorize down. · 718c4601
      	* cfgloop.h (struct loop): Move force_vectorize down.
      	* gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
      	(gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
      	* lto-streamer-in.c (input_cfg): Read dont_vectorize field.
      	* lto-streamer-out.c (output_cfg): Write dont_vectorize field.
      	* tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
      	* tree-core.h (enum annot_expr_kind): Add new kind values.
      	* tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
      	* tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
      	kinds.
      	* tree.def (ANNOTATE_EXPR): Tweak comment.
      ada/
      	* gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints.
      
      From-SVN: r209403
      Eric Botcazou committed
    • null-deref-1.c: Change regexp to pass test under qemu-arm. · d2994b80
      2014-04-15  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* c-c++-common/asan/null-deref-1.c: Change regexp to pass test
      	under qemu-arm.
      	* c-c++-common/ubsan/div-by-zero-1.c: Likewise.
      	* c-c++-common/ubsan/div-by-zero-2.c: Likewise.
      	* c-c++-common/ubsan/div-by-zero-3.c: Likewise.
      	* c-c++-common/ubsan/load-bool-enum.c (foo): Likewise.
      	* c-c++-common/ubsan/null-1.c: Likewise.
      	* c-c++-common/ubsan/null-10.c: Likewise.
      	* c-c++-common/ubsan/null-11.c: Likewise.
      	* c-c++-common/ubsan/null-2.c: Likewise.
      	* c-c++-common/ubsan/null-3.c: Likewise.
      	* c-c++-common/ubsan/null-4.c: Likewise.
      	* c-c++-common/ubsan/null-5.c: Likewise.
      	* c-c++-common/ubsan/null-6.c: Likewise.
      	* c-c++-common/ubsan/null-7.c: Likewise.
      	* c-c++-common/ubsan/null-8.c: Likewise.
      	* c-c++-common/ubsan/null-9.c: Likewise.
      	* c-c++-common/ubsan/overflow-add-2.c: Likewise.
      	* c-c++-common/ubsan/overflow-int128.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
      	* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
      	* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
      	* c-c++-common/ubsan/pr59333.c: Likewise.
      	* c-c++-common/ubsan/pr59667.c: Likewise.
      	* c-c++-common/ubsan/pr60613-2.c: Likewise.
      	* c-c++-common/ubsan/pr60636.c: Likewise.
      	* c-c++-common/ubsan/shift-1.c: Likewise.
      	* c-c++-common/ubsan/shift-2.c: Likewise.
      	* c-c++-common/ubsan/vla-1.c: Likewise.
      
      From-SVN: r209402
      Max Ostapenko committed
    • Daily bump. · 052d224e
      From-SVN: r209399
      GCC Administrator committed
  3. 14 Apr, 2014 2 commits
    • N3887 Consistent Metafunction Aliases · 025eac9b
      	* include/std/tuple (tuple_element_t): Define.
      	* testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
      	test.
      	* testsuite/20_util/tuple/tuple_element_t.cc: New.
      
      From-SVN: r209395
      Jonathan Wakely committed
    • Sync to current external repository. · 7035307e
      user:        Ian Lance Taylor <iant@golang.org>
      date:        Thu Apr 10 09:25:24 2014 -0700
      files:       go/expressions.cc
      description:
      compiler: add checks for constant overflow
      
      Prevent extremely large constants from eating all of memory.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Apr 07 16:57:09 2014 -0700
      files:       go/gogo-tree.cc go/gogo.cc go/gogo.h go/statements.cc
      description:
      compiler: Use backend interface for variable initialization.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Apr 03 19:56:05 2014 -0700
      files:       go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
      description:
      compiler: Use backend interface to build function code.
      
      
      changeset:   1269:6e30875d539e
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Apr 02 13:16:00 2014 -0700
      files:       go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
      description:
      compiler: Use backend interface for building function defer wrappers.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 31 12:42:49 2014 -0700
      files:       go/expressions.cc go/gogo-tree.cc go/gogo.cc go/gogo.h
      description:
      compiler: Use backend interface for memory allocation.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Mar 27 14:22:49 2014 -0700
      files:       go/backend.h go/expressions.cc go/expressions.h
      description:
      compiler: Use backend interface for fixed array construction.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 17 21:25:04 2014 -0700
      files:       go/expressions.cc
      description:
      compiler: Check for loops in self-referential array types. Fixes issue 7525.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 17 14:31:59 2014 -0700
      files:       go/gogo.cc go/parse.cc
      description:
      compiler: Don't declare blank labels. Fixes issue 7539.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 17 13:12:32 2014 -0700
      files:       go/backend.h go/expressions.cc go/expressions.h go/runtime.def
      description:
      compiler: Use backend interface for call expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Mar 12 13:34:27 2014 -0700
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
      description:
      compiler: Use backend interface map construction.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Tue Mar 11 12:53:06 2014 -0700
      files:       go/backend.h go/expressions.cc go/gogo-tree.cc go/gogo.h
      description:
      compiler: Use backend interface for string expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Sat Mar 08 15:56:59 2014 -0800
      files:       go/backend.h go/expressions.cc go/expressions.h
      description:
      compiler: Use backend interface for array and string indexing.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Fri Mar 07 16:02:18 2014 -0800
      files:       go/expressions.cc
      description:
      compiler: Use backend interface for constant expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Mar 06 16:00:18 2014 -0800
      files:       go/expressions.cc
      description:
      compiler: Use backend interface for struct construction.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Mar 05 13:09:37 2014 -0800
      files:       go/expressions.cc
      description:
      compiler: Use backend interface for type conversions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Tue Mar 04 07:03:47 2014 -0800
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.h go/runtime.def libgo/runtime/chan.c
      description:
      compiler: Use backend interface for channel receive.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 03 15:18:57 2014 -0800
      files:       go/backend.h go/expressions.cc go/runtime.def
      description:
      compiler: Use backend interface for builtin calls.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 03 07:44:35 2014 -0800
      files:       go/expressions.cc go/expressions.h go/types.cc go/types.h
      description:
      compiler: Use backend interface for string info.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Fri Feb 28 10:45:55 2014 -0800
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
      description:
      compiler: Use backend interface for map indexing.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Feb 26 14:13:10 2014 -0800
      files:       go/expressions.cc go/expressions.h
      description:
      compiler: Use backend interface for slice value expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Feb 26 13:12:19 2014 -0800
      files:       go/backend.h go/expressions.cc go/expressions.h go/gogo-tree.cc go/runtime.def go/statements.cc
      description:
      compiler: Use backend interface for interface values.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Feb 24 12:30:13 2014 -0800
      files:       go/expressions.cc go/expressions.h go/parse.cc go/statements.cc
      description:
      compiler: Change Heap_composite_expression to Heap_expression.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Feb 20 19:47:06 2014 -0800
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.cc go/gogo.h go/types.cc go/types.h
      description:
      compiler: Use backend interface for interface method table expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Feb 03 14:36:20 2014 -0800
      files:       go/expressions.cc go/expressions.h
      description:
      compiler: Add compound expressions to the frontend.
      
      
      	* go-gcc.cc: Include "convert.h".
      	(Gcc_backend::string_constant_expression): New function.
      	(Gcc_backend::real_part_expression): Likewise.
      	(Gcc_backend::imag_part_expression): Likewise.
      	(Gcc_backend::complex_expression): Likewise.
      	(Gcc_backend::constructor_expression): Likewise.
      	(Gcc_backend::array_constructor_expression): Likewise.
      	(Gcc_backend::pointer_offset_expression): Likewise.
      	(Gcc_backend::array_index_expression): Likewise.
      	(Gcc_backend::call_expression): Likewise.
      	(Gcc_backend::exception_handler_statement): Likewise.
      	(Gcc_backend::function_defer_statement): Likewise.
      	(Gcc_backend::function_set_parameters): Likewise.
      	(Gcc_backend::function_set_body): Likewise.
      	(Gcc_backend::convert_expression): Handle various type
      	conversions.
      
      From-SVN: r209393
      Chris Manghane committed