Author: arekm Date: Fri Nov 11 13:50:15 2011 GMT Module: packages Tag: HEAD ---- Log message: - rel 2; drop R python-gdb (it's obsolete pkg); update branch diff
---- Files affected: packages/gcc: gcc-branch.diff (1.53 -> 1.54) , gcc.spec (1.672 -> 1.673) ---- Diffs: ================================================================ Index: packages/gcc/gcc-branch.diff diff -u packages/gcc/gcc-branch.diff:1.53 packages/gcc/gcc-branch.diff:1.54 --- packages/gcc/gcc-branch.diff:1.53 Thu Oct 27 16:20:19 2011 +++ packages/gcc/gcc-branch.diff Fri Nov 11 14:50:09 2011 @@ -1,21 +1,256 @@ +Index: gcc/c-family/ChangeLog +=================================================================== +--- gcc/c-family/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/c-family/ChangeLog (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -1,3 +1,15 @@ ++2011-11-04 Eric Botcazou <[email protected]> ++ ++ PR c++/50608 ++ * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1. ++ (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust. ++ <INDIRECT_REF>: Return the argument. ++ <ARRAY_REF>: Remove special code for negative offset. ++ Call fold_build_pointer_plus instead of size_binop. ++ (fold_offsetof): Remove STOP_REF argument and adjust. ++ * c-common.h (fold_offsetof_1): Declare. ++ (fold_offsetof): Remove STOP_REF argument. ++ + 2011-10-26 Release Manager + + * GCC 4.6.2 released. +Index: gcc/c-family/c-common.c +=================================================================== +--- gcc/c-family/c-common.c (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/c-family/c-common.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -1236,13 +1236,7 @@ + && (op1 = get_base_address (op0)) != NULL_TREE + && TREE_CODE (op1) == INDIRECT_REF + && TREE_CONSTANT (TREE_OPERAND (op1, 0))) +- { +- tree offset = fold_offsetof (op0, op1); +- op1 +- = fold_convert_loc (loc, TREE_TYPE (expr), TREE_OPERAND (op1, 0)); +- ret = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (expr), op1, +- offset); +- } ++ ret = fold_convert_loc (loc, TREE_TYPE (expr), fold_offsetof_1 (op0)); + else if (op0 != orig_op0 || in_init) + ret = in_init + ? fold_build1_initializer_loc (loc, code, TREE_TYPE (expr), op0) +@@ -8459,20 +8453,15 @@ + return uc; + } + +-/* Build the result of __builtin_offsetof. EXPR is a nested sequence of +- component references, with STOP_REF, or alternatively an INDIRECT_REF of +- NULL, at the bottom; much like the traditional rendering of offsetof as a +- macro. Returns the folded and properly cast result. */ ++/* Fold an offsetof-like expression. EXPR is a nested sequence of component ++ references with an INDIRECT_REF of a constant at the bottom; much like the ++ traditional rendering of offsetof as a macro. Return the folded result. */ + +-static tree +-fold_offsetof_1 (tree expr, tree stop_ref) ++tree ++fold_offsetof_1 (tree expr) + { +- enum tree_code code = PLUS_EXPR; + tree base, off, t; + +- if (expr == stop_ref && TREE_CODE (expr) != ERROR_MARK) +- return size_zero_node; +- + switch (TREE_CODE (expr)) + { + case ERROR_MARK: +@@ -8489,15 +8478,15 @@ + + case NOP_EXPR: + case INDIRECT_REF: +- if (!integer_zerop (TREE_OPERAND (expr, 0))) ++ if (!TREE_CONSTANT (TREE_OPERAND (expr, 0))) + { + error ("cannot apply %<offsetof%> to a non constant address"); + return error_mark_node; + } +- return size_zero_node; ++ return TREE_OPERAND (expr, 0); + + case COMPONENT_REF: +- base = fold_offsetof_1 (TREE_OPERAND (expr, 0), stop_ref); ++ base = fold_offsetof_1 (TREE_OPERAND (expr, 0)); + if (base == error_mark_node) + return base; + +@@ -8515,21 +8504,14 @@ + break; + + case ARRAY_REF: +- base = fold_offsetof_1 (TREE_OPERAND (expr, 0), stop_ref); ++ base = fold_offsetof_1 (TREE_OPERAND (expr, 0)); + if (base == error_mark_node) + return base; + + t = TREE_OPERAND (expr, 1); +- if (TREE_CODE (t) == INTEGER_CST && tree_int_cst_sgn (t) < 0) +- { +- code = MINUS_EXPR; +- t = fold_build1_loc (input_location, NEGATE_EXPR, TREE_TYPE (t), t); +- } +- t = convert (sizetype, t); +- off = size_binop (MULT_EXPR, TYPE_SIZE_UNIT (TREE_TYPE (expr)), t); + + /* Check if the offset goes beyond the upper bound of the array. */ +- if (code == PLUS_EXPR && TREE_CODE (t) == INTEGER_CST) ++ if (TREE_CODE (t) == INTEGER_CST && tree_int_cst_sgn (t) >= 0) + { + tree upbound = array_ref_up_bound (expr); + if (upbound != NULL_TREE +@@ -8569,26 +8551,30 @@ + } + } + } ++ ++ t = convert (sizetype, t); ++ off = size_binop (MULT_EXPR, TYPE_SIZE_UNIT (TREE_TYPE (expr)), t); + break; + + case COMPOUND_EXPR: + /* Handle static members of volatile structs. */ + t = TREE_OPERAND (expr, 1); + gcc_assert (TREE_CODE (t) == VAR_DECL); +- return fold_offsetof_1 (t, stop_ref); ++ return fold_offsetof_1 (t); + + default: + gcc_unreachable (); + } + +- return size_binop (code, base, off); ++ return fold_build2 (POINTER_PLUS_EXPR, TREE_TYPE (base), base, off); + } + ++/* Likewise, but convert it to the return type of offsetof. */ ++ + tree +-fold_offsetof (tree expr, tree stop_ref) ++fold_offsetof (tree expr) + { +- /* Convert back from the internal sizetype to size_t. */ +- return convert (size_type_node, fold_offsetof_1 (expr, stop_ref)); ++ return convert (size_type_node, fold_offsetof_1 (expr)); + } + + /* Warn for A ?: C expressions (with B omitted) where A is a boolean +Index: gcc/c-family/c-common.h +=================================================================== +--- gcc/c-family/c-common.h (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/c-family/c-common.h (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -916,7 +916,8 @@ + + extern void verify_sequence_points (tree); + +-extern tree fold_offsetof (tree, tree); ++extern tree fold_offsetof_1 (tree); ++extern tree fold_offsetof (tree); + + /* Places where an lvalue, or modifiable lvalue, may be required. + Used to select diagnostic messages in lvalue_error and Index: gcc/DATESTAMP =================================================================== ---- gcc/DATESTAMP (.../tags/gcc_4_6_2_release) (wersja 180565) -+++ gcc/DATESTAMP (.../branches/gcc-4_6-branch) (wersja 180565) +--- gcc/DATESTAMP (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/DATESTAMP (.../branches/gcc-4_6-branch) (wersja 181284) @@ -1 +1 @@ -20111026 -+20111027 ++20111111 Index: gcc/DEV-PHASE =================================================================== ---- gcc/DEV-PHASE (.../tags/gcc_4_6_2_release) (wersja 180565) -+++ gcc/DEV-PHASE (.../branches/gcc-4_6-branch) (wersja 180565) +--- gcc/DEV-PHASE (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/DEV-PHASE (.../branches/gcc-4_6-branch) (wersja 181284) @@ -0,0 +1 @@ +prerelease Index: gcc/ChangeLog =================================================================== ---- gcc/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 180565) -+++ gcc/ChangeLog (.../branches/gcc-4_6-branch) (wersja 180565) -@@ -1,3 +1,8 @@ +--- gcc/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/ChangeLog (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -1,3 +1,85 @@ ++2011-11-10 Jakub Jelinek <[email protected]> ++ ++ PR middle-end/51077 ++ * tree-object-size.c (addr_object_size): Check TREE_CODE of ++ MEM_REF's operand rather than code of the MEM_REF itself. ++ ++2011-11-07 Alan Modra <[email protected]> ++ ++ PR target/30282 ++ * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit ++ blockage for ABI_V4. ++ ++2011-11-04 Eric Botcazou <[email protected]> ++ ++ PR c++/50608 ++ * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call ++ to fold_offsetof. ++ * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1. ++ ++2011-11-04 Eric Botcazou <[email protected]> ++ ++ PR target/50979 ++ * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8. ++ ++2011-11-03 Uros Bizjak <[email protected]> ++ ++ * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2, ++ rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2, ++ btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN. ++ ++2011-11-02 Eric Botcazou <[email protected]> ++ ++ PR target/50945 ++ * config/sparc/sparc.md (movsf_insn): Reindent constraints. ++ (movsf_insn_no_fpu): Likewise. ++ (movdf_insn_sp32): Likewise. ++ (movdf_insn_sp32_no_fpu): Likewise. ++ (movdf_insn_sp32_v9): Likewise. Remove redundant GY constraint. ++ (movdf_insn_sp32_v9_no_fpu): Likewise. ++ (movdf_insn_sp64): Likewise. ++ (movdf_insn_sp64_no_fpu): Likewise. ++ (movtf_insn_sp32): Likewise. ++ (movtf_insn_sp32_no_fpu): Likewise. ++ (movtf_insn_sp64): Likewise. ++ (movtf_insn_sp64_hq): Likewise. ++ (movtf_insn_sp64_no_fpu): Likewise. ++ ++2011-11-02 Bernd Schmidt <[email protected]> ++ ++ * cfgcleanup.c (try_head_merge_bb): If get_condition returns ++ NULL for a jump that is a cc0 insn, pick the previous insn for ++ move_before. ++ ++2011-11-01 Uros Bizjak <[email protected]> ++ ++ * config/i386/i386.md (splitters for int-float conversion): Use ++ SUBREG_REG on SUBREGs in splitter constraints. ++ ++2011-11-01 Julian Brown <[email protected]> ++ ++ PR rtl-optimization/47918 ++ * reload1.c (set_initial_label_offsets): Use initial offsets ++ for labels on the nonlocal_goto_handler_labels chain. ++ ++2011-10-29 John David Anglin <[email protected]> ++ ++ PR target/50691 ++ * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references. ++ * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for ++ TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references. ++ ++2011-10-27 Uros Bizjak <[email protected]> ++ ++ PR target/50875 ++ * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn ++ constraints. Change alternative 1 to "x,m,1". ++ +2011-10-26 Jakub Jelinek <[email protected]> + + * BASE-VER: Set to 4.6.3. @@ -24,10 +259,2591 @@ 2011-10-26 Release Manager * GCC 4.6.2 released. +@@ -144,8 +226,8 @@ + + 2011-10-07 Bernd Schmidt <[email protected]> + +- PR target/49049 +- * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative. ++ PR target/49049 ++ * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative. + + 2011-10-06 Jakub Jelinek <[email protected]> + +Index: gcc/testsuite/gfortran.dg/pr50875.f90 +=================================================================== +--- gcc/testsuite/gfortran.dg/pr50875.f90 (.../tags/gcc_4_6_2_release) (wersja 0) ++++ gcc/testsuite/gfortran.dg/pr50875.f90 (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -0,0 +1,39 @@ ++! { dg-do compile { target { i?86-*-* x86_64-*-* } } } ++! { dg-options "-O3 -mavx" } ++! ++! PR fortran/50875.f90 ++ ++module test ++ ++ implicit none ++ ++ integer, parameter :: dp=kind(1.d0) ++ ++ integer :: P = 2 ++ ++ real(kind=dp), allocatable :: real_array_A(:),real_array_B(:,:) ++ complex(kind=dp), allocatable :: cmplx_array_A(:) ++ ++contains ++ ++ subroutine routine_A ++ ++ integer :: i ++ ++ allocate(cmplx_array_A(P),real_array_B(P,P),real_array_A(P)) ++ ++ real_array_A = 1 ++ real_array_B = 1 ++ ++ do i = 1, p ++ cmplx_array_A = cmplx(real_array_B(:,i),0.0_dp,dp) ++ cmplx_array_A = cmplx_array_A * exp(cmplx(0.0_dp,real_array_A+1)) ++ end do ++ ++ deallocate(cmplx_array_A,real_array_B,real_array_A) ++ ++ end subroutine routine_A ++ ++end module test ++ ++! { dg-final { cleanup-modules "test" } } +Index: gcc/testsuite/gcc.c-torture/compile/pr51077.c +=================================================================== +--- gcc/testsuite/gcc.c-torture/compile/pr51077.c (.../tags/gcc_4_6_2_release) (wersja 0) ++++ gcc/testsuite/gcc.c-torture/compile/pr51077.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -0,0 +1,15 @@ ++/* PR middle-end/51077 */ ++ ++struct S { unsigned char s, t[256]; }; ++ ++void ++foo (const struct S *x, struct S *y, int z) ++{ ++ int i; ++ for (i = 0; i < 8; i++) ++ { ++ const struct S *a = &x[i]; ++ __builtin___memcpy_chk (y->t, a->t, z, __builtin_object_size (y->t, 0)); ++ y = (struct S *) &y->t[z]; ++ } ++} +Index: gcc/testsuite/gcc.c-torture/compile/20110913-1.c +=================================================================== +--- gcc/testsuite/gcc.c-torture/compile/20110913-1.c (.../tags/gcc_4_6_2_release) (wersja 0) ++++ gcc/testsuite/gcc.c-torture/compile/20110913-1.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -0,0 +1,26 @@ ++struct ieee754_double { ++ double d; ++}; ++extern const float __exp_deltatable[178]; ++float __ieee754_expf (float x) ++{ ++ static const float himark = 88.72283935546875; ++ static const float lomark = -103.972084045410; ++ if (__builtin_isless(x, himark) && __builtin_isgreater(x, lomark)) ++ { ++ int tval; ++ double x22, t, result, dx; ++ float delta; ++ struct ieee754_double ex2_u; ++ dx -= t; ++ tval = (int) (t * 512.0); ++ if (t >= 0) ++ delta = - __exp_deltatable[tval]; ++ else ++ delta = __exp_deltatable[-tval]; ++ x22 = (0.5000000496709180453 * dx + 1.0000001192102037084) * dx + delta; ++ result = x22 * ex2_u.d + ex2_u.d; ++ return (float) result; ++ } ++ return x; ++} +Index: gcc/testsuite/ChangeLog +=================================================================== +--- gcc/testsuite/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -1,3 +1,32 @@ ++2011-11-10 Jakub Jelinek <[email protected]> ++ ++ PR middle-end/51077 ++ * gcc.c-torture/compile/pr51077.c: New test. ++ ++2011-11-07 Jason Merrill <[email protected]> ++ ++ PR c++/50870 ++ * g++.dg/cpp0x/decltype35.C: New. ++ ++2011-11-04 Eric Botcazou <[email protected]> ++ ++ * g++.dg/other/offsetof7.C: New test. ++ ++2011-11-02 Bernd Schmidt <[email protected]> ++ ++ * gcc.c-torture/compile/20110907.c: New file. ++ ++2011-10-29 Paolo Carlini <[email protected]> ++ ++ PR c++/50901 ++ * g++.dg/cpp0x/pr50901.C: New. ++ ++2011-10-27 Uros Bizjak <[email protected]> ++ Steven G. Kargl <[email protected]> ++ ++ PR target/50875 ++ * gfortran.dg/pr50875.f90: New test. ++ + 2011-10-26 Release Manager + + * GCC 4.6.2 released. +Index: gcc/testsuite/g++.dg/other/offsetof7.C +=================================================================== +--- gcc/testsuite/g++.dg/other/offsetof7.C (.../tags/gcc_4_6_2_release) (wersja 0) ++++ gcc/testsuite/g++.dg/other/offsetof7.C (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -0,0 +1,17 @@ ++// PR c++/50608 ++// Testcase by <[email protected]> ++// { dg-do compile } ++ ++struct A { ++ int offset; ++}; ++ ++struct B: public A { ++}; ++ ++struct C { ++ A a; ++ B b; ++}; ++ ++int fails = __builtin_offsetof (C, b.offset); +Index: gcc/testsuite/g++.dg/cpp0x/pr50901.C +=================================================================== +--- gcc/testsuite/g++.dg/cpp0x/pr50901.C (.../tags/gcc_4_6_2_release) (wersja 0) ++++ gcc/testsuite/g++.dg/cpp0x/pr50901.C (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -0,0 +1,9 @@ ++// { dg-options "-std=c++0x" } ++ ++template<class T> int foo(int a) ++{ ++ const unsigned b = a < 0 ? -a : a; ++ return 0; ++} ++ ++int i = foo<float>(1); +Index: gcc/testsuite/g++.dg/cpp0x/decltype35.C +=================================================================== +--- gcc/testsuite/g++.dg/cpp0x/decltype35.C (.../tags/gcc_4_6_2_release) (wersja 0) ++++ gcc/testsuite/g++.dg/cpp0x/decltype35.C (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -0,0 +1,15 @@ ++// PR c++/50870 ++// { dg-options -std=c++0x } ++ ++template <class V> ++ struct impl ++ { ++ template <class T> static T create(); ++ }; ++ ++template <class T, class U, class V, class ++ = decltype(impl<V>::template create<T>() ++ -> impl<V>::template create<U>())> ++struct tester { }; ++ ++tester<impl<float>*, int, float> ti; +Index: gcc/cp/typeck.c +=================================================================== +--- gcc/cp/typeck.c (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/cp/typeck.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -4835,9 +4835,7 @@ + && TREE_CONSTANT (TREE_OPERAND (val, 0))) + { + tree type = build_pointer_type (argtype); +- tree op0 = fold_convert (type, TREE_OPERAND (val, 0)); +- tree op1 = fold_convert (sizetype, fold_offsetof (arg, val)); +- return fold_build2 (POINTER_PLUS_EXPR, type, op0, op1); ++ return fold_convert (type, fold_offsetof_1 (arg)); + } + + /* Handle complex lvalues (when permitted) +Index: gcc/cp/ChangeLog +=================================================================== +--- gcc/cp/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/cp/ChangeLog (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -1,3 +1,22 @@ ++2011-11-07 Jason Merrill <[email protected]> ++ ++ PR c++/50870 ++ * pt.c (tsubst_copy): Handle NAMESPACE_DECL. ++ (tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent ++ object. ++ ++2011-11-04 Eric Botcazou <[email protected]> ++ ++ PR c++/50608 ++ * semantics.c (finish_offsetof): Adjust call to fold_offsetof. ++ * typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1. ++ ++2011-10-29 Paolo Carlini <[email protected]> ++ ++ PR c++/50901 ++ * call.c (build_new_op_1): Handle ABS_EXPR together with the ++ other unary EXPR. ++ + 2011-10-26 Release Manager + + * GCC 4.6.2 released. +Index: gcc/cp/pt.c +=================================================================== +--- gcc/cp/pt.c (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/cp/pt.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -11439,6 +11439,9 @@ + mark_used (t); + return t; + ++ case NAMESPACE_DECL: ++ return t; ++ + case OVERLOAD: + /* An OVERLOAD will always be a non-dependent overload set; an + overload set from function scope will just be represented with an +@@ -13179,7 +13182,9 @@ + if (member == error_mark_node) + return error_mark_node; + +- if (object_type && !CLASS_TYPE_P (object_type)) ++ if (type_dependent_expression_p (object)) ++ /* We can't do much here. */; ++ else if (!CLASS_TYPE_P (object_type)) + { + if (SCALAR_TYPE_P (object_type)) + { +Index: gcc/cp/semantics.c +=================================================================== +--- gcc/cp/semantics.c (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/cp/semantics.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -3348,7 +3348,7 @@ + } + if (TREE_CODE (expr) == INDIRECT_REF && REFERENCE_REF_P (expr)) + expr = TREE_OPERAND (expr, 0); +- return fold_offsetof (expr, NULL_TREE); ++ return fold_offsetof (expr); + } + + /* Replace the AGGR_INIT_EXPR at *TP with an equivalent CALL_EXPR. This +Index: gcc/cp/call.c +=================================================================== +--- gcc/cp/call.c (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/cp/call.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -4996,6 +4996,7 @@ + case POSTDECREMENT_EXPR: + case REALPART_EXPR: + case IMAGPART_EXPR: ++ case ABS_EXPR: + return cp_build_unary_op (code, arg1, candidates != 0, complain); + + case ARRAY_REF: Index: gcc/BASE-VER =================================================================== ---- gcc/BASE-VER (.../tags/gcc_4_6_2_release) (wersja 180565) -+++ gcc/BASE-VER (.../branches/gcc-4_6-branch) (wersja 180565) +--- gcc/BASE-VER (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/BASE-VER (.../branches/gcc-4_6-branch) (wersja 181284) @@ -1 +1 @@ -4.6.2 +4.6.3 +Index: gcc/c-typeck.c +=================================================================== +--- gcc/c-typeck.c (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/c-typeck.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -3802,11 +3802,7 @@ + if (val && TREE_CODE (val) == INDIRECT_REF + && TREE_CONSTANT (TREE_OPERAND (val, 0))) + { +- tree op0 = fold_convert_loc (location, sizetype, +- fold_offsetof (arg, val)), op1; +- +- op1 = fold_convert_loc (location, argtype, TREE_OPERAND (val, 0)); +- ret = fold_build2_loc (location, POINTER_PLUS_EXPR, argtype, op1, op0); ++ ret = fold_convert_loc (location, argtype, fold_offsetof_1 (arg)); + goto return_build_unary_op; + } + +Index: gcc/cfgcleanup.c +=================================================================== +--- gcc/cfgcleanup.c (.../tags/gcc_4_6_2_release) (wersja 181284) ++++ gcc/cfgcleanup.c (.../branches/gcc-4_6-branch) (wersja 181284) +@@ -1969,7 +1969,14 @@ + <<Diff was trimmed, longer than 597 lines>> ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc-branch.diff?r1=1.53&r2=1.54&f=u http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc.spec?r1=1.672&r2=1.673&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
