- 01 Jun, 2007 14 commits
-
-
tree-vrp.c (compare_name_with_value): Always set used_strict_overflow if we get a result from the variable itself. ./: * tree-vrp.c (compare_name_with_value): Always set used_strict_overflow if we get a result from the variable itself. testsuite/: * gcc.dg/Wstrict-overflow-17.c: New test. From-SVN: r125269
Ian Lance Taylor committed -
* gcc.dg/builtin-return-1.c (g): New. (main): Allocate at least 64 bytes on the stack. From-SVN: r125268
Kazu Hirata committed -
2007-06-01 Benjamin Kosnik <bkoz@redhat.com> * testsuite/19_diagnostics/logic_error/what-big.cc: New. * testsuite/19_diagnostics/logic_error/what-3.cc: Same. * testsuite/19_diagnostics/runtime_error/what-big.cc: Same. * testsuite/19_diagnostics/runtime_error/what-3.cc: Same. * testsuite/18_support/14493.cc: Break into... * testsuite/18_support/exception/what.cc: ...this. * testsuite/18_support/bad_cast/what.cc: ...this. * testsuite/18_support/bad_alloc/what.cc: ...this. * testsuite/18_support/bad_typeid/what.cc: ...this. * testsuite/18_support/bad_exception/what.cc: ...this. * testsuite/19_diagnostics/bad_exception/23591_thread-1.c: Move... * testsuite/18_support/bad_exception/23591_thread-1.c: ...here. * testsuite/18_support/14026.cc: Move... * testsuite/18_support/uncaught_exception/14026.cc: ...here. From-SVN: r125267
Benjamin Kosnik committed -
re PR rtl-optimization/31455 (lower subreg causes a performance regression in the inner loop sometimes) PR rtl-optimization/31455 * lower-subreg.c (find_decomposable_subregs): Don't decompose subregs which have a cast between modes which are not tieable. From-SVN: r125265
Ian Lance Taylor committed -
From-SVN: r125264
H.J. Lu committed -
2007-06-01 Steve Ellcey <sje@cup.hp.com> * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set lt_cv_sys_max_cmd_len. From-SVN: r125262
Steve Ellcey committed -
2007-06-01 Benjamin Kosnik <bkoz@redhat.com> * include/ext/throw_allocator.h (__throw_allocator::allocate): Throw bad_alloc for out of memory conditions. * testsuite/ext/throw_allocator/deallocate_global.cc: New. * testsuite/ext/throw_allocator/check_delete.cc: Same. * testsuite/ext/throw_allocator/check_allocate_max_size.cc: Same. * testsuite/ext/throw_allocator/check_deallocate_null.cc: Same. * testsuite/ext/throw_allocator/explicit_instantiation.cc: Same. * testsuite/ext/throw_allocator/check_new.cc: Same. * testsuite/ext/throw_allocator/deallocate_local.cc: Same. From-SVN: r125261
Benjamin Kosnik committed -
From-SVN: r125260
Andreas Schwab committed -
* expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove breaks after return statements. From-SVN: r125259
Uros Bizjak committed -
* config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg only after no_new_pseudos. From-SVN: r125258
Kaz Kojima committed -
From-SVN: r125255
Mike Stump committed -
* decl.c (get_atexit_fn_ptr_type): New function. (get_atexit_node): Use it. (start_cleanup_fn): Likewise. (register_dtor_fn): Use the object's destructor, instead of a separate cleanup function, where possible. * cp-tree.h (CPTI_ATEXIT_FN_PTR_TYPE): New enumerator. (atexit_fn_ptr_type_node): New macro. * decl2.c (build_cleanup): Use build_address. * g++.dg/init/cleanup3.C: New test. From-SVN: r125253
Mark Mitchell committed -
From-SVN: r125249
GCC Administrator committed -
2007-05-31 Eric Christopher <echristo@apple.com> * expr.c (convert_move): Assert that we don't have a BLKmode operand. (store_expr): Handle BLKmode moves by calling emit_block_move. From-SVN: r125246
Eric Christopher committed
-
- 31 May, 2007 23 commits
-
-
2007-05-31 Paolo Carlini <pcarlini@suse.de> PR libstdc++/31426 * include/bits/c++config: Remove namespace association bits from tr1 to std. * include/ext/type_traits.h (__promote, __promote2, __promote3, __promote4): Add. * include/bits/hashtable.h: New. * include/bits/functional_hash.h: Likewise. * include/tr1/hashtable.h: Likewise. * include/tr1_impl/random: New. * include/tr1_impl/cinttypes: Likewise. * include/tr1_impl/cstdlib: Likewise. * include/tr1_impl/unordered_map: Likewise. * include/tr1_impl/cstdio: Likewise. * include/tr1_impl/boost_shared_ptr.h: Likewise. * include/tr1_impl/cctype: Likewise. * include/tr1_impl/random.tcc: Likewise. * include/tr1_impl/tuple: Likewise. * include/tr1_impl/functional_hash.h: Likewise. * include/tr1_impl/hashtable: Likewise. * include/tr1_impl/cmath: Likewise. * include/tr1_impl/type_traitsfwd.h: Likewise. * include/tr1_impl/hashtable_policy.h: Likewise. * include/tr1_impl/cfenv: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/tr1_impl/functional: Likewise. * include/tr1_impl/utility: Likewise. * include/tr1_impl/complex: Likewise. * include/tr1_impl/type_traits: Likewise. * include/tr1_impl/cwchar: Likewise. * include/tr1_impl/cstdint: Likewise. * include/tr1_impl/regex: Likewise. * include/tr1_impl/array: Likewise. * include/tr1_impl/cwctype: Likewise. * include/tr1/type_traitsfwd.h: Remove. * include/tr1/boost_shared_ptr.h: Likewise. * include/tr1/common.h: Likewise. * include/tr1/hashtable: Likewise. * include/tr1/hashtable_policy.h: Likewise. * include/tr1/random.tcc: Likewise. * include/c_global/cinttypes: Include tr1_impl/cinttypes. * include/c_global/cstdlib: Likewise for cstdlib. * include/c_global/cstdio: Likewise for cstdio. * include/c_global/cctype: Likewise for cctype. * include/c_global/cmath: Likewise for cmath. * include/c_global/cfenv: Likewise for cfenv. * include/c_global/cwchar: Likewise for cwchar. * include/c_global/cstdint: Likewise for cstdint. * include/c_global/cwctype: Likewise for cwctype. * include/tr1/cinttypes: Likewise for cinttypes. * include/tr1/cstdlib: Likewise for cstdlib. * include/tr1/cstdio: Likewise for cstdio. * include/tr1/cctype: Likewise for cctype. * include/tr1/cmath: Likewise for cmath. * include/tr1/cfenv: Likewise for cfenv. * include/tr1/cwchar: Likewise for cwchar. * include/tr1/cstdint: Likewise for cstdint. * include/tr1/cwctype: Likewise for cwctype. * include/tr1/functional_hash.h: Likewise for functional_hash. * include/std/tuple: Include tr1_impl/tuple. * include/std/utility: Likewise for utility. * include/std/type_traits: Likewise for type_traits. (is_pod): Just forward to __is_pod. (has_trivial_default_constructor): Just forward to __has_trivial_constructor. (has_trivial_copy_constructor): Just forward to __has_trivial_copy. (has_trivial_assign): Just forward to __has_trivial_assign. (has_trivial_destructor): Just forward to __has_trivial_destructor. (has_nothrow_default_constructor): Just forward to __has_nothrow_constructor. (has_nothrow_copy_constructor): Just forward to __has_nothrow_copy. (has_nothrow_assign): Just forward to __has_nothrow_assign. (is_base_of): Just forward to __is_base_of. (is_signed, is_unsigned): Implement according to the C++0x specifications. * include/std/memory: Likewise for memory. * include/std/regex: Likewise for regex. * include/std/random: Likewise for random. * include/std/unordered_map: Likewise for unordered_map. * include/std/unordered_set: Likewise for unordered_set. * include/std/functional: Likewise for functional. * include/std/complex: Likewise for complex. * include/std/array: Likewise for array. * include/tr1/tuple: Likewise for tuple. * include/tr1/utility: Likewise for utility. * include/tr1/type_traits: Likewise for type_traits * include/tr1/memory: Likewise for memory. * include/tr1/regex: Likewise for regex. * include/tr1/random: Likewise for random. * include/tr1/unordered_map: Likewise for unordered_map. * include/tr1/unordered_set: Likewise for unordered_set. * include/tr1/functional: Likewise for functional. * include/tr1/complex: Likewise for complex. * include/tr1/array: Likewise for array. * include/c_global/ctgmath: Tweak. * include/c_global/cstdarg: Likewise. * include/c_global/ctime: Likewise. * include/c_global/climits: Likewise. * include/c_global/cfloat: Likewise. * include/c_global/ccomplex: Likewise. * include/c_global/cstdbool: Likewise. * include/tr1/poly_laguerre.tcc: Tweak, don't use _GLIBCXX_TR1. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/beta_function.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/special_function_util.h: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/stdlib.h: Likewise. * include/tr1/math.h: Likewise. * include/tr1/complex.h: Minor tweaks. * include/tr1/wctype.h: Likewise. * include/tr1/wchar.h: Likewise. * include/tr1/inttypes.h: Likewise. * include/tr1/tgmath.h: Likewise. * include/tr1/cstdbool: Likewise. * include/tr1/cfloat: Likewise. * include/tr1/ccomplex: Likewise. * include/tr1/ctime: Likewise. * include/tr1/climits: Likewise. * include/tr1/ctgmath: Likewise. * include/tr1/cstdarg: Likewise. * testsuite/tr1/headers.cc: Move... * testsuite/tr1/headers/all.cc: ... here. * testsuite/tr1/using_namespace_std_tr1.cc: Move... * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: ... here. * testsuite/tr1/headers/using_namespace_std_tr1.cc ... here. * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: New. * testsuite/20_util/tuple/requirements/explicit_instantiation.cc: Adjust namespace. * testsuite/20_util/has_nothrow_copy_constructor/value.cc: Adjust to the C++0x requirements. * testsuite/20_util/has_nothrow_default_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error lines. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Un-xfail. * testsuite/20_util/is_signed/value.cc: New. * testsuite/20_util/is_signed/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_signed/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise.. * testsuite/20_util/is_unsigned/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc: Likewise. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. From-SVN: r125244
Paolo Carlini committed -
2007-05-31 Rask Ingemann Lambertsen <rask@sygehus.dk> * gcc.c-torture/compile/limits-caselabels.c: Fix for targets where int is 16 bits. From-SVN: r125243
Rask Ingemann Lambertsen committed -
2007-05-31 Richard Guenther <rguenther@suse.de> * trans-expr.c (gfc_conv_expr_op): Use zero constant that matches the lse type. (gfc_trans_string_copy): Use sizetype zero constant. * intrinsic.c (add_functions): The sizeof intrinsic has index type result. * trans-types.c (gfc_get_dtype): Convert size to index type before shifting. * trans-array.c (gfc_trans_array_constructor_value): Use index type for offset computation. * trans-intrinsic.c (gfc_conv_associated): Use correct type for zero constant. From-SVN: r125242
Richard Guenther committed -
2007-05-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/32156 * trans-array.c (gfc_trans_array_constructor): Treat the case where the ss expression charlen is missing. 2007-05-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/32156 * gfortran.dg/char_array_constructor_3.f90: New test. From-SVN: r125241
Paul Thomas committed -
2007-05-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/32156 * trans-array.c (gfc_trans_array_constructor): Treat the case where the ss expression charlen is missing. 2007-05-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/32156 * gfortran.dg/char_array_constructor_3.f90: New test. From-SVN: r125240
Paul Thomas committed -
in gcc/ 2007-05-31 Daniel Berlin <dberlin@dberlin.org> * c-typeck.c (build_indirect_ref): Include type in error message. (build_binary_op): Pass types to binary_op_error. * c-common.c (binary_op_error): Take two type arguments, print out types with error. * c-common.h (binary_op_error): Update prototype. In gcc/cp 2007-05-31 Daniel Berlin <dberlin@dberlin.org> * typeck.c (build_binary_op): Include types in error. From-SVN: r125239
Daniel Berlin committed -
2007-05-31 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c: Correct coments on -mno-sse4. From-SVN: r125238
H.J. Lu committed -
From Andi Kleen <ak@suse.de>: * mf-runtime.c (options): Rename structure for compatibility with glibc getopt_long. From-SVN: r125237
Frank Ch. Eigler committed -
2007-05-31 H.J. Lu <hongjiu.lu@intel.com> * config.gcc (i[34567]86-*-*): Add nmmintrin.h to extra_headers. (x86_64-*-*): Likewise. * config/i386/i386.c (OPTION_MASK_ISA_MMX_UNSET): New. (OPTION_MASK_ISA_3DNOW_UNSET): Likewise. (OPTION_MASK_ISA_SSE_UNSET): Likewise. (OPTION_MASK_ISA_SSE2_UNSET): Likewise. (OPTION_MASK_ISA_SSE3_UNSET): Likewise. (OPTION_MASK_ISA_SSSE3_UNSET): Likewise. (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise. (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise. (OPTION_MASK_ISA_SSE4): Likewise. (OPTION_MASK_ISA_SSE4_UNSET): Likewise. (OPTION_MASK_ISA_SSE4A_UNSET): Likewise. (ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET. Handle SSE4.2. (override_options): Support SSE4.2. (ix86_build_const_vector): Support SImode and DImode. (ix86_build_signbit_mask): Likewise. (ix86_expand_int_vcond): Support V2DImode. (IX86_BUILTIN_CRC32QI): New for SSE4.2. (IX86_BUILTIN_CRC32HI): Likewise. (IX86_BUILTIN_CRC32SI): Likewise. (IX86_BUILTIN_CRC32DI): Likewise. (IX86_BUILTIN_PCMPGTQ): Likewise. (bdesc_crc32): Likewise. (bdesc_sse_3arg): Likewise. (ix86_expand_crc32): Likewise. (ix86_init_mmx_sse_builtins): Support SSE4.2. (ix86_expand_builtin): Likewise. * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define __SSE4_2__ for -msse4.2. * config/i386/i386.md (UNSPEC_CRC32): New for SSE4.2. (CRC32MODE): Likewise. (crc32modesuffix): Likewise. (crc32modeconstraint): Likewise. (sse4_2_crc32<mode>): Likewise. (sse4_2_crc32di): Likewise. * config/i386/i386.opt (msse4.2): New for SSE4.2. (msse4): Likewise. * config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header file. * config/i386/smmintrin.h: Add SSE4.2 intrinsics. * config/i386/sse.md (sse4_2_gtv2di3): New pattern for SSE4.2. (vcond<mode>): Use SSEMODEI instead of SSEMODE124. (vcondu<mode>): Likewise. * doc/extend.texi: Document SSE4.2 built-in functions. * doc/invoke.texi: Document -msse4.2/-msse4. From-SVN: r125236
H.J. Lu committed -
* MAINTAINERS (Various Maintainers): Add myself as auto-vectorizer maintainer. From-SVN: r125230
Dorit Nuzman committed -
PR c++/31806 * decl.c (cp_finish_decl): Also clear was_readonly if a static var needs runtime initialization. From-SVN: r125229
Jakub Jelinek committed -
PR tree-optimization/32160 * tree-predcom.c (predcom_tmp_var): New function. Mark created variable as gimple reg. (initialize_root_vars, initialize_root_vars_lm): Use predcom_tmp_var. * gfortran.dg/predcom-1.f: New test. From-SVN: r125228
Zdenek Dvorak committed -
* gcc.c (main): Don't consider linker options when issuing the warning about a linker input file not being used. From-SVN: r125226
Kazu Hirata committed -
From-SVN: r125225
Andreas Schwab committed -
2007-05-31 Paolo Carlini <pcarlini@suse.de> PR c++/32158 (libstdc++ bits) * include/bits/stl_uninitialized.h (__uninitialized_copy_aux, __uninitialized_fill_aux, __uninitialized_fill_n_aux): Remove. (struct __uninitialized_copy, struct __uninitialized_fill, struct __uninitialized_fill_n): Add. (uninitialized_copy, uninitialized_fill, uninitialized_fill_n): Adjust. * testsuite/20_util/specialized_algorithms/32158.cc: New. * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator)): Robustify vs non-POD input. * include/bits/stl_vector.h (_M_fill_initialize): New. (vector(size_type, const value_type&, const allocator_type&), _M_initialize_dispatch(_Integer, _Integer, __true_type)): Use it. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. From-SVN: r125223
Paolo Carlini committed -
2007-05-31 Richard Guenther <rguenther@suse.de> * g++.dg/other/str_empty.C: Move... * g++.dg/other/pr30567.C: Move... * g++.dg/tree-ssa/pr27218.C: Move... * g++.dg/torture: ...here and remove dg-options. From-SVN: r125220
Richard Guenther committed -
2007-05-31 Andrew Haley <aph@redhat.com> * java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Clear INTERPRETED access modifier. From-SVN: r125218
Andrew Haley committed -
gcc/cp 2007-05-31 Paolo Carlini <pcarlini@suse.de> PR c++/32158 * semantics.c (finish_trait_expr): Complete the types. gcc/testsuite 2007-05-31 Paolo Carlini <pcarlini@suse.de> PR c++/32158 * g++.dg/ext/is_pod_incomplete.C: New. From-SVN: r125217
Paolo Carlini committed -
2007-05-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/32103 * module.c (mio_symtree_ref): If an equivalence group member is not used, give it a hidden symbol and set the pointer_info. (load_equiv): Only free the equivalence if none of the members are used. 2007-05-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/32103 * gfortran.dg/module_equivalence_3.f90: New test. From-SVN: r125216
Paul Thomas committed -
2003-05-31 Paolo Bonzini <bonzini@gnu.org> PR libjava/32098 * libtool.m4: Revert previous change. * ltgcc.m4: Put it here. libjava: 2007-05-31 Paolo Bonzini <bonzini@gnu.org> PR libjava/32098 * configure: Regenerated. * aclocal.m4: Regenerated. From-SVN: r125215
Paolo Bonzini committed -
re PR preprocessor/14331 (please add option to suppress warning message "no newline at end of file") 2007-05-31 Dave Korn <dave.korn@artimi.com> PR preprocessor/14331 * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF. From-SVN: r125212
Dave Korn committed -
2007-05-30 Russell Yanofsky <russ@yanofsky.org> Douglas Gregor <doug.gregor@gmail.com> Pedro Lamarao <pedro.lamarao@mndfck.org> Howard Hinnant <howard.hinnant@gmail.com> PR c++/7412 PR c++/29939 * g++.dg/cpp0x/rv8p.C: New. * g++.dg/cpp0x/temp-constructor-bug.C: New. * g++.dg/cpp0x/cast-bug.C: New. * g++.dg/cpp0x/elision_weak.C: New. * g++.dg/cpp0x/collapse-bug.C: New. * g++.dg/cpp0x/rv3p.C: New. * g++.dg/cpp0x/rv7n.C: New. * g++.dg/cpp0x/overload-conv-1.C: New. * g++.dg/cpp0x/rv2n.C: New. * g++.dg/cpp0x/deduce.C: New. * g++.dg/cpp0x/temp-va-arg-bug.C: New. * g++.dg/cpp0x/rv6p.C: New. * g++.dg/cpp0x/template_deduction.C: New. * g++.dg/cpp0x/implicit-copy.C: New. * g++.dg/cpp0x/rv1p.C: New. * g++.dg/cpp0x/cast.C: New. * g++.dg/cpp0x/rv5n.C: New. * g++.dg/cpp0x/collapse.C: New. * g++.dg/cpp0x/overload-conv-2.C: New. * g++.dg/cpp0x/rv4p.C: New. * g++.dg/cpp0x/rvo.C: New. * g++.dg/cpp0x/iop.C: New. * g++.dg/cpp0x/rv3n.C: New. * g++.dg/cpp0x/rv7p.C: New. * g++.dg/cpp0x/reference_collapsing.C: New. * g++.dg/cpp0x/overload.C: New. * g++.dg/cpp0x/named.C: New. * g++.dg/cpp0x/rv2p.C: New. * g++.dg/cpp0x/rv6n.C: New. * g++.dg/cpp0x/not_special.C: New. * g++.dg/cpp0x/bind.C: New. * g++.dg/cpp0x/rv1n.C: New. * g++.dg/cpp0x/rv5p.C: New. * g++.dg/cpp0x/elision.C: New. * g++.dg/cpp0x/named_refs.C: New. * g++.dg/cpp0x/unnamed_refs.C: New. * g++.dg/cpp0x/rv4n.C: New. * g++.dg/cpp0x/elision_neg.C: New. * g++.dg/init/copy7.C: Run in C++98 mode. * g++.dg/overload/arg1.C: Ditto. * g++.dg/overload/arg4.C: Ditto. 2007-05-30 Russell Yanofsky <russ@yanofsky.org> Douglas Gregor <doug.gregor@gmail.com> Pedro Lamarao <pedro.lamarao@mndfck.org> Howard Hinnant <howard.hinnant@gmail.com> PR c++/7412 PR c++/29939 * typeck.c (comptypes): Don't consider rvalue and lvalue reference types to be equivalent. (check_return_expr): Move from certain lvalues when returning them. * decl.c (grokdeclarator): Implement reference collapsing. (copy_fn_p): Don't consider constructors taking rvalue references to be copy constructors. (move_fn_p): New. * call.c (conversion): New "rvaluedness_matches_p" member. (convert_class_to_reference): Require reference type as first parameter instead of base type. (reference_binding): Add logic to handle rvalue references. (implicit_conversion): Update inaccurate comment. (convert_like_real): Disable creation of temporaries that are impossible to initialize for types with move constructors. (build_over_call): Elide move constructors when possible. (maybe_handle_implicit_object): Set "rvaluedness_matches_p". (maybe_handle_ref_bind): Return conversion instead of type node. (compare_ics): Add logic to use "rvaluedness_matches_p" values to determine preferred conversion sequences. * cp-tree.h (TYPE_REF_IS_RVALUE): New. (LOOKUP_PREFER_RVALUE): New. (DECL_MOVE_CONSTRUCTOR_P): New. (struct cp_declarator): Add "reference" member for reference types, with new "rvalue_ref" flag. (cp_build_reference_type): Declare. (move_fn_p): Declare. * error.c (dump_type_prefix): Format rvalue reference types correctly in error messages. * except.c (build_throw): Move from certain lvalues when throwing. * mangle.c (write_type): Mangle rvalue references differently than regular references. * parser.c (make_reference_declarator): Add boolean parameter for rvalue references. (cp_parser_make_indirect_declarator): New. (cp_parser_new_declarator_opt): Call cp_parser_make_indirect_declarator. (cp_parser_conversion_declarator_opt): Ditto. (cp_parser_declarator): Ditto. (cp_parser_ptr_operator): Parse "&&" tokens into rvalue reference declarators. * pt.c (tsubst): Implement reference collapsing. (maybe_adjust_types_for_deduction): Implement special template parameter deduction rule for rvalue references. (type_unification_real): Update calls to maybe_adjust_types_for_deduction. (try_one_overload): Ditto. (unify_pack_expansion): Ditto. * tree.c (lvalue_p_1): Handle rvalue reference types. (cp_build_reference_type): New. From-SVN: r125211
Russell Yanofsky committed -
From-SVN: r125208
GCC Administrator committed
-
- 30 May, 2007 3 commits
-
-
* MAINTAINERS (Various Maintainers): Add myself as auto-vectorizer maintainer. From-SVN: r125205
Zdenek Dvorak committed -
From-SVN: r125203
Ralf Wildenhues committed -
* cgraphunit.c (cgraph_analyze_function): Remove computation of inline parameters. From-SVN: r125202
Dirk Mueller committed
-