summaryrefslogtreecommitdiff
path: root/packages/python/python-numpy_1.1.1.bb
AgeCommit message (Expand)AuthorFiles
2008-10-18bb files: Revert the introduction of FILE_PRHolger Hans Peter Freyther1
2008-10-15[PR] Change PR to FILE_PR and intro PR as FILE_PR + DISTRO_PRHolger Hans Peter Freyther1
2008-09-01python-numpy: add gross hack to make it buildKoen Kooi1
2008-08-31python-numpy: fix wrong include paths, but it still tries to run generated co...Koen Kooi1
2008-08-20python-numpy: add (currently non-building) new style python-numeric modules, ...Koen Kooi1
lass='ctrl'>
Diffstat (limited to 'meta/packages/gcc/gcc-4.3.1/debian/svn-updates.dpatch')
-rw-r--r--meta/packages/gcc/gcc-4.3.1/debian/svn-updates.dpatch569584
1 files changed, 0 insertions, 569584 deletions
diff --git a/meta/packages/gcc/gcc-4.3.1/debian/svn-updates.dpatch b/meta/packages/gcc/gcc-4.3.1/debian/svn-updates.dpatch
deleted file mode 100644
index 480eeaeba4..0000000000
--- a/meta/packages/gcc/gcc-4.3.1/debian/svn-updates.dpatch
+++ /dev/null
@@ -1,569584 +0,0 @@
-#! /bin/sh -e
-
-# DP: updates from the 4.3 branch upto 20080401.
-
-last_updated()
-{
- cat > ${dir}LAST_UPDATED <<EOF
-Wed Apr 2 01:22:47 CEST 2008
-Tue Apr 1 23:22:47 UTC 2008 (revision 133808)
-EOF
-}
-
-dir=
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
- dir="$3/"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch)
- patch $pdir -f --no-backup-if-mismatch -p0 < $0
- last_updated
- #cd ${dir}gcc && autoconf
- ;;
- -unpatch)
- patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
- #rm ${dir}gcc/configure
- ;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
-# svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_4_3_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch \
-# | awk '/^Index:.*\.class/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
-
-Index: libgomp/iter.c
-===================================================================
---- libgomp/iter.c (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ libgomp/iter.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -242,17 +242,17 @@
- if (ws->next == ws->end)
- return false;
-
-- n = (ws->end - ws->next) / ws->incr;
-+ start = ws->next;
-+ n = (ws->end - start) / ws->incr;
- q = (n + nthreads - 1) / nthreads;
-
- if (q < ws->chunk_size)
- q = ws->chunk_size;
-- if (q > n)
-- q = n;
-+ if (q <= n)
-+ end = start + q * ws->incr;
-+ else
-+ end = ws->end;
-
-- start = ws->next;
-- end = start + q * ws->incr;
--
- ws->next = end;
- *pstart = start;
- *pend = end;
-@@ -286,16 +286,16 @@
- if (start == end)
- return false;
-
-- n = (end - start) / ws->incr;
-+ n = (end - start) / incr;
- q = (n + nthreads - 1) / nthreads;
-
- if (q < chunk_size)
- q = chunk_size;
-- if (q > n)
-- q = n;
-+ if (__builtin_expect (q <= n, 1))
-+ nend = start + q * incr;
-+ else
-+ nend = end;
-
-- nend = start + q * incr;
--
- tmp = __sync_val_compare_and_swap (&ws->next, start, nend);
- if (__builtin_expect (tmp == start, 1))
- break;
-Index: libgomp/ChangeLog
-===================================================================
---- libgomp/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ libgomp/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -1,3 +1,27 @@
-+2008-03-18 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/35611
-+ * testsuite/libgomp.c/atomic-4.c: New test.
-+
-+ PR libgomp/35625
-+ * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
-+ (gomp_iter_guided_next): Likewise.
-+ * testsuite/libgomp.c/pr35625.c: New test.
-+
-+2008-03-13 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/35185
-+ * testsuite/libgomp.c++/pr35185.C: New test.
-+
-+2008-03-12 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/35549
-+ * testsuite/libgomp.c/pr35549.c: New test.
-+
-+2008-03-06 Jakub Jelinek <jakub@redhat.com>
-+
-+ * testsuite/libgomp.c/atomic-3.c: New test.
-+
- 2008-03-05 Release Manager
-
- * GCC 4.3.0 released.
-Index: libgomp/testsuite/libgomp.c++/pr35185.C
-===================================================================
---- libgomp/testsuite/libgomp.c++/pr35185.C (.../tags/gcc_4_3_0_release) (revision 0)
-+++ libgomp/testsuite/libgomp.c++/pr35185.C (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -0,0 +1,33 @@
-+// PR middle-end/35185
-+// { dg-do run }
-+
-+extern "C" void abort ();
-+
-+struct S
-+{
-+ S () : s (6) {}
-+ ~S () {}
-+ int s;
-+};
-+
-+__attribute__((noinline))
-+bool
-+bar (S s)
-+{
-+ return s.s != 6;
-+}
-+
-+int
-+main ()
-+{
-+ S s;
-+ int err = 0;
-+#pragma omp parallel shared (s)
-+ {
-+ if (bar (s))
-+ #pragma omp atomic
-+ err++;
-+ }
-+ if (err)
-+ abort ();
-+}
-Index: libgomp/testsuite/libgomp.c/pr35549.c
-===================================================================
---- libgomp/testsuite/libgomp.c/pr35549.c (.../tags/gcc_4_3_0_release) (revision 0)
-+++ libgomp/testsuite/libgomp.c/pr35549.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -0,0 +1,30 @@
-+/* PR middle-end/35549 */
-+/* { dg-do run } */
-+
-+#include <omp.h>
-+#include <stdlib.h>
-+
-+int
-+main (void)
-+{
-+ int i = 6, n = 0;
-+ omp_set_dynamic (0);
-+ omp_set_nested (1);
-+ #pragma omp parallel shared (i) num_threads (3)
-+ {
-+ if (omp_get_num_threads () != 3)
-+ #pragma omp atomic
-+ n += 1;
-+ #pragma omp parallel shared (i) num_threads (4)
-+ {
-+ if (omp_get_num_threads () != 4)
-+ #pragma omp atomic
-+ n += 1;
-+ #pragma omp critical
-+ i += 1;
-+ }
-+ }
-+ if (n == 0 && i != 6 + 3 * 4)
-+ abort ();
-+ return 0;
-+}
-Index: libgomp/testsuite/libgomp.c/atomic-4.c
-===================================================================
---- libgomp/testsuite/libgomp.c/atomic-4.c (.../tags/gcc_4_3_0_release) (revision 0)
-+++ libgomp/testsuite/libgomp.c/atomic-4.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -0,0 +1,18 @@
-+/* PR middle-end/35611 */
-+/* { dg-options "-O2" } */
-+
-+extern void abort (void);
-+
-+int
-+main (void)
-+{
-+ long double d = .0L;
-+ int i;
-+ #pragma omp parallel for shared (d)
-+ for (i = 0; i < 1000; i++)
-+ #pragma omp atomic
-+ d += 1.0L;
-+ if (d != 1000.0L)
-+ abort ();
-+ return 0;
-+}
-Index: libgomp/testsuite/libgomp.c/pr35625.c
-===================================================================
---- libgomp/testsuite/libgomp.c/pr35625.c (.../tags/gcc_4_3_0_release) (revision 0)
-+++ libgomp/testsuite/libgomp.c/pr35625.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -0,0 +1,18 @@
-+/* PR libgomp/35625 */
-+/* { dg-do run } */
-+/* { dg-options "-std=c99" } */
-+
-+int
-+main (void)
-+{
-+#pragma omp parallel
-+ {
-+ #pragma omp for schedule (guided, 10)
-+ for (int i = 0; i < 1826; i += 10)
-+ ;
-+ #pragma omp for schedule (guided, 10)
-+ for (int i = 0; i > -1826; i -= 10)
-+ ;
-+ }
-+ return 0;
-+}
-Index: libgomp/testsuite/libgomp.c/atomic-3.c
-===================================================================
---- libgomp/testsuite/libgomp.c/atomic-3.c (.../tags/gcc_4_3_0_release) (revision 0)
-+++ libgomp/testsuite/libgomp.c/atomic-3.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -0,0 +1,50 @@
-+/* { dg-do run } */
-+/* { dg-options "-fopenmp -O0" } */
-+
-+#include <omp.h>
-+#include <stdlib.h>
-+
-+short e[64];
-+int g;
-+_Complex double d, f;
-+int num_threads;
-+
-+__attribute__((noinline)) void
-+foo (int x, long long y)
-+{
-+#pragma omp parallel num_threads (4)
-+ {
-+ int i;
-+ #pragma omp barrier
-+ for (i = 0; i < 2400; i++)
-+ {
-+ if (i == 0)
-+ num_threads = omp_get_num_threads ();
-+ #pragma omp atomic
-+ e[0] += x;
-+ #pragma omp atomic
-+ e[16] += x;
-+ #pragma omp atomic
-+ g += y;
-+ #pragma omp atomic
-+ __real__ d += x;
-+ #pragma omp atomic
-+ __imag__ f += x;
-+ }
-+ }
-+}
-+
-+int
-+main (void)
-+{
-+ int i;
-+ foo (3, 3LL);
-+ if (g != 3 * 2400 * num_threads
-+ || __real__ d != g || __imag__ d != 0
-+ || __real__ f != 0 || __imag__ f != g)
-+ abort ();
-+ for (i = 0; i < 64; i++)
-+ if (e[i] != ((i && i != 16) ? 0 : g))
-+ abort ();
-+ return 0;
-+}
-Index: gcc/doc/include/texinfo.tex
-===================================================================
---- gcc/doc/include/texinfo.tex (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/doc/include/texinfo.tex (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -3,7 +3,7 @@
- % Load plain if necessary, i.e., if running under initex.
- \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
- %
--\def\texinfoversion{2008-02-04.16}
-+\def\texinfoversion{2008-03-07.10}
- %
- % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
- % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-@@ -917,16 +917,21 @@
- \temp
- }
-
--% @include file insert text of that file as input.
-+% @include FILE -- \input text of FILE.
- %
- \def\include{\parseargusing\filenamecatcodes\includezzz}
- \def\includezzz#1{%
- \pushthisfilestack
- \def\thisfile{#1}%
- {%
-- \makevalueexpandable
-- \input #1
-- }%
-+ \makevalueexpandable % we want to expand any @value in FILE.
-+ \turnoffactive % and allow special characters in the expansion
-+ \edef\temp{\noexpand\input #1 }%
-+ %
-+ % This trickery is to read FILE outside of a group, in case it makes
-+ % definitions, etc.
-+ \expandafter
-+ }\temp
- \popthisfilestack
- }
- \def\filenamecatcodes{%
-@@ -5725,7 +5730,7 @@
- \let\/=\ptexslash
- \let\*=\ptexstar
- \let\t=\ptext
-- \expandafter \let\csname top \endcsname=\ptextop % outer
-+ \expandafter \let\csname top\endcsname=\ptextop % outer
- \let\frenchspacing=\plainfrenchspacing
- %
- \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
-Index: gcc/java/jcf-parse.c
-===================================================================
---- gcc/java/jcf-parse.c (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/java/jcf-parse.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -1208,7 +1208,7 @@
- #ifdef USE_MAPPED_LOCATION
- {
- tree source_name = identifier_subst (class_name, "", '.', '/', ".java");
-- const char *sfname = IDENTIFIER_POINTER (source_name);
-+ const char *sfname = find_sourcefile (IDENTIFIER_POINTER (source_name));
- linemap_add (line_table, LC_ENTER, false, sfname, 0);
- input_location = linemap_line_start (line_table, 0, 1);
- file_start_location = input_location;
-Index: gcc/java/Make-lang.in
-===================================================================
---- gcc/java/Make-lang.in (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/java/Make-lang.in (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -311,7 +311,7 @@
- $(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)
-
- TEXI_JAVA_FILES = java/gcj.texi $(gcc_docdir)/include/fdl.texi \
-- $(gcc_docdir)/include/gpl.texi $(gcc_docdir)/include/gcc-common.texi \
-+ $(gcc_docdir)/include/gpl_v3.texi $(gcc_docdir)/include/gcc-common.texi \
- gcc-vers.texi
-
- # Documentation
-Index: gcc/java/ChangeLog
-===================================================================
---- gcc/java/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/java/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -1,3 +1,14 @@
-+2008-04-01 Joseph Myers <joseph@codesourcery.com>
-+
-+ * gcj.texi: Include gpl_v3.texi instead of gpl.texi
-+ * Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
-+ gpl.texi.
-+
-+2008-03-06 Andrew Haley <aph@redhat.com>
-+
-+ * jcf-parse.c (give_name_to_class): Call find_sourcefile to find
-+ full pathname of source file.
-+
- 2008-03-05 Release Manager
-
- * GCC 4.3.0 released.
-Index: gcc/DATESTAMP
-===================================================================
---- gcc/DATESTAMP (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/DATESTAMP (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -1 +1 @@
--20080305
-+20080401
-Index: gcc/tree.c
-===================================================================
---- gcc/tree.c (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/tree.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -4067,6 +4067,16 @@
- return NULL_TREE;
- }
-
-+ if (TREE_CODE (node) == TYPE_DECL
-+ && TREE_CODE (TREE_TYPE (node)) != RECORD_TYPE
-+ && TREE_CODE (TREE_TYPE (node)) != UNION_TYPE)
-+ {
-+ *no_add_attrs = true;
-+ warning (OPT_Wattributes, "%qs attribute ignored",
-+ IDENTIFIER_POINTER (name));
-+ return NULL_TREE;
-+ }
-+
- /* Report error on dllimport ambiguities seen now before they cause
- any damage. */
- else if (is_attribute_p ("dllimport", name))
-Index: gcc/fold-const.c
-===================================================================
---- gcc/fold-const.c (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/fold-const.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -5066,9 +5066,10 @@
-
- Note that all these transformations are correct if A is
- NaN, since the two alternatives (A and -A) are also NaNs. */
-- if ((FLOAT_TYPE_P (TREE_TYPE (arg01))
-- ? real_zerop (arg01)
-- : integer_zerop (arg01))
-+ if (!HONOR_SIGNED_ZEROS (TYPE_MODE (type))
-+ && (FLOAT_TYPE_P (TREE_TYPE (arg01))
-+ ? real_zerop (arg01)
-+ : integer_zerop (arg01))
- && ((TREE_CODE (arg2) == NEGATE_EXPR
- && operand_equal_p (TREE_OPERAND (arg2, 0), arg1, 0))
- /* In the case that A is of the form X-Y, '-A' (arg2) may
-@@ -5121,7 +5122,8 @@
- both transformations are correct when A is NaN: A != 0
- is then true, and A == 0 is false. */
-
-- if (integer_zerop (arg01) && integer_zerop (arg2))
-+ if (!HONOR_SIGNED_ZEROS (TYPE_MODE (type))
-+ && integer_zerop (arg01) && integer_zerop (arg2))
- {
- if (comp_code == NE_EXPR)
- return pedantic_non_lvalue (fold_convert (type, arg1));
-@@ -5155,7 +5157,8 @@
- a number and A is not. The conditions in the original
- expressions will be false, so all four give B. The min()
- and max() versions would give a NaN instead. */
-- if (operand_equal_for_comparison_p (arg01, arg2, arg00)
-+ if (!HONOR_SIGNED_ZEROS (TYPE_MODE (type))
-+ && operand_equal_for_comparison_p (arg01, arg2, arg00)
- /* Avoid these transformations if the COND_EXPR may be used
- as an lvalue in the C++ front-end. PR c++/19199. */
- && (in_gimple_form
-@@ -9357,7 +9360,7 @@
- }
- }
-
-- if (DECL_P (expr))
-+ if (DECL_P (expr) && TREE_CODE (expr) != FUNCTION_DECL)
- return DECL_ALIGN_UNIT (expr);
- }
- else if (code == POINTER_PLUS_EXPR)
-Index: gcc/omp-low.c
-===================================================================
---- gcc/omp-low.c (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/omp-low.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -456,7 +456,7 @@
- }
-
- static inline tree
--maybe_lookup_decl (tree var, omp_context *ctx)
-+maybe_lookup_decl (const_tree var, omp_context *ctx)
- {
- tree *n;
- n = (tree *) pointer_map_contains (ctx->cb.decl_map, var);
-@@ -479,18 +479,18 @@
- return n ? (tree) n->value : NULL_TREE;
- }
-
--/* Return true if DECL should be copied by pointer. SHARED_P is true
-- if DECL is to be shared. */
-+/* Return true if DECL should be copied by pointer. SHARED_CTX is
-+ the parallel context if DECL is to be shared. */
-
- static bool
--use_pointer_for_field (const_tree decl, bool shared_p)
-+use_pointer_for_field (const_tree decl, omp_context *shared_ctx)
- {
- if (AGGREGATE_TYPE_P (TREE_TYPE (decl)))
- return true;
-
- /* We can only use copy-in/copy-out semantics for shared variables
- when we know the value is not accessible from an outer scope. */
-- if (shared_p)
-+ if (shared_ctx)
- {
- /* ??? Trivially accessible from anywhere. But why would we even
- be passing an address in this case? Should we simply assert
-@@ -510,6 +510,34 @@
- address taken. */
- if (TREE_ADDRESSABLE (decl))
- return true;
-+
-+ /* Disallow copy-in/out in nested parallel if
-+ decl is shared in outer parallel, otherwise
-+ each thread could store the shared variable
-+ in its own copy-in location, making the
-+ variable no longer really shared. */
-+ if (!TREE_READONLY (decl) && shared_ctx->is_nested)
-+ {
-+ omp_context *up;
-+
-+ for (up = shared_ctx->outer; up; up = up->outer)
-+ if (maybe_lookup_decl (decl, up))
-+ break;
-+
-+ if (up && is_parallel_ctx (up))
-+ {
-+ tree c;
-+
-+ for (c = OMP_PARALLEL_CLAUSES (up->stmt);
-+ c; c = OMP_CLAUSE_CHAIN (c))
-+ if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED
-+ && OMP_CLAUSE_DECL (c) == decl)
-+ break;
-+
-+ if (c)
-+ return true;
-+ }
-+ }
- }
-
- return false;
-@@ -596,7 +624,7 @@
- }
- else if (is_parallel_ctx (ctx))
- {
-- bool by_ref = use_pointer_for_field (var, false);
-+ bool by_ref = use_pointer_for_field (var, NULL);
- x = build_receiver_ref (var, by_ref, ctx);
- }
- else if (ctx->outer)
-@@ -966,7 +994,7 @@
- gcc_assert (is_parallel_ctx (ctx));
- decl = OMP_CLAUSE_DECL (c);
- gcc_assert (!is_variable_sized (decl));
-- by_ref = use_pointer_for_field (decl, true);
-+ by_ref = use_pointer_for_field (decl, ctx);
- /* Global variables don't need to be copied,
- the receiver side will use them directly. */
- if (is_global_var (maybe_lookup_decl_in_outer_ctx (decl, ctx)))
-@@ -1001,7 +1029,7 @@
- && ! is_global_var (maybe_lookup_decl_in_outer_ctx (decl,
- ctx)))
- {
-- by_ref = use_pointer_for_field (decl, false);
-+ by_ref = use_pointer_for_field (decl, NULL);
- install_var_field (decl, by_ref, ctx);
- }
- install_var_local (decl, ctx);
-@@ -1014,7 +1042,7 @@
-
- case OMP_CLAUSE_COPYIN:
- decl = OMP_CLAUSE_DECL (c);
-- by_ref = use_pointer_for_field (decl, false);
-+ by_ref = use_pointer_for_field (decl, NULL);
- install_var_field (decl, by_ref, ctx);
- break;
-
-@@ -1751,7 +1779,7 @@
- /* Set up the DECL_VALUE_EXPR for shared variables now. This
- needs to be delayed until after fixup_child_record_type so
- that we get the correct type during the dereference. */
-- by_ref = use_pointer_for_field (var, true);
-+ by_ref = use_pointer_for_field (var, ctx);
- x = build_receiver_ref (var, by_ref, ctx);
- SET_DECL_VALUE_EXPR (new_var, x);
- DECL_HAS_VALUE_EXPR_P (new_var) = 1;
-@@ -1794,7 +1822,7 @@
- break;
-
- case OMP_CLAUSE_COPYIN:
-- by_ref = use_pointer_for_field (var, false);
-+ by_ref = use_pointer_for_field (var, NULL);
- x = build_receiver_ref (var, by_ref, ctx);
- x = lang_hooks.decls.omp_clause_assign_op (c, new_var, x);
- append_to_statement_list (x, &copyin_seq);
-@@ -2007,7 +2035,7 @@
- continue;
-
- var = OMP_CLAUSE_DECL (c);
-- by_ref = use_pointer_for_field (var, false);
-+ by_ref = use_pointer_for_field (var, NULL);
-
- ref = build_sender_ref (var, ctx);
- x = lookup_decl_in_outer_ctx (var, ctx);
-@@ -2059,7 +2087,7 @@
- continue;
- if (is_variable_sized (val))
- continue;
-- by_ref = use_pointer_for_field (val, false);
-+ by_ref = use_pointer_for_field (val, NULL);
-
- switch (OMP_CLAUSE_CODE (c))
- {
-@@ -2129,7 +2157,7 @@
- mapping for OVAR. */
- var = lookup_decl_in_outer_ctx (ovar, ctx);
-
-- if (use_pointer_for_field (ovar, true))
-+ if (use_pointer_for_field (ovar, ctx))
- {
- x = build_sender_ref (ovar, ctx);
- var = build_fold_addr_expr (var);
-@@ -4852,184 +4880,177 @@
- pop_gimplify_context (NULL_TREE);
- }
-
-+/* Callback for lower_omp_1. Return non-NULL if *tp needs to be
-+ regimplified. */
-
--/* Pass *TP back through the gimplifier within the context determined by WI.
-- This handles replacement of DECL_VALUE_EXPR, as well as adjusting the
-- flags on ADDR_EXPR. */
--
--static void
--lower_regimplify (tree *tp, struct walk_stmt_info *wi)
-+static tree
-+lower_omp_2 (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
- {
-- enum gimplify_status gs;
-- tree pre = NULL;
-+ tree t = *tp;
-
-- if (wi->is_lhs)
-- gs = gimplify_expr (tp, &pre, NULL, is_gimple_lvalue, fb_lvalue);
-- else if (wi->val_only)
-- gs = gimplify_expr (tp, &pre, NULL, is_gimple_val, fb_rvalue);
-- else
-- gs = gimplify_expr (tp, &pre, NULL, is_gimple_formal_tmp_var, fb_rvalue);
-- gcc_assert (gs == GS_ALL_DONE);
-+ /* Any variable with DECL_VALUE_EXPR needs to be regimplified. */
-+ if (TREE_CODE (t) == VAR_DECL && DECL_HAS_VALUE_EXPR_P (t))
-+ return t;
-
-- if (pre)
-- tsi_link_before (&wi->tsi, pre, TSI_SAME_STMT);
--}
-+ /* If a global variable has been privatized, TREE_CONSTANT on
-+ ADDR_EXPR might be wrong. */
-+ if (TREE_CODE (t) == ADDR_EXPR)
-+ recompute_tree_invariant_for_addr_expr (t);
-
--/* Copy EXP into a temporary. Insert the initialization statement before TSI. */
--
--static tree
--init_tmp_var (tree exp, tree_stmt_iterator *tsi)
--{
-- tree t, stmt;
--
-- t = create_tmp_var (TREE_TYPE (exp), NULL);
-- DECL_GIMPLE_REG_P (t) = 1;
-- stmt = build_gimple_modify_stmt (t, exp);
-- SET_EXPR_LOCUS (stmt, EXPR_LOCUS (tsi_stmt (*tsi)));
-- tsi_link_before (tsi, stmt, TSI_SAME_STMT);
--
-- return t;
-+ *walk_subtrees = !TYPE_P (t) && !DECL_P (t);
-+ return NULL_TREE;
- }
-
--/* Similarly, but copy from the temporary and insert the statement
-- after the iterator. */
--
--static tree
--save_tmp_var (tree exp, tree_stmt_iterator *tsi)
-+static void
-+lower_omp_1 (tree *tp, omp_context *ctx, tree_stmt_iterator *tsi)
- {
-- tree t, stmt;
-+ tree t = *tp;
-
-- t = create_tmp_var (TREE_TYPE (exp), NULL);
-- DECL_GIMPLE_REG_P (t) = 1;
-- stmt = build_gimple_modify_stmt (exp, t);
-- SET_EXPR_LOCUS (stmt, EXPR_LOCUS (tsi_stmt (*tsi)));
-- tsi_link_after (tsi, stmt, TSI_SAME_STMT);
-+ if (!t)
-+ return;
-
-- return t;
--}
-+ if (EXPR_HAS_LOCATION (t))
-+ input_location = EXPR_LOCATION (t);
-
--/* Callback for walk_stmts. Lower the OpenMP directive pointed by TP. */
--
--static tree
--lower_omp_1 (tree *tp, int *walk_subtrees, void *data)
--{
-- struct walk_stmt_info *wi = data;
-- omp_context *ctx = wi->info;
-- tree t = *tp;
--
- /* If we have issued syntax errors, avoid doing any heavy lifting.
- Just replace the OpenMP directives with a NOP to avoid
- confusing RTL expansion. */
-- if (errorcount && OMP_DIRECTIVE_P (*tp))
-+ if (errorcount && OMP_DIRECTIVE_P (t))
- {
- *tp = build_empty_stmt ();
-- return NULL_TREE;
-+ return;
- }
-
-- *walk_subtrees = 0;
-- switch (TREE_CODE (*tp))
-+ switch (TREE_CODE (t))
- {
-+ case STATEMENT_LIST:
-+ {
-+ tree_stmt_iterator i;
-+ for (i = tsi_start (t); !tsi_end_p (i); tsi_next (&i))
-+ lower_omp_1 (tsi_stmt_ptr (i), ctx, &i);
-+ }
-+ break;
-+
-+ case COND_EXPR:
-+ lower_omp_1 (&COND_EXPR_THEN (t), ctx, NULL);
-+ lower_omp_1 (&COND_EXPR_ELSE (t), ctx, NULL);
-+ if (ctx
-+ && walk_tree (&COND_EXPR_COND (t), lower_omp_2, ctx, NULL))
-+ {
-+ tree pre = NULL;
-+ gimplify_expr (&COND_EXPR_COND (t), &pre, NULL,
-+ is_gimple_condexpr, fb_rvalue);
-+ if (pre)
-+ {
-+ if (tsi)
-+ tsi_link_before (tsi, pre, TSI_SAME_STMT);
-+ else
-+ {
-+ append_to_statement_list (t, &pre);
-+ *tp = pre;
-+ }
-+ }
-+ }
-+ break;
-+ case CATCH_EXPR:
-+ lower_omp_1 (&CATCH_BODY (t), ctx, NULL);
-+ break;
-+ case EH_FILTER_EXPR:
-+ lower_omp_1 (&EH_FILTER_FAILURE (t), ctx, NULL);
-+ break;
-+ case TRY_CATCH_EXPR:
-+ case TRY_FINALLY_EXPR:
-+ lower_omp_1 (&TREE_OPERAND (t, 0), ctx, NULL);
-+ lower_omp_1 (&TREE_OPERAND (t, 1), ctx, NULL);
-+ break;
-+ case BIND_EXPR:
-+ lower_omp_1 (&BIND_EXPR_BODY (t), ctx, NULL);
-+ break;
-+ case RETURN_EXPR:
-+ lower_omp_1 (&TREE_OPERAND (t, 0), ctx, NULL);
-+ break;
-+
- case OMP_PARALLEL:
- ctx = maybe_lookup_ctx (t);
- lower_omp_parallel (tp, ctx);
- break;
--
- case OMP_FOR:
- ctx = maybe_lookup_ctx (t);
- gcc_assert (ctx);
- lower_omp_for (tp, ctx);
- break;
--
- case OMP_SECTIONS:
- ctx = maybe_lookup_ctx (t);
- gcc_assert (ctx);
- lower_omp_sections (tp, ctx);
- break;
--
- case OMP_SINGLE:
- ctx = maybe_lookup_ctx (t);
- gcc_assert (ctx);
- lower_omp_single (tp, ctx);
- break;
--
- case OMP_MASTER:
- ctx = maybe_lookup_ctx (t);
- gcc_assert (ctx);
- lower_omp_master (tp, ctx);
- break;
--
- case OMP_ORDERED:
- ctx = maybe_lookup_ctx (t);
- gcc_assert (ctx);
- lower_omp_ordered (tp, ctx);
- break;
--
- case OMP_CRITICAL:
- ctx = maybe_lookup_ctx (t);
- gcc_assert (ctx);
- lower_omp_critical (tp, ctx);
- break;
-
-- case VAR_DECL:
-- if (ctx && DECL_HAS_VALUE_EXPR_P (t))
-+ default:
-+ if (ctx && walk_tree (tp, lower_omp_2, ctx, NULL))
- {
-- lower_regimplify (&t, wi);
-- if (wi->val_only)
-+ /* The gimplifier doesn't gimplify CALL_EXPR_STATIC_CHAIN.
-+ Handle that here. */
-+ tree call = get_call_expr_in (t);
-+ if (call
-+ && CALL_EXPR_STATIC_CHAIN (call)
-+ && walk_tree (&CALL_EXPR_STATIC_CHAIN (call), lower_omp_2,
-+ ctx, NULL))
- {
-- if (wi->is_lhs)
-- t = save_tmp_var (t, &wi->tsi);
-- else
-- t = init_tmp_var (t, &wi->tsi);
-+ tree pre = NULL;
-+ gimplify_expr (&CALL_EXPR_STATIC_CHAIN (call), &pre, NULL,
-+ is_gimple_val, fb_rvalue);
-+ if (pre)
-+ {
-+ if (tsi)
-+ tsi_link_before (tsi, pre, TSI_SAME_STMT);
-+ else
-+ {
-+ append_to_statement_list (t, &pre);
-+ lower_omp_1 (&pre, ctx, NULL);
-+ *tp = pre;
-+ return;
-+ }
-+ }
- }
-- *tp = t;
-- }
-- break;
-
-- case ADDR_EXPR:
-- if (ctx)
-- lower_regimplify (tp, wi);
-- break;
--
-- case ARRAY_REF:
-- case ARRAY_RANGE_REF:
-- case REALPART_EXPR:
-- case IMAGPART_EXPR:
-- case COMPONENT_REF:
-- case VIEW_CONVERT_EXPR:
-- if (ctx)
-- lower_regimplify (tp, wi);
-- break;
--
-- case INDIRECT_REF:
-- if (ctx)
-- {
-- wi->is_lhs = false;
-- wi->val_only = true;
-- lower_regimplify (&TREE_OPERAND (t, 0), wi);
-+ if (tsi == NULL)
-+ gimplify_stmt (tp);
-+ else
-+ {
-+ tree pre = NULL;
-+ gimplify_expr (tp, &pre, NULL, is_gimple_stmt, fb_none);
-+ if (pre)
-+ tsi_link_before (tsi, pre, TSI_SAME_STMT);
-+ }
- }
- break;
--
-- default:
-- if (!TYPE_P (t) && !DECL_P (t))
-- *walk_subtrees = 1;
-- break;
- }
--
-- return NULL_TREE;
- }
-
- static void
- lower_omp (tree *stmt_p, omp_context *ctx)
- {
-- struct walk_stmt_info wi;
--
-- memset (&wi, 0, sizeof (wi));
-- wi.callback = lower_omp_1;
-- wi.info = ctx;
-- wi.val_only = true;
-- wi.want_locations = true;
--
-- walk_stmts (&wi, stmt_p);
-+ lower_omp_1 (stmt_p, ctx, NULL);
- }
-
- /* Main entry point. */
-Index: gcc/tree-ssa-dse.c
-===================================================================
---- gcc/tree-ssa-dse.c (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/tree-ssa-dse.c (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -470,24 +470,23 @@
- vuse_vec_p vv;
- tree stmt_lhs;
-
-- if (LOADED_SYMS (use_stmt))
-+ /* If use_stmt is or might be a nop assignment, e.g. for
-+ struct { ... } S a, b, *p; ...
-+ b = a; b = b;
-+ or
-+ b = a; b = *p; where p might be &b,
-+ or
-+ *p = a; *p = b; where p might be &b,
-+ or
-+ *p = *u; *p = *v; where p might be v, then USE_STMT
-+ acts as a use as well as definition, so store in STMT
-+ is not dead. */
-+ if (LOADED_SYMS (use_stmt)
-+ && bitmap_intersect_p (LOADED_SYMS (use_stmt),
-+ STORED_SYMS (use_stmt)))
- {
-- tree use_base
-- = get_base_address (GIMPLE_STMT_OPERAND (use_stmt, 0));
-- /* If use_stmt is or might be a nop assignment, e.g. for
-- struct { ... } S a, b, *p; ...
-- b = a; b = b;
-- or
-- b = a; b = *p; where p might be &b, then USE_STMT
-- acts as a use as well as definition, so store in STMT
-- is not dead. */
-- if (TREE_CODE (use_base) == VAR_DECL
-- && bitmap_bit_p (LOADED_SYMS (use_stmt),
-- DECL_UID (use_base)))
-- {
-- record_voperand_set (dse_gd->stores, &bd->stores, ann->uid);
-- return;
-- }
-+ record_voperand_set (dse_gd->stores, &bd->stores, ann->uid);
-+ return;
- }
-
- if (dump_file && (dump_flags & TDF_DETAILS))
-Index: gcc/DEV-PHASE
-===================================================================
---- gcc/DEV-PHASE (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/DEV-PHASE (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -0,0 +1 @@
-+prerelease
-Index: gcc/ChangeLog
-===================================================================
---- gcc/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
-+++ gcc/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
-@@ -1,3 +1,300 @@
-+2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-+
-+ PR middle-end/35705
-+ * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
-+ the expression is a function address.
-+
-+2008-04-01 Joseph Myers <joseph@codesourcery.com>
-+
-+ * doc/include/gpl_v3.texi: Update for manpage generation.
-+ * doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
-+ gpl.texi.
-+ * doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
-+ * Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
-+ gpl_v3.texi instead of gpl.texi.
-+ (gpl.pod): New.
-+
-+2008-03-28 Nick Clifton <nickc@redhat.com>
-+
-+ PR target/31232
-+ * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
-+ not allow INT+INT as a legitimate addressing mode.
-+
-+2008-03-28 Nick Clifton <nickc@redhat.com>
-+
-+ PR target/31110
-+ * config/mn10300/mn10300.c (mn10300_secondary_reload_class):
-+ Return GENERAL_REGS for stack adjustment reloads.
-+
-+2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR target/35657
-+ * config/i386/i386.c (ix86_function_arg_boundary): Align
-+ decimal floating point to its natural boundary.
-+
-+2008-03-25 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline:
-+ 2008-03-19 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/35609
-+ * tree-ssa.c (walk_data): New structure.
-+ (warn_uninitialized_var): If not always_executed warn with "maybe"
-+ instead of "is".
-+ (execute_early_warn_uninitialized): Compute post-dominators.
-+ Initialize always_executed before processing each basic block.
-+
-+2008-03-20 Ira Rosen <irar@il.ibm.com>
-+
-+ * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
-+ optimizations turned on under -O3.
-+ (ftree-vectorize): Add that the flag is turned on with -O3.
-+
-+2008-03-19 Michael Matz <matz@suse.de>
-+
-+ Backport from mainline:
-+ 2008-03-19 Michael Matz <matz@suse.de>
-+
-+ PR middle-end/35616
-+ * calls.c (expand_call): Check overlap of arguments with call
-+ address for sibcalls.
-+
-+2008-03-19 Michael Matz <matz@suse.de>
-+
-+ * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
-+
-+2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
-+
-+ * cse.c (cse_insn): Avoid creation of overlapping MEMs.
-+ * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
-+ * alias.h (nonoverlapping_memrefs_p): Likewise.
-+
-+2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
-+
-+ * cse.c (cse_extended_basic_block): Invalidate artificial defs
-+ at bb start.
-+
-+2008-03-18 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
-+
-+ PR target/35504
-+ * config/i386/i386.c (x86_this_parameter): Calculate correct location
-+ of "this" pointer when "regparm = N" or "fastcall" is in effect.
-+
-+2008-03-18 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline:
-+ 2008-03-15 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/35593
-+ * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
-+ to not produce negative array indices if not allowed. Add
-+ parameter to indicate that.
-+ (maybe_fold_offset_to_component_ref): Allow negative array
-+ indices only for the first member of a structure.
-+ (maybe_fold_offset_to_reference): Allow negative array indices.
-+ (maybe_fold_stmt_addition): Likewise.
-+
-+2008-03-18 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/35611
-+ * gimplify.c (gimplify_expr): Gimplify second operand of
-+ OMP_ATOMIC_LOAD.
-+
-+2008-03-16 James E. Wilson <wilson@tuliptree.org>
-+
-+ PR debug/31510
-+ * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
-+ emulated thread local variables.
-+
-+2008-03-16 Hans-Peter Nilsson <hp@axis.com>
-+
-+ * doc/extend.texi (Alignment): Say that the ABI controls
-+ the __alignof__ for non-strict-alignment targets rather
-+ than being a recommendation.
-+
-+2008-03-14 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline:
-+ 2008-02-19 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/34989
-+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
-+ Allow propagation to INDIRECT_REF if we can simplify only.
-+
-+2008-03-14 Uros Bizjak <ubizjak@gmail.com>
-+
-+ PR target/34000
-+ PR target/35553
-+ * config/i386/xmmintrin.h: Change all static inline functions to
-+ extern inline and add __gnu_inline__ attribute.
-+ * config/i386/bmintrin.h: Ditto.
-+ * config/i386/smmintrin.h: Ditto.
-+ * config/i386/tmmintrin.h: Ditto.
-+ * config/i386/mmintrin-common.h: Ditto.
-+ * config/