]> git.pld-linux.org Git - packages/gcc.git/blame - gcc-branch.diff
- symvers.patch not needed any more (http://gcc.gnu.org/PR52700 fixed).
[packages/gcc.git] / gcc-branch.diff
CommitLineData
fa8f00c5 1Index: libgomp/ChangeLog
be75205b 2===================================================================
fa8f00c5
PS
3--- libgomp/ChangeLog (.../tags/gcc_4_7_1_release) (wersja 188635)
4+++ libgomp/ChangeLog (.../branches/gcc-4_7-branch) (wersja 188635)
5@@ -1,3 +1,23 @@
6+2012-06-14 Jakub Jelinek <jakub@redhat.com>
be75205b
PS
7+
8+ Backported from mainline
fa8f00c5
PS
9+ 2012-06-07 Jakub Jelinek <jakub@redhat.com>
10+
11+ PR middle-end/53580
12+ * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
13+ use GOMP_barrier () call instead.
14+ * testsuite/libgomp.c/pr26943-3.c: Likewise.
15+ * testsuite/libgomp.c/pr26943-4.c: Likewise.
16+ * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17+ call GOMP_barrier instead.
18+ * testsuite/libgomp.fortran/vla5.f90: Likewise.
19+
20+ 2012-06-06 Jakub Jelinek <jakub@redhat.com>
21+
22+ PR libgomp/52993
23+ * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
24+ argument to memset call.
25+
26 2012-06-14 Release Manager
27
28 * GCC 4.7.1 released.
29Index: libgomp/testsuite/libgomp.fortran/vla4.f90
30===================================================================
31--- libgomp/testsuite/libgomp.fortran/vla4.f90 (.../tags/gcc_4_7_1_release) (wersja 188635)
32+++ libgomp/testsuite/libgomp.fortran/vla4.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
33@@ -10,6 +10,10 @@
34
35 subroutine foo (c, d, e, f, g, h, i, j, k, n)
36 use omp_lib
37+ interface
38+ subroutine GOMP_barrier () bind(c, name="GOMP_barrier")
39+ end subroutine
40+ end interface
41 integer :: n
42 character (len = *) :: c
43 character (len = n) :: d
44@@ -94,7 +98,7 @@
45 forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
46 forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
47 forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
48-!$omp barrier ! { dg-warning "may not be closely nested" }
49+ call GOMP_barrier
50 y = ''
51 if (x .eq. 0) y = '0'
52 if (x .eq. 1) y = '1'
53Index: libgomp/testsuite/libgomp.fortran/vla5.f90
54===================================================================
55--- libgomp/testsuite/libgomp.fortran/vla5.f90 (.../tags/gcc_4_7_1_release) (wersja 188635)
56+++ libgomp/testsuite/libgomp.fortran/vla5.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
57@@ -10,6 +10,10 @@
58
59 subroutine foo (c, d, e, f, g, h, i, j, k, n)
60 use omp_lib
61+ interface
62+ subroutine GOMP_barrier () bind(c, name="GOMP_barrier")
63+ end subroutine
64+ end interface
65 integer :: n
66 character (len = *) :: c
67 character (len = n) :: d
68@@ -66,7 +70,7 @@
69 forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
70 forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
71 forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
72-!$omp barrier ! { dg-warning "may not be closely nested" }
73+ call GOMP_barrier
74 y = ''
75 if (x .eq. 0) y = '0'
76 if (x .eq. 1) y = '1'
77Index: libgomp/testsuite/libgomp.c/pr26943-2.c
78===================================================================
79--- libgomp/testsuite/libgomp.c/pr26943-2.c (.../tags/gcc_4_7_1_release) (wersja 188635)
80+++ libgomp/testsuite/libgomp.c/pr26943-2.c (.../branches/gcc-4_7-branch) (wersja 188635)
81@@ -3,6 +3,7 @@
82
83 extern int omp_set_dynamic (int);
84 extern void abort (void);
85+extern void GOMP_barrier (void);
86
87 int a = 8, b = 12, c = 16, d = 20, j = 0;
88 char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
89@@ -20,7 +21,7 @@
90 {
91 if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
92 j++;
93-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
94+ GOMP_barrier ();
95 #pragma omp atomic
96 a += i;
97 b += i;
98@@ -31,7 +32,7 @@
99 f[0] += i;
100 g[0] = 'g' + i;
101 h[0] = 'h' + i;
102-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
103+ GOMP_barrier ();
104 if (a != 8 + 6 || b != 12 + i || c != i || d != i)
105 j += 8;
106 if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
107Index: libgomp/testsuite/libgomp.c/pr26943-3.c
108===================================================================
109--- libgomp/testsuite/libgomp.c/pr26943-3.c (.../tags/gcc_4_7_1_release) (wersja 188635)
110+++ libgomp/testsuite/libgomp.c/pr26943-3.c (.../branches/gcc-4_7-branch) (wersja 188635)
111@@ -4,6 +4,7 @@
112 extern int omp_set_dynamic (int);
113 extern int omp_get_thread_num (void);
114 extern void abort (void);
115+extern void GOMP_barrier (void);
116
117 int a = 8, b = 12, c = 16, d = 20, j = 0, l = 0;
118 char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
119@@ -26,7 +27,7 @@
120 {
121 if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
122 j++;
123-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
124+ GOMP_barrier ();
125 #pragma omp atomic
126 a += i;
127 b += i;
128@@ -37,7 +38,7 @@
129 f[0] += i;
130 g[0] = 'g' + i;
131 h[0] = 'h' + i;
132-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
133+ GOMP_barrier ();
134 if (a != 8 + 6 || b != 12 + i || c != i || d != i)
135 j += 8;
136 if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
137Index: libgomp/testsuite/libgomp.c/pr26943-4.c
138===================================================================
139--- libgomp/testsuite/libgomp.c/pr26943-4.c (.../tags/gcc_4_7_1_release) (wersja 188635)
140+++ libgomp/testsuite/libgomp.c/pr26943-4.c (.../branches/gcc-4_7-branch) (wersja 188635)
141@@ -4,6 +4,7 @@
142 extern int omp_set_dynamic (int);
143 extern int omp_get_thread_num (void);
144 extern void abort (void);
145+extern void GOMP_barrier (void);
146
147 int a = 8, b = 12, c = 16, d = 20, j = 0, l = 0;
148 char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
149@@ -27,7 +28,7 @@
150 {
151 if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
152 j++;
153-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
154+ GOMP_barrier ();
155 #pragma omp atomic
156 a += i;
157 b += i;
158@@ -38,7 +39,7 @@
159 f[0] += i;
160 g[0] = 'g' + i;
161 h[0] = 'h' + i;
162-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
163+ GOMP_barrier ();
164 if (a != 8 + 6 || b != 12 + i || c != i || d != i)
165 j += 8;
166 if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
167Index: libgomp/config/linux/lock.c
168===================================================================
169--- libgomp/config/linux/lock.c (.../tags/gcc_4_7_1_release) (wersja 188635)
170+++ libgomp/config/linux/lock.c (.../branches/gcc-4_7-branch) (wersja 188635)
171@@ -1,4 +1,4 @@
172-/* Copyright (C) 2005, 2008, 2009, 2011 Free Software Foundation, Inc.
173+/* Copyright (C) 2005, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
174 Contributed by Richard Henderson <rth@redhat.com>.
be75205b 175
fa8f00c5
PS
176 This file is part of the GNU OpenMP Library (libgomp).
177@@ -175,7 +175,7 @@
178 void
179 gomp_init_nest_lock_25 (omp_nest_lock_25_t *lock)
be75205b 180 {
fa8f00c5
PS
181- memset (lock, 0, sizeof (lock));
182+ memset (lock, 0, sizeof (*lock));
183 }
be75205b 184
fa8f00c5
PS
185 void
186Index: gcc/tree-ssa-loop-im.c
187===================================================================
188--- gcc/tree-ssa-loop-im.c (.../tags/gcc_4_7_1_release) (wersja 188635)
189+++ gcc/tree-ssa-loop-im.c (.../branches/gcc-4_7-branch) (wersja 188635)
190@@ -52,7 +52,7 @@
191 }
192 }
be75205b 193
fa8f00c5
PS
194- Where COND and INV are is invariants, but evaluating INV may trap or be
195+ Where COND and INV are invariants, but evaluating INV may trap or be
196 invalid from some other reason if !COND. This may be transformed to
be75205b 197
fa8f00c5
PS
198 if (cond)
199@@ -1626,6 +1626,7 @@
200 fprintf (dump_file, "\n");
201 }
202 }
203+
204 if (is_stored)
205 mark_ref_stored (ref, loop);
be75205b 206
fa8f00c5
PS
207@@ -1956,6 +1957,173 @@
208 return lsm_tmp_name;
209 }
be75205b 210
fa8f00c5
PS
211+struct prev_flag_edges {
212+ /* Edge to insert new flag comparison code. */
213+ edge append_cond_position;
ad222a6b 214+
fa8f00c5
PS
215+ /* Edge for fall through from previous flag comparison. */
216+ edge last_cond_fallthru;
217+};
ad222a6b 218+
fa8f00c5
PS
219+/* Helper function for execute_sm. Emit code to store TMP_VAR into
220+ MEM along edge EX.
221+
222+ The store is only done if MEM has changed. We do this so no
223+ changes to MEM occur on code paths that did not originally store
224+ into it.
225+
226+ The common case for execute_sm will transform:
227+
228+ for (...) {
229+ if (foo)
230+ stuff;
231+ else
232+ MEM = TMP_VAR;
233+ }
234+
235+ into:
236+
237+ lsm = MEM;
238+ for (...) {
239+ if (foo)
240+ stuff;
241+ else
242+ lsm = TMP_VAR;
243+ }
244+ MEM = lsm;
245+
246+ This function will generate:
247+
248+ lsm = MEM;
249+
250+ lsm_flag = false;
251+ ...
252+ for (...) {
253+ if (foo)
254+ stuff;
255+ else {
256+ lsm = TMP_VAR;
257+ lsm_flag = true;
258+ }
259+ }
260+ if (lsm_flag) <--
261+ MEM = lsm; <--
262+*/
ad222a6b 263+
fa8f00c5
PS
264+static void
265+execute_sm_if_changed (edge ex, tree mem, tree tmp_var, tree flag)
ad222a6b 266+{
fa8f00c5
PS
267+ basic_block new_bb, then_bb, old_dest;
268+ bool loop_has_only_one_exit;
269+ edge then_old_edge, orig_ex = ex;
270+ gimple_stmt_iterator gsi;
271+ gimple stmt;
272+ struct prev_flag_edges *prev_edges = (struct prev_flag_edges *) ex->aux;
ad222a6b 273+
fa8f00c5
PS
274+ /* ?? Insert store after previous store if applicable. See note
275+ below. */
276+ if (prev_edges)
277+ ex = prev_edges->append_cond_position;
278+
279+ loop_has_only_one_exit = single_pred_p (ex->dest);
280+
281+ if (loop_has_only_one_exit)
282+ ex = split_block_after_labels (ex->dest);
283+
284+ old_dest = ex->dest;
285+ new_bb = split_edge (ex);
286+ then_bb = create_empty_bb (new_bb);
287+ if (current_loops && new_bb->loop_father)
288+ add_bb_to_loop (then_bb, new_bb->loop_father);
289+
290+ gsi = gsi_start_bb (new_bb);
291+ stmt = gimple_build_cond (NE_EXPR, flag, boolean_false_node,
292+ NULL_TREE, NULL_TREE);
293+ gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
294+
295+ gsi = gsi_start_bb (then_bb);
296+ /* Insert actual store. */
297+ stmt = gimple_build_assign (unshare_expr (mem), tmp_var);
298+ gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
299+
300+ make_edge (new_bb, then_bb, EDGE_TRUE_VALUE);
301+ make_edge (new_bb, old_dest, EDGE_FALSE_VALUE);
302+ then_old_edge = make_edge (then_bb, old_dest, EDGE_FALLTHRU);
303+
304+ set_immediate_dominator (CDI_DOMINATORS, then_bb, new_bb);
305+
306+ if (prev_edges)
ad222a6b 307+ {
fa8f00c5
PS
308+ basic_block prevbb = prev_edges->last_cond_fallthru->src;
309+ redirect_edge_succ (prev_edges->last_cond_fallthru, new_bb);
310+ set_immediate_dominator (CDI_DOMINATORS, new_bb, prevbb);
311+ set_immediate_dominator (CDI_DOMINATORS, old_dest,
312+ recompute_dominator (CDI_DOMINATORS, old_dest));
ad222a6b 313+ }
fa8f00c5
PS
314+
315+ /* ?? Because stores may alias, they must happen in the exact
316+ sequence they originally happened. Save the position right after
317+ the (_lsm) store we just created so we can continue appending after
318+ it and maintain the original order. */
319+ {
320+ struct prev_flag_edges *p;
321+
322+ if (orig_ex->aux)
323+ orig_ex->aux = NULL;
324+ alloc_aux_for_edge (orig_ex, sizeof (struct prev_flag_edges));
325+ p = (struct prev_flag_edges *) orig_ex->aux;
326+ p->append_cond_position = then_old_edge;
327+ p->last_cond_fallthru = find_edge (new_bb, old_dest);
328+ orig_ex->aux = (void *) p;
329+ }
330+
331+ if (!loop_has_only_one_exit)
332+ for (gsi = gsi_start_phis (old_dest); !gsi_end_p (gsi); gsi_next (&gsi))
333+ {
334+ gimple phi = gsi_stmt (gsi);
335+ unsigned i;
336+
337+ for (i = 0; i < gimple_phi_num_args (phi); i++)
338+ if (gimple_phi_arg_edge (phi, i)->src == new_bb)
339+ {
340+ tree arg = gimple_phi_arg_def (phi, i);
341+ add_phi_arg (phi, arg, then_old_edge, UNKNOWN_LOCATION);
342+ update_stmt (phi);
343+ }
344+ }
345+ /* Remove the original fall through edge. This was the
346+ single_succ_edge (new_bb). */
347+ EDGE_SUCC (new_bb, 0)->flags &= ~EDGE_FALLTHRU;
ad222a6b
PS
348+}
349+
fa8f00c5
PS
350+/* Helper function for execute_sm. On every location where REF is
351+ set, set an appropriate flag indicating the store. */
352+
353+static tree
354+execute_sm_if_changed_flag_set (struct loop *loop, mem_ref_p ref)
ad222a6b 355+{
fa8f00c5
PS
356+ unsigned i;
357+ mem_ref_loc_p loc;
358+ tree flag;
359+ VEC (mem_ref_loc_p, heap) *locs = NULL;
360+ char *str = get_lsm_tmp_name (ref->mem, ~0);
361+
362+ lsm_tmp_name_add ("_flag");
363+ flag = make_rename_temp (boolean_type_node, str);
364+ get_all_locs_in_loop (loop, ref, &locs);
365+ FOR_EACH_VEC_ELT (mem_ref_loc_p, locs, i, loc)
366+ {
367+ gimple_stmt_iterator gsi;
368+ gimple stmt;
369+
370+ gsi = gsi_for_stmt (loc->stmt);
371+ stmt = gimple_build_assign (flag, boolean_true_node);
372+ gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
373+ }
374+ VEC_free (mem_ref_loc_p, heap, locs);
375+ return flag;
ad222a6b 376+}
fa8f00c5
PS
377+
378 /* Executes store motion of memory reference REF from LOOP.
379 Exits from the LOOP are stored in EXITS. The initialization of the
380 temporary variable is put to the preheader of the loop, and assignments
381@@ -1964,12 +2132,13 @@
382 static void
383 execute_sm (struct loop *loop, VEC (edge, heap) *exits, mem_ref_p ref)
384 {
385- tree tmp_var;
386+ tree tmp_var, store_flag;
387 unsigned i;
388- gimple load, store;
389+ gimple load;
390 struct fmt_data fmt_data;
391- edge ex;
392+ edge ex, latch_edge;
393 struct lim_aux_data *lim_data;
394+ bool multi_threaded_model_p = false;
be75205b 395
fa8f00c5
PS
396 if (dump_file && (dump_flags & TDF_DETAILS))
397 {
398@@ -1985,23 +2154,47 @@
399 fmt_data.orig_loop = loop;
400 for_each_index (&ref->mem, force_move_till, &fmt_data);
be75205b 401
fa8f00c5
PS
402+ if ((flag_tm && block_in_transaction (loop_preheader_edge (loop)->src))
403+ || !PARAM_VALUE (PARAM_ALLOW_STORE_DATA_RACES))
404+ multi_threaded_model_p = true;
405+
406+ if (multi_threaded_model_p)
407+ store_flag = execute_sm_if_changed_flag_set (loop, ref);
408+
409 rewrite_mem_refs (loop, ref, tmp_var);
be75205b 410
fa8f00c5
PS
411- /* Emit the load & stores. */
412+ /* Emit the load code into the latch, so that we are sure it will
413+ be processed after all dependencies. */
414+ latch_edge = loop_latch_edge (loop);
415+
416+ /* FIXME/TODO: For the multi-threaded variant, we could avoid this
417+ load altogether, since the store is predicated by a flag. We
418+ could, do the load only if it was originally in the loop. */
419 load = gimple_build_assign (tmp_var, unshare_expr (ref->mem));
420 lim_data = init_lim_data (load);
421 lim_data->max_loop = loop;
422 lim_data->tgt_loop = loop;
423+ gsi_insert_on_edge (latch_edge, load);
be75205b 424
fa8f00c5
PS
425- /* Put this into the latch, so that we are sure it will be processed after
426- all dependencies. */
427- gsi_insert_on_edge (loop_latch_edge (loop), load);
428+ if (multi_threaded_model_p)
429+ {
430+ load = gimple_build_assign (store_flag, boolean_false_node);
431+ lim_data = init_lim_data (load);
432+ lim_data->max_loop = loop;
433+ lim_data->tgt_loop = loop;
434+ gsi_insert_on_edge (latch_edge, load);
435+ }
be75205b 436
fa8f00c5
PS
437+ /* Sink the store to every exit from the loop. */
438 FOR_EACH_VEC_ELT (edge, exits, i, ex)
439- {
440- store = gimple_build_assign (unshare_expr (ref->mem), tmp_var);
441- gsi_insert_on_edge (ex, store);
442- }
443+ if (!multi_threaded_model_p)
444+ {
445+ gimple store;
446+ store = gimple_build_assign (unshare_expr (ref->mem), tmp_var);
447+ gsi_insert_on_edge (ex, store);
448+ }
449+ else
450+ execute_sm_if_changed (ex, ref->mem, tmp_var, store_flag);
451 }
be75205b 452
fa8f00c5
PS
453 /* Hoists memory references MEM_REFS out of LOOP. EXITS is the list of exit
454@@ -2410,6 +2603,8 @@
be75205b 455
fa8f00c5
PS
456 if (flag_tm)
457 compute_transaction_bits ();
be75205b 458+
fa8f00c5
PS
459+ alloc_aux_for_edges (0);
460 }
be75205b 461
fa8f00c5
PS
462 /* Cleans up after the invariant motion pass. */
463@@ -2421,6 +2616,8 @@
464 unsigned i;
465 bitmap b;
be75205b 466
fa8f00c5 467+ free_aux_for_edges ();
be75205b 468+
fa8f00c5
PS
469 FOR_EACH_BB (bb)
470 SET_ALWAYS_EXECUTED_IN (bb, NULL);
be75205b 471
fa8f00c5
PS
472Index: gcc/omp-low.c
473===================================================================
474--- gcc/omp-low.c (.../tags/gcc_4_7_1_release) (wersja 188635)
475+++ gcc/omp-low.c (.../branches/gcc-4_7-branch) (wersja 188635)
476@@ -1823,8 +1823,8 @@
be75205b 477
be75205b 478
fa8f00c5
PS
479 /* Check OpenMP nesting restrictions. */
480-static void
481-check_omp_nesting_restrictions (gimple stmt, omp_context *ctx)
482+static bool
483+check_omp_nesting_restrictions (gimple stmt, omp_context *ctx)
484 {
485 switch (gimple_code (stmt))
486 {
487@@ -1843,17 +1843,19 @@
488 case GIMPLE_OMP_TASK:
489 if (is_gimple_call (stmt))
490 {
491- warning (0, "barrier region may not be closely nested inside "
492- "of work-sharing, critical, ordered, master or "
493- "explicit task region");
494- return;
495+ error_at (gimple_location (stmt),
496+ "barrier region may not be closely nested inside "
497+ "of work-sharing, critical, ordered, master or "
498+ "explicit task region");
499+ return false;
500 }
501- warning (0, "work-sharing region may not be closely nested inside "
502- "of work-sharing, critical, ordered, master or explicit "
503- "task region");
504- return;
505+ error_at (gimple_location (stmt),
506+ "work-sharing region may not be closely nested inside "
507+ "of work-sharing, critical, ordered, master or explicit "
508+ "task region");
509+ return false;
510 case GIMPLE_OMP_PARALLEL:
511- return;
512+ return true;
513 default:
514 break;
515 }
516@@ -1866,11 +1868,12 @@
517 case GIMPLE_OMP_SECTIONS:
518 case GIMPLE_OMP_SINGLE:
519 case GIMPLE_OMP_TASK:
520- warning (0, "master region may not be closely nested inside "
521- "of work-sharing or explicit task region");
522- return;
523+ error_at (gimple_location (stmt),
524+ "master region may not be closely nested inside "
525+ "of work-sharing or explicit task region");
526+ return false;
527 case GIMPLE_OMP_PARALLEL:
528- return;
529+ return true;
530 default:
531 break;
532 }
533@@ -1881,17 +1884,22 @@
534 {
535 case GIMPLE_OMP_CRITICAL:
536 case GIMPLE_OMP_TASK:
537- warning (0, "ordered region may not be closely nested inside "
538- "of critical or explicit task region");
539- return;
540+ error_at (gimple_location (stmt),
541+ "ordered region may not be closely nested inside "
542+ "of critical or explicit task region");
543+ return false;
544 case GIMPLE_OMP_FOR:
545 if (find_omp_clause (gimple_omp_for_clauses (ctx->stmt),
546 OMP_CLAUSE_ORDERED) == NULL)
547- warning (0, "ordered region must be closely nested inside "
548+ {
549+ error_at (gimple_location (stmt),
550+ "ordered region must be closely nested inside "
551 "a loop region with an ordered clause");
552- return;
553+ return false;
554+ }
555+ return true;
556 case GIMPLE_OMP_PARALLEL:
557- return;
558+ return true;
559 default:
560 break;
561 }
562@@ -1902,14 +1910,16 @@
563 && (gimple_omp_critical_name (stmt)
564 == gimple_omp_critical_name (ctx->stmt)))
565 {
566- warning (0, "critical region may not be nested inside a critical "
567- "region with the same name");
568- return;
569+ error_at (gimple_location (stmt),
570+ "critical region may not be nested inside a critical "
571+ "region with the same name");
572+ return false;
573 }
574 break;
575 default:
576 break;
577 }
578+ return true;
579 }
be75205b 580
be75205b 581
fa8f00c5
PS
582@@ -1980,15 +1990,21 @@
583 /* Check the OpenMP nesting restrictions. */
584 if (ctx != NULL)
585 {
586+ bool remove = false;
587 if (is_gimple_omp (stmt))
588- check_omp_nesting_restrictions (stmt, ctx);
589+ remove = !check_omp_nesting_restrictions (stmt, ctx);
590 else if (is_gimple_call (stmt))
591 {
592 tree fndecl = gimple_call_fndecl (stmt);
593 if (fndecl && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL
594 && DECL_FUNCTION_CODE (fndecl) == BUILT_IN_GOMP_BARRIER)
595- check_omp_nesting_restrictions (stmt, ctx);
596+ remove = !check_omp_nesting_restrictions (stmt, ctx);
597 }
598+ if (remove)
599+ {
600+ stmt = gimple_build_nop ();
601+ gsi_replace (gsi, stmt, false);
602+ }
603 }
be75205b 604
fa8f00c5
PS
605 *handled_ops_p = true;
606Index: gcc/cfg.c
607===================================================================
608--- gcc/cfg.c (.../tags/gcc_4_7_1_release) (wersja 188635)
609+++ gcc/cfg.c (.../branches/gcc-4_7-branch) (wersja 188635)
610@@ -814,10 +814,10 @@
611 clear_aux_for_blocks ();
612 }
be75205b 613
fa8f00c5
PS
614-/* Allocate a memory edge of SIZE as BB->aux. The obstack must
615+/* Allocate a memory edge of SIZE as E->aux. The obstack must
616 be first initialized by alloc_aux_for_edges. */
be75205b 617
fa8f00c5
PS
618-static void
619+void
620 alloc_aux_for_edge (edge e, int size)
621 {
622 /* Verify that aux field is clear. */
623Index: gcc/DEV-PHASE
624===================================================================
625--- gcc/DEV-PHASE (.../tags/gcc_4_7_1_release) (wersja 188635)
626+++ gcc/DEV-PHASE (.../branches/gcc-4_7-branch) (wersja 188635)
627@@ -0,0 +1 @@
628+prerelease
629Index: gcc/ChangeLog
630===================================================================
631--- gcc/ChangeLog (.../tags/gcc_4_7_1_release) (wersja 188635)
632+++ gcc/ChangeLog (.../branches/gcc-4_7-branch) (wersja 188635)
633@@ -1,3 +1,61 @@
634+2012-06-14 Aldy Hernandez <aldyh@redhat.com>
be75205b 635+
fa8f00c5 636+ PR tree-optimization/52558
be75205b 637+
fa8f00c5
PS
638+ Backport from mainline:
639+ 2012-05-21 Aldy Hernandez <aldyh@redhat.com>
640+ * gimple.h (gimple_set_in_transaction): Remove.
641+ (gimple_in_transaction): Look in BB instead.
642+ (gimple_statement_base): Remove in_transaction field.
643+ * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
644+ * trans-mem.c (compute_transaction_bits): Place transaction bit
645+ information into basic blocks.
646+
647+ 2012-05-31 Aldy Hernandez <aldyh@redhat.com>
648+
649+ PR tree-optimization/52558
650+ * cfg.c (alloc_aux_for_edge): Fix comment.
651+ (alloc_aux_for_edge): Remove static.
652+ * basic-block.h (alloc_aux_for_edge): Protoize.
653+ * tree-ssa-loop-im.c (execute_sm_if_changed): New.
654+ (execute_sm_if_changed_flag): New.
655+ (execute_sm_if_changed_flag_set): New.
656+ (execute_sm): Do not generate data races unless requested.
657+ (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
658+ (tree_ssa_lim_finalize): Call free_aux_for_edges.
659+ * gimple.h (block_in_transaction): New.
660+ (gimple_in_transaction): Use block_in_transaction.
661+
662+2012-06-14 Jakub Jelinek <jakub@redhat.com>
be75205b 663+
fa8f00c5
PS
664+ Backported from mainline
665+ 2012-06-12 Jakub Jelinek <jakub@redhat.com>
be75205b 666+
fa8f00c5
PS
667+ PR rtl-optimization/53589
668+ * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
669+ discovery even when e->dest != target. If any LABEL_REF points
670+ to e->dest label, redirect it to target's label.
be75205b 671+
fa8f00c5 672+ 2012-06-07 Jakub Jelinek <jakub@redhat.com>
be75205b 673+
fa8f00c5
PS
674+ PR middle-end/53580
675+ * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
676+ returns false, replace stmt with GIMPLE_NOP.
677+ (check_omp_nesting_restrictions): Instead of issuing warnings,
678+ issue errors and return false if any errors were reported.
be75205b 679+
fa8f00c5 680+2012-06-14 Richard Guenther <rguenther@suse.de>
be75205b 681+
fa8f00c5
PS
682+ * BASE-VER: Set to 4.7.2.
683+ * DEV-PHASE: Set to prerelease.
684+
685+2012-06-12 Christian Bruel <christian.bruel@st.com>
be75205b 686+
fa8f00c5
PS
687+ PR target/53621
688+ * config/sh/sh.c (sh_option_override): Don't force
689+ flag_omit_frame_pointer and maccumulate_outgoing_args.
690+ * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
be75205b 691+
fa8f00c5
PS
692 2012-06-14 Release Manager
693
694 * GCC 4.7.1 released.
695Index: gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.1.f90
696===================================================================
697--- gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.1.f90 (.../tags/gcc_4_7_1_release) (wersja 188635)
698+++ gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.1.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
699@@ -10,7 +10,7 @@
700 !$OMP DO
701 DO I = 1, N
702 ! incorrect nesting of loop regions
703-!$OMP DO ! { dg-warning "may not be closely nested" }
704+!$OMP DO ! { dg-error "may not be closely nested" }
705 DO J = 1, N
706 CALL WORK(I,J)
707 END DO
708Index: gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.3.f90
709===================================================================
710--- gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.3.f90 (.../tags/gcc_4_7_1_release) (wersja 188635)
711+++ gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.3.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
712@@ -7,7 +7,7 @@
713 !$OMP DO
714 DO I = 1, N
715 ! incorrect nesting of regions
716-!$OMP SINGLE ! { dg-warning "may not be closely nested" }
717+!$OMP SINGLE ! { dg-error "may not be closely nested" }
718 CALL WORK(I, 1)
719 !$OMP END SINGLE
720 END DO
721Index: gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.4.f90
722===================================================================
723--- gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.4.f90 (.../tags/gcc_4_7_1_release) (wersja 188635)
724+++ gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.4.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
725@@ -8,7 +8,7 @@
726 DO I = 1, N
727 CALL WORK(I, 1)
728 ! incorrect nesting of barrier region in a loop region
729-!$OMP BARRIER ! { dg-warning "may not be closely nested" }
730+!$OMP BARRIER ! { dg-error "may not be closely nested" }
731 CALL WORK(I, 2)
732 END DO
733 !$OMP END PARALLEL
734Index: gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.6.f90
735===================================================================
736--- gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.6.f90 (.../tags/gcc_4_7_1_release) (wersja 188635)
737+++ gcc/testsuite/gfortran.dg/gomp/appendix-a/a.35.6.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
738@@ -6,7 +6,7 @@
739 !$OMP SINGLE
740 CALL WORK(N,1)
741 ! incorrect nesting of barrier region in a single region
742-!$OMP BARRIER ! { dg-warning "may not be closely nested" }
743+!$OMP BARRIER ! { dg-error "may not be closely nested" }
744 CALL WORK(N,2)
745 !$OMP END SINGLE
746 !$OMP END PARALLEL
747Index: gcc/testsuite/gfortran.dg/init_flag_10.f90
748===================================================================
749--- gcc/testsuite/gfortran.dg/init_flag_10.f90 (.../tags/gcc_4_7_1_release) (wersja 0)
750+++ gcc/testsuite/gfortran.dg/init_flag_10.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
751@@ -0,0 +1,43 @@
752+! { dg-do run }
753+! { dg-options "-finit-real=NAN" }
754+! { dg-add-options ieee }
755+! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
756+!
757+! PR fortran/50619
758+!
759+! Contributed by Fred Krogh
760+!
761+! The NaN initialization used to set the associate name to NaN!
762+!
be75205b 763+
fa8f00c5
PS
764+module testa2
765+type, public :: test_ty
766+ real :: rmult = 1.0e0
767+end type test_ty
be75205b 768+
fa8f00c5
PS
769+contains
770+ subroutine test(e, var1)
771+ type(test_ty) :: e
772+ real :: var1, var2 ! Should get NaN initialized
773+
774+ ! Should be the default value
775+ if (e%rmult /= 1.0) call abort ()
776+
777+ ! Check that NaN initialization is really turned on
778+ if (var1 == var1) call abort ()
779+ if (var2 == var2) call abort ()
780+
781+ ! The following was failing:
782+ associate (rmult=>e%rmult)
783+ if (e%rmult /= 1.0) call abort ()
784+ end associate
785+ end subroutine test
786+end module testa2
787+
788+program testa1
789+ use testa2
790+ type(test_ty) :: e
791+ real :: var1 ! Should get NaN initialized
792+ call test(e, var1)
793+ stop
794+end program testa1
795Index: gcc/testsuite/gfortran.dg/save_4.f90
796===================================================================
797--- gcc/testsuite/gfortran.dg/save_4.f90 (.../tags/gcc_4_7_1_release) (wersja 0)
798+++ gcc/testsuite/gfortran.dg/save_4.f90 (.../branches/gcc-4_7-branch) (wersja 188635)
799@@ -0,0 +1,13 @@
800+! { dg-do compile }
801+! { dg-options "-std=f2003" }
802+!
803+! PR fortran/53597
804+!
805+MODULE somemodule
806+ IMPLICIT NONE
807+ TYPE sometype
808+ INTEGER :: i
809+ DOUBLE PRECISION, POINTER, DIMENSION(:,:) :: coef => NULL()
810+ END TYPE sometype
811+ TYPE(sometype) :: somevariable ! { dg-error "Fortran 2008: Implied SAVE for module variable 'somevariable' at .1., needed due to the default initialization" }
812+END MODULE somemodule
813Index: gcc/testsuite/gcc.dg/gomp/critical-4.c
814===================================================================
815--- gcc/testsuite/gcc.dg/gomp/critical-4.c (.../tags/gcc_4_7_1_release) (wersja 188635)
816+++ gcc/testsuite/gcc.dg/gomp/critical-4.c (.../branches/gcc-4_7-branch) (wersja 188635)
817@@ -15,7 +15,7 @@
818 foo2 (void)
819 {
820 #pragma omp critical
821- #pragma omp critical /* { dg-warning "with the same name" } */
822+ #pragma omp critical /* { dg-error "with the same name" } */
823 bar (0);
824 }
be75205b 825
fa8f00c5
PS
826@@ -23,6 +23,6 @@
827 foo3 (void)
828 {
829 #pragma omp critical(foo)
830- #pragma omp critical(foo) /* { dg-warning "with the same name" } */
831+ #pragma omp critical(foo) /* { dg-error "with the same name" } */
832 bar (0);
833 }
834Index: gcc/testsuite/gcc.dg/gomp/nesting-1.c
835===================================================================
836--- gcc/testsuite/gcc.dg/gomp/nesting-1.c (.../tags/gcc_4_7_1_release) (wersja 188635)
837+++ gcc/testsuite/gcc.dg/gomp/nesting-1.c (.../branches/gcc-4_7-branch) (wersja 188635)
838@@ -8,89 +8,89 @@
839 #pragma omp for
840 for (i = 0; i < 3; i++)
841 {
842- #pragma omp for /* { dg-warning "may not be closely nested" } */
843+ #pragma omp for /* { dg-error "may not be closely nested" } */
844 for (j = 0; j < 3; j++)
845 ;
846- #pragma omp sections /* { dg-warning "may not be closely nested" } */
847+ #pragma omp sections /* { dg-error "may not be closely nested" } */
848 {
849 ;
850 #pragma omp section
851 ;
852 }
853- #pragma omp single /* { dg-warning "may not be closely nested" } */
854+ #pragma omp single /* { dg-error "may not be closely nested" } */
855 ;
856- #pragma omp master /* { dg-warning "may not be closely nested" } */
857+ #pragma omp master /* { dg-error "may not be closely nested" } */
858 ;
859- #pragma omp barrier /* { dg-warning "may not be closely nested" } */
860+ #pragma omp barrier /* { dg-error "may not be closely nested" } */
861 }
862 #pragma omp sections
863 {
864- #pragma omp for /* { dg-warning "may not be closely nested" } */
865+ #pragma omp for /* { dg-error "may not be closely nested" } */
866 for (j = 0; j < 3; j++)
867 ;
868- #pragma omp sections /* { dg-warning "may not be closely nested" } */
869+ #pragma omp sections /* { dg-error "may not be closely nested" } */
870 {
871 ;
872 #pragma omp section
873 ;
874 }
875- #pragma omp single /* { dg-warning "may not be closely nested" } */
876+ #pragma omp single /* { dg-error "may not be closely nested" } */
877 ;
878- #pragma omp master /* { dg-warning "may not be closely nested" } */
879+ #pragma omp master /* { dg-error "may not be closely nested" } */
880 ;
881 #pragma omp section
882 ;
883 }
884 #pragma omp single
885 {
886- #pragma omp for /* { dg-warning "may not be closely nested" } */
887+ #pragma omp for /* { dg-error "may not be closely nested" } */
888 for (j = 0; j < 3; j++)
889 ;
890- #pragma omp sections /* { dg-warning "may not be closely nested" } */
891+ #pragma omp sections /* { dg-error "may not be closely nested" } */
892 {
893 ;
894 #pragma omp section
895 ;
896 }
897- #pragma omp single /* { dg-warning "may not be closely nested" } */
898+ #pragma omp single /* { dg-error "may not be closely nested" } */
899 ;
900- #pragma omp master /* { dg-warning "may not be closely nested" } */
901+ #pragma omp master /* { dg-error "may not be closely nested" } */
902 ;
903- #pragma omp barrier /* { dg-warning "may not be closely nested" } */
904+ #pragma omp barrier /* { dg-error "may not be closely nested" } */
905 }
906 #pragma omp master
907 {
908- #pragma omp for /* { dg-warning "may not be closely nested" } */
909+ #pragma omp for /* { dg-error "may not be closely nested" } */
910 for (j = 0; j < 3; j++)
911 ;
912- #pragma omp sections /* { dg-warning "may not be closely nested" } */
913+ #pragma omp sections /* { dg-error "may not be closely nested" } */
914 {
915 ;
916 #pragma omp section
917 ;
918 }
919- #pragma omp single /* { dg-warning "may not be closely nested" } */
920+ #pragma omp single /* { dg-error "may not be closely nested" } */
921 ;
922 #pragma omp master
923 ;
924- #pragma omp barrier /* { dg-warning "may not be closely nested" } */
925+ #pragma omp barrier /* { dg-error "may not be closely nested" } */
926 }
927 #pragma omp task
928 {
929- #pragma omp for /* { dg-warning "may not be closely nested" } */
930+ #pragma omp for /* { dg-error "may not be closely nested" } */
931 for (j = 0; j < 3; j++)
932 ;
933- #pragma omp sections /* { dg-warning "may not be closely nested" } */
934+ #pragma omp sections /* { dg-error "may not be closely nested" } */
935 {
936 ;
937 #pragma omp section
938 ;
939 }
940- #pragma omp single /* { dg-warning "may not be closely nested" } */
941+ #pragma omp single /* { dg-error "may not be closely nested" } */
942 ;
943- #pragma omp master /* { dg-warning "may not be closely nested" } */
944+ #pragma omp master /* { dg-error "may not be closely nested" } */
945 ;
946- #pragma omp barrier /* { dg-warning "may not be closely nested" } */
947+ #pragma omp barrier /* { dg-error "may not be closely nested" } */
948 }
949 #pragma omp parallel
950 {
951@@ -117,20 +117,20 @@
952 int i, j;
953 #pragma omp ordered
954 {
955- #pragma omp for /* { dg-warning "may not be closely nested" } */
956+ #pragma omp for /* { dg-error "may not be closely nested" } */
957 for (j = 0; j < 3; j++)
958 ;
959- #pragma omp sections /* { dg-warning "may not be closely nested" } */
960+ #pragma omp sections /* { dg-error "may not be closely nested" } */
961 {
962 ;
963 #pragma omp section
964 ;
965 }
966- #pragma omp single /* { dg-warning "may not be closely nested" } */
967+ #pragma omp single /* { dg-error "may not be closely nested" } */
968 ;
969 #pragma omp master
970 ;
971- #pragma omp barrier /* { dg-warning "may not be closely nested" } */
972+ #pragma omp barrier /* { dg-error "may not be closely nested" } */
973 }
974 }
be75205b 975
fa8f00c5
PS
976@@ -139,7 +139,7 @@
977 {
978 #pragma omp critical
979 {
980- #pragma omp ordered /* { dg-warning "may not be closely nested" } */
981+ #pragma omp ordered /* { dg-error "may not be closely nested" } */
982 ;
983 }
984 }
985@@ -149,7 +149,7 @@
986 {
987 #pragma omp task
988 {
989- #pragma omp ordered /* { dg-warning "may not be closely nested" } */
990+ #pragma omp ordered /* { dg-error "may not be closely nested" } */
991 ;
992 }
993 }
994@@ -161,7 +161,7 @@
995 #pragma omp for
996 for (i = 0; i < 10; i++)
997 {
998- #pragma omp ordered /* { dg-warning "must be closely nested" } */
999+ #pragma omp ordered /* { dg-error "must be closely nested" } */
1000 ;
1001 }
1002 #pragma omp for ordered
1003@@ -190,9 +190,9 @@
1004 #pragma omp critical
1005 ;
1006 #pragma omp critical (bar)
1007- #pragma omp critical (bar) /* { dg-warning "may not be nested" } */
1008+ #pragma omp critical (bar) /* { dg-error "may not be nested" } */
1009 ;
1010 #pragma omp critical
1011- #pragma omp critical /* { dg-warning "may not be nested" } */
1012+ #pragma omp critical /* { dg-error "may not be nested" } */
1013 ;
1014 }
1015Index: gcc/testsuite/gcc.dg/pr52558-1.c
1016===================================================================
1017--- gcc/testsuite/gcc.dg/pr52558-1.c (.../tags/gcc_4_7_1_release) (wersja 0)
1018+++ gcc/testsuite/gcc.dg/pr52558-1.c (.../branches/gcc-4_7-branch) (wersja 188635)
1019@@ -0,0 +1,22 @@
1020+/* { dg-do compile } */
1021+/* { dg-options "--param allow-store-data-races=0 -O2 -fdump-tree-lim1" } */
be75205b 1022+
fa8f00c5 1023+/* Test that `count' is not written to unless p->data > 0. */
be75205b 1024+
fa8f00c5 1025+int count;
be75205b 1026+
fa8f00c5
PS
1027+struct obj {
1028+ int data;
1029+ struct obj *next;
1030+} *q;
be75205b 1031+
fa8f00c5
PS
1032+void func()
1033+{
1034+ struct obj *p;
1035+ for (p = q; p; p = p->next)
1036+ if (p->data > 0)
1037+ count++;
1038+}
be75205b 1039+
fa8f00c5
PS
1040+/* { dg-final { scan-tree-dump-times "MEM count_lsm.. count_lsm_flag" 1 "lim1" } } */
1041+/* { dg-final { cleanup-tree-dump "lim1" } } */
1042Index: gcc/testsuite/gcc.dg/pr52558-2.c
1043===================================================================
1044--- gcc/testsuite/gcc.dg/pr52558-2.c (.../tags/gcc_4_7_1_release) (wersja 0)
1045+++ gcc/testsuite/gcc.dg/pr52558-2.c (.../branches/gcc-4_7-branch) (wersja 188635)
1046@@ -0,0 +1,23 @@
1047+/* { dg-do compile } */
1048+/* { dg-options "--param allow-store-data-races=0 -O2 -fdump-tree-lim1" } */
be75205b 1049+
fa8f00c5 1050+/* Test that g_2 is not written to unless !g_1. */
be75205b 1051+
fa8f00c5
PS
1052+int g_1 = 1;
1053+int g_2 = 0;
1054+
1055+int func_1(void)
1056+{
1057+ int l;
1058+ for (l = 0; l < 1234; l++)
1059+ {
1060+ if (g_1)
1061+ return l;
1062+ else
1063+ g_2 = 0;
1064+ }
1065+ return 999;
1066+}
1067+
1068+/* { dg-final { scan-tree-dump-times "MEM.*g_2_lsm_flag" 1 "lim1" } } */
1069+/* { dg-final { cleanup-tree-dump "lim1" } } */
1070Index: gcc/testsuite/gcc.dg/stack-usage-1.c
be75205b 1071===================================================================
fa8f00c5
PS
1072--- gcc/testsuite/gcc.dg/stack-usage-1.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1073+++ gcc/testsuite/gcc.dg/stack-usage-1.c (.../branches/gcc-4_7-branch) (wersja 188635)
1074@@ -1,5 +1,6 @@
1075 /* { dg-do compile } */
1076 /* { dg-options "-fstack-usage" } */
1077+/* { dg-options "-fstack-usage -fomit-frame-pointer" { target { sh-*-* } } } */
be75205b 1078
fa8f00c5
PS
1079 /* This is aimed at testing basic support for -fstack-usage in the back-ends.
1080 See the SPARC back-end for example (grep flag_stack_usage_info in sparc.c).
1081Index: gcc/testsuite/gcc.dg/torture/pr53589.c
be75205b 1082===================================================================
fa8f00c5
PS
1083--- gcc/testsuite/gcc.dg/torture/pr53589.c (.../tags/gcc_4_7_1_release) (wersja 0)
1084+++ gcc/testsuite/gcc.dg/torture/pr53589.c (.../branches/gcc-4_7-branch) (wersja 188635)
1085@@ -0,0 +1,15 @@
1086+/* PR rtl-optimization/53589 */
1087+/* { dg-do compile } */
be75205b 1088+
fa8f00c5 1089+extern void foo (void) __attribute__ ((__noreturn__));
be75205b 1090+
fa8f00c5
PS
1091+void
1092+bar (int x)
1093+{
1094+ if (x < 0)
1095+ foo ();
1096+ if (x == 0)
1097+ return;
1098+ __asm goto ("# %l[lab]" : : : : lab);
1099+lab:;
1100+}
1101Index: gcc/testsuite/gcc.dg/tm/reg-promotion.c
be75205b 1102===================================================================
fa8f00c5
PS
1103--- gcc/testsuite/gcc.dg/tm/reg-promotion.c (.../tags/gcc_4_7_1_release) (wersja 0)
1104+++ gcc/testsuite/gcc.dg/tm/reg-promotion.c (.../branches/gcc-4_7-branch) (wersja 188635)
1105@@ -0,0 +1,24 @@
1106+/* { dg-do compile } */
1107+/* { dg-options "-fgnu-tm -O2 -fdump-tree-lim1" } */
1108+
1109+/* Test that `count' is not written to unless p->data>0. */
1110+
1111+int count;
1112+
1113+struct obj {
1114+ int data;
1115+ struct obj *next;
1116+} *q;
1117+
1118+void func()
1119+{
1120+ struct obj *p;
1121+ __transaction_atomic {
1122+ for (p = q; p; p = p->next)
1123+ if (p->data > 0)
1124+ count++;
1125+ }
1126+}
1127+
1128+/* { dg-final { scan-tree-dump-times "MEM count_lsm.. count_lsm_flag" 1 "lim1" } } */
1129+/* { dg-final { cleanup-tree-dump "lim1" } } */
1130Index: gcc/testsuite/ChangeLog
be75205b 1131===================================================================
fa8f00c5
PS
1132--- gcc/testsuite/ChangeLog (.../tags/gcc_4_7_1_release) (wersja 188635)
1133+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_7-branch) (wersja 188635)
1134@@ -1,3 +1,56 @@
1135+2012-06-14 Jakub Jelinek <jakub@redhat.com>
1136+
1137+ Backported from mainline
1138+ 2012-06-12 Jakub Jelinek <jakub@redhat.com>
be75205b 1139+
fa8f00c5
PS
1140+ PR rtl-optimization/53589
1141+ * gcc.dg/torture/pr53589.c: New test.
be75205b 1142+
fa8f00c5 1143+ 2012-06-07 Jakub Jelinek <jakub@redhat.com>
be75205b 1144+
fa8f00c5
PS
1145+ PR middle-end/53580
1146+ * gcc.dg/gomp/nesting-1.c: Expect errors rather than warnings.
1147+ * gcc.dg/gomp/critical-4.c: Likewise.
1148+ * gfortran.dg/gomp/appendix-a/a.35.1.f90: Likewise.
1149+ * gfortran.dg/gomp/appendix-a/a.35.3.f90: Likewise.
1150+ * gfortran.dg/gomp/appendix-a/a.35.4.f90: Likewise.
1151+ * gfortran.dg/gomp/appendix-a/a.35.6.f90: Likewise.
1152+ * c-c++-common/gomp/pr53580.c: New test.
be75205b 1153+
fa8f00c5 1154+2012-06-14 Tobias Burnus <burnus@net-b.de>
be75205b 1155+
fa8f00c5
PS
1156+ Backport from mainline
1157+ 2012-06-04 Tobias Burnus <burnus@net-b.de>
be75205b 1158+
fa8f00c5
PS
1159+ PR fortran/50619
1160+ * gfortran.dg/init_flag_10.f90: New.
be75205b 1161+
fa8f00c5 1162+2012-06-14 Richard Guenther <rguenther@suse.de>
be75205b 1163+
fa8f00c5
PS
1164+ Backport from mainline
1165+ 2012-06-11 Richard Guenther <rguenther@suse.de>
be75205b 1166+
fa8f00c5
PS
1167+ PR c++/53616
1168+ * g++.dg/ext/pr53605.C: New testcase.
be75205b 1169+
fa8f00c5 1170+2012-06-14 Tobias Burnus <burnus@net-b.de>
be75205b 1171+
fa8f00c5
PS
1172+ PR fortran/53597
1173+ * gfortran.dg/save_4.f90: New.
be75205b 1174+
fa8f00c5 1175+2012-06-14 Richard Guenther <rguenther@suse.de>
be75205b 1176+
fa8f00c5
PS
1177+ Backport from mainline
1178+ 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
1179+
1180+ PR c++/52841
1181+ * g++.dg/cpp0x/pr52841.C: New testcase.
1182+
1183+2012-06-13 Christian Bruel <christian.bruel@st.com>
1184+
1185+ PR target/53621
1186+ * gcc.dg/stack-usage-1.c: Force -fomit-frame-pointer on SH.
1187+
1188 2012-06-14 Release Manager
1189
1190 * GCC 4.7.1 released.
1191Index: gcc/testsuite/g++.dg/ext/pr53605.C
1192===================================================================
1193--- gcc/testsuite/g++.dg/ext/pr53605.C (.../tags/gcc_4_7_1_release) (wersja 0)
1194+++ gcc/testsuite/g++.dg/ext/pr53605.C (.../branches/gcc-4_7-branch) (wersja 188635)
1195@@ -0,0 +1,16 @@
1196+// { dg-do compile }
1197+
1198+// Avoid -pedantic-error default
1199+// { dg-options "" }
1200+
1201+template <bool lhs_is_null_literal>
1202+class EqHelper {
1203+public:
1204+ template <typename T1, typename T2>
1205+ static int Compare( const T1& expected,
1206+ const T2& actual);
1207+};
1208+void foo(){
1209+ static const int kData[] = {};
1210+ ::EqHelper<false>::Compare(kData, "abc");
1211+}
1212Index: gcc/testsuite/g++.dg/cpp0x/pr52841.C
1213===================================================================
1214--- gcc/testsuite/g++.dg/cpp0x/pr52841.C (.../tags/gcc_4_7_1_release) (wersja 0)
1215+++ gcc/testsuite/g++.dg/cpp0x/pr52841.C (.../branches/gcc-4_7-branch) (wersja 188635)
1216@@ -0,0 +1,17 @@
1217+// { dg-do compile }
1218+
1219+struct Solvable;
1220+namespace sat
be75205b 1221+{
fa8f00c5
PS
1222+ class Solvable
1223+ {
1224+ public:
1225+ typedef bool bool_type;
1226+ };
be75205b
PS
1227+}
1228+
fa8f00c5
PS
1229+class Resolvable : public sat::Solvable
1230+{
1231+public:
1232+ using sat::Solvable::bool_type;
1233+};
1234Index: gcc/testsuite/c-c++-common/gomp/pr53580.c
1235===================================================================
1236--- gcc/testsuite/c-c++-common/gomp/pr53580.c (.../tags/gcc_4_7_1_release) (wersja 0)
1237+++ gcc/testsuite/c-c++-common/gomp/pr53580.c (.../branches/gcc-4_7-branch) (wersja 188635)
1238@@ -0,0 +1,19 @@
1239+/* PR middle-end/53580 */
1240+/* { dg-do compile } */
1241+/* { dg-options "-fopenmp" } */
be75205b 1242+
fa8f00c5
PS
1243+int
1244+main ()
1245+{
1246+ int x, y, v = 0;
be75205b 1247+
fa8f00c5
PS
1248+#pragma omp parallel
1249+ #pragma omp for
1250+ for (x = 0; x < 10; x++)
1251+ {
1252+ #pragma omp for reduction(+: v) /* { dg-error "work-sharing region may not be closely nested inside of work-sharing" } */
1253+ for (y = 0; y < 10; y++)
1254+ v++;
1255+ }
1256+ return v - 100;
1257+}
1258Index: gcc/cp/ChangeLog
be75205b 1259===================================================================
fa8f00c5
PS
1260--- gcc/cp/ChangeLog (.../tags/gcc_4_7_1_release) (wersja 188635)
1261+++ gcc/cp/ChangeLog (.../branches/gcc-4_7-branch) (wersja 188635)
1262@@ -1,3 +1,21 @@
1263+2012-06-14 Richard Guenther <rguenther@suse.de>
1264+
1265+ Backport from mainline
1266+ 2012-06-11 Richard Guenther <rguenther@suse.de>
1267+
1268+ PR c++/53616
1269+ * mangle.c (write_array_type): Use double-ints for array domain
1270+ arithmetic.
1271+
1272+2012-06-14 Richard Guenther <rguenther@suse.de>
1273+
1274+ Backport from mainline
1275+ 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
1276+
1277+ PR c++/52841
1278+ * parser.c (cp_parser_alias_declaration): Return earlier
1279+ if an error occured.
1280+
1281 2012-06-14 Release Manager
be75205b 1282
fa8f00c5
PS
1283 * GCC 4.7.1 released.
1284Index: gcc/cp/parser.c
be75205b 1285===================================================================
fa8f00c5
PS
1286--- gcc/cp/parser.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1287+++ gcc/cp/parser.c (.../branches/gcc-4_7-branch) (wersja 188635)
1288@@ -15071,6 +15071,9 @@
be75205b 1289
fa8f00c5 1290 cp_parser_require (parser, CPP_EQ, RT_EQ);
be75205b 1291
fa8f00c5
PS
1292+ if (cp_parser_error_occurred (parser))
1293+ return error_mark_node;
be75205b 1294+
fa8f00c5 1295 /* Now we are going to parse the type-id of the declaration. */
be75205b 1296
fa8f00c5
PS
1297 /*
1298Index: gcc/cp/mangle.c
be75205b 1299===================================================================
fa8f00c5
PS
1300--- gcc/cp/mangle.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1301+++ gcc/cp/mangle.c (.../branches/gcc-4_7-branch) (wersja 188635)
1302@@ -3107,8 +3107,10 @@
1303 {
1304 /* The ABI specifies that we should mangle the number of
1305 elements in the array, not the largest allowed index. */
1306- max = size_binop (PLUS_EXPR, max, size_one_node);
1307- write_unsigned_number (tree_low_cst (max, 1));
1308+ double_int dmax
1309+ = double_int_add (tree_to_double_int (max), double_int_one);
1310+ gcc_assert (double_int_fits_in_uhwi_p (dmax));
1311+ write_unsigned_number (dmax.low);
1312 }
1313 else
1314 {
1315Index: gcc/go/gofrontend/gogo.cc
be75205b 1316===================================================================
fa8f00c5
PS
1317--- gcc/go/gofrontend/gogo.cc (.../tags/gcc_4_7_1_release) (wersja 188635)
1318+++ gcc/go/gofrontend/gogo.cc (.../branches/gcc-4_7-branch) (wersja 188635)
1319@@ -339,9 +339,14 @@
1320 // symbol names.
1321 if (!this->pkgpath_set_)
1322 {
1323- if (!this->prefix_from_option_)
1324- this->prefix_ = "go";
1325- this->pkgpath_ = this->prefix_ + '.' + package_name;
1326+ if (!this->prefix_from_option_ && package_name == "main")
1327+ this->pkgpath_ = package_name;
1328+ else
1329+ {
1330+ if (!this->prefix_from_option_)
1331+ this->prefix_ = "go";
1332+ this->pkgpath_ = this->prefix_ + '.' + package_name;
1333+ }
1334 this->pkgpath_set_ = true;
1335 }
be75205b 1336
fa8f00c5 1337Index: gcc/go/gofrontend/expressions.h
be75205b 1338===================================================================
fa8f00c5
PS
1339--- gcc/go/gofrontend/expressions.h (.../tags/gcc_4_7_1_release) (wersja 188635)
1340+++ gcc/go/gofrontend/expressions.h (.../branches/gcc-4_7-branch) (wersja 188635)
1341@@ -1888,6 +1888,10 @@
1342 do_is_addressable() const
1343 { return this->expr_->is_addressable(); }
be75205b 1344
fa8f00c5
PS
1345+ void
1346+ do_address_taken(bool escapes)
1347+ { this->expr_->address_taken(escapes); }
1348+
1349 tree
1350 do_get_tree(Translate_context*);
be75205b 1351
fa8f00c5 1352Index: gcc/go/gofrontend/types.cc
be75205b 1353===================================================================
fa8f00c5
PS
1354--- gcc/go/gofrontend/types.cc (.../tags/gcc_4_7_1_release) (wersja 188635)
1355+++ gcc/go/gofrontend/types.cc (.../branches/gcc-4_7-branch) (wersja 188635)
1356@@ -8337,14 +8337,23 @@
1357 {
1358 // We handle -fgo-prefix and -fgo-pkgpath differently here for
1359 // compatibility with how the compiler worked before
1360- // -fgo-pkgpath was introduced.
1361+ // -fgo-pkgpath was introduced. When -fgo-pkgpath is specified,
1362+ // we use it to make a unique reflection string, so that the
1363+ // type canonicalization in the reflect package will work. In
1364+ // order to be compatible with the gc compiler, we put tabs into
1365+ // the package path, so that the reflect methods can discard it.
1366 const Package* package = this->named_object_->package();
1367 if (gogo->pkgpath_from_option())
1368- ret->append(package != NULL ? package->pkgpath() : gogo->pkgpath());
1369- else
1370- ret->append(package != NULL
1371- ? package->package_name()
1372- : gogo->package_name());
1373+ {
1374+ ret->push_back('\t');
1375+ ret->append(package != NULL
1376+ ? package->pkgpath_symbol()
1377+ : gogo->pkgpath_symbol());
1378+ ret->push_back('\t');
1379+ }
1380+ ret->append(package != NULL
1381+ ? package->package_name()
1382+ : gogo->package_name());
1383 ret->push_back('.');
1384 }
1385 if (this->in_function_ != NULL)
1386Index: gcc/go/gofrontend/expressions.cc
1387===================================================================
1388--- gcc/go/gofrontend/expressions.cc (.../tags/gcc_4_7_1_release) (wersja 188635)
1389+++ gcc/go/gofrontend/expressions.cc (.../branches/gcc-4_7-branch) (wersja 188635)
1390@@ -168,7 +168,8 @@
1391 if (lhs_type_tree == error_mark_node)
1392 return error_mark_node;
1393
1394- if (lhs_type != rhs_type && lhs_type->interface_type() != NULL)
1395+ if (lhs_type->forwarded() != rhs_type->forwarded()
1396+ && lhs_type->interface_type() != NULL)
1397 {
1398 if (rhs_type->interface_type() == NULL)
1399 return Expression::convert_type_to_interface(context, lhs_type,
1400@@ -179,7 +180,8 @@
1401 rhs_type, rhs_tree,
1402 false, location);
1403 }
1404- else if (lhs_type != rhs_type && rhs_type->interface_type() != NULL)
1405+ else if (lhs_type->forwarded() != rhs_type->forwarded()
1406+ && rhs_type->interface_type() != NULL)
1407 return Expression::convert_interface_to_type(context, lhs_type, rhs_type,
1408 rhs_tree, location);
1409 else if (lhs_type->is_slice_type() && rhs_type->is_nil_type())
1410Index: gcc/ada/ChangeLog
1411===================================================================
1412--- gcc/ada/ChangeLog (.../tags/gcc_4_7_1_release) (wersja 188635)
1413+++ gcc/ada/ChangeLog (.../branches/gcc-4_7-branch) (wersja 188635)
1414@@ -1,3 +1,8 @@
1415+2012-06-14 Jakub Jelinek <jakub@redhat.com>
be75205b 1416+
fa8f00c5
PS
1417+ * gcc-interface/Makefile.in (gnatlib-shared-default): Append
1418+ $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
1419+
1420 2012-06-14 Release Manager
be75205b 1421
fa8f00c5
PS
1422 * GCC 4.7.1 released.
1423Index: gcc/ada/gcc-interface/Makefile.in
ad222a6b 1424===================================================================
fa8f00c5
PS
1425--- gcc/ada/gcc-interface/Makefile.in (.../tags/gcc_4_7_1_release) (wersja 188635)
1426+++ gcc/ada/gcc-interface/Makefile.in (.../branches/gcc-4_7-branch) (wersja 188635)
1427@@ -2597,7 +2597,7 @@
1428 $(MAKE) $(FLAGS_TO_PASS) \
1429 GNATLIBFLAGS="$(GNATLIBFLAGS)" \
1430 GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
1431- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
1432+ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \
1433 MULTISUBDIR="$(MULTISUBDIR)" \
1434 THREAD_KIND="$(THREAD_KIND)" \
1435 gnatlib
1436Index: gcc/fortran/decl.c
be75205b 1437===================================================================
fa8f00c5
PS
1438--- gcc/fortran/decl.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1439+++ gcc/fortran/decl.c (.../branches/gcc-4_7-branch) (wersja 188635)
1440@@ -3786,8 +3786,9 @@
1441 }
1442 }
be75205b 1443
fa8f00c5
PS
1444- /* Module variables implicitly have the SAVE attribute. */
1445- if (gfc_current_state () == COMP_MODULE && !current_attr.save)
1446+ /* Since Fortran 2008 module variables implicitly have the SAVE attribute. */
1447+ if (gfc_current_state () == COMP_MODULE && !current_attr.save
1448+ && (gfc_option.allow_std & GFC_STD_F2008) != 0)
1449 current_attr.save = SAVE_IMPLICIT;
be75205b 1450
fa8f00c5
PS
1451 colon_seen = 1;
1452Index: gcc/fortran/ChangeLog
1453===================================================================
1454--- gcc/fortran/ChangeLog (.../tags/gcc_4_7_1_release) (wersja 188635)
1455+++ gcc/fortran/ChangeLog (.../branches/gcc-4_7-branch) (wersja 188635)
1456@@ -1,3 +1,18 @@
1457+2012-06-14 Tobias Burnus <burnus@net-b.de>
be75205b 1458+
fa8f00c5
PS
1459+ Backport from mainline
1460+ 2012-06-04 Tobias Burnus <burnus@net-b.de>
be75205b 1461+
fa8f00c5
PS
1462+ PR fortran/50619
1463+ * resolve.c (build_default_init_expr): Don't initialize
1464+ ASSOCIATE names.
be75205b 1465+
fa8f00c5 1466+2012-06-14 Tobias Burnus <burnus@net-b.de>
be75205b 1467+
fa8f00c5
PS
1468+ PR fortran/53597
1469+ * decl.c (match_attr_spec): Only mark module variables
1470+ as SAVE_IMPLICIT for Fortran 2008 and later.
be75205b 1471+
fa8f00c5 1472 2012-06-14 Release Manager
be75205b 1473
fa8f00c5
PS
1474 * GCC 4.7.1 released.
1475Index: gcc/fortran/resolve.c
be75205b 1476===================================================================
fa8f00c5
PS
1477--- gcc/fortran/resolve.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1478+++ gcc/fortran/resolve.c (.../branches/gcc-4_7-branch) (wersja 188635)
1479@@ -10027,7 +10027,8 @@
1480 || sym->attr.data
1481 || sym->module
1482 || sym->attr.cray_pointee
1483- || sym->attr.cray_pointer)
1484+ || sym->attr.cray_pointer
1485+ || sym->assoc)
1486 return NULL;
be75205b 1487
fa8f00c5
PS
1488 /* Now we'll try to build an initializer expression. */
1489Index: gcc/BASE-VER
1490===================================================================
1491--- gcc/BASE-VER (.../tags/gcc_4_7_1_release) (wersja 188635)
1492+++ gcc/BASE-VER (.../branches/gcc-4_7-branch) (wersja 188635)
1493@@ -1 +1 @@
1494-4.7.1
1495+4.7.2
1496Index: gcc/trans-mem.c
ad222a6b 1497===================================================================
fa8f00c5
PS
1498--- gcc/trans-mem.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1499+++ gcc/trans-mem.c (.../branches/gcc-4_7-branch) (wersja 188635)
1500@@ -2442,13 +2442,15 @@
1501 struct tm_region *region;
1502 VEC (basic_block, heap) *queue;
1503 unsigned int i;
1504- gimple_stmt_iterator gsi;
1505 basic_block bb;
ad222a6b 1506
fa8f00c5
PS
1507 /* ?? Perhaps we need to abstract gate_tm_init further, because we
1508 certainly don't need it to calculate CDI_DOMINATOR info. */
1509 gate_tm_init ();
be75205b 1510
fa8f00c5
PS
1511+ FOR_EACH_BB (bb)
1512+ bb->flags &= ~BB_IN_TRANSACTION;
be75205b 1513+
fa8f00c5
PS
1514 for (region = all_tm_regions; region; region = region->next)
1515 {
1516 queue = get_tm_region_blocks (region->entry_block,
1517@@ -2457,11 +2459,7 @@
1518 NULL,
1519 /*stop_at_irr_p=*/true);
1520 for (i = 0; VEC_iterate (basic_block, queue, i, bb); ++i)
1521- for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
1522- {
1523- gimple stmt = gsi_stmt (gsi);
1524- gimple_set_in_transaction (stmt, true);
1525- }
1526+ bb->flags |= BB_IN_TRANSACTION;
1527 VEC_free (basic_block, heap, queue);
1528 }
ad222a6b 1529
fa8f00c5
PS
1530Index: gcc/basic-block.h
1531===================================================================
1532--- gcc/basic-block.h (.../tags/gcc_4_7_1_release) (wersja 188635)
1533+++ gcc/basic-block.h (.../branches/gcc-4_7-branch) (wersja 188635)
1534@@ -256,7 +256,12 @@
1535 df_set_bb_dirty, but not cleared by df_analyze, so it can be used
1536 to test whether a block has been modified prior to a df_analyze
1537 call. */
1538- BB_MODIFIED = 1 << 12
1539+ BB_MODIFIED = 1 << 12,
ad222a6b 1540+
fa8f00c5
PS
1541+ /* Set on blocks that are in a transaction. This is calculated on
1542+ demand, and is available after calling
1543+ compute_transaction_bits(). */
1544+ BB_IN_TRANSACTION = 1 << 13
1545 };
ad222a6b 1546
fa8f00c5
PS
1547 /* Dummy flag for convenience in the hot/cold partitioning code. */
1548@@ -787,6 +792,7 @@
1549 extern void alloc_aux_for_blocks (int);
1550 extern void clear_aux_for_blocks (void);
1551 extern void free_aux_for_blocks (void);
1552+extern void alloc_aux_for_edge (edge, int);
1553 extern void alloc_aux_for_edges (int);
1554 extern void clear_aux_for_edges (void);
1555 extern void free_aux_for_edges (void);
1556Index: gcc/gimple.h
1557===================================================================
1558--- gcc/gimple.h (.../tags/gcc_4_7_1_release) (wersja 188635)
1559+++ gcc/gimple.h (.../branches/gcc-4_7-branch) (wersja 188635)
1560@@ -305,11 +305,6 @@
1561 /* Nonzero if this statement contains volatile operands. */
1562 unsigned has_volatile_ops : 1;
1563
1564- /* Nonzero if this statement appears inside a transaction. This bit
1565- is calculated on de-mand and has relevant information only after
1566- it has been calculated with compute_transaction_bits. */
1567- unsigned in_transaction : 1;
1568-
1569 /* The SUBCODE field can be used for tuple-specific flags for tuples
1570 that do not require subcodes. Note that SUBCODE should be at
1571 least as wide as tree codes, as several tuples store tree codes
1572@@ -1587,20 +1582,20 @@
1573 stmt->gsbase.has_volatile_ops = (unsigned) volatilep;
1574 }
1575
1576-/* Return true if STMT is in a transaction. */
1577+/* Return true if BB is in a transaction. */
1578
1579 static inline bool
1580-gimple_in_transaction (gimple stmt)
1581+block_in_transaction (basic_block bb)
1582 {
1583- return stmt->gsbase.in_transaction;
1584+ return bb->flags & BB_IN_TRANSACTION;
1585 }
ad222a6b 1586
fa8f00c5
PS
1587-/* Set the IN_TRANSACTION flag to TRANSACTIONP. */
1588+/* Return true if STMT is in a transaction. */
1589
1590-static inline void
1591-gimple_set_in_transaction (gimple stmt, bool transactionp)
1592+static inline bool
1593+gimple_in_transaction (gimple stmt)
1594 {
1595- stmt->gsbase.in_transaction = (unsigned) transactionp;
1596+ return block_in_transaction (gimple_bb (stmt));
1597 }
1598
1599 /* Return true if statement STMT may access memory. */
1600Index: gcc/config/sh/sh.c
be75205b 1601===================================================================
fa8f00c5
PS
1602--- gcc/config/sh/sh.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1603+++ gcc/config/sh/sh.c (.../branches/gcc-4_7-branch) (wersja 188635)
1604@@ -747,8 +747,6 @@
1605 if (! VALID_REGISTER_P (ADDREGNAMES_REGNO (regno)))
1606 sh_additional_register_names[regno][0] = '\0';
1607
1608- flag_omit_frame_pointer = (PREFERRED_DEBUGGING_TYPE == DWARF2_DEBUG);
1609-
1610 if ((flag_pic && ! TARGET_PREFERGOT)
1611 || (TARGET_SHMEDIA && !TARGET_PT_FIXED))
1612 flag_no_function_cse = 1;
1613@@ -780,22 +778,17 @@
1614 flag_schedule_insns = 0;
1615 }
1616
1617- if ((target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS) == 0)
1618- target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS;
1619-
1620- /* Unwind info is not correct around the CFG unless either a frame
1621- pointer is present or M_A_O_A is set. Fixing this requires rewriting
1622- unwind info generation to be aware of the CFG and propagating states
1623+ /* Unwind info is not correct around the CFG unless either a frame
1624+ pointer is present or M_A_O_A is set. Fixing this requires rewriting
1625+ unwind info generation to be aware of the CFG and propagating states
1626 around edges. */
1627 if ((flag_unwind_tables || flag_asynchronous_unwind_tables
1628- || flag_exceptions || flag_non_call_exceptions)
1629- && flag_omit_frame_pointer
1630- && !(target_flags & MASK_ACCUMULATE_OUTGOING_ARGS))
1631+ || flag_exceptions || flag_non_call_exceptions)
1632+ && flag_omit_frame_pointer && !TARGET_ACCUMULATE_OUTGOING_ARGS)
1633 {
1634- if (target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS)
1635- warning (0, "unwind tables currently require either a frame pointer "
1636- "or -maccumulate-outgoing-args for correctness");
1637- target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS;
1638+ warning (0, "unwind tables currently require either a frame pointer "
1639+ "or -maccumulate-outgoing-args for correctness");
1640+ TARGET_ACCUMULATE_OUTGOING_ARGS = 1;
1641 }
1642
1643 /* Unwinding with -freorder-blocks-and-partition does not work on this
1644@@ -805,7 +798,7 @@
1645 {
1646 if (flag_exceptions)
1647 {
1648- inform (input_location,
1649+ inform (input_location,
1650 "-freorder-blocks-and-partition does not work with "
1651 "exceptions on this architecture");
1652 flag_reorder_blocks_and_partition = 0;
1653Index: gcc/config/sh/sh.opt
1654===================================================================
1655--- gcc/config/sh/sh.opt (.../tags/gcc_4_7_1_release) (wersja 188635)
1656+++ gcc/config/sh/sh.opt (.../branches/gcc-4_7-branch) (wersja 188635)
1657@@ -202,7 +202,7 @@
1658 Generate FPU-less SHcompact code
1659
1660 maccumulate-outgoing-args
1661-Target Report Mask(ACCUMULATE_OUTGOING_ARGS)
1662+Target Report Var(TARGET_ACCUMULATE_OUTGOING_ARGS) Init(1)
1663 Reserve space for outgoing arguments in the function prologue
1664
1665 madjust-unroll
1666Index: gcc/cfgrtl.c
1667===================================================================
1668--- gcc/cfgrtl.c (.../tags/gcc_4_7_1_release) (wersja 188635)
1669+++ gcc/cfgrtl.c (.../branches/gcc-4_7-branch) (wersja 188635)
1670@@ -1224,21 +1224,21 @@
1671 }
1672
1673 /* If e->src ends with asm goto, see if any of the ASM_OPERANDS_LABELs
1674- don't point to target label. */
1675+ don't point to the target or fallthru label. */
1676 if (JUMP_P (BB_END (e->src))
1677 && target != EXIT_BLOCK_PTR
1678- && e->dest == target
1679 && (e->flags & EDGE_FALLTHRU)
1680 && (note = extract_asm_operands (PATTERN (BB_END (e->src)))))
1681 {
1682 int i, n = ASM_OPERANDS_LABEL_LENGTH (note);
1683
1684 for (i = 0; i < n; ++i)
1685- if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (target))
1686- {
1687+ {
1688+ if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (e->dest))
1689+ XEXP (ASM_OPERANDS_LABEL (note, i), 0) = block_label (target);
1690+ if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (target))
1691 asm_goto_edge = true;
1692- break;
1693- }
1694+ }
1695 }
1696
1697 if (EDGE_COUNT (e->src->succs) >= 2 || abnormal_edge_flags || asm_goto_edge)
1698Index: libgo/Makefile.in
be75205b 1699===================================================================
fa8f00c5
PS
1700--- libgo/Makefile.in (.../tags/gcc_4_7_1_release) (wersja 188635)
1701+++ libgo/Makefile.in (.../branches/gcc-4_7-branch) (wersja 188635)
1702@@ -2041,6 +2041,7 @@
1703 LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \
1704 LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \
1705 export LD_LIBRARY_PATH; \
1706+ $(MKDIR_P) $(@D); \
1707 rm -f $@-testsum $@-testlog; \
1708 if test "$(use_dejagnu)" = "yes"; then \
1709 $(SHELL) $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" --testname="$(@D)" --goarch="$(GOARCH)" $(GOTESTFLAGS); \
1710@@ -4676,7 +4677,6 @@
1711 archive/tar.lo: $(go_archive_tar_files)
1712 $(BUILDPACKAGE)
1713 archive/tar/check: $(CHECK_DEPS)
1714- @$(MKDIR_P) archive/tar
1715 @$(CHECK)
1716 .PHONY: archive/tar/check
be75205b 1717
fa8f00c5
PS
1718@@ -4686,7 +4686,6 @@
1719 archive/zip.lo: $(go_archive_zip_files)
1720 $(BUILDPACKAGE)
1721 archive/zip/check: $(CHECK_DEPS)
1722- @$(MKDIR_P) archive/zip
1723 @$(CHECK)
1724 .PHONY: archive/zip/check
be75205b 1725
fa8f00c5
PS
1726@@ -4696,7 +4695,6 @@
1727 compress/bzip2.lo: $(go_compress_bzip2_files)
1728 $(BUILDPACKAGE)
1729 compress/bzip2/check: $(CHECK_DEPS)
1730- @$(MKDIR_P) compress/bzip2
1731 @$(CHECK)
1732 .PHONY: compress/bzip2/check
be75205b 1733
fa8f00c5
PS
1734@@ -4706,7 +4704,6 @@
1735 compress/flate.lo: $(go_compress_flate_files)
1736 $(BUILDPACKAGE)
1737 compress/flate/check: $(CHECK_DEPS)
1738- @$(MKDIR_P) compress/flate
1739 @$(CHECK)
1740 .PHONY: compress/flate/check
be75205b 1741
fa8f00c5
PS
1742@@ -4716,7 +4713,6 @@
1743 compress/gzip.lo: $(go_compress_gzip_files)
1744 $(BUILDPACKAGE)
1745 compress/gzip/check: $(CHECK_DEPS)
1746- @$(MKDIR_P) compress/gzip
1747 @$(CHECK)
1748 .PHONY: compress/gzip/check
7b762fbe 1749
fa8f00c5
PS
1750@@ -4726,7 +4722,6 @@
1751 compress/lzw.lo: $(go_compress_lzw_files)
1752 $(BUILDPACKAGE)
1753 compress/lzw/check: $(CHECK_DEPS)
1754- @$(MKDIR_P) compress/lzw
1755 @$(CHECK)
1756 .PHONY: compress/lzw/check
b4627121 1757
fa8f00c5
PS
1758@@ -4736,7 +4731,6 @@
1759 compress/zlib.lo: $(go_compress_zlib_files)
1760 $(BUILDPACKAGE)
1761 compress/zlib/check: $(CHECK_DEPS)
1762- @$(MKDIR_P) compress/zlib
1763 @$(CHECK)
1764 .PHONY: compress/zlib/check
be75205b 1765
fa8f00c5
PS
1766@@ -4746,7 +4740,6 @@
1767 container/heap.lo: $(go_container_heap_files)
1768 $(BUILDPACKAGE)
1769 container/heap/check: $(CHECK_DEPS)
1770- @$(MKDIR_P) container/heap
1771 @$(CHECK)
1772 .PHONY: container/heap/check
be75205b 1773
fa8f00c5
PS
1774@@ -4756,7 +4749,6 @@
1775 container/list.lo: $(go_container_list_files)
1776 $(BUILDPACKAGE)
1777 container/list/check: $(CHECK_DEPS)
1778- @$(MKDIR_P) container/list
1779 @$(CHECK)
1780 .PHONY: container/list/check
be75205b 1781
fa8f00c5
PS
1782@@ -4766,7 +4758,6 @@
1783 container/ring.lo: $(go_container_ring_files)
1784 $(BUILDPACKAGE)
1785 container/ring/check: $(CHECK_DEPS)
1786- @$(MKDIR_P) container/ring
1787 @$(CHECK)
1788 .PHONY: container/ring/check
be75205b 1789
fa8f00c5
PS
1790@@ -4776,7 +4767,6 @@
1791 crypto/aes.lo: $(go_crypto_aes_files)
1792 $(BUILDPACKAGE)
1793 crypto/aes/check: $(CHECK_DEPS)
1794- @$(MKDIR_P) crypto/aes
1795 @$(CHECK)
1796 .PHONY: crypto/aes/check
be75205b 1797
fa8f00c5
PS
1798@@ -4786,7 +4776,6 @@
1799 crypto/cipher.lo: $(go_crypto_cipher_files)
1800 $(BUILDPACKAGE)
1801 crypto/cipher/check: $(CHECK_DEPS)
1802- @$(MKDIR_P) crypto/cipher
1803 @$(CHECK)
1804 .PHONY: crypto/cipher/check
be75205b 1805
fa8f00c5
PS
1806@@ -4796,7 +4785,6 @@
1807 crypto/des.lo: $(go_crypto_des_files)
1808 $(BUILDPACKAGE)
1809 crypto/des/check: $(CHECK_DEPS)
1810- @$(MKDIR_P) crypto/des
1811 @$(CHECK)
1812 .PHONY: crypto/des/check
be75205b 1813
fa8f00c5
PS
1814@@ -4806,7 +4794,6 @@
1815 crypto/dsa.lo: $(go_crypto_dsa_files)
1816 $(BUILDPACKAGE)
1817 crypto/dsa/check: $(CHECK_DEPS)
1818- @$(MKDIR_P) crypto/dsa
1819 @$(CHECK)
1820 .PHONY: crypto/dsa/check
be75205b 1821
fa8f00c5
PS
1822@@ -4816,7 +4803,6 @@
1823 crypto/ecdsa.lo: $(go_crypto_ecdsa_files)
1824 $(BUILDPACKAGE)
1825 crypto/ecdsa/check: $(CHECK_DEPS)
1826- @$(MKDIR_P) crypto/ecdsa
1827 @$(CHECK)
1828 .PHONY: crypto/ecdsa/check
be75205b 1829
fa8f00c5
PS
1830@@ -4826,7 +4812,6 @@
1831 crypto/elliptic.lo: $(go_crypto_elliptic_files)
1832 $(BUILDPACKAGE)
1833 crypto/elliptic/check: $(CHECK_DEPS)
1834- @$(MKDIR_P) crypto/elliptic
1835 @$(CHECK)
1836 .PHONY: crypto/elliptic/check
be75205b 1837
fa8f00c5
PS
1838@@ -4836,7 +4821,6 @@
1839 crypto/hmac.lo: $(go_crypto_hmac_files)
1840 $(BUILDPACKAGE)
1841 crypto/hmac/check: $(CHECK_DEPS)
1842- @$(MKDIR_P) crypto/hmac
1843 @$(CHECK)
1844 .PHONY: crypto/hmac/check
be75205b 1845
fa8f00c5
PS
1846@@ -4846,7 +4830,6 @@
1847 crypto/md5.lo: $(go_crypto_md5_files)
1848 $(BUILDPACKAGE)
1849 crypto/md5/check: $(CHECK_DEPS)
1850- @$(MKDIR_P) crypto/md5
1851 @$(CHECK)
1852 .PHONY: crypto/md5/check
be75205b 1853
fa8f00c5
PS
1854@@ -4856,7 +4839,6 @@
1855 crypto/rand.lo: $(go_crypto_rand_files)
1856 $(BUILDPACKAGE)
1857 crypto/rand/check: $(CHECK_DEPS)
1858- @$(MKDIR_P) crypto/rand
1859 @$(CHECK)
1860 .PHONY: crypto/rand/check
be75205b 1861
fa8f00c5
PS
1862@@ -4866,7 +4848,6 @@
1863 crypto/rc4.lo: $(go_crypto_rc4_files)
1864 $(BUILDPACKAGE)
1865 crypto/rc4/check: $(CHECK_DEPS)
1866- @$(MKDIR_P) crypto/rc4
1867 @$(CHECK)
1868 .PHONY: crypto/rc4/check
be75205b 1869
fa8f00c5
PS
1870@@ -4876,7 +4857,6 @@
1871 crypto/rsa.lo: $(go_crypto_rsa_files)
1872 $(BUILDPACKAGE)
1873 crypto/rsa/check: $(CHECK_DEPS)
1874- @$(MKDIR_P) crypto/rsa
1875 @$(CHECK)
1876 .PHONY: crypto/rsa/check
ad222a6b 1877
fa8f00c5
PS
1878@@ -4886,7 +4866,6 @@
1879 crypto/sha1.lo: $(go_crypto_sha1_files)
1880 $(BUILDPACKAGE)
1881 crypto/sha1/check: $(CHECK_DEPS)
1882- @$(MKDIR_P) crypto/sha1
1883 @$(CHECK)
1884 .PHONY: crypto/sha1/check
be75205b 1885
fa8f00c5
PS
1886@@ -4896,7 +4875,6 @@
1887 crypto/sha256.lo: $(go_crypto_sha256_files)
1888 $(BUILDPACKAGE)
1889 crypto/sha256/check: $(CHECK_DEPS)
1890- @$(MKDIR_P) crypto/sha256
1891 @$(CHECK)
1892 .PHONY: crypto/sha256/check
be75205b 1893
fa8f00c5
PS
1894@@ -4906,7 +4884,6 @@
1895 crypto/sha512.lo: $(go_crypto_sha512_files)
1896 $(BUILDPACKAGE)
1897 crypto/sha512/check: $(CHECK_DEPS)
1898- @$(MKDIR_P) crypto/sha512
1899 @$(CHECK)
1900 .PHONY: crypto/sha512/check
be75205b 1901
fa8f00c5
PS
1902@@ -4916,7 +4893,6 @@
1903 crypto/subtle.lo: $(go_crypto_subtle_files)
1904 $(BUILDPACKAGE)
1905 crypto/subtle/check: $(CHECK_DEPS)
1906- @$(MKDIR_P) crypto/subtle
1907 @$(CHECK)
1908 .PHONY: crypto/subtle/check
be75205b 1909
fa8f00c5
PS
1910@@ -4926,7 +4902,6 @@
1911 crypto/tls.lo: $(go_crypto_tls_files)
1912 $(BUILDPACKAGE)
1913 crypto/tls/check: $(CHECK_DEPS)
1914- @$(MKDIR_P) crypto/tls
1915 @$(CHECK)
1916 .PHONY: crypto/tls/check
be75205b 1917
fa8f00c5
PS
1918@@ -4936,7 +4911,6 @@
1919 crypto/x509.lo: $(go_crypto_x509_files)
1920 $(BUILDPACKAGE)
1921 crypto/x509/check: $(CHECK_DEPS)
1922- @$(MKDIR_P) crypto/x509
1923 @$(CHECK)
1924 .PHONY: crypto/x509/check
ad222a6b 1925
fa8f00c5
PS
1926@@ -4946,7 +4920,6 @@
1927 crypto/x509/pkix.lo: $(go_crypto_x509_pkix_files)
1928 $(BUILDPACKAGE)
1929 crypto/x509/pkix/check: $(CHECK_DEPS)
1930- @$(MKDIR_P) crypto/x509/pkix
1931 @$(CHECK)
1932 .PHONY: crypto/x509/pkix/check
ad222a6b 1933
fa8f00c5
PS
1934@@ -4956,7 +4929,6 @@
1935 database/sql.lo: $(go_database_sql_files)
1936 $(BUILDPACKAGE)
1937 database/sql/check: $(CHECK_DEPS)
1938- @$(MKDIR_P) database/sql
1939 @$(CHECK)
1940 .PHONY: database/sql/check
be75205b 1941
fa8f00c5
PS
1942@@ -4966,7 +4938,6 @@
1943 database/sql/driver.lo: $(go_database_sql_driver_files)
1944 $(BUILDPACKAGE)
1945 database/sql/driver/check: $(CHECK_DEPS)
1946- @$(MKDIR_P) database/sql/driver
1947 @$(CHECK)
1948 .PHONY: database/sql/driver/check
be75205b 1949
fa8f00c5
PS
1950@@ -4976,7 +4947,6 @@
1951 debug/dwarf.lo: $(go_debug_dwarf_files)
1952 $(BUILDPACKAGE)
1953 debug/dwarf/check: $(CHECK_DEPS)
1954- @$(MKDIR_P) debug/dwarf
1955 @$(CHECK)
1956 .PHONY: debug/dwarf/check
be75205b 1957
fa8f00c5
PS
1958@@ -4986,7 +4956,6 @@
1959 debug/elf.lo: $(go_debug_elf_files)
1960 $(BUILDPACKAGE)
1961 debug/elf/check: $(CHECK_DEPS)
1962- @$(MKDIR_P) debug/elf
1963 @$(CHECK)
1964 .PHONY: debug/elf/check
be75205b 1965
fa8f00c5
PS
1966@@ -4996,7 +4965,6 @@
1967 debug/gosym.lo: $(go_debug_gosym_files)
1968 $(BUILDPACKAGE)
1969 debug/gosym/check: $(CHECK_DEPS)
1970- @$(MKDIR_P) debug/gosym
1971 @$(CHECK)
1972 .PHONY: debug/gosym/check
be75205b 1973
fa8f00c5
PS
1974@@ -5006,7 +4974,6 @@
1975 debug/macho.lo: $(go_debug_macho_files)
1976 $(BUILDPACKAGE)
1977 debug/macho/check: $(CHECK_DEPS)
1978- @$(MKDIR_P) debug/macho
1979 @$(CHECK)
1980 .PHONY: debug/macho/check
be75205b 1981
fa8f00c5
PS
1982@@ -5016,7 +4983,6 @@
1983 debug/pe.lo: $(go_debug_pe_files)
1984 $(BUILDPACKAGE)
1985 debug/pe/check: $(CHECK_DEPS)
1986- @$(MKDIR_P) debug/pe
1987 @$(CHECK)
1988 .PHONY: debug/pe/check
be75205b 1989
fa8f00c5
PS
1990@@ -5026,7 +4992,6 @@
1991 encoding/asn1.lo: $(go_encoding_asn1_files)
1992 $(BUILDPACKAGE)
1993 encoding/asn1/check: $(CHECK_DEPS)
1994- @$(MKDIR_P) encoding/asn1
1995 @$(CHECK)
1996 .PHONY: encoding/asn1/check
be75205b 1997
fa8f00c5
PS
1998@@ -5036,7 +5001,6 @@
1999 encoding/ascii85.lo: $(go_encoding_ascii85_files)
2000 $(BUILDPACKAGE)
2001 encoding/ascii85/check: $(CHECK_DEPS)
2002- @$(MKDIR_P) encoding/ascii85
2003 @$(CHECK)
2004 .PHONY: encoding/ascii85/check
ad222a6b 2005
fa8f00c5
PS
2006@@ -5046,7 +5010,6 @@
2007 encoding/base32.lo: $(go_encoding_base32_files)
2008 $(BUILDPACKAGE)
2009 encoding/base32/check: $(CHECK_DEPS)
2010- @$(MKDIR_P) encoding/base32
2011 @$(CHECK)
2012 .PHONY: encoding/base32/check
ad222a6b 2013
fa8f00c5
PS
2014@@ -5056,7 +5019,6 @@
2015 encoding/base64.lo: $(go_encoding_base64_files)
2016 $(BUILDPACKAGE)
2017 encoding/base64/check: $(CHECK_DEPS)
2018- @$(MKDIR_P) encoding/base64
2019 @$(CHECK)
2020 .PHONY: encoding/base64/check
ad222a6b 2021
fa8f00c5
PS
2022@@ -5066,7 +5028,6 @@
2023 encoding/binary.lo: $(go_encoding_binary_files)
2024 $(BUILDPACKAGE)
2025 encoding/binary/check: $(CHECK_DEPS)
2026- @$(MKDIR_P) encoding/binary
2027 @$(CHECK)
2028 .PHONY: encoding/binary/check
ad222a6b 2029
fa8f00c5
PS
2030@@ -5076,7 +5037,6 @@
2031 encoding/csv.lo: $(go_encoding_csv_files)
2032 $(BUILDPACKAGE)
2033 encoding/csv/check: $(CHECK_DEPS)
2034- @$(MKDIR_P) encoding/csv
2035 @$(CHECK)
2036 .PHONY: encoding/csv/check
be75205b 2037
fa8f00c5
PS
2038@@ -5086,7 +5046,6 @@
2039 encoding/gob.lo: $(go_encoding_gob_files)
2040 $(BUILDPACKAGE)
2041 encoding/gob/check: $(CHECK_DEPS)
2042- @$(MKDIR_P) encoding/gob
2043 @$(CHECK)
2044 .PHONY: encoding/gob/check
ad222a6b 2045
fa8f00c5
PS
2046@@ -5096,7 +5055,6 @@
2047 encoding/hex.lo: $(go_encoding_hex_files)
2048 $(BUILDPACKAGE)
2049 encoding/hex/check: $(CHECK_DEPS)
2050- @$(MKDIR_P) encoding/hex
2051 @$(CHECK)
2052 .PHONY: encoding/hex/check
ad222a6b 2053
fa8f00c5
PS
2054@@ -5106,7 +5064,6 @@
2055 encoding/json.lo: $(go_encoding_json_files)
2056 $(BUILDPACKAGE)
2057 encoding/json/check: $(CHECK_DEPS)
2058- @$(MKDIR_P) encoding/json
2059 @$(CHECK)
2060 .PHONY: encoding/json/check
ad222a6b 2061
fa8f00c5
PS
2062@@ -5116,7 +5073,6 @@
2063 encoding/pem.lo: $(go_encoding_pem_files)
2064 $(BUILDPACKAGE)
2065 encoding/pem/check: $(CHECK_DEPS)
2066- @$(MKDIR_P) encoding/pem
2067 @$(CHECK)
2068 .PHONY: encoding/pem/check
ad222a6b 2069
fa8f00c5
PS
2070@@ -5126,7 +5082,6 @@
2071 encoding/xml.lo: $(go_encoding_xml_files)
2072 $(BUILDPACKAGE)
2073 encoding/xml/check: $(CHECK_DEPS)
2074- @$(MKDIR_P) encoding/xml
2075 @$(CHECK)
2076 .PHONY: encoding/xml/check
ad222a6b 2077
fa8f00c5
PS
2078@@ -5136,7 +5091,6 @@
2079 exp/ebnf.lo: $(go_exp_ebnf_files)
2080 $(BUILDPACKAGE)
2081 exp/ebnf/check: $(CHECK_DEPS)
2082- @$(MKDIR_P) exp/ebnf
2083 @$(CHECK)
2084 .PHONY: exp/ebnf/check
be75205b 2085
fa8f00c5
PS
2086@@ -5146,7 +5100,6 @@
2087 exp/html.lo: $(go_exp_html_files)
2088 $(BUILDPACKAGE)
2089 exp/html/check: $(CHECK_DEPS)
2090- @$(MKDIR_P) exp/html
2091 @$(CHECK)
2092 .PHONY: exp/html/check
ad222a6b 2093
fa8f00c5
PS
2094@@ -5156,7 +5109,6 @@
2095 exp/norm.lo: $(go_exp_norm_files)
2096 $(BUILDPACKAGE)
2097 exp/norm/check: $(CHECK_DEPS)
2098- @$(MKDIR_P) exp/norm
2099 @$(CHECK)
2100 .PHONY: exp/norm/check
ad222a6b 2101
fa8f00c5
PS
2102@@ -5166,7 +5118,6 @@
2103 exp/proxy.lo: $(go_exp_proxy_files)
2104 $(BUILDPACKAGE)
2105 exp/proxy/check: $(CHECK_DEPS)
2106- @$(MKDIR_P) exp/proxy
2107 @$(CHECK)
2108 .PHONY: exp/proxy/check
ad222a6b 2109
fa8f00c5
PS
2110@@ -5176,7 +5127,6 @@
2111 exp/terminal.lo: $(go_exp_terminal_files)
2112 $(BUILDPACKAGE)
2113 exp/terminal/check: $(CHECK_DEPS)
2114- @$(MKDIR_P) exp/terminal
2115 @$(CHECK)
2116 .PHONY: exp/terminal/check
ad222a6b 2117
fa8f00c5
PS
2118@@ -5186,7 +5136,6 @@
2119 exp/types.lo: $(go_exp_types_files)
2120 $(BUILDPACKAGE)
2121 exp/types/check: $(CHECK_DEPS)
2122- @$(MKDIR_P) exp/types
2123 @$(CHECK)
2124 .PHONY: exp/types/check
be75205b 2125
fa8f00c5
PS
2126@@ -5196,7 +5145,6 @@
2127 exp/utf8string.lo: $(go_exp_utf8string_files)
2128 $(BUILDPACKAGE)
2129 exp/utf8string/check: $(CHECK_DEPS)
2130- @$(MKDIR_P) exp/utf8string
2131 @$(CHECK)
2132 .PHONY: exp/utf8string/check
ad222a6b 2133
fa8f00c5
PS
2134@@ -5206,7 +5154,6 @@
2135 exp/inotify.lo: $(go_exp_inotify_files)
2136 $(BUILDPACKAGE)
2137 exp/inotify/check: $(CHECK_DEPS)
2138- @$(MKDIR_P) exp/inotify
2139 @$(CHECK)
2140 .PHONY: exp/inotify/check
ad222a6b 2141
fa8f00c5
PS
2142@@ -5216,7 +5163,6 @@
2143 html/template.lo: $(go_html_template_files)
2144 $(BUILDPACKAGE)
2145 html/template/check: $(CHECK_DEPS)
2146- @$(MKDIR_P) html/template
2147 @$(CHECK)
2148 .PHONY: html/template/check
ad222a6b 2149
fa8f00c5
PS
2150@@ -5226,7 +5172,6 @@
2151 go/ast.lo: $(go_go_ast_files)
2152 $(BUILDPACKAGE)
2153 go/ast/check: $(CHECK_DEPS)
2154- @$(MKDIR_P) go/ast
2155 @$(CHECK)
2156 .PHONY: go/ast/check
ad222a6b 2157
fa8f00c5
PS
2158@@ -5236,7 +5181,6 @@
2159 go/build.lo: $(go_go_build_files)
2160 $(BUILDPACKAGE)
2161 go/build/check: $(CHECK_DEPS)
2162- @$(MKDIR_P) go/build
2163 @$(CHECK)
2164 .PHONY: go/build/check
ad222a6b 2165
fa8f00c5
PS
2166@@ -5255,7 +5199,6 @@
2167 go/doc.lo: $(go_go_doc_files)
2168 $(BUILDPACKAGE)
2169 go/doc/check: $(CHECK_DEPS)
2170- @$(MKDIR_P) go/doc
2171 @$(CHECK)
2172 .PHONY: go/doc/check
ad222a6b 2173
fa8f00c5
PS
2174@@ -5265,7 +5208,6 @@
2175 go/parser.lo: $(go_go_parser_files)
2176 $(BUILDPACKAGE)
2177 go/parser/check: $(CHECK_DEPS)
2178- @$(MKDIR_P) go/parser
2179 @$(CHECK)
2180 .PHONY: go/parser/check
ad222a6b 2181
fa8f00c5
PS
2182@@ -5275,7 +5217,6 @@
2183 go/printer.lo: $(go_go_printer_files)
2184 $(BUILDPACKAGE)
2185 go/printer/check: $(CHECK_DEPS)
2186- @$(MKDIR_P) go/printer
2187 @$(CHECK)
2188 .PHONY: go/printer/check
be75205b 2189
fa8f00c5
PS
2190@@ -5285,7 +5226,6 @@
2191 go/scanner.lo: $(go_go_scanner_files)
2192 $(BUILDPACKAGE)
2193 go/scanner/check: $(CHECK_DEPS)
2194- @$(MKDIR_P) go/scanner
2195 @$(CHECK)
2196 .PHONY: go/scanner/check
ad222a6b 2197
fa8f00c5
PS
2198@@ -5295,7 +5235,6 @@
2199 go/token.lo: $(go_go_token_files)
2200 $(BUILDPACKAGE)
2201 go/token/check: $(CHECK_DEPS)
2202- @$(MKDIR_P) go/token
2203 @$(CHECK)
2204 .PHONY: go/token/check
ad222a6b 2205
fa8f00c5
PS
2206@@ -5305,7 +5244,6 @@
2207 hash/adler32.lo: $(go_hash_adler32_files)
2208 $(BUILDPACKAGE)
2209 hash/adler32/check: $(CHECK_DEPS)
2210- @$(MKDIR_P) hash/adler32
2211 @$(CHECK)
2212 .PHONY: hash/adler32/check
ad222a6b 2213
fa8f00c5
PS
2214@@ -5315,7 +5253,6 @@
2215 hash/crc32.lo: $(go_hash_crc32_files)
2216 $(BUILDPACKAGE)
2217 hash/crc32/check: $(CHECK_DEPS)
2218- @$(MKDIR_P) hash/crc32
2219 @$(CHECK)
2220 .PHONY: hash/crc32/check
ad222a6b 2221
fa8f00c5
PS
2222@@ -5325,7 +5262,6 @@
2223 hash/crc64.lo: $(go_hash_crc64_files)
2224 $(BUILDPACKAGE)
2225 hash/crc64/check: $(CHECK_DEPS)
2226- @$(MKDIR_P) hash/crc64
2227 @$(CHECK)
2228 .PHONY: hash/crc64/check
ad222a6b 2229
fa8f00c5
PS
2230@@ -5335,7 +5271,6 @@
2231 hash/fnv.lo: $(go_hash_fnv_files)
2232 $(BUILDPACKAGE)
2233 hash/fnv/check: $(CHECK_DEPS)
2234- @$(MKDIR_P) hash/fnv
2235 @$(CHECK)
2236 .PHONY: hash/fnv/check
be75205b 2237
fa8f00c5
PS
2238@@ -5345,7 +5280,6 @@
2239 image/color.lo: $(go_image_color_files)
2240 $(BUILDPACKAGE)
2241 image/color/check: $(CHECK_DEPS)
2242- @$(MKDIR_P) image/color
2243 @$(CHECK)
2244 .PHONY: image/color/check
be75205b 2245
fa8f00c5
PS
2246@@ -5355,7 +5289,6 @@
2247 image/draw.lo: $(go_image_draw_files)
2248 $(BUILDPACKAGE)
2249 image/draw/check: $(CHECK_DEPS)
2250- @$(MKDIR_P) image/draw
2251 @$(CHECK)
2252 .PHONY: image/draw/check
be75205b 2253
fa8f00c5
PS
2254@@ -5365,7 +5298,6 @@
2255 image/gif.lo: $(go_image_gif_files)
2256 $(BUILDPACKAGE)
2257 image/gif/check: $(CHECK_DEPS)
2258- @$(MKDIR_P) image/gif
2259 @$(CHECK)
2260 .PHONY: image/gif/check
be75205b 2261
fa8f00c5
PS
2262@@ -5375,7 +5307,6 @@
2263 image/jpeg.lo: $(go_image_jpeg_files)
2264 $(BUILDPACKAGE)
2265 image/jpeg/check: $(CHECK_DEPS)
2266- @$(MKDIR_P) image/jpeg
2267 @$(CHECK)
2268 .PHONY: image/jpeg/check
be75205b 2269
fa8f00c5
PS
2270@@ -5385,7 +5316,6 @@
2271 image/png.lo: $(go_image_png_files)
2272 $(BUILDPACKAGE)
2273 image/png/check: $(CHECK_DEPS)
2274- @$(MKDIR_P) image/png
2275 @$(CHECK)
2276 .PHONY: image/png/check
be75205b 2277
fa8f00c5
PS
2278@@ -5395,7 +5325,6 @@
2279 index/suffixarray.lo: $(go_index_suffixarray_files)
2280 $(BUILDPACKAGE)
2281 index/suffixarray/check: $(CHECK_DEPS)
2282- @$(MKDIR_P) index/suffixarray
2283 @$(CHECK)
2284 .PHONY: index/suffixarray/check
be75205b 2285
fa8f00c5
PS
2286@@ -5405,7 +5334,6 @@
2287 io/ioutil.lo: $(go_io_ioutil_files)
2288 $(BUILDPACKAGE)
2289 io/ioutil/check: $(CHECK_DEPS)
2290- @$(MKDIR_P) io/ioutil
2291 @$(CHECK)
2292 .PHONY: io/ioutil/check
be75205b 2293
fa8f00c5
PS
2294@@ -5418,7 +5346,6 @@
2295 @$(MKDIR_P) log/syslog
2296 $(LTCOMPILE) -c -o $@ $(srcdir)/go/log/syslog/syslog_c.c
2297 log/syslog/check: $(CHECK_DEPS)
2298- @$(MKDIR_P) log/syslog
2299 @$(CHECK)
2300 .PHONY: log/syslog/check
ad222a6b 2301
fa8f00c5
PS
2302@@ -5428,7 +5355,6 @@
2303 math/big.lo: $(go_math_big_files)
2304 $(BUILDPACKAGE)
2305 math/big/check: $(CHECK_DEPS)
2306- @$(MKDIR_P) math/big
2307 @$(CHECK)
2308 .PHONY: math/big/check
ad222a6b 2309
fa8f00c5
PS
2310@@ -5438,7 +5364,6 @@
2311 math/cmplx.lo: $(go_math_cmplx_files)
2312 $(BUILDPACKAGE)
2313 math/cmplx/check: $(CHECK_DEPS)
2314- @$(MKDIR_P) math/cmplx
2315 @$(CHECK)
2316 .PHONY: math/cmplx/check
ad222a6b 2317
fa8f00c5
PS
2318@@ -5448,7 +5373,6 @@
2319 math/rand.lo: $(go_math_rand_files)
2320 $(BUILDPACKAGE)
2321 math/rand/check: $(CHECK_DEPS)
2322- @$(MKDIR_P) math/rand
2323 @$(CHECK)
2324 .PHONY: math/rand/check
be75205b 2325
fa8f00c5
PS
2326@@ -5458,7 +5382,6 @@
2327 mime/multipart.lo: $(go_mime_multipart_files)
2328 $(BUILDPACKAGE)
2329 mime/multipart/check: $(CHECK_DEPS)
2330- @$(MKDIR_P) mime/multipart
2331 @$(CHECK)
2332 .PHONY: mime/multipart/check
ad222a6b 2333
fa8f00c5
PS
2334@@ -5468,7 +5391,6 @@
2335 net/http.lo: $(go_net_http_files)
2336 $(BUILDPACKAGE)
2337 net/http/check: $(CHECK_DEPS)
2338- @$(MKDIR_P) net/http
2339 @$(CHECK)
2340 .PHONY: net/http/check
ad222a6b 2341
fa8f00c5
PS
2342@@ -5478,7 +5400,6 @@
2343 net/mail.lo: $(go_net_mail_files)
2344 $(BUILDPACKAGE)
2345 net/mail/check: $(CHECK_DEPS)
2346- @$(MKDIR_P) net/mail
2347 @$(CHECK)
2348 .PHONY: net/mail/check
ad222a6b 2349
fa8f00c5
PS
2350@@ -5488,7 +5409,6 @@
2351 net/rpc.lo: $(go_net_rpc_files)
2352 $(BUILDPACKAGE)
2353 net/rpc/check: $(CHECK_DEPS)
2354- @$(MKDIR_P) net/rpc
2355 @$(CHECK)
2356 .PHONY: net/rpc/check
ad222a6b 2357
fa8f00c5
PS
2358@@ -5498,7 +5418,6 @@
2359 net/smtp.lo: $(go_net_smtp_files)
2360 $(BUILDPACKAGE)
2361 net/smtp/check: $(CHECK_DEPS)
2362- @$(MKDIR_P) net/smtp
2363 @$(CHECK)
2364 .PHONY: net/smtp/check
be75205b 2365
fa8f00c5
PS
2366@@ -5508,7 +5427,6 @@
2367 net/url.lo: $(go_net_url_files)
2368 $(BUILDPACKAGE)
2369 net/url/check: $(CHECK_DEPS)
2370- @$(MKDIR_P) net/url
2371 @$(CHECK)
2372 .PHONY: net/url/check
ad222a6b 2373
fa8f00c5
PS
2374@@ -5518,7 +5436,6 @@
2375 net/textproto.lo: $(go_net_textproto_files)
2376 $(BUILDPACKAGE)
2377 net/textproto/check: $(CHECK_DEPS)
2378- @$(MKDIR_P) net/textproto
2379 @$(CHECK)
2380 .PHONY: net/textproto/check
ad222a6b 2381
fa8f00c5
PS
2382@@ -5528,7 +5445,6 @@
2383 net/http/cgi.lo: $(go_net_http_cgi_files)
2384 $(BUILDPACKAGE)
2385 net/http/cgi/check: $(CHECK_DEPS)
2386- @$(MKDIR_P) net/http/cgi
2387 @$(CHECK)
2388 .PHONY: net/http/cgi/check
ad222a6b 2389
fa8f00c5
PS
2390@@ -5538,7 +5454,6 @@
2391 net/http/fcgi.lo: $(go_net_http_fcgi_files)
2392 $(BUILDPACKAGE)
2393 net/http/fcgi/check: $(CHECK_DEPS)
2394- @$(MKDIR_P) net/http/fcgi
2395 @$(CHECK)
2396 .PHONY: net/http/fcgi/check
ad222a6b 2397
fa8f00c5
PS
2398@@ -5548,7 +5463,6 @@
2399 net/http/httptest.lo: $(go_net_http_httptest_files)
2400 $(BUILDPACKAGE)
2401 net/http/httptest/check: $(check_deps)
2402- @$(MKDIR_P) net/http/httptest
2403 @$(CHECK)
2404 .PHONY: net/http/httptest/check
ad222a6b 2405
fa8f00c5
PS
2406@@ -5558,7 +5472,6 @@
2407 net/http/httputil.lo: $(go_net_http_httputil_files)
2408 $(BUILDPACKAGE)
2409 net/http/httputil/check: $(check_deps)
2410- @$(MKDIR_P) net/http/httputil
2411 @$(CHECK)
2412 .PHONY: net/http/httputil/check
ad222a6b 2413
fa8f00c5
PS
2414@@ -5568,7 +5481,6 @@
2415 net/http/pprof.lo: $(go_net_http_pprof_files)
2416 $(BUILDPACKAGE)
2417 net/http/pprof/check: $(CHECK_DEPS)
2418- @$(MKDIR_P) net/http/pprof
2419 @$(CHECK)
2420 .PHONY: net/http/pprof/check
ad222a6b 2421
fa8f00c5
PS
2422@@ -5578,7 +5490,6 @@
2423 net/rpc/jsonrpc.lo: $(go_net_rpc_jsonrpc_files)
2424 $(BUILDPACKAGE)
2425 net/rpc/jsonrpc/check: $(CHECK_DEPS)
2426- @$(MKDIR_P) net/rpc/jsonrpc
2427 @$(CHECK)
2428 .PHONY: net/rpc/jsonrpc/check
ad222a6b 2429
fa8f00c5
PS
2430@@ -5588,7 +5499,6 @@
2431 old/netchan.lo: $(go_old_netchan_files)
2432 $(BUILDPACKAGE)
2433 old/netchan/check: $(CHECK_DEPS)
2434- @$(MKDIR_P) old/netchan
2435 @$(CHECK)
2436 .PHONY: old/netchan/check
be75205b 2437
fa8f00c5
PS
2438@@ -5598,7 +5508,6 @@
2439 old/regexp.lo: $(go_old_regexp_files)
2440 $(BUILDPACKAGE)
2441 old/regexp/check: $(CHECK_DEPS)
2442- @$(MKDIR_P) old/regexp
2443 @$(CHECK)
2444 .PHONY: old/regexp/check
ad222a6b 2445
fa8f00c5
PS
2446@@ -5608,7 +5517,6 @@
2447 old/template.lo: $(go_old_template_files)
2448 $(BUILDPACKAGE)
2449 old/template/check: $(CHECK_DEPS)
2450- @$(MKDIR_P) old/template
2451 @$(CHECK)
2452 .PHONY: old/template/check
ad222a6b 2453
fa8f00c5
PS
2454@@ -5618,7 +5526,6 @@
2455 os/exec.lo: $(go_os_exec_files)
2456 $(BUILDPACKAGE)
2457 os/exec/check: $(CHECK_DEPS)
2458- @$(MKDIR_P) os/exec
2459 @$(CHECK)
2460 .PHONY: os/exec/check
be75205b 2461
fa8f00c5
PS
2462@@ -5628,7 +5535,6 @@
2463 os/signal.lo: $(go_os_signal_files)
2464 $(BUILDPACKAGE)
2465 os/signal/check: $(CHECK_DEPS)
2466- @$(MKDIR_P) os/signal
2467 @$(CHECK)
2468 .PHONY: os/signal/check
be75205b 2469
fa8f00c5
PS
2470@@ -5638,7 +5544,6 @@
2471 os/user.lo: $(go_os_user_files)
2472 $(BUILDPACKAGE)
2473 os/user/check: $(CHECK_DEPS)
2474- @$(MKDIR_P) os/user
2475 @$(CHECK)
2476 .PHONY: os/user/check
be75205b 2477
fa8f00c5
PS
2478@@ -5648,7 +5553,6 @@
2479 path/filepath.lo: $(go_path_filepath_files)
2480 $(BUILDPACKAGE)
2481 path/filepath/check: $(CHECK_DEPS)
2482- @$(MKDIR_P) path/filepath
2483 @$(CHECK)
2484 .PHONY: path/filepath/check
be75205b 2485
fa8f00c5
PS
2486@@ -5658,7 +5562,6 @@
2487 regexp/syntax.lo: $(go_regexp_syntax_files)
2488 $(BUILDPACKAGE)
2489 regexp/syntax/check: $(CHECK_DEPS)
2490- @$(MKDIR_P) regexp/syntax
2491 @$(CHECK)
2492 .PHONY: regexp/syntax/check
be75205b 2493
fa8f00c5
PS
2494@@ -5668,7 +5571,6 @@
2495 runtime/debug.lo: $(go_runtime_debug_files)
2496 $(BUILDPACKAGE)
2497 runtime/debug/check: $(CHECK_DEPS)
2498- @$(MKDIR_P) runtime/debug
2499 @$(CHECK)
2500 .PHONY: runtime/debug/check
be75205b 2501
fa8f00c5
PS
2502@@ -5678,7 +5580,6 @@
2503 runtime/pprof.lo: $(go_runtime_pprof_files)
2504 $(BUILDPACKAGE)
2505 runtime/pprof/check: $(CHECK_DEPS)
2506- @$(MKDIR_P) runtime/pprof
2507 @$(CHECK)
2508 .PHONY: runtime/pprof/check
be75205b 2509
fa8f00c5
PS
2510@@ -5690,7 +5591,6 @@
2511 sync/atomic_c.lo: $(go_sync_atomic_c_files) sync/atomic.lo
2512 $(LTCOMPILE) -c -o $@ $(srcdir)/go/sync/atomic/atomic.c
2513 sync/atomic/check: $(CHECK_DEPS)
2514- @$(MKDIR_P) sync/atomic
2515 @$(CHECK)
2516 .PHONY: sync/atomic/check
be75205b 2517
fa8f00c5
PS
2518@@ -5700,7 +5600,6 @@
2519 text/scanner.lo: $(go_text_scanner_files)
2520 $(BUILDPACKAGE)
2521 text/scanner/check: $(CHECK_DEPS)
2522- @$(MKDIR_P) text/scanner
2523 @$(CHECK)
2524 .PHONY: text/scanner/check
be75205b 2525
fa8f00c5
PS
2526@@ -5710,7 +5609,6 @@
2527 text/tabwriter.lo: $(go_text_tabwriter_files)
2528 $(BUILDPACKAGE)
2529 text/tabwriter/check: $(CHECK_DEPS)
2530- @$(MKDIR_P) text/tabwriter
2531 @$(CHECK)
2532 .PHONY: text/tabwriter/check
be75205b 2533
fa8f00c5
PS
2534@@ -5729,7 +5627,6 @@
2535 text/template/parse.lo: $(go_text_template_parse_files)
2536 $(BUILDPACKAGE)
2537 text/template/parse/check: $(CHECK_DEPS)
2538- @$(MKDIR_P) text/template/parse
2539 @$(CHECK)
2540 .PHONY: text/template/parse/check
be75205b 2541
fa8f00c5
PS
2542@@ -5739,7 +5636,6 @@
2543 testing/iotest.lo: $(go_testing_iotest_files)
2544 $(BUILDPACKAGE)
2545 testing/iotest/check: $(CHECK_DEPS)
2546- @$(MKDIR_P) testing/iotest
2547 @$(CHECK)
2548 .PHONY: testing/iotest/check
be75205b 2549
fa8f00c5
PS
2550@@ -5749,7 +5645,6 @@
2551 testing/quick.lo: $(go_testing_quick_files)
2552 $(BUILDPACKAGE)
2553 testing/quick/check: $(CHECK_DEPS)
2554- @$(MKDIR_P) testing/quick
2555 @$(CHECK)
2556 .PHONY: testing/quick/check
ad222a6b 2557
fa8f00c5
PS
2558@@ -5759,7 +5654,6 @@
2559 unicode/utf16.lo: $(go_unicode_utf16_files)
2560 $(BUILDPACKAGE)
2561 unicode/utf16/check: $(CHECK_DEPS)
2562- @$(MKDIR_P) unicode/utf16
2563 @$(CHECK)
2564 .PHONY: unicode/utf16/check
ad222a6b 2565
fa8f00c5
PS
2566@@ -5769,7 +5663,6 @@
2567 unicode/utf8.lo: $(go_unicode_utf8_files)
2568 $(BUILDPACKAGE)
2569 unicode/utf8/check: $(CHECK_DEPS)
2570- @$(MKDIR_P) unicode/utf8
2571 @$(CHECK)
2572 .PHONY: unicode/utf8/check
ad222a6b 2573
fa8f00c5 2574Index: libgo/runtime/go-traceback.c
be75205b 2575===================================================================
fa8f00c5
PS
2576--- libgo/runtime/go-traceback.c (.../tags/gcc_4_7_1_release) (wersja 188635)
2577+++ libgo/runtime/go-traceback.c (.../branches/gcc-4_7-branch) (wersja 188635)
2578@@ -35,8 +35,8 @@
2579 if (__go_file_line (pcbuf[i], &fn, &file, &line)
2580 && runtime_showframe (fn.__data))
2581 {
2582- runtime_printf ("%s\n", fn.__data);
2583- runtime_printf ("\t%s:%d\n", file.__data, line);
2584+ runtime_printf ("%S\n", fn);
2585+ runtime_printf ("\t%S:%d\n", file, line);
be75205b 2586 }
fa8f00c5 2587 }
be75205b 2588 }
fa8f00c5
PS
2589Index: libgo/go/os/dir.go
2590===================================================================
2591--- libgo/go/os/dir.go (.../tags/gcc_4_7_1_release) (wersja 188635)
2592+++ libgo/go/os/dir.go (.../branches/gcc-4_7-branch) (wersja 188635)
2593@@ -42,7 +42,11 @@
2594 if file.dirinfo == nil {
2595 file.dirinfo = new(dirInfo)
2596 file.dirinfo.buf = make([]byte, elen)
2597- file.dirinfo.dir = libc_opendir(syscall.StringBytePtr(file.name))
2598+ p := syscall.StringBytePtr(file.name)
2599+ syscall.Entersyscall()
2600+ r := libc_opendir(p)
2601+ syscall.Exitsyscall()
2602+ file.dirinfo.dir = r
2603 }
2604
2605 entry_dirent := unsafe.Pointer(&file.dirinfo.buf[0]).(*syscall.Dirent)
2606@@ -62,7 +66,10 @@
2607
2608 for n != 0 {
2609 var result *syscall.Dirent
2610- i := libc_readdir_r(dir, entry_dirent, &result)
2611+ pr := &result
2612+ syscall.Entersyscall()
2613+ i := libc_readdir_r(dir, entry_dirent, pr)
2614+ syscall.Exitsyscall()
2615 if i != 0 {
2616 return names, NewSyscallError("readdir_r", i)
2617 }
2618Index: libgo/go/os/user/lookup_unix.go
2619===================================================================
2620--- libgo/go/os/user/lookup_unix.go (.../tags/gcc_4_7_1_release) (wersja 188635)
2621+++ libgo/go/os/user/lookup_unix.go (.../branches/gcc-4_7-branch) (wersja 188635)
2622@@ -73,11 +73,14 @@
2623 const bufSize = 1024
2624 buf := make([]byte, bufSize)
2625 if lookupByName {
2626- rv := libc_getpwnam_r(syscall.StringBytePtr(username),
2627+ p := syscall.StringBytePtr(username)
2628+ syscall.Entersyscall()
2629+ rv := libc_getpwnam_r(p,
2630 &pwd,
2631 &buf[0],
2632 bufSize,
2633 &result)
2634+ syscall.Exitsyscall()
2635 if rv != 0 {
2636 return nil, fmt.Errorf("user: lookup username %s: %s", username, syscall.GetErrno())
2637 }
2638@@ -85,11 +88,13 @@
2639 return nil, UnknownUserError(username)
2640 }
2641 } else {
2642+ syscall.Entersyscall()
2643 rv := libc_getpwuid_r(syscall.Uid_t(uid),
2644 &pwd,
2645 &buf[0],
2646 bufSize,
2647 &result)
2648+ syscall.Exitsyscall()
2649 if rv != 0 {
2650 return nil, fmt.Errorf("user: lookup userid %d: %s", uid, syscall.GetErrno())
2651 }
2652Index: libgo/go/encoding/xml/marshal_test.go
2653===================================================================
2654--- libgo/go/encoding/xml/marshal_test.go (.../tags/gcc_4_7_1_release) (wersja 188635)
2655+++ libgo/go/encoding/xml/marshal_test.go (.../branches/gcc-4_7-branch) (wersja 188635)
2656@@ -726,7 +726,7 @@
2657 },
2658 {
2659 Value: map[*Ship]bool{nil: false},
2660- Err: "xml: unsupported type: map[*encoding/xml.Ship]bool",
2661+ Err: "xml: unsupported type: map[*xml.Ship]bool",
2662 Kind: reflect.Map,
2663 },
2664 {
2665Index: libgo/go/html/template/escape_test.go
2666===================================================================
2667--- libgo/go/html/template/escape_test.go (.../tags/gcc_4_7_1_release) (wersja 188635)
2668+++ libgo/go/html/template/escape_test.go (.../branches/gcc-4_7-branch) (wersja 188635)
2669@@ -226,7 +226,7 @@
2670 {
2671 "badMarshaler",
2672 `<button onclick='alert(1/{{.B}}in numbers)'>`,
2673- `<button onclick='alert(1/ /* json: error calling MarshalJSON for type *html/template.badMarshaler: invalid character &#39;f&#39; looking for beginning of object key string */null in numbers)'>`,
2674+ `<button onclick='alert(1/ /* json: error calling MarshalJSON for type *template.badMarshaler: invalid character &#39;f&#39; looking for beginning of object key string */null in numbers)'>`,
2675 },
2676 {
2677 "jsMarshaler",
2678Index: libgo/go/reflect/type.go
be75205b 2679===================================================================
fa8f00c5
PS
2680--- libgo/go/reflect/type.go (.../tags/gcc_4_7_1_release) (wersja 188635)
2681+++ libgo/go/reflect/type.go (.../branches/gcc-4_7-branch) (wersja 188635)
2682@@ -83,6 +83,9 @@
2683 // compare the Types directly.
2684 String() string
2685
2686+ // Used internally by gccgo--the string retaining quoting.
2687+ rawString() string
2688+
2689 // Kind returns the specific kind of this type.
2690 Kind() Kind
be75205b 2691
fa8f00c5
PS
2692@@ -432,8 +435,25 @@
2693 return canonicalize(t)
be75205b
PS
2694 }
2695
fa8f00c5
PS
2696-func (t *commonType) String() string { return *t.string }
2697+func (t *commonType) rawString() string { return *t.string }
be75205b 2698
fa8f00c5
PS
2699+func (t *commonType) String() string {
2700+ // For gccgo, strip out quoted strings.
2701+ s := *t.string
2702+ var q bool
2703+ r := make([]byte, len(s))
2704+ j := 0
2705+ for i := 0; i < len(s); i++ {
2706+ if s[i] == '\t' {
2707+ q = !q
2708+ } else if !q {
2709+ r[j] = s[i]
2710+ j++
2711+ }
2712+ }
2713+ return string(r[:j])
2714+}
2715+
2716 func (t *commonType) Size() uintptr { return t.size }
be75205b 2717
fa8f00c5
PS
2718 func (t *commonType) Bits() int {
2719@@ -942,7 +962,7 @@
2720 u := t.uncommon()
2721 var s string
2722 if u == nil || u.PkgPath() == "" {
2723- s = t.String()
2724+ s = t.rawString()
2725 } else {
2726 s = u.PkgPath() + "." + u.Name()
2727 }
2728Index: libgo/Makefile.am
be75205b 2729===================================================================
fa8f00c5
PS
2730--- libgo/Makefile.am (.../tags/gcc_4_7_1_release) (wersja 188635)
2731+++ libgo/Makefile.am (.../branches/gcc-4_7-branch) (wersja 188635)
2732@@ -1806,6 +1806,7 @@
2733 LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \
2734 LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \
2735 export LD_LIBRARY_PATH; \
2736+ $(MKDIR_P) $(@D); \
2737 rm -f $@-testsum $@-testlog; \
2738 if test "$(use_dejagnu)" = "yes"; then \
2739 $(SHELL) $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" --testname="$(@D)" --goarch="$(GOARCH)" $(GOTESTFLAGS); \
2740@@ -2106,7 +2107,6 @@
2741 archive/tar.lo: $(go_archive_tar_files)
2742 $(BUILDPACKAGE)
2743 archive/tar/check: $(CHECK_DEPS)
2744- @$(MKDIR_P) archive/tar
2745 @$(CHECK)
2746 .PHONY: archive/tar/check
be75205b 2747
fa8f00c5
PS
2748@@ -2116,7 +2116,6 @@
2749 archive/zip.lo: $(go_archive_zip_files)
2750 $(BUILDPACKAGE)
2751 archive/zip/check: $(CHECK_DEPS)
2752- @$(MKDIR_P) archive/zip
2753 @$(CHECK)
2754 .PHONY: archive/zip/check
be75205b 2755
fa8f00c5
PS
2756@@ -2126,7 +2125,6 @@
2757 compress/bzip2.lo: $(go_compress_bzip2_files)
2758 $(BUILDPACKAGE)
2759 compress/bzip2/check: $(CHECK_DEPS)
2760- @$(MKDIR_P) compress/bzip2
2761 @$(CHECK)
2762 .PHONY: compress/bzip2/check
be75205b 2763
fa8f00c5
PS
2764@@ -2136,7 +2134,6 @@
2765 compress/flate.lo: $(go_compress_flate_files)
2766 $(BUILDPACKAGE)
2767 compress/flate/check: $(CHECK_DEPS)
2768- @$(MKDIR_P) compress/flate
2769 @$(CHECK)
2770 .PHONY: compress/flate/check
be75205b 2771
fa8f00c5
PS
2772@@ -2146,7 +2143,6 @@
2773 compress/gzip.lo: $(go_compress_gzip_files)
2774 $(BUILDPACKAGE)
2775 compress/gzip/check: $(CHECK_DEPS)
2776- @$(MKDIR_P) compress/gzip
2777 @$(CHECK)
2778 .PHONY: compress/gzip/check
be75205b 2779
fa8f00c5
PS
2780@@ -2156,7 +2152,6 @@
2781 compress/lzw.lo: $(go_compress_lzw_files)
2782 $(BUILDPACKAGE)
2783 compress/lzw/check: $(CHECK_DEPS)
2784- @$(MKDIR_P) compress/lzw
2785 @$(CHECK)
2786 .PHONY: compress/lzw/check
be75205b 2787
fa8f00c5
PS
2788@@ -2166,7 +2161,6 @@
2789 compress/zlib.lo: $(go_compress_zlib_files)
2790 $(BUILDPACKAGE)
2791 compress/zlib/check: $(CHECK_DEPS)
2792- @$(MKDIR_P) compress/zlib
2793 @$(CHECK)
2794 .PHONY: compress/zlib/check
be75205b 2795
fa8f00c5
PS
2796@@ -2176,7 +2170,6 @@
2797 container/heap.lo: $(go_container_heap_files)
2798 $(BUILDPACKAGE)
2799 container/heap/check: $(CHECK_DEPS)
2800- @$(MKDIR_P) container/heap
2801 @$(CHECK)
2802 .PHONY: container/heap/check
be75205b 2803
fa8f00c5
PS
2804@@ -2186,7 +2179,6 @@
2805 container/list.lo: $(go_container_list_files)
2806 $(BUILDPACKAGE)
2807 container/list/check: $(CHECK_DEPS)
2808- @$(MKDIR_P) container/list
2809 @$(CHECK)
2810 .PHONY: container/list/check
be75205b 2811
fa8f00c5
PS
2812@@ -2196,7 +2188,6 @@
2813 container/ring.lo: $(go_container_ring_files)
2814 $(BUILDPACKAGE)
2815 container/ring/check: $(CHECK_DEPS)
2816- @$(MKDIR_P) container/ring
2817 @$(CHECK)
2818 .PHONY: container/ring/check
be75205b 2819
fa8f00c5
PS
2820@@ -2206,7 +2197,6 @@
2821 crypto/aes.lo: $(go_crypto_aes_files)
2822 $(BUILDPACKAGE)
2823 crypto/aes/check: $(CHECK_DEPS)
2824- @$(MKDIR_P) crypto/aes
2825 @$(CHECK)
2826 .PHONY: crypto/aes/check
be75205b 2827
fa8f00c5
PS
2828@@ -2216,7 +2206,6 @@
2829 crypto/cipher.lo: $(go_crypto_cipher_files)
2830 $(BUILDPACKAGE)
2831 crypto/cipher/check: $(CHECK_DEPS)
2832- @$(MKDIR_P) crypto/cipher
2833 @$(CHECK)
2834 .PHONY: crypto/cipher/check
be75205b 2835
fa8f00c5
PS
2836@@ -2226,7 +2215,6 @@
2837 crypto/des.lo: $(go_crypto_des_files)
2838 $(BUILDPACKAGE)
2839 crypto/des/check: $(CHECK_DEPS)
2840- @$(MKDIR_P) crypto/des
2841 @$(CHECK)
2842 .PHONY: crypto/des/check
be75205b 2843
fa8f00c5
PS
2844@@ -2236,7 +2224,6 @@
2845 crypto/dsa.lo: $(go_crypto_dsa_files)
2846 $(BUILDPACKAGE)
2847 crypto/dsa/check: $(CHECK_DEPS)
2848- @$(MKDIR_P) crypto/dsa
2849 @$(CHECK)
2850 .PHONY: crypto/dsa/check
be75205b 2851
fa8f00c5
PS
2852@@ -2246,7 +2233,6 @@
2853 crypto/ecdsa.lo: $(go_crypto_ecdsa_files)
2854 $(BUILDPACKAGE)
2855 crypto/ecdsa/check: $(CHECK_DEPS)
2856- @$(MKDIR_P) crypto/ecdsa
2857 @$(CHECK)
2858 .PHONY: crypto/ecdsa/check
be75205b 2859
fa8f00c5
PS
2860@@ -2256,7 +2242,6 @@
2861 crypto/elliptic.lo: $(go_crypto_elliptic_files)
2862 $(BUILDPACKAGE)
2863 crypto/elliptic/check: $(CHECK_DEPS)
2864- @$(MKDIR_P) crypto/elliptic
2865 @$(CHECK)
2866 .PHONY: crypto/elliptic/check
be75205b 2867
fa8f00c5
PS
2868@@ -2266,7 +2251,6 @@
2869 crypto/hmac.lo: $(go_crypto_hmac_files)
2870 $(BUILDPACKAGE)
2871 crypto/hmac/check: $(CHECK_DEPS)
2872- @$(MKDIR_P) crypto/hmac
2873 @$(CHECK)
2874 .PHONY: crypto/hmac/check
be75205b 2875
fa8f00c5
PS
2876@@ -2276,7 +2260,6 @@
2877 crypto/md5.lo: $(go_crypto_md5_files)
2878 $(BUILDPACKAGE)
2879 crypto/md5/check: $(CHECK_DEPS)
2880- @$(MKDIR_P) crypto/md5
2881 @$(CHECK)
2882 .PHONY: crypto/md5/check
be75205b 2883
fa8f00c5
PS
2884@@ -2286,7 +2269,6 @@
2885 crypto/rand.lo: $(go_crypto_rand_files)
be75205b 2886 $(BUILDPACKAGE)
fa8f00c5
PS
2887 crypto/rand/check: $(CHECK_DEPS)
2888- @$(MKDIR_P) crypto/rand
be75205b 2889 @$(CHECK)
fa8f00c5 2890 .PHONY: crypto/rand/check
be75205b 2891
fa8f00c5
PS
2892@@ -2296,7 +2278,6 @@
2893 crypto/rc4.lo: $(go_crypto_rc4_files)
be75205b 2894 $(BUILDPACKAGE)
fa8f00c5
PS
2895 crypto/rc4/check: $(CHECK_DEPS)
2896- @$(MKDIR_P) crypto/rc4
be75205b 2897 @$(CHECK)
fa8f00c5 2898 .PHONY: crypto/rc4/check
be75205b 2899
fa8f00c5
PS
2900@@ -2306,7 +2287,6 @@
2901 crypto/rsa.lo: $(go_crypto_rsa_files)
be75205b 2902 $(BUILDPACKAGE)
fa8f00c5
PS
2903 crypto/rsa/check: $(CHECK_DEPS)
2904- @$(MKDIR_P) crypto/rsa
be75205b 2905 @$(CHECK)
fa8f00c5 2906 .PHONY: crypto/rsa/check
be75205b 2907
fa8f00c5
PS
2908@@ -2316,7 +2296,6 @@
2909 crypto/sha1.lo: $(go_crypto_sha1_files)
be75205b 2910 $(BUILDPACKAGE)
fa8f00c5
PS
2911 crypto/sha1/check: $(CHECK_DEPS)
2912- @$(MKDIR_P) crypto/sha1
be75205b 2913 @$(CHECK)
fa8f00c5 2914 .PHONY: crypto/sha1/check
be75205b 2915
fa8f00c5
PS
2916@@ -2326,7 +2305,6 @@
2917 crypto/sha256.lo: $(go_crypto_sha256_files)
be75205b 2918 $(BUILDPACKAGE)
fa8f00c5
PS
2919 crypto/sha256/check: $(CHECK_DEPS)
2920- @$(MKDIR_P) crypto/sha256
be75205b 2921 @$(CHECK)
fa8f00c5 2922 .PHONY: crypto/sha256/check
be75205b 2923
fa8f00c5
PS
2924@@ -2336,7 +2314,6 @@
2925 crypto/sha512.lo: $(go_crypto_sha512_files)
be75205b 2926 $(BUILDPACKAGE)
fa8f00c5
PS
2927 crypto/sha512/check: $(CHECK_DEPS)
2928- @$(MKDIR_P) crypto/sha512
be75205b 2929 @$(CHECK)
fa8f00c5 2930 .PHONY: crypto/sha512/check
be75205b 2931
fa8f00c5
PS
2932@@ -2346,7 +2323,6 @@
2933 crypto/subtle.lo: $(go_crypto_subtle_files)
be75205b 2934 $(BUILDPACKAGE)
fa8f00c5
PS
2935 crypto/subtle/check: $(CHECK_DEPS)
2936- @$(MKDIR_P) crypto/subtle
be75205b 2937 @$(CHECK)
fa8f00c5 2938 .PHONY: crypto/subtle/check
be75205b 2939
fa8f00c5
PS
2940@@ -2356,7 +2332,6 @@
2941 crypto/tls.lo: $(go_crypto_tls_files)
be75205b 2942 $(BUILDPACKAGE)
fa8f00c5
PS
2943 crypto/tls/check: $(CHECK_DEPS)
2944- @$(MKDIR_P) crypto/tls
be75205b 2945 @$(CHECK)
fa8f00c5 2946 .PHONY: crypto/tls/check
be75205b 2947
fa8f00c5
PS
2948@@ -2366,7 +2341,6 @@
2949 crypto/x509.lo: $(go_crypto_x509_files)
be75205b 2950 $(BUILDPACKAGE)
fa8f00c5
PS
2951 crypto/x509/check: $(CHECK_DEPS)
2952- @$(MKDIR_P) crypto/x509
be75205b 2953 @$(CHECK)
fa8f00c5 2954 .PHONY: crypto/x509/check
be75205b 2955
fa8f00c5
PS
2956@@ -2376,7 +2350,6 @@
2957 crypto/x509/pkix.lo: $(go_crypto_x509_pkix_files)
be75205b 2958 $(BUILDPACKAGE)
fa8f00c5
PS
2959 crypto/x509/pkix/check: $(CHECK_DEPS)
2960- @$(MKDIR_P) crypto/x509/pkix
be75205b 2961 @$(CHECK)
fa8f00c5 2962 .PHONY: crypto/x509/pkix/check
be75205b 2963
fa8f00c5
PS
2964@@ -2386,7 +2359,6 @@
2965 database/sql.lo: $(go_database_sql_files)
be75205b 2966 $(BUILDPACKAGE)
fa8f00c5
PS
2967 database/sql/check: $(CHECK_DEPS)
2968- @$(MKDIR_P) database/sql
be75205b 2969 @$(CHECK)
fa8f00c5 2970 .PHONY: database/sql/check
be75205b 2971
fa8f00c5
PS
2972@@ -2396,7 +2368,6 @@
2973 database/sql/driver.lo: $(go_database_sql_driver_files)
be75205b 2974 $(BUILDPACKAGE)
fa8f00c5
PS
2975 database/sql/driver/check: $(CHECK_DEPS)
2976- @$(MKDIR_P) database/sql/driver
be75205b 2977 @$(CHECK)
fa8f00c5 2978 .PHONY: database/sql/driver/check
be75205b 2979
fa8f00c5
PS
2980@@ -2406,7 +2377,6 @@
2981 debug/dwarf.lo: $(go_debug_dwarf_files)
2982 $(BUILDPACKAGE)
2983 debug/dwarf/check: $(CHECK_DEPS)
2984- @$(MKDIR_P) debug/dwarf
be75205b 2985 @$(CHECK)
fa8f00c5 2986 .PHONY: debug/dwarf/check
be75205b 2987
fa8f00c5
PS
2988@@ -2416,7 +2386,6 @@
2989 debug/elf.lo: $(go_debug_elf_files)
be75205b 2990 $(BUILDPACKAGE)
fa8f00c5
PS
2991 debug/elf/check: $(CHECK_DEPS)
2992- @$(MKDIR_P) debug/elf
be75205b 2993 @$(CHECK)
fa8f00c5 2994 .PHONY: debug/elf/check
be75205b 2995
fa8f00c5
PS
2996@@ -2426,7 +2395,6 @@
2997 debug/gosym.lo: $(go_debug_gosym_files)
be75205b 2998 $(BUILDPACKAGE)
fa8f00c5
PS
2999 debug/gosym/check: $(CHECK_DEPS)
3000- @$(MKDIR_P) debug/gosym
be75205b 3001 @$(CHECK)
fa8f00c5 3002 .PHONY: debug/gosym/check
be75205b 3003
fa8f00c5
PS
3004@@ -2436,7 +2404,6 @@
3005 debug/macho.lo: $(go_debug_macho_files)
be75205b 3006 $(BUILDPACKAGE)
fa8f00c5
PS
3007 debug/macho/check: $(CHECK_DEPS)
3008- @$(MKDIR_P) debug/macho
be75205b 3009 @$(CHECK)
fa8f00c5 3010 .PHONY: debug/macho/check
be75205b 3011
fa8f00c5
PS
3012@@ -2446,7 +2413,6 @@
3013 debug/pe.lo: $(go_debug_pe_files)
be75205b 3014 $(BUILDPACKAGE)
fa8f00c5
PS
3015 debug/pe/check: $(CHECK_DEPS)
3016- @$(MKDIR_P) debug/pe
be75205b 3017 @$(CHECK)
fa8f00c5 3018 .PHONY: debug/pe/check
be75205b 3019
fa8f00c5
PS
3020@@ -2456,7 +2422,6 @@
3021 encoding/asn1.lo: $(go_encoding_asn1_files)
be75205b 3022 $(BUILDPACKAGE)
fa8f00c5
PS
3023 encoding/asn1/check: $(CHECK_DEPS)
3024- @$(MKDIR_P) encoding/asn1
be75205b 3025 @$(CHECK)
fa8f00c5 3026 .PHONY: encoding/asn1/check
be75205b 3027
fa8f00c5
PS
3028@@ -2466,7 +2431,6 @@
3029 encoding/ascii85.lo: $(go_encoding_ascii85_files)
be75205b 3030 $(BUILDPACKAGE)
fa8f00c5
PS
3031 encoding/ascii85/check: $(CHECK_DEPS)
3032- @$(MKDIR_P) encoding/ascii85
be75205b 3033 @$(CHECK)
fa8f00c5 3034 .PHONY: encoding/ascii85/check
be75205b 3035
fa8f00c5
PS
3036@@ -2476,7 +2440,6 @@
3037 encoding/base32.lo: $(go_encoding_base32_files)
be75205b 3038 $(BUILDPACKAGE)
fa8f00c5
PS
3039 encoding/base32/check: $(CHECK_DEPS)
3040- @$(MKDIR_P) encoding/base32
be75205b 3041 @$(CHECK)
fa8f00c5 3042 .PHONY: encoding/base32/check
be75205b 3043
fa8f00c5
PS
3044@@ -2486,7 +2449,6 @@
3045 encoding/base64.lo: $(go_encoding_base64_files)
be75205b 3046 $(BUILDPACKAGE)
fa8f00c5
PS
3047 encoding/base64/check: $(CHECK_DEPS)
3048- @$(MKDIR_P) encoding/base64
be75205b 3049 @$(CHECK)
fa8f00c5 3050 .PHONY: encoding/base64/check
be75205b 3051
fa8f00c5
PS
3052@@ -2496,7 +2458,6 @@
3053 encoding/binary.lo: $(go_encoding_binary_files)
be75205b 3054 $(BUILDPACKAGE)
fa8f00c5
PS
3055 encoding/binary/check: $(CHECK_DEPS)
3056- @$(MKDIR_P) encoding/binary
be75205b 3057 @$(CHECK)
fa8f00c5 3058 .PHONY: encoding/binary/check
be75205b 3059
fa8f00c5
PS
3060@@ -2506,7 +2467,6 @@
3061 encoding/csv.lo: $(go_encoding_csv_files)
be75205b 3062 $(BUILDPACKAGE)
fa8f00c5
PS
3063 encoding/csv/check: $(CHECK_DEPS)
3064- @$(MKDIR_P) encoding/csv
be75205b 3065 @$(CHECK)
fa8f00c5 3066 .PHONY: encoding/csv/check
be75205b 3067
fa8f00c5
PS
3068@@ -2516,7 +2476,6 @@
3069 encoding/gob.lo: $(go_encoding_gob_files)
be75205b 3070 $(BUILDPACKAGE)
fa8f00c5
PS
3071 encoding/gob/check: $(CHECK_DEPS)
3072- @$(MKDIR_P) encoding/gob
be75205b 3073 @$(CHECK)
fa8f00c5 3074 .PHONY: encoding/gob/check
be75205b 3075
fa8f00c5
PS
3076@@ -2526,7 +2485,6 @@
3077 encoding/hex.lo: $(go_encoding_hex_files)
be75205b 3078 $(BUILDPACKAGE)
fa8f00c5
PS
3079 encoding/hex/check: $(CHECK_DEPS)
3080- @$(MKDIR_P) encoding/hex
be75205b 3081 @$(CHECK)
fa8f00c5 3082 .PHONY: encoding/hex/check
be75205b 3083
fa8f00c5
PS
3084@@ -2536,7 +2494,6 @@
3085 encoding/json.lo: $(go_encoding_json_files)
be75205b 3086 $(BUILDPACKAGE)
fa8f00c5
PS
3087 encoding/json/check: $(CHECK_DEPS)
3088- @$(MKDIR_P) encoding/json
be75205b 3089 @$(CHECK)
fa8f00c5 3090 .PHONY: encoding/json/check
be75205b 3091
fa8f00c5
PS
3092@@ -2546,7 +2503,6 @@
3093 encoding/pem.lo: $(go_encoding_pem_files)
be75205b 3094 $(BUILDPACKAGE)
fa8f00c5
PS
3095 encoding/pem/check: $(CHECK_DEPS)
3096- @$(MKDIR_P) encoding/pem
be75205b 3097 @$(CHECK)
fa8f00c5
PS
3098 .PHONY: encoding/pem/check
3099
3100@@ -2556,7 +2512,6 @@
3101 encoding/xml.lo: $(go_encoding_xml_files)
be75205b 3102 $(BUILDPACKAGE)
fa8f00c5
PS
3103 encoding/xml/check: $(CHECK_DEPS)
3104- @$(MKDIR_P) encoding/xml
be75205b 3105 @$(CHECK)
fa8f00c5 3106 .PHONY: encoding/xml/check
be75205b 3107
fa8f00c5
PS
3108@@ -2566,7 +2521,6 @@
3109 exp/ebnf.lo: $(go_exp_ebnf_files)
3110 $(BUILDPACKAGE)
3111 exp/ebnf/check: $(CHECK_DEPS)
3112- @$(MKDIR_P) exp/ebnf
be75205b 3113 @$(CHECK)
fa8f00c5 3114 .PHONY: exp/ebnf/check
be75205b 3115
fa8f00c5
PS
3116@@ -2576,7 +2530,6 @@
3117 exp/html.lo: $(go_exp_html_files)
be75205b 3118 $(BUILDPACKAGE)
fa8f00c5
PS
3119 exp/html/check: $(CHECK_DEPS)
3120- @$(MKDIR_P) exp/html
3121 @$(CHECK)
3122 .PHONY: exp/html/check
be75205b 3123
fa8f00c5
PS
3124@@ -2586,7 +2539,6 @@
3125 exp/norm.lo: $(go_exp_norm_files)
3126 $(BUILDPACKAGE)
3127 exp/norm/check: $(CHECK_DEPS)
3128- @$(MKDIR_P) exp/norm
3129 @$(CHECK)
3130 .PHONY: exp/norm/check
be75205b 3131
fa8f00c5
PS
3132@@ -2596,7 +2548,6 @@
3133 exp/proxy.lo: $(go_exp_proxy_files)
3134 $(BUILDPACKAGE)
3135 exp/proxy/check: $(CHECK_DEPS)
3136- @$(MKDIR_P) exp/proxy
3137 @$(CHECK)
3138 .PHONY: exp/proxy/check
be75205b 3139
fa8f00c5
PS
3140@@ -2606,7 +2557,6 @@
3141 exp/terminal.lo: $(go_exp_terminal_files)
3142 $(BUILDPACKAGE)
3143 exp/terminal/check: $(CHECK_DEPS)
3144- @$(MKDIR_P) exp/terminal
3145 @$(CHECK)
3146 .PHONY: exp/terminal/check
be75205b 3147
fa8f00c5
PS
3148@@ -2616,7 +2566,6 @@
3149 exp/types.lo: $(go_exp_types_files)
3150 $(BUILDPACKAGE)
3151 exp/types/check: $(CHECK_DEPS)
3152- @$(MKDIR_P) exp/types
3153 @$(CHECK)
3154 .PHONY: exp/types/check
be75205b 3155
fa8f00c5
PS
3156@@ -2626,7 +2575,6 @@
3157 exp/utf8string.lo: $(go_exp_utf8string_files)
3158 $(BUILDPACKAGE)
3159 exp/utf8string/check: $(CHECK_DEPS)
3160- @$(MKDIR_P) exp/utf8string
3161 @$(CHECK)
3162 .PHONY: exp/utf8string/check
be75205b 3163
fa8f00c5
PS
3164@@ -2636,7 +2584,6 @@
3165 exp/inotify.lo: $(go_exp_inotify_files)
3166 $(BUILDPACKAGE)
3167 exp/inotify/check: $(CHECK_DEPS)
3168- @$(MKDIR_P) exp/inotify
3169 @$(CHECK)
3170 .PHONY: exp/inotify/check
be75205b 3171
fa8f00c5
PS
3172@@ -2646,7 +2593,6 @@
3173 html/template.lo: $(go_html_template_files)
3174 $(BUILDPACKAGE)
3175 html/template/check: $(CHECK_DEPS)
3176- @$(MKDIR_P) html/template
3177 @$(CHECK)
3178 .PHONY: html/template/check
be75205b 3179
fa8f00c5
PS
3180@@ -2656,7 +2602,6 @@
3181 go/ast.lo: $(go_go_ast_files)
3182 $(BUILDPACKAGE)
3183 go/ast/check: $(CHECK_DEPS)
3184- @$(MKDIR_P) go/ast
3185 @$(CHECK)
3186 .PHONY: go/ast/check
be75205b 3187
fa8f00c5
PS
3188@@ -2666,7 +2611,6 @@
3189 go/build.lo: $(go_go_build_files)
3190 $(BUILDPACKAGE)
3191 go/build/check: $(CHECK_DEPS)
3192- @$(MKDIR_P) go/build
3193 @$(CHECK)
3194 .PHONY: go/build/check
be75205b 3195
fa8f00c5
PS
3196@@ -2685,7 +2629,6 @@
3197 go/doc.lo: $(go_go_doc_files)
3198 $(BUILDPACKAGE)
3199 go/doc/check: $(CHECK_DEPS)
3200- @$(MKDIR_P) go/doc
3201 @$(CHECK)
3202 .PHONY: go/doc/check
be75205b 3203
fa8f00c5
PS
3204@@ -2695,7 +2638,6 @@
3205 go/parser.lo: $(go_go_parser_files)
3206 $(BUILDPACKAGE)
3207 go/parser/check: $(CHECK_DEPS)
3208- @$(MKDIR_P) go/parser
3209 @$(CHECK)
3210 .PHONY: go/parser/check
ad222a6b 3211
fa8f00c5
PS
3212@@ -2705,7 +2647,6 @@
3213 go/printer.lo: $(go_go_printer_files)
3214 $(BUILDPACKAGE)
3215 go/printer/check: $(CHECK_DEPS)
3216- @$(MKDIR_P) go/printer
3217 @$(CHECK)
3218 .PHONY: go/printer/check
ad222a6b 3219
fa8f00c5
PS
3220@@ -2715,7 +2656,6 @@
3221 go/scanner.lo: $(go_go_scanner_files)
3222 $(BUILDPACKAGE)
3223 go/scanner/check: $(CHECK_DEPS)
3224- @$(MKDIR_P) go/scanner
3225 @$(CHECK)
3226 .PHONY: go/scanner/check
ad222a6b 3227
fa8f00c5
PS
3228@@ -2725,7 +2665,6 @@
3229 go/token.lo: $(go_go_token_files)
3230 $(BUILDPACKAGE)
3231 go/token/check: $(CHECK_DEPS)
3232- @$(MKDIR_P) go/token
3233 @$(CHECK)
3234 .PHONY: go/token/check
ad222a6b 3235
fa8f00c5
PS
3236@@ -2735,7 +2674,6 @@
3237 hash/adler32.lo: $(go_hash_adler32_files)
3238 $(BUILDPACKAGE)
3239 hash/adler32/check: $(CHECK_DEPS)
3240- @$(MKDIR_P) hash/adler32
3241 @$(CHECK)
3242 .PHONY: hash/adler32/check
ad222a6b 3243
fa8f00c5
PS
3244@@ -2745,7 +2683,6 @@
3245 hash/crc32.lo: $(go_hash_crc32_files)
3246 $(BUILDPACKAGE)
3247 hash/crc32/check: $(CHECK_DEPS)
3248- @$(MKDIR_P) hash/crc32
3249 @$(CHECK)
3250 .PHONY: hash/crc32/check
ad222a6b 3251
fa8f00c5
PS
3252@@ -2755,7 +2692,6 @@
3253 hash/crc64.lo: $(go_hash_crc64_files)
3254 $(BUILDPACKAGE)
3255 hash/crc64/check: $(CHECK_DEPS)
3256- @$(MKDIR_P) hash/crc64
3257 @$(CHECK)
3258 .PHONY: hash/crc64/check
ad222a6b 3259
fa8f00c5
PS
3260@@ -2765,7 +2701,6 @@
3261 hash/fnv.lo: $(go_hash_fnv_files)
3262 $(BUILDPACKAGE)
3263 hash/fnv/check: $(CHECK_DEPS)
3264- @$(MKDIR_P) hash/fnv
3265 @$(CHECK)
3266 .PHONY: hash/fnv/check
ad222a6b 3267
fa8f00c5
PS
3268@@ -2775,7 +2710,6 @@
3269 image/color.lo: $(go_image_color_files)
3270 $(BUILDPACKAGE)
3271 image/color/check: $(CHECK_DEPS)
3272- @$(MKDIR_P) image/color
3273 @$(CHECK)
3274 .PHONY: image/color/check
be75205b 3275
fa8f00c5
PS
3276@@ -2785,7 +2719,6 @@
3277 image/draw.lo: $(go_image_draw_files)
3278 $(BUILDPACKAGE)
3279 image/draw/check: $(CHECK_DEPS)
3280- @$(MKDIR_P) image/draw
3281 @$(CHECK)
3282 .PHONY: image/draw/check
3283
3284@@ -2795,7 +2728,6 @@
3285 image/gif.lo: $(go_image_gif_files)
3286 $(BUILDPACKAGE)
3287 image/gif/check: $(CHECK_DEPS)
3288- @$(MKDIR_P) image/gif
3289 @$(CHECK)
3290 .PHONY: image/gif/check
be75205b 3291
fa8f00c5
PS
3292@@ -2805,7 +2737,6 @@
3293 image/jpeg.lo: $(go_image_jpeg_files)
3294 $(BUILDPACKAGE)
3295 image/jpeg/check: $(CHECK_DEPS)
3296- @$(MKDIR_P) image/jpeg
3297 @$(CHECK)
3298 .PHONY: image/jpeg/check
be75205b 3299
fa8f00c5
PS
3300@@ -2815,7 +2746,6 @@
3301 image/png.lo: $(go_image_png_files)
3302 $(BUILDPACKAGE)
3303 image/png/check: $(CHECK_DEPS)
3304- @$(MKDIR_P) image/png
3305 @$(CHECK)
3306 .PHONY: image/png/check
be75205b 3307
fa8f00c5
PS
3308@@ -2825,7 +2755,6 @@
3309 index/suffixarray.lo: $(go_index_suffixarray_files)
3310 $(BUILDPACKAGE)
3311 index/suffixarray/check: $(CHECK_DEPS)
3312- @$(MKDIR_P) index/suffixarray
3313 @$(CHECK)
3314 .PHONY: index/suffixarray/check
be75205b 3315
fa8f00c5
PS
3316@@ -2835,7 +2764,6 @@
3317 io/ioutil.lo: $(go_io_ioutil_files)
3318 $(BUILDPACKAGE)
3319 io/ioutil/check: $(CHECK_DEPS)
3320- @$(MKDIR_P) io/ioutil
3321 @$(CHECK)
3322 .PHONY: io/ioutil/check
be75205b 3323
fa8f00c5
PS
3324@@ -2848,7 +2776,6 @@
3325 @$(MKDIR_P) log/syslog
3326 $(LTCOMPILE) -c -o $@ $(srcdir)/go/log/syslog/syslog_c.c
3327 log/syslog/check: $(CHECK_DEPS)
3328- @$(MKDIR_P) log/syslog
3329 @$(CHECK)
3330 .PHONY: log/syslog/check
be75205b 3331
fa8f00c5
PS
3332@@ -2858,7 +2785,6 @@
3333 math/big.lo: $(go_math_big_files)
3334 $(BUILDPACKAGE)
3335 math/big/check: $(CHECK_DEPS)
3336- @$(MKDIR_P) math/big
3337 @$(CHECK)
3338 .PHONY: math/big/check
be75205b 3339
fa8f00c5
PS
3340@@ -2868,7 +2794,6 @@
3341 math/cmplx.lo: $(go_math_cmplx_files)
3342 $(BUILDPACKAGE)
3343 math/cmplx/check: $(CHECK_DEPS)
3344- @$(MKDIR_P) math/cmplx
3345 @$(CHECK)
3346 .PHONY: math/cmplx/check
be75205b 3347
fa8f00c5
PS
3348@@ -2878,7 +2803,6 @@
3349 math/rand.lo: $(go_math_rand_files)
3350 $(BUILDPACKAGE)
3351 math/rand/check: $(CHECK_DEPS)
3352- @$(MKDIR_P) math/rand
3353 @$(CHECK)
3354 .PHONY: math/rand/check
be75205b 3355
fa8f00c5
PS
3356@@ -2888,7 +2812,6 @@
3357 mime/multipart.lo: $(go_mime_multipart_files)
3358 $(BUILDPACKAGE)
3359 mime/multipart/check: $(CHECK_DEPS)
3360- @$(MKDIR_P) mime/multipart
3361 @$(CHECK)
3362 .PHONY: mime/multipart/check
be75205b 3363
fa8f00c5
PS
3364@@ -2898,7 +2821,6 @@
3365 net/http.lo: $(go_net_http_files)
3366 $(BUILDPACKAGE)
3367 net/http/check: $(CHECK_DEPS)
3368- @$(MKDIR_P) net/http
3369 @$(CHECK)
3370 .PHONY: net/http/check
be75205b 3371
fa8f00c5
PS
3372@@ -2908,7 +2830,6 @@
3373 net/mail.lo: $(go_net_mail_files)
3374 $(BUILDPACKAGE)
3375 net/mail/check: $(CHECK_DEPS)
3376- @$(MKDIR_P) net/mail
3377 @$(CHECK)
3378 .PHONY: net/mail/check
be75205b 3379
fa8f00c5
PS
3380@@ -2918,7 +2839,6 @@
3381 net/rpc.lo: $(go_net_rpc_files)
3382 $(BUILDPACKAGE)
3383 net/rpc/check: $(CHECK_DEPS)
3384- @$(MKDIR_P) net/rpc
3385 @$(CHECK)
3386 .PHONY: net/rpc/check
be75205b 3387
fa8f00c5
PS
3388@@ -2928,7 +2848,6 @@
3389 net/smtp.lo: $(go_net_smtp_files)
3390 $(BUILDPACKAGE)
3391 net/smtp/check: $(CHECK_DEPS)
3392- @$(MKDIR_P) net/smtp
3393 @$(CHECK)
3394 .PHONY: net/smtp/check
be75205b 3395
fa8f00c5
PS
3396@@ -2938,7 +2857,6 @@
3397 net/url.lo: $(go_net_url_files)
3398 $(BUILDPACKAGE)
3399 net/url/check: $(CHECK_DEPS)
3400- @$(MKDIR_P) net/url
3401 @$(CHECK)
3402 .PHONY: net/url/check
be75205b 3403
fa8f00c5
PS
3404@@ -2948,7 +2866,6 @@
3405 net/textproto.lo: $(go_net_textproto_files)
3406 $(BUILDPACKAGE)
3407 net/textproto/check: $(CHECK_DEPS)
3408- @$(MKDIR_P) net/textproto
3409 @$(CHECK)
3410 .PHONY: net/textproto/check
be75205b 3411
fa8f00c5
PS
3412@@ -2958,7 +2875,6 @@
3413 net/http/cgi.lo: $(go_net_http_cgi_files)
3414 $(BUILDPACKAGE)
3415 net/http/cgi/check: $(CHECK_DEPS)
3416- @$(MKDIR_P) net/http/cgi
3417 @$(CHECK)
3418 .PHONY: net/http/cgi/check
be75205b 3419
fa8f00c5
PS
3420@@ -2968,7 +2884,6 @@
3421 net/http/fcgi.lo: $(go_net_http_fcgi_files)
3422 $(BUILDPACKAGE)
3423 net/http/fcgi/check: $(CHECK_DEPS)
3424- @$(MKDIR_P) net/http/fcgi
3425 @$(CHECK)
3426 .PHONY: net/http/fcgi/check
be75205b 3427
fa8f00c5
PS
3428@@ -2978,7 +2893,6 @@
3429 net/http/httptest.lo: $(go_net_http_httptest_files)
3430 $(BUILDPACKAGE)
3431 net/http/httptest/check: $(check_deps)
3432- @$(MKDIR_P) net/http/httptest
3433 @$(CHECK)
3434 .PHONY: net/http/httptest/check
be75205b 3435
fa8f00c5
PS
3436@@ -2988,7 +2902,6 @@
3437 net/http/httputil.lo: $(go_net_http_httputil_files)
3438 $(BUILDPACKAGE)
3439 net/http/httputil/check: $(check_deps)
3440- @$(MKDIR_P) net/http/httputil
3441 @$(CHECK)
3442 .PHONY: net/http/httputil/check
be75205b 3443
fa8f00c5
PS
3444@@ -2998,7 +2911,6 @@
3445 net/http/pprof.lo: $(go_net_http_pprof_files)
3446 $(BUILDPACKAGE)
3447 net/http/pprof/check: $(CHECK_DEPS)
3448- @$(MKDIR_P) net/http/pprof
3449 @$(CHECK)
3450 .PHONY: net/http/pprof/check
be75205b 3451
fa8f00c5
PS
3452@@ -3008,7 +2920,6 @@
3453 net/rpc/jsonrpc.lo: $(go_net_rpc_jsonrpc_files)
3454 $(BUILDPACKAGE)
3455 net/rpc/jsonrpc/check: $(CHECK_DEPS)
3456- @$(MKDIR_P) net/rpc/jsonrpc
3457 @$(CHECK)
3458 .PHONY: net/rpc/jsonrpc/check
be75205b 3459
fa8f00c5
PS
3460@@ -3018,7 +2929,6 @@
3461 old/netchan.lo: $(go_old_netchan_files)
3462 $(BUILDPACKAGE)
3463 old/netchan/check: $(CHECK_DEPS)
3464- @$(MKDIR_P) old/netchan
3465 @$(CHECK)
3466 .PHONY: old/netchan/check
be75205b 3467
fa8f00c5
PS
3468@@ -3028,7 +2938,6 @@
3469 old/regexp.lo: $(go_old_regexp_files)
3470 $(BUILDPACKAGE)
3471 old/regexp/check: $(CHECK_DEPS)
3472- @$(MKDIR_P) old/regexp
3473 @$(CHECK)
3474 .PHONY: old/regexp/check
be75205b 3475
fa8f00c5
PS
3476@@ -3038,7 +2947,6 @@
3477 old/template.lo: $(go_old_template_files)
3478 $(BUILDPACKAGE)
3479 old/template/check: $(CHECK_DEPS)
3480- @$(MKDIR_P) old/template
3481 @$(CHECK)
3482 .PHONY: old/template/check
be75205b 3483
fa8f00c5
PS
3484@@ -3048,7 +2956,6 @@
3485 os/exec.lo: $(go_os_exec_files)
3486 $(BUILDPACKAGE)
3487 os/exec/check: $(CHECK_DEPS)
3488- @$(MKDIR_P) os/exec
3489 @$(CHECK)
3490 .PHONY: os/exec/check
be75205b 3491
fa8f00c5
PS
3492@@ -3058,7 +2965,6 @@
3493 os/signal.lo: $(go_os_signal_files)
3494 $(BUILDPACKAGE)
3495 os/signal/check: $(CHECK_DEPS)
3496- @$(MKDIR_P) os/signal
3497 @$(CHECK)
3498 .PHONY: os/signal/check
be75205b 3499
fa8f00c5
PS
3500@@ -3068,7 +2974,6 @@
3501 os/user.lo: $(go_os_user_files)
3502 $(BUILDPACKAGE)
3503 os/user/check: $(CHECK_DEPS)
3504- @$(MKDIR_P) os/user
3505 @$(CHECK)
3506 .PHONY: os/user/check
be75205b 3507
fa8f00c5
PS
3508@@ -3078,7 +2983,6 @@
3509 path/filepath.lo: $(go_path_filepath_files)
3510 $(BUILDPACKAGE)
3511 path/filepath/check: $(CHECK_DEPS)
3512- @$(MKDIR_P) path/filepath
3513 @$(CHECK)
3514 .PHONY: path/filepath/check
be75205b 3515
fa8f00c5
PS
3516@@ -3088,7 +2992,6 @@
3517 regexp/syntax.lo: $(go_regexp_syntax_files)
3518 $(BUILDPACKAGE)
3519 regexp/syntax/check: $(CHECK_DEPS)
3520- @$(MKDIR_P) regexp/syntax
3521 @$(CHECK)
3522 .PHONY: regexp/syntax/check
be75205b 3523
fa8f00c5
PS
3524@@ -3098,7 +3001,6 @@
3525 runtime/debug.lo: $(go_runtime_debug_files)
3526 $(BUILDPACKAGE)
3527 runtime/debug/check: $(CHECK_DEPS)
3528- @$(MKDIR_P) runtime/debug
3529 @$(CHECK)
3530 .PHONY: runtime/debug/check
be75205b 3531
fa8f00c5
PS
3532@@ -3108,7 +3010,6 @@
3533 runtime/pprof.lo: $(go_runtime_pprof_files)
3534 $(BUILDPACKAGE)
3535 runtime/pprof/check: $(CHECK_DEPS)
3536- @$(MKDIR_P) runtime/pprof
3537 @$(CHECK)
3538 .PHONY: runtime/pprof/check
be75205b 3539
fa8f00c5
PS
3540@@ -3120,7 +3021,6 @@
3541 sync/atomic_c.lo: $(go_sync_atomic_c_files) sync/atomic.lo
3542 $(LTCOMPILE) -c -o $@ $(srcdir)/go/sync/atomic/atomic.c
3543 sync/atomic/check: $(CHECK_DEPS)
3544- @$(MKDIR_P) sync/atomic
3545 @$(CHECK)
3546 .PHONY: sync/atomic/check
be75205b 3547
fa8f00c5
PS
3548@@ -3130,7 +3030,6 @@
3549 text/scanner.lo: $(go_text_scanner_files)
3550 $(BUILDPACKAGE)
3551 text/scanner/check: $(CHECK_DEPS)
3552- @$(MKDIR_P) text/scanner
3553 @$(CHECK)
3554 .PHONY: text/scanner/check
be75205b 3555
fa8f00c5
PS
3556@@ -3140,7 +3039,6 @@
3557 text/tabwriter.lo: $(go_text_tabwriter_files)
3558 $(BUILDPACKAGE)
3559 text/tabwriter/check: $(CHECK_DEPS)
3560- @$(MKDIR_P) text/tabwriter
3561 @$(CHECK)
3562 .PHONY: text/tabwriter/check
be75205b 3563
fa8f00c5
PS
3564@@ -3159,7 +3057,6 @@
3565 text/template/parse.lo: $(go_text_template_parse_files)
3566 $(BUILDPACKAGE)
3567 text/template/parse/check: $(CHECK_DEPS)
3568- @$(MKDIR_P) text/template/parse
3569 @$(CHECK)
3570 .PHONY: text/template/parse/check
be75205b 3571
fa8f00c5
PS
3572@@ -3169,7 +3066,6 @@
3573 testing/iotest.lo: $(go_testing_iotest_files)
3574 $(BUILDPACKAGE)
3575 testing/iotest/check: $(CHECK_DEPS)
3576- @$(MKDIR_P) testing/iotest
3577 @$(CHECK)
3578 .PHONY: testing/iotest/check
be75205b 3579
fa8f00c5
PS
3580@@ -3179,7 +3075,6 @@
3581 testing/quick.lo: $(go_testing_quick_files)
3582 $(BUILDPACKAGE)
3583 testing/quick/check: $(CHECK_DEPS)
3584- @$(MKDIR_P) testing/quick
3585 @$(CHECK)
3586 .PHONY: testing/quick/check
be75205b 3587
fa8f00c5
PS
3588@@ -3189,7 +3084,6 @@
3589 unicode/utf16.lo: $(go_unicode_utf16_files)
3590 $(BUILDPACKAGE)
3591 unicode/utf16/check: $(CHECK_DEPS)
3592- @$(MKDIR_P) unicode/utf16
3593 @$(CHECK)
3594 .PHONY: unicode/utf16/check
be75205b 3595
fa8f00c5
PS
3596@@ -3199,7 +3093,6 @@
3597 unicode/utf8.lo: $(go_unicode_utf8_files)
3598 $(BUILDPACKAGE)
3599 unicode/utf8/check: $(CHECK_DEPS)
3600- @$(MKDIR_P) unicode/utf8
3601 @$(CHECK)
3602 .PHONY: unicode/utf8/check
be75205b 3603
This page took 0.899786 seconds and 4 git commands to generate.