- 05 Nov, 2007 18 commits
-
-
2007-11-05 H.J. Lu <hongjiu.lu@intel.com> PR c++/33871 * decl2.c (constrain_visibility): Clear DECL_ONE_ONLY if marked local. From-SVN: r129911
H.J. Lu committed -
From-SVN: r129910
Jakub Jelinek committed -
re PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched -freorder-blocks-and-partition) PR rtl-optimization/33648 * gcc.dg/pr33648.c: New test. From-SVN: r129909
Jakub Jelinek committed -
2007-11-05 Chris Jefferson <chris@bubblescope.net> Paolo Carlini <pcarlini@suse.de> * include/bits/stl_vector.h (vector<>::push_back<>(_Args...), emplace<>(iterator, _Args...), insert(iterator, _Tp&&), _M_insert_aux<>(iterator, _Args&&...)): Add. * include/bits/vector.tcc (insert(iterator, value_type&&), emplace<>(iterator, _Args...), _M_insert_aux<>(iterator, _Args&&...)): Define. (_M_fill_insert(iterator, size_type, const value_type&), _M_range_insert(iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag)): Use __uninitialized_move_a, _GLIBCXX_MOVE_BACKWARD3 when possible. * include/bits/stl_uninitialized.h (__uninitialized_move_a): Add. * include/debug/vector (vector<>::push_back<>(_Args...), emplace<>(iterator, _Args...), insert(iterator, _Tp&&)): Add. * testsuite/23_containers/vector/modifiers/moveable.cc: Enable. * testsuite/23_containers/vector/resize/moveable.cc: Likewise. * testsuite/23_containers/vector/cons/moveable.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line numbers. * 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. Co-Authored-By: Paolo Carlini <pcarlini@suse.de> From-SVN: r129907
Chris Jefferson committed -
From-SVN: r129906
Revital Eres committed -
Index: testsuite/g++.dg/cpp0x/pr33996.C =================================================================== --- testsuite/g++.dg/cpp0x/pr33996.C (revision 0) +++ testsuite/g++.dg/cpp0x/pr33996.C (revision 0) @@ -0,0 +1,52 @@ +// { dg-options "-std=c++0x" } + +#define BUG +struct type +{ + type() { } + type(const type&) { } + +private: + type(type&&); +}; + +template<typename _Tp> + struct identity + { + typedef _Tp type; + }; + +template<typename _Tp> + inline _Tp&& + forward(typename identity<_Tp>::type&& __t) + { return __t; } + +struct vec +{ + template<typename _Args> + void + bar(_Args&& __args) +#ifdef BUG + ; +#else + { + type(forward<_Args>(__args)); + } +#endif +}; + +#ifdef BUG +template<typename _Args> + void + vec::bar(_Args&& __args) + { + type(forward<_Args>(__args)); + } +#endif + +int main() +{ + vec v; + type c; + v.bar(c); +} Index: testsuite/g++.dg/cpp0x/rv-trivial-bug.C =================================================================== --- testsuite/g++.dg/cpp0x/rv-trivial-bug.C (revision 0) +++ testsuite/g++.dg/cpp0x/rv-trivial-bug.C (revision 0) @@ -0,0 +1,33 @@ +// { dg-do "run" } +// { dg-options "-std=c++0x" } +// PR c++/33235 +#include <cassert> + +int move_construct = 0; +int move_assign = 0; + +struct base2 +{ + base2() {} + base2(base2&&) {++move_construct;} + base2& operator=(base2&&) {++move_assign; return *this;} +}; + +int test2() +{ + base2 b; + base2 b2(b); + assert(move_construct == 0); + base2 b3(static_cast<base2&&>(b)); + assert(move_construct == 1); + b = b2; + assert(move_assign == 0); + b = static_cast<base2&&>(b2); + assert(move_assign == 1); +} + +int main() +{ + test2(); + return 0; +} Index: testsuite/g++.dg/cpp0x/pr33930.C =================================================================== --- testsuite/g++.dg/cpp0x/pr33930.C (revision 0) +++ testsuite/g++.dg/cpp0x/pr33930.C (revision 0) @@ -0,0 +1,10 @@ +// { dg-options "-std=c++0x" } +typedef const int* type; + +float& foo( const type& ggg ); +int& foo( type&& ggg ); + +void bar( int* someptr ) +{ + int& x = foo( someptr ); +} Index: cp/typeck.c =================================================================== --- cp/typeck.c (revision 129899) +++ cp/typeck.c (working copy) @@ -620,7 +620,7 @@ merge_types (tree t1, tree t2) if (code1 == POINTER_TYPE) t1 = build_pointer_type (target); else - t1 = build_reference_type (target); + t1 = cp_build_reference_type (target, TYPE_REF_IS_RVALUE (t1)); t1 = build_type_attribute_variant (t1, attributes); t1 = cp_build_qualified_type (t1, quals); Index: cp/call.c =================================================================== --- cp/call.c (revision 129899) +++ cp/call.c (working copy) @@ -5076,7 +5076,8 @@ build_over_call (struct z_candidate *can return build_target_expr_with_type (arg, DECL_CONTEXT (fn)); } else if (TREE_CODE (arg) == TARGET_EXPR - || TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn))) + || (TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn)) + && !move_fn_p (fn))) { tree to = stabilize_reference (build_indirect_ref (TREE_VALUE (args), 0)); @@ -6118,7 +6119,11 @@ compare_ics (conversion *ics1, conversio if (ics1->kind == ck_qual && ics2->kind == ck_qual && same_type_p (from_type1, from_type2)) - return comp_cv_qual_signature (to_type1, to_type2); + { + int result = comp_cv_qual_signature (to_type1, to_type2); + if (result != 0) + return result; + } /* [over.ics.rank] From-SVN: r129905
Douglas Gregor committed -
2007-11-05 Paul Brook <paul@codesourcery.com> gcc/ * config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs. * config/arm/arm.c (arm_lang_output_object_attributes_hook): New. (arm_file_start): Don't set Tag_ABI_PCS_wchar_t. Call arm_lang_output_object_attributes_hook. * config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare. (REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init. * config/arm/arm-protos.h (arm_lang_object_attributes_init): Add prototype. * config/arm/t-arm.c (arm.o): New rule. * config/arm/arm-c.c: New file. From-SVN: r129904
Paul Brook committed -
2007-11-05 H.J. Lu <hongjiu.lu@intel.com> * configure.ac: Don't run config-ml.in directly. (multilib_arg): New. * configure: Regenerated. From-SVN: r129902
H.J. Lu committed -
2007-11-05 Nick Clifton <nickc@redhat.com> Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/32540 PR tree-optimization/33922 * doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH. * tree-ssa-pre.c: Include params.h. (compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH to limit the maximum length of the PA set for a given block. * Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c * params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter. * gcc.dg/tree-ssa/pr32540-1.c: New. * gcc.dg/tree-ssa/pr32540-2.c: New. * gcc.dg/tree-ssa/pr33922.c: New. Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com> From-SVN: r129901
Nick Clifton committed -
2007-11-05 Douglas Gregor <doug.gregor@gmail.com> PR c++/33939 * pt.c (unify_pack_expansion): bring handling of function call arguments into line with type_unification_real. 2007-11-05 Douglas Gregor <doug.gregor@gmail.com> PR c++/33939 * g++.dg/cpp0x/variadic-rref.C: New. From-SVN: r129900
Douglas Gregor committed -
* libgcc2.c (__fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI): Make return type unsigned. * libgcc2.h (__fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI): Make return type unsigned. From-SVN: r129899
Nathan Sidwell committed -
2007-11-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org> cp/ * typeck.c (build_binary_op): Use pedwarn instead of error for consistency. testsuite/ * g++dg/warn/pointer-integer-comparison.C: New. From-SVN: r129898
Manuel López-Ibáñez committed -
PR tree-optimization/33856 * tree-data-ref.c (get_references_in_stmt): Don't add REFERENCE_CLASS_P trees to references vector if get_base_address returns NULL on them. * gcc.c-torture/compile/20071027-1.c: New test. From-SVN: r129897
Jakub Jelinek committed -
PR c++/33836 * parser.c (cp_parser_unary_expression): For &&label call cp_parser_non_integral_constant_expression and return error_mark_node if it returned true. * g++.dg/ext/label10.C: New test. From-SVN: r129896
Jakub Jelinek committed -
PR c++/33969 * decl.c (grokdeclarator): Don't call build_memfn_type if type is neither FUNCTION_TYPE nor METHOD_TYPE. * g++.dg/other/ptrmem9.C: New test. From-SVN: r129895
Jakub Jelinek committed -
From-SVN: r129893
Alexandre Oliva committed -
From-SVN: r129891
GCC Administrator committed -
Index: ChangeLog =================================================================== --- ChangeLog (revision 129887) +++ ChangeLog (working copy) @@ -6447,6 +6447,7 @@ 2007-09-02 Joseph Myers <joseph@codesourcery.com> + PR c/29237 PR middle-end/33272 * c-decl.c (grokdeclarator): Apply qualifiers to type of parameter decayed from array. Index: testsuite/ChangeLog =================================================================== --- testsuite/ChangeLog (revision 129887) +++ testsuite/ChangeLog (working copy) @@ -3041,6 +3041,7 @@ 2007-09-02 Joseph Myers <joseph@codesourcery.com> + PR C/29237 PR middle-end/33272 * gcc.dg/c99-arraydecl-3.c: New test. From-SVN: r129888
Andrew Pinski committed
-
- 04 Nov, 2007 7 commits
-
-
2007-11-04 Andrew Pinski <pinskia@gmail.com> PR middle-end/32931 * fold-const.c (fold_binary <case EQ_EXPR>): Convert the inner type for TRUTH_NOT_EXPR to type. 2007-11-04 Andrew Pinski <pinskia@gmail.com> PR middle-end/32931 * gfortran.fortran-torture/compile/forall-1.f90: New testcase. From-SVN: r129886
Andrew Pinski committed -
From-SVN: r129884
Gerald Pfeifer committed -
* g++.dg/cpp/_Pragma1.C: Disable on AIX. * g++.dg/ext/visibility/namespace2.C: Add argument to dg-require-visibility. * g++.dg/ext/java-1.C: Disable on AIX. From-SVN: r129883
David Edelsohn committed -
PR fortran/10220 * dwarf2out.c (add_calling_convention_attribute): Change second argument. Set calling convention to DW_CC_program for Fortran main program. (gen_subprogram_die): Adjust to new prototype for add_calling_convention_attribute. From-SVN: r129882
Francois-Xavier Coudert committed -
* gfortran.dg/vect/no-vfa-pr32377.f90: Remove xfail. From-SVN: r129881
Dorit Nuzman committed -
re PR tree-optimization/33987 (internal compiler error: in get_initial_def_for_reduction, at tree-vect-transform.c:2110 with -O3 -msse2) PR tree-optimization/33987 * tree-vect-transform.c (get_initial_def_for_reduction): Fix assert. Fix indentation. (vectorizable_reduction): Add type check. From-SVN: r129880
Dorit Nuzman committed -
From-SVN: r129878
GCC Administrator committed
-
- 03 Nov, 2007 9 commits
-
-
random (variate_generator<>::min, [...]): Return non-trivial values when _Engine_result_type is a floating point type and... 2007-11-03 Paolo Carlini <pcarlini@suse.de> Kai-Uwe Bux <bux@kubux.net> * include/tr1_impl/random (variate_generator<>::min, max, operator()()): Return non-trivial values when _Engine_result_type is a floating point type and result_type is an integer type. Co-Authored-By: Kai-Uwe Bux <bux@kubux.net> From-SVN: r129875
Paolo Carlini committed -
PR fortran/33881 * trans-array.c (gfc_conv_array_parameter): Evaluate se->string_length instead of the expr->ts.cl->backend_decl. * gfortran.dg/assumed_charlen_arg_1.f90: New test. From-SVN: r129874
Francois-Xavier Coudert committed -
2007-11-03 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c/29062 * c-parser.c (c_parser_statement_after_labels): Error if a declaration is parsed after a label. testsuite/ * gcc.dg/20031223-1.c: Adjust error output. * gcc.dg/parse-decl-after-label.c: New. From-SVN: r129873
Manuel López-Ibáñez committed -
PR debug/33921 * reorg.c (emit_delay_sequence): Do not clear the locator on the jump instruction. From-SVN: r129872
Daniel Jacobowitz committed -
re PR libfortran/24685 (real(16) formatted input is broken for huge values (gfortran.dg/default_format_2.f90)) 2007-11-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/24685 * gfortran.dg/default_format_2.f90: XFAIL powerpc*-*-linux* * gfortran.dg/default_format_denormal_2.f90: XFAIL powerpc*-*-linux* * gfortran.dg/large_real_kind_form_io_2.f90: XFAIL powerpc*-*-linux* From-SVN: r129871
Jerry DeLisle committed -
2007-11-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33985 * io/transfer.c (finalize_transfer): Do not flush for unformatted STREAM I/O. From-SVN: r129870
Jerry DeLisle committed -
* gfortran.h: Shorten comment. * trans-types.c (gfc_get_function_type): Allow argument to have flavor FL_PROGRAM. * trans-decl.c (gfc_sym_mangled_function_id): Mangle main program name into MAIN__. (build_function_decl): Fix comment. * parse.c (main_program_symbol): Give the main program its proper name, if any. Set its flavor to FL_PROGRAM. (gfc_parse_file): Likewise. From-SVN: r129869
Francois-Xavier Coudert committed -
PR rtl-optimization/28940 * gcc.target/i386/addr-sel-1.c: New test. From-SVN: r129868
Eric Botcazou committed -
From-SVN: r129866
GCC Administrator committed
-
- 02 Nov, 2007 6 commits
-
-
PR middle-end/33670 * haifa-sched.c (ok_for_early_queue_removal): Don't walk out of the current sched region. * gcc.dg/pr33670.c: New test. From-SVN: r129863
Jakub Jelinek committed -
PR c++/33516 * parser.c (cp_parser_nested_name_specifier_opt): Use TYPE_MAIN_VARIANT (new_scope) as scope if new_scope is an incomplete typedef of currently open class. * g++.dg/lookup/typedef1.C: New test. From-SVN: r129862
Jakub Jelinek committed -
* config/ia64/ia64.c (struct reg_write_state): Change into unsigned short bitfields rather than unsigned int, decrease first_pred to just 10 bits. (rws_insn): Change into a bitmap or if not ENABLE_CHECKING into two char array. (rws_insn_set, rws_insn_test): New functions. (in_safe_group_barrier): New variable. (rws_update): Remove first argument, always set rws_sum array. (rws_access_regno): Use rws_insn_set macro. Only call rws_update or update rws_sum if !in_safe_group_barrier, adjust rws_update args. (rtx_needs_barrier): Use rws_insn_test macro. (safe_group_barrier_needed): Don't save/restore rws_sum array, instead set/clear in_safe_group_barrier flag. From-SVN: r129861
Jakub Jelinek committed -
PR java/33765: * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files. * zipfile.h (ZIPEMPTYMAGIC): New define. From-SVN: r129860
Tom Tromey committed -
re PR testsuite/32076 ("gcc.dg/tree-ssa/pr17141-1.c scan-tree-dump locp.*->i =" is the same name twice) PR testsuite/32076 * lib/scandump.exp (dump-suffix): New. (scan-dump, scan-dump-times, scan-dump-dem, scan-dump-dem-not): Include dump suffix in pass/fail messages, put regexp in quotes. From-SVN: r129858
Janis Johnson committed -
From-SVN: r129857
Francois-Xavier Coudert committed
-