Merge trunk version 221103 into gupc branch.
[official-gcc.git] / gcc / ChangeLog.upc
blob4b42e566d1b04f379aab5a790d027f41d8b171da
1 2015-03-02  Gary Funck  <gary@intrepid.com>
3         Merge trunk version 221103 into gupc branch.
5 2015-02-23  Gary Funck  <gary@intrepid.com>
7         Merge trunk version 220913 into gupc branch.
9 2015-02-16  Gary Funck  <gary@intrepid.com>
11         Merge trunk version 220722 into gupc branch.
13 2015-02-09  Gary Funck  <gary@intrepid.com>
15         Merge trunk version 220526 into gupc branch.
17 2015-02-02  Gary Funck  <gary@intrepid.com>
19         Merge trunk version 220345 into gupc branch.
21 2015-01-26  Gary Funck  <gary@intrepid.com>
23         Merge trunk version 220104 into gupc branch.
25 2015-01-19  Gary Funck  <gary@intrepid.com>
27         Merge trunk version 219833 into gupc branch.
29 2015-01-12  Gary Funck  <gary@intrepid.com>
31         Merge trunk version 219456 into gupc branch.
33 2015-01-05  Gary Funck  <gary@intrepid.com>
35         Merge trunk version 219182 into gupc branch.
37 2014-12-29  Gary Funck  <gary@intrepid.com>
39         Merge trunk version 219097 into gupc branch.
41 2014-12-22  Gary Funck  <gary@intrepid.com>
43         Merge trunk version 219006 into gupc branch.
45 2014-12-08  Gary Funck  <gary@intrepid.com>
47         Merge trunk version 218477 into gupc branch.
49 2014-12-01  Gary Funck  <gary@intrepid.com>
51         Merge trunk version 218203 into gupc branch.
53 2014-11-05  Gary Funck  <gary@intrepid.com>
55         Merge trunk version 217032 into gupc branch.
56         * c/c-upc-lang.c c/gupcspec.c c-family/c-upc.c
57         c-family/c-upc-gasp.c c-family/c-upc-low.c
58         c-family/c-upc-pts-ops.c c-family/c-upc-pts-packed.c
59         c-family/c-upc-pts-struct.c: Remove unnecessary #include's.
61 2014-10-27  Gary Funck  <gary@intrepid.com>
63         Merge trunk version 216723 into gupc branch.
65 2014-10-20  Gary Funck  <gary@intrepid.com>
67         Merge trunk version 216449 into gupc branch.
69 2014-10-13  Gary Funck  <gary@intrepid.com>
71         Merge trunk version 216139 into gupc branch.
73 2014-10-06  Gary Funck  <gary@intrepid.com>
75         Merge trunk version 215919 into gupc branch.
77 2014-09-29  Gary Funck  <gary@intrepid.com>
79         Merge trunk version 215678 into gupc branch.
81 2014-09-22  Gary Funck  <gary@intrepid.com>
83         Merge trunk version 215458 into gupc branch.
85 2014-09-15  Gary Funck  <gary@intrepid.com>
87         Merge trunk version 215259 into gupc branch.
89 2014-09-08  Gary Funck  <gary@intrepid.com>
91         Merge trunk version 215014 into gupc branch.
93 2014-09-01  Gary Funck  <gary@intrepid.com>
95         Merge trunk version 214779 into gupc branch.
97 2014-08-25  Gary Funck  <gary@intrepid.com>
99         Merge trunk version 214415 into gupc branch.
101 2014-08-19  Gary Funck  <gary@intrepid.com>
103         Merge trunk version 214178 into gupc branch.
105 2014-08-14  Gary Funck  <gary@intrepid.com>
107         Merge trunk version 213968 into gupc branch.
108         DEV-PHASE: Bump to 5.0.0-1.
110 2014-08-11  Gary Funck  <gary@intrepid.com>
112         Merge trunk version 213809 into gupc branch.
114 2014-08-05  Gary Funck  <gary@intrepid.com>
116         Merge trunk version 213646 into gupc branch.
118 2014-08-04  Gary Funck  <gary@intrepid.com>
120         Merge trunk version 213543 into gupc branch.
122 2014-08-01  Gary Funck  <gary@intrepid.com>
124         * testsuite/gcc.dg/gupc: New.
125         Add compile-only tests which check for semantic errors/warnings
126         and verify that UPC constructs generate expected UPC runtime calls.
127         * testsuite/upc.dg: Removed.
128         * testsuite/lib/upc-dg.exp: Removed.
129         * testsuite/lib/upc.exp: Removed.
130         * testsuite/lib/target-supports.exp
131         (check_effective_target_fupc): New.
132         (check_effective_target_upc_struct_pts,
133         check_effective_target_upc_packed_pts):
134         Pass "-fupc -fno-upc-pre-include".
135         * testsuite/gcc.dg/gupc/gupc.exp: Moved from
136         testsuite/upc.dg/compile/compile.exp and modified to
137         work under gcc.dg.
139 2014-07-28  Gary Funck  <gary@intrepid.com>
141         Merge trunk version 213118 into gupc branch.
143 2014-07-21  Gary Funck  <gary@intrepid.com>
145         Merge trunk version 212892 into gupc branch.
147 2014-07-14  Gary Funck  <gary@intrepid.com>
149         Merge trunk version 212522 into gupc branch.
151 2014-07-07  Gary Funck  <gary@intrepid.com>
153         Merge trunk version 212325 into gupc branch.
155 2014-07-02  Nenad Vukicevic  <nenad@intrepid.com>
157         * configure.ac: Fix checking for 32-bits target while
158         setting the default PTS packed bits.
159         * configure: Regenerate.
161 2014-06-30  Gary Funck  <gary@intrepid.com>
163         Merge trunk version 212138 into gupc branch.
165 2014-06-23  Gary Funck  <gary@intrepid.com>
167         Merge trunk version 211886 into gupc branch.
169 2014-06-16  Gary Funck  <gary@intrepid.com>
171         Merge trunk version 211699 into gupc branch.
173 2014-06-14  Gary Funck  <gary@intrepid.com>
175         Merge trunk version 211672 into gupc branch.
177 2014-06-12  Gary Funck  <gary@intrepid.com>
179         Merge trunk version 211604 into gupc branch.
181 2014-06-02  Gary Funck  <gary@intrepid.com>
183         Merge trunk version 211129 into gupc branch.
185 2014-05-26  Gary Funck  <gary@intrepid.com>
187         Merge trunk version 210928 into gupc branch.
189 2014-05-21  Nenad Vukicevic  <nenad@intrepid.com>
191         * config/darwin.h (LINK_COMMAND_SPEC_A): Fix linker spec
192         on Darwin, replace -fupc-link with -fupc option.
194 2014-05-12  Gary Funck  <gary@intrepid.com>
196         Merge trunk version 210323 into gupc branch.
198 2014-05-05  Gary Funck  <gary@intrepid.com>
200         Merge trunk version 210065 into gupc branch.
202 2014-04-28  Gary Funck  <gary@intrepid.com>
204         Merge trunk version 209848 into gupc branch.
206 2014-04-21  Gary Funck  <gary@intrepid.com>
208         Merge trunk version 209542 into gupc branch.
210 2014-04-20  Gary Funck  <gary@intrepid.com>
212         * c/c-typeck.c (build_binary_op): Check for invalid comparison
213         between pointers-to-shared with target types that have
214         differing UPC blocking factors.
216 2014-04-16  Gary Funck  <gary@intrepid.com>
218         Fix PTS comparison involving a generic PTS using packed representation.
219         * c-family/c-upc-pts-packed.c (upc_pts_packed_build_cond_expr):
220         When comparing (shared void *) pointers, mask out the phase component.
222 2014-04-14  Gary Funck  <gary@intrepid.com>
224         Merge trunk version 209359 into gupc branch.
225         DEV-PHASE: Bump to 4.10.0-1.
227 2014-04-07  Gary Funck  <gary@intrepid.com>
229         Merge trunk version 209179 into gupc branch.
231 2014-04-04  Gary Funck  <gary@intrepid.com>
233         * tree-upc.c tree-upc.h: New.
234         Factor UPC-specific tree node handling
235         into tree-upc.c and tree-upc.h.
236         * Makefile.in: Refer to tree-upc.c and tree-upc.h.
237         * c/c-convert.c c/c-decl.c c/c-objc-common.c
238         c/c-typeck.c c/c-upc-lang.c c-family/c-common.c
239         c-family/c-pretty-print.c c-family/c-upc-low.c
240         c-family/c-upc-pts-packed.c c-family/c-upc-pts-struct.c
241         c-family/c-upc.c c-family/c-upc.h convert.c
242         dwarf2out.c print-tree.c tree-core.h tree-dump.c
243         tree-pretty-print.c tree.c tree.h: Rename variables and
244         functions to include 'upc' in their names.
246 2014-03-31  Gary Funck  <gary@intrepid.com>
248         Merge trunk version 208955 into gupc branch.
250 2014-03-24  Gary Funck  <gary@intrepid.com>
252         Merge trunk version 208783 into gupc branch.
254 2014-03-17  Gary Funck  <gary@intrepid.com>
256         Merge trunk version 208609 into gupc branch.
258 2014-03-10  Gary Funck  <gary@intrepid.com>
260         Merge trunk version 208447 into gupc branch.
262 2014-03-03  Gary Funck  <gary@intrepid.com>
264         Merge trunk version 208270 into gupc branch.
266 2014-02-24  Gary Funck  <gary@intrepid.com>
268         Merge trunk version 208066 into gupc branch.
270 2014-02-17  Gary Funck  <gary@intrepid.com>
272         Merge trunk version 207818 into gupc branch.
274 2014-02-10  Gary Funck  <gary@intrepid.com>
276         Merge trunk version 207649 into gupc branch.
278 2014-02-03  Gary Funck  <gary@intrepid.com>
280         Merge trunk version 207415 into gupc branch.
282 2014-01-30  Gary Funck  <gary@intrepid.com>
284         Merge trunk version 207297 into gupc branch.
286 2014-01-28  Gary Funck  <gary@intrepid.com>
288         * c/gupcspec.c (match_suffix): Remove use of PARAMS.
290 2014-01-20  Gary Funck  <gary@intrepid.com>
292         Merge trunk version 206847 into gupc branch.
294 2014-01-20  Gary Funck  <gary@intrepid.com>
296         Merge trunk version 206792 into gupc branch.
298 2014-01-17  Nenad Vukicevic  <nenad@intrepid.com>
300         * c-family/c-cppbuiltin.c (upc_cpp_builtins): Remove pre-defines
301         for __UPC_CASTABLE__, __UPC_COLLECTIVE__, __UPC_TICK__ and
302         __UPC_PUPC__ as they are library and not compiler features.
304 2014-01-13  Gary Funck  <gary@intrepid.com>
306         Merge trunk version 206575 into gupc branch.
308 2014-01-10  Gary Funck  <gary@intrepid.com>
310         Update copyright notices.
312 2014-01-06  Gary Funck  <gary@intrepid.com>
314         Merge trunk version 206354 into gupc branch.
316 2014-01-04  Gary Funck  <gary@intrepid.com>
318         Integrate GUPC into cc1.
319         * upc/: Remove directory.  Re-distribute files.
320         * c/c-upc-lang.c: Move upc/upc-lang.c here.
321         * c/c-upc-lang.h: New.
322         * c-family/c-upc.c: Move upc/upc-act.c here.
323         * c-family/c-upc-gasp.c: Move upc/upc-gasp.c here.
324         * c-family/c-upc-gasp.h: Move upc/upc-gasp.h here.
325         * c-family/c-upc.h: Move upc/upc-act.h here.
326         * c-family/c-upc-low.c: Move upc/upc-genericize.c here.
327         * c-family/c-upc-low.h: Move upc/upc-genericize.h here.
328         * c-family/c-upc-pts.h: Split upc/upc-pts.h here.
329         * c-family/c-upc-pts-ops.c: Split upc/upc-pts.c here.
330         * c-family/c-upc-pts-ops.h: Split upc/upc-pts.h here.
331         * c-family/c-upc-pts-packed.c: Move upc/upc-pts-packed.c here.
332         * c-family/c-upc-pts-struct.c: Move upc/upc-pts-struct.c here.
333         * c-family/c-upc-rts-names.h: Move upc/upc-rts-names.h here.
334         * c-family/stub-upc.c: Remove.
335         * c/gupcspec.c: Move upc/gupcspec.c here.
336         * doc/gupc.texi: Move upc/gupc.texi here.
337         * c/c-objc-common.h: Revert to trunk.
338         * cp/lex.c: Revert to trunk.
339         * cp/Make-lang.in: Revert to trunk.
340         * expr.h: Revert to trunk.
341         * flags.h: Revert to trunk.
342         * fortran/Make-lang.in: Revert to trunk.
343         * java/Make-lang.in: Revert to trunk.
344         * lto/Make-lang.in: Revert to trunk.
345         * objc/Make-lang.in: Revert to trunk.
346         * stor-layout.c: Delete custom hook routines, use
347         newly defined declaration layout language hooks.
348         * stor-layout.h: Revert to trunk.
349         * ../configure.ac: Remove check for UPC language dialect.
350         * ../configure: Re-generate.
351         * Makefile.in (C_COMMON_OBJS): Add UPC-related object files.
352         * c/Make-lang.in: Compile UPC-related files.  Build gupc driver.
353         * c/c-decl.c: Call c_genericize() directly rather than
354         lang_hooks.genericize().  Adjust for flag_upc and name changes.
355         * c/c-lang.c (LANG_HOOKS_UPC_TOGGLE_KEYWORDS,
356         LANG_HOOKS_UPC_PTS_STRUCT_INIT_TYPE, LANG_HOOKS_UPC_BUILD_INIT_FUNC,
357         LANG_HOOKS_LAYOUT_DECL_P, LANG_HOOKS_LAYOUT_DECL):
358         Define UPC-specific hooks.
359         * c/c-objc-common.c (upc_types_compatible_p): Move to here.
360         (c_types_compatible_p): Call upc_types_compatible_p().
361         * c/c-parser.c (upc_affinity_test): Move to here.
362         (upc_build_sync_stmt): Move to here.
363         * c/c-typeck.c: #include c-family/c-upc-low.h.
364         * c/config-lang.in (gtfiles): Add UPC gt files.
365         * c-family/c-common.c: Add #include c-upc.h.
366         (c_common_get_alias_set): Move UPC-related alias check to here.
367         (upc_num_threads): Move to here.
368         (c_common_init_ts): Mark UPC-specific statement tree definitions.
369         * c-family/c-common.def (UPC_FORALL_STMT, UPC_SYNC_STMT):
370         Define UPC-specific statements.
371         * c-family/c-common.h (RID_FIRST_UPC_QUAL, RID_LAST_UPC_QUAL,
372         RID_FIRST_UPC_KW, RID_LAST_UPC_KW, UPC_IS_KEYWORD): New.
373         (clk_upc, clk_upcxx, c_dialect_upc, compiling_upc): Delete.
374         (use_upc_dwarf2_extensions, flag_upc): Move to c-family/c.opts.
375         (upc_num_threads): Declare prototype.
376         (UPC_SYNC_OP, UPC_SYNC_ID, UPC_SYNC_NOTIFY_OP, UPC_SYNC_WAIT_OP,
377         UPC_SYNC_BARRIER_OP): Move definitions here.
378         * c-family/c-cppbuiltin.c: Remove #include c-upc.h and
379         add #include c-upc-pts.h.
380         (upc_cpp_builtins): Move to here.  Define as static.
381         (c_cpp_builtin): Change call to c_dialect_upc () into
382         test of flag_upc.
383         * c-family/c-gimplify.c: #include c-upc-low.h.
384         (c_common_genericize): Rename c_genericize() to this and make static.
385         (c_genericize): Call upc_genericize() if flag_upc is set and
386         then call c_common_genericize().
387         * c-family/c-opts.c: #include c-upc-low.h and c-upc-pts.h.
388         (c_family_lang_mask): Remove CL_UPC.
389         (c_common_option_lang_mask): Remove CL_UPC from lang_flags.
390         (upc_init_options): Move to here, make it static.
391         (c_common_init_options): Add early check for flag_upc, if found
392         call upc_init_options().
393         (upc_handle_option): Move to here and make static.
394         (c_common_handle_option): Check for UPC-related options
395         and call upc_handle_option().  Remove references to
396         OPT_lang_upc and clk_upc.  Check flag_upc instead of
397         calling c_dialect_upc().
398         * c-family/c-pragma.c: #include langhooks.h.
399         (handle_pragma_upc): Remove warning if flag_upc not set;
400         flag_upc now serves the function of compiling_upc().
401         Add call to lang_hooks.upc.toggle_keywords() to
402         implement enable/disable of UPC keywords.
403         (init_pragma): Check flag_upc instead of compiling_upc.
404         * c-family/c-pragma.h (deny_pragma_upc, get_upc_consistency_mode,
405         permit_pragma_upc, pop_upc_consistency_mode,
406         pragma_upc_permitted_p, push_upc_consistency_mode,
407         set_upc_consistency_mode): Move prototypes to here.
408         * c-family/c.opt: Remove all references to "UPC" language dialect.
409         Add -fupc option. Delete -fupc-link option.
410         Add -fupc-threads= option and deprecate -fupc-threads-.
411         * configure.ac: Remove check for UPC language dialect.
412         * configure: Re-generate.
413         * explow.c (tree_expr_size): Move to tree.c.
414         * gcc.c: Change specs to refer to -fupc instead of -lang-upc
415         and -fupc-link.
416         * hooks.c (hook_bool_tree_tree_false): Declare prototype.
417         * langhooks.c (lhd_do_nothing_b, lhd_do_nothing_t_t): New.
418         * langhooks.h (lang_hooks_for_upc): Define hooks for UPC.
419         (layout_decl_p, layout_decl): Define language-specific
420         declaration  layout hooks.
421         (genericize): Remove this language hook.
422         * langhooks-def.h: Define UPC default language hooks.
423         Define language-specific declaration layout default hooks.
424         * langhooks.c (lhd_do_nothing_b): New.
425         * tree-core.h (shared_flag): Rename from upc_shared_flag.
426         (strict_flag): Rename from upc_strict_flag.
427         (relaxed_flag): Rename from upc_relaxed_flag.
428         (threads_factor_flag): New. Was a lang. flag.
429         (block_factor_0): New. Was a lang. flag.
430         (block_factor_x): New. Was a lang. flag.
431         (spare1): Decrement spare bits from 8 down to 5.
432         * tree.c (block_factor_for_type): Move to here.
433         (tree_expr_size): Move to here from explow.c.
434         (block_factor_lookup): Move to here.
435         (block_factor_insert): Move to here.
436         (upc_get_block_factor): Move to here.
437         * tree.h: refer to block_factor_* instead of upc_block_factor_*.
438         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
439         TYPE_HAS_THREADS_FACTOR): Refer to tree base flag bits instead
440         of lang. flag bits.
441         (tree_expr_size): Move prototype from explow.h.
443 2013-12-30  Gary Funck  <gary@intrepid.com>
445         Merge trunk version 206243 into gupc branch.
447 2013-12-23  Gary Funck  <gary@intrepid.com>
449         Merge trunk version 206179 into gupc branch.
451 2013-12-22  Gary Funck  <gary@intrepid.com>
453         * upc/upc-act.c (upc_cpp_builtins): Bump UPC_VERSION
454         to reflect UPC specification version 1.3 compliance.
456 2013-12-16  Gary Funck  <gary@intrepid.com>
458         Merge trunk version 206010 into gupc branch.
460 2013-12-09  Gary Funck  <gary@intrepid.com>
462         Merge trunk version 205801 into gupc branch.
464 2013-12-03  Meador Inge  <meadori@codesourcery.com>
466         * tree-core.h (tree_type_common): Change tree_type_common to use
467         user-provided GC marking.
468         (gt_ggc_mx, gt_pch_nx): New prototypes.
469         * tree.c (gt_ggc_mx, gt_pch_nx): New functions.
471 2013-12-03  Gary Funck  <gary@intrepid.com>
473         Revert:
475         2011-10-10  Gary Funck  <gary@intrepid.com>
477         * tree.c (check_qualified_type, check_aligned_type):
478         Call tree_int_cst_equal() to compare UPC blocking factors
479         if the corresponding tree pointers are not equal.
480         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
482 2013-12-03  Gary Funck  <gary@intrepid.com>
484         * c-family/c.opt: Fix typo introduced in 2013-06-03
485         merge with trunk.
487 2013-12-02  Gary Funck  <gary@intrepid.com>
489         Merge trunk version 205582 into gupc branch.
491 2013-11-26  Meador Inge  <meadori@codesourcery.com>
493         * upc/upc-genericize.c (upc_expand_get): Ensure that temporaries
494         are declared via a DECL_EXPR.
496 2013-11-25  Gary Funck  <gary@intrepid.com>
498         Merge trunk version 205346 into gupc branch.
500 2013-11-18  Gary Funck  <gary@intrepid.com>
502         Merge trunk version 204942 into gupc branch.
504 2013-11-15  Gary Funck  <gary@intrepid.com>
506         Merge trunk version 204894 into gupc branch.
508 2013-11-15  Gary Funck  <gary@intrepid.com>
510         Merge trunk version 204659 into gupc branch.
512 2013-11-04  Gary Funck  <gary@intrepid.com>
514         Merge trunk version 204345 into gupc branch.
516 2013-10-31  Gary Funck  <gary@intrepid.com>
518         Released GUPC 4.9.0.1 based on version 203902.
519         This release version was committed on 2013-10-21.
520         * DEV-PHASE: Bump to 4.9.0.2.
521         * DATESTAMP: Bump date stamp.
523 2013-10-28  Gary Funck  <gary@intrepid.com>
525         Merge trunk version 204119 into gupc branch.
527 2013-10-21  Gary Funck  <gary@intrepid.com>
529         Merge trunk version 203886 into gupc branch.
531 2013-10-14  Gary Funck  <gary@intrepid.com>
533         Merge trunk version 203514 into gupc branch.
535 2013-10-07  Gary Funck  <gary@intrepid.com>
537         Merge trunk version 203240 into gupc branch.
539 2013-10-01  Gary Funck  <gary@intrepid.com>
541         Implement pointer-to-shared -> integer conversions.
542         Required per UPC 1.3 Specification.
543         * c/c-typeck.c (build_c_cast): Remove logic that diagnosed
544         PTS->int conversions as an error.  Rewrite into a CONVERT_EXPR
545         for later processing by upc_genericize().
547 2013-10-01  Gary Funck  <gary@intrepid.com>
549         Implement pointer-to-shared -> integer conversions.
550         Required per UPC 1.3 Specification.
551         * upc/upc-genericize.c (upc_genericize_pts_to_int_cvt): New.
552         (upc_genericize_expr): Call upc_genericize_pts_to_int_cvt().
554 2013-09-30  Gary Funck  <gary@intrepid.com>
556         Merge trunk version 203026 into gupc branch.
558 2013-09-23  Gary Funck  <gary@intrepid.com>
560         Merge trunk version 202825 into gupc branch.
562 2013-09-18  Gary Funck  <gary@intrepid.com>
564         Merge trunk version 202725 into gupc branch.
566 2013-09-16  Gary Funck  <gary@intrepid.com>
568         Merge trunk version 202619 into gupc branch.
570 2013-09-09  Gary Funck  <gary@intrepid.com>
572         Merge trunk version 202382 into gupc branch.
574 2013-09-02  Gary Funck  <gary@intrepid.com>
576         Merge trunk version 202159 into gupc branch.
578 2013-08-26  Gary Funck  <gary@intrepid.com>
580         Merge trunk version 202008 into gupc branch.
582 2013-08-19  Gary Funck  <gary@intrepid.com>
584         Merge trunk version 201832 into gupc branch.
586 2013-08-05  Gary Funck  <gary@intrepid.com>
588         Merge trunk version 201483 into gupc branch.
590 2013-07-29  Gary Funck  <gary@intrepid.com>
592         Merge trunk version 201301 into gupc branch.
594 2013-07-22  Gary Funck  <gary@intrepid.com>
596         Merge trunk version 201119 into gupc branch.
598 2013-07-15  Gary Funck  <gary@intrepid.com>
600         Merge trunk version 200955 into gupc branch.
602 2013-07-08  Gary Funck  <gary@intrepid.com>
604         Merge trunk version 200775 into gupc branch.
606 2013-07-01  Gary Funck  <gary@intrepid.com>
608         Merge trunk version 200575 into gupc branch.
610 2013-06-24  Gary Funck  <gary@intrepid.com>
612         Merge trunk version 200361 into gupc branch.
614 2013-06-19  Gary Funck  <gary@intrepid.com>
616         Merge trunk version 200149 into gupc branch.
618 2013-06-19  Gary Funck  <gary@intrepid.com>
620         Merge trunk version 200149 into gupc branch.
621         * upc/upc-act.c (upc_create_static_var): New.
622         (upc_build_init_func): Call upc_create_static_var() to
623         create a static variable, __upc_init_func_addr, which
624         is initialized to the address of the UPC
625         shared data initialization function.  This change is
626         needed to avoid writing to the output assembly language
627         file too early.
628         (upc_build_sync_stmt): Delete unused variable, sync_expr_type.
630 2013-06-03  Gary Funck  <gary@intrepid.com>
632         Merge trunk version 199596 into gupc branch.
634 2013-05-27  Gary Funck  <gary@intrepid.com>
636         Merge trunk version 199350 into gupc branch.
638 2013-05-20  Gary Funck  <gary@intrepid.com>
640         Merge trunk version 199093 into gupc branch.
642 2013-05-14  Gary Funck  <gary@intrepid.com>
644         * upc/upc-pts-packed.c (upc_pts_packed_build_cvt):
645         When checking whether the phase of a PTS should be reset,
646         if the source type is an array type, then bypass
647         the check for equal type sizes.
648         * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
650 2013-05-13  Gary Funck  <gary@intrepid.com>
652         Merge trunk version 198815 into gupc branch.
654 2013-05-06  Gary Funck  <gary@intrepid.com>
656         Merge trunk version 198622 into gupc branch.
658 2013-04-29  Gary Funck  <gary@intrepid.com>
660         Merge trunk version 198433 into gupc branch.
662 2013-04-15  Gary Funck  <gary@intrepid.com>
664         Merge trunk version 197958 into gupc branch.
666 2013-04-08  Gary Funck  <gary@intrepid.com>
668         Merge trunk version 197571 into gupc branch.
670 2013-04-04  Gary Funck  <gary@intrepid.com>
672         Per the UPC 1.3 specification, the type of the
673         optional barrier/notify/wait expression is not constrained to
674         'int'. Instead, any type that is assignment compatible
675         with an 'int' type is permitted.
676         * c/c-parser.c (c_parser_upc_sync_statement): Do not check
677         the optional expression type here.  Let upc_build_sync_stmt()
678         handle it.
679         * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
680         * c/c-typeck.c (c_cvt_expr_for_assign): New.  Also, call
681         error_at() in lieu of error() when the source location is known.
682         * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
683         to check/convert the optional synchronization statement
684         expression.
686 2013-04-02  Gary Funck  <gary@intrepid.com>
688         Merge trunk version 197340 into gupc branch.
690 2013-04-02  Gary Funck  <gary@intrepid.com>
692         Revert revision 178346 (2011-08-30)
693         which changed the prototype of check_qualified_type and related
694         functions so that their parameters were just 'tree' and not
695         'const_tree'.  This seemed necessary at the time because of a
696         change to TYPE_BLOCK_FACTOR(), which in turn called function
697         that hashed the type node pointer.  The hash functions did
698         not accept "const void *" pointers.  Implement a work around
699         that removes this restriction.
700         * c/c-typeck.c: Revert.
701         * tree.c: Revert.
702         * tree.h: Revert.  Change prototype of upc_block_factor_lookup()
703         to accept a 'const_tree' pointer to a type node.
704         * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
705         * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
706         input argument and convert this to 'tree' for use with hash function.
708 2013-04-02  Gary Funck  <gary@intrepid.com>
710         Revert revision 178346 (2011-08-30)
711         which changed the prototype of check_qualified_type and related
712         functions so that their parameters were just 'tree' and not
713         'const_tree'.  This seemed necessary at the time because of a
714         change to TYPE_BLOCK_FACTOR(), which in turn called a function
715         that hashed the type node pointer.  The hash functions did
716         not accept "const void *" pointers.  Implement a work around
717         that removes this restriction.
718         * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
719         input argument and convert this to 'tree' for use with hash function.
721 2013-03-25  Gary Funck  <gary@intrepid.com>
723         Merge trunk version 197029 into gupc branch.
725 2013-03-21  Gary Funck  <gary@intrepid.com>
727         Released GUPC 4.8.0.3 based on version 196601.
728         This release version was committed on 2013-03-11.
729         * DATESTAMP: Bump date stamp.
731 2013-03-18  Gary Funck  <gary@intrepid.com>
733         Merge trunk version 196771 into gupc branch.
734         * DEV-PHASE: Bump release identifier to 4.9.0-1.
736 2013-03-11  Gary Funck  <gary@intrepid.com>
738         Merge trunk version 196592 into gupc branch.
740 2013-03-04  Gary Funck  <gary@intrepid.com>
742         Merge trunk version 196422 into gupc branch.
744 2013-02-25  Gary Funck  <gary@intrepid.com>
746         Merge trunk version 196253 into gupc branch.
748 2013-02-18  Gary Funck  <gary@intrepid.com>
750         Merge trunk version 196115 into gupc branch.
752 2013-02-11  Gary Funck  <gary@intrepid.com>
754         Merge trunk version 195937 into gupc branch.
756 2013-02-04  Gary Funck  <gary@intrepid.com>
758         Merge trunk version 195707 into gupc branch.
760 2013-01-28  Gary Funck  <gary@intrepid.com>
762         Merge trunk version 195502 into gupc branch.
764 2013-01-21  Gary Funck  <gary@intrepid.com>
766         Merge trunk version 195330 into gupc branch.
768 2013-01-14  Gary Funck  <gary@intrepid.com>
770         Merge trunk version 195164 into gupc branch.
772 2013-01-07  Gary Funck  <gary@intrepid.com>
774         Merge trunk version 194962 into gupc branch.
776 2012-12-24  Gary Funck  <gary@intrepid.com>
778         Merge trunk version 194709 into gupc branch.
780 2012-12-17  Gary Funck  <gary@intrepid.com>
782         Merge trunk version 194552 into gupc branch.
784 2012-12-10  Gary Funck  <gary@intrepid.com>
786         Merge trunk version 194351 into gupc branch.
788 2012-12-03  Gary Funck  <gary@intrepid.com>
790         Merge trunk version 194076 into gupc branch.
792 2012-11-30  Gary Funck  <gary@intrepid.com>
794         Released GUPC 4.8.0.2 based on version 193446.
795         Date of release: 2012-11-12.
796         * DEV-PHASE: Bump release identifier to 4.8.0-3.
797         * DATESTAMP: Bump date stamp.
799 2012-11-26  Gary Funck  <gary@intrepid.com>
801         Merge trunk version 193807 into gupc branch.
803 2012-11-20  Gary Funck  <gary@intrepid.com>
805         Merge trunk version 193672 into gupc branch.
807 2012-11-19  Gary Funck  <gary@intrepid.com>
809         Merge trunk version 193617 into gupc branch.
811 2012-11-15  Gary Funck  <gary@intrepid.com>
813         Merge trunk version 193426 into gupc branch.
815 2012-11-12  Gary Funck  <gary@intrepid.com>
817         Released GUPC 4.8.0.1 based on version 192948.
818         Date of release: 2012-10-29.
819         * DEV-PHASE: Bump release identifier to 4.8.0-2.
820         * DATESTAMP: Bump date stamp.
822 2012-11-05  Gary Funck  <gary@intrepid.com>
824         Merge trunk version 193152 into gupc branch.
826 2012-10-29  Gary Funck  <gary@intrepid.com>
828         Merge trunk version 192909 into gupc branch.
830 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
832         Remove unused --upc-pthreads-per-process compile switch.
833         * c-family/c.opt: Remove --upc-pthreads-per-process switch
834         that compiler/runtime do not use.
835         * c-family/c-opts.c (c_common_handle_option): Remove support for
836         --upc-pthreads-per-process switch.
837         * c-family/c-common.c: Ditto.
838         * c-family/c-common.h: Ditto.
840 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
842         Remove unused --upc-pthreads-per-process compile switch.
843         * upc/upc-act.c (upc_handle_option): Ditto.
844         (upc_cpp_builtins): Ditto.
845         * upc/upc-lang.c (upc_init_options): Ditto.
847 2012-10-27  Gary Funck  <gary@intrepid.com>
849         * defaults.h: fix typos and formatting in UPC-related entries.
851 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
853         Place shared initialization code into the .text
854         section instead of a separate .upc_init section.
855         * defaults.h (UPC_INIT_SECTION_NAME): Delete.
856         (UPC_INIT_BEGIN_NAME): Delete.
857         (UPC_INIT_END_NAME): Delete.
858         * doc/tm.texi.in: Ditto.
859         * doc/tm.texi: Ditto.
861 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
863         Place shared initialization code into the .text
864         section instead of a separate .upc_init section.
865         * upc/upc-act.c (upc_build_init_func): Remove settings
866         of the section for shared initialization code.
868 2012-10-22  Gary Funck  <gary@intrepid.com>
870         Merge trunk version 192673 into gupc branch.
872 2012-10-15  Gary Funck  <gary@intrepid.com>
874         Merge trunk version 192449 into gupc branch.
876 2012-10-08  Gary Funck  <gary@intrepid.com>
878         Merge trunk version 192198 into gupc branch.
880 2012-10-01  Gary Funck  <gary@intrepid.com>
882         Merge trunk version 191931 into gupc branch.
884 2012-09-26  Gary Funck  <gary@intrepid.com>
886         Implement support for various UPC version 1.3 specification
887         additions and changes. Deprecate support for upc_local_alloc.
888         Add support for upc_tick (wall-clock timer) library.
889         Add support for collective de-allocation functions:
890         upc_all_free and upc_all_lock_free.
891         Consult libgupc/ChangeLog,
892         libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
894 2012-09-26  Gary Funck  <gary@intrepid.com>
896         * upc/upc-act.c (upc_cpp_builtins): Pre-define __UPC_TICK__.
898 2012-09-24  Gary Funck  <gary@intrepid.com>
900         Merge trunk version 191658 into gupc branch.
902 2012-09-17  Gary Funck  <gary@intrepid.com>
904         Merge trunk version 191376 into gupc branch.
906 2012-09-10  Gary Funck  <gary@intrepid.com>
908         Merge trunk version 191141 into gupc branch.
910 2012-08-29  Nenad Vukicevic  <nenad@intrepid.com>
912         * upc/gupc.texi: Add description for -fupc-pre-include.
914 2012-08-27  Gary Funck  <gary@intrepid.com>
916         Merge trunk version 190707 into gupc branch.
917         * tree.h (struct tree_base): Adjust various
918         UPC tree and type flags to refer to the
919         newly introduced u.bits field.
921 2012-08-20  Gary Funck  <gary@intrepid.com>
923         Merge trunk version 190524 into gupc branch.
924         Incorporates a fix in genoutput.c (to properly use
925         CONST_CAST) that led to build failures with
926         older versions of g++.
928 2012-08-16  Gary Funck  <gary@intrepid.com>
930         Merge trunk version 190437 into gupc branch.
931         Incorporates a fix for a build failure on the PPC
932         due to passing incorrect switches to the assembler.
933         Also, first merged trunk revision that compiles GCC
934         with the C++ compiler in the first stage.
936 2012-08-16  Gary Funck  <gary@intrepid.com>
938         * upc/upc-pts-struct.c (upc_pts_struct_is_null_p):
939         Adjust VEC_index() calls to use C++ syntax.
940         This is required as part of the move to compile
941         GCC with the C++ compiler.
943 2012-08-13  Gary Funck  <gary@intrepid.com>
945         Merge trunk version 190336 into gupc branch.
947 2012-08-09  Gary Funck  <gary@intrepid.com>
949         * c-family/c-common.c (c_fully_fold_internal): Do not fold
950         offsetof-like expressions when they are applied to UPC
951         shared types.
953 2012-08-07  Gary Funck  <gary@intrepid.com>
955         * upc/upc-genericize.c: Delete un-used include of optabs.h.
956         Fixes a parallel make failure due to un-noticed dependency.
958 2012-08-06  Gary Funck  <gary@intrepid.com>
960         Merge trunk version 190173 into gupc branch.
962 2012-08-01  Gary Funck  <gary@intrepid.com>
964         Merge trunk version 190063 into gupc branch.
965         Incorporates fix for build failure on IA64.
967 2012-07-30  Gary Funck  <gary@intrepid.com>
969         Merge trunk version 189954 into gupc branch.
971 2012-07-27  Gary Funck  <gary@intrepid.com>
973         Merge trunk version 189856 into gupc branch.
974         Incorporates fix for bootstrap with a sub-set of language
975         specific source directories present.
976         * optabs.c: Revert to trunk.  Rather than defining opcodes
977         as a way of defining get/put runtime library function names,
978         generate them directly in gcc/upc/upc-genericize.c.
979         * optabs.h: Ditto.
980         * genopinit.c: Ditto.
982 2012-07-27  Gary Funck  <gary@intrepid.com>
984         * upc/upc-genericize.c (upc_expand_get, upc_expand_put):
985         Rather than referring to UPC-specific opcodes to find
986         the name of the get/put library function name, generate
987         the name directly.
988         (get_lc_mode_name): New.
990 2012-07-25  Gary Funck  <gary@intrepid.com>
992         * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
993         Fix regression: field-by-field comparison of UPC
994         pointer-to-shared (vaddr, thread) only works
995         (with the current logic) for the == and != operators.
997 2012-07-24  Gary Funck  <gary@intrepid.com>
999         * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
1000         Fix warning about use of const_tree.
1002 2012-07-24  Gary Funck  <gary@intrepid.com>
1004         Per UPC spec. 6.4.2p6, ignore the value of the
1005         phase of a pointer-to-shared, when comparing for
1006         equal or not equal.
1007         * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
1008         Use bit-wise comparison only if the UPC pointer-to-shared
1009         target type has a block size <= 1 and the representation
1010         has vaddr first or the comparison is for equality/inequality.
1011         * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
1012         Use (vaddr, thread) comparison only if the UPC pointer-to-shared
1013         has a block size <= 1 or the comparison is for equality/inequality.
1015 2012-07-23  Gary Funck  <gary@intrepid.com>
1017         Merge trunk version 189777 into gupc branch.
1019 2012-07-16  Gary Funck  <gary@intrepid.com>
1021         Merge trunk version 189545 into gupc branch.
1023 2012-07-12  Gary Funck  <gary@intrepid.com>
1025         Merge trunk version 189366 into gupc branch.
1027 2012-07-05  Gary Funck  <gary@intrepid.com>
1029         Merge trunk version 189274 into gupc branch.
1030         Incorporates graphite build infrastructure changes.
1032 2012-07-04  Gary Funck  <gary@intrepid.com>
1034         Merge trunk version 189080 into gupc branch.
1035         * Makefile.in: Adjust for move of C front-end files.
1036         * c/Make-lang.in: Ditto.
1038 2012-07-04  Gary Funck  <gary@intrepid.com>
1040         * upc/config-lang.in: Adjust for move of C front-end files.
1041         * upc/upc-act.c: Look for c-tree.h and c-objc-common.h in c/.
1042         * upc/upc-gasp.c: Ditto.
1043         * upc/upc-genericize.c: Ditto.
1044         * upc/upc-lang.c: Ditto.
1045         * upc/upc-pts-struct.c: Ditto.
1047 2012-07-03  Gary Funck  <gary@intrepid.com>
1049         Merge trunk version 189078 into gupc branch.
1051 2012-06-25  Gary Funck  <gary@intrepid.com>
1053         Merge trunk version 188931 into gupc branch.
1055 2012-06-18  Gary Funck  <gary@intrepid.com>
1057         Merge trunk version 188721 into gupc branch.
1059 2012-06-11  Gary Funck  <gary@intrepid.com>
1061         Merge trunk version 188380 into gupc branch.
1063 2012-06-04  Gary Funck  <gary@intrepid.com>
1065         Merge trunk version 188168 into gupc branch.
1067 2012-05-29  Gary Funck  <gary@intrepid.com>
1069         Merge trunk version 187927 into gupc branch.
1071 2012-05-19  Gary Funck  <gary@intrepid.com>
1073         * upc/upc-act.c (upc_lang_layout_decl): Ignore declarations of
1074         an array of shared type declarations if the size of the
1075         array is zero.  This avoids a segfault when processing
1076         the UPC blocking factor.
1078 2012-05-18  Gary Funck  <gary@intrepid.com>
1080         Merge trunk version 187666 into gupc branch.
1081         Incorporates fix for ICE in tree vectorization pass
1082         when processing strided loads.
1084 2012-05-17  Gary Funck  <gary@intrepid.com>
1086         Merge trunk version 187578 into gupc branch.
1088 2012-05-09  Gary Funck  <gary@intrepid.com>
1090         Merge trunk version 187347 into gupc branch.
1091         Incorporates fix for segfault in tree vectorization pass.
1093 2012-05-08  Nenad Vukicevic  <nenad@intrepid.com>
1095         * upc/gupcspec.c (lang_specific_driver): Improve handling of
1096         "-x" switches: (a) add "-x upc" switch for C source files if
1097         no -x switch was seen before OR "-x none" was seen, (b) add
1098         "-x none" for files other then C files if "-x upc" was
1099         previously added. Cleanup warnings on unused variables
1100         and integer conversion. Print verbose info regardless of the
1101         command line being the same.
1103 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
1105         * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
1106         Appropriate libraries and include files are added on the
1107         command line to make it possible to compile with the driver
1108         from the build tree.
1110 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
1112         * upc/gupc.texi: Simplify the description of the optimization
1113         options.
1115 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
1117         * upc/Make-lang.in: Remove build of xgupc.
1118         * upc/gupcspec.c (get_libgupc_path): Delete.
1119         (lang_specific_driver): Remove support for building xgupc.
1120         Removed code tried to add -B, -L, -isystem to the command
1121         line if xgupc driver is invoked from the development tree.
1123 2012-05-04  Gary Funck  <gary@intrepid.com>
1125         * upc/upc-act.c (upc_num_threads): When THREADS is specified
1126         statically, convert the value to a signed size type,
1127         so that (for example) the thread affinity test in a
1128         upc_forall() statement will work as expected for negative
1129         integer index values.
1131 2012-04-30  Nenad Vukicevic  <nenad@intrepid.com>
1133         * upc/Make-lang.in: Add year 2012 to the copyright.
1135 2012-04-30  Nenad Vukicevic  <nenad@intrepid.com>
1137         * upc/gupc.c: Delete. The old GUPC driver.
1138         * upc/gupcspec.c: Add. The new GUPC driver tailored
1139         after fortran/gfortranspec.c driver. Options "-n", "-inst",
1140         and "-inst-functions' are not supported by the new driver.
1141         Support for building gupc and xgupc remains the same.
1142         * upc/Make-lang.in (xgupc): Changes to compile gupcspec.c
1143         instead of gupc.c
1144         (gupc): Ditto.
1145         * upc/gupc.texi: Remove '-n', '-inst', and '-inst-functions'
1146         options.
1148 2012-04-29  Nenad Vukicevic  <nenad@intrepid.com>
1150         * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
1151         PPC ABI. In the UPC 'struct' pointer-to-shared representation,
1152         a function returns a pointer-to-shared in memory instead
1153         of in registers.
1154         (rs6000_pass_by_reference): Ditto.
1156 2012-04-28  Gary Funck  <gary@intrepid.com>
1158         * c-decl.c (grokdeclarator): Set 'type' to error node
1159         after detecting "shared auto variable" error to avoid
1160         downstream complications.
1161         * upc/upc-act.c: Fix a couple of spelling errors in comments.
1163 2012-04-26  Gary Funck  <gary@intrepid.com>
1165         * c-family/c-pragma.c (handle_pragma_upc):
1166         Fix typo in warning message.
1168 2012-04-17  Nenad Vukicevic  <nenad@intrepid.com>
1170         * upc/gupc.texi: Fix the warning for usage of 'insertcopying'
1171         before 'copying'. Minor changes to to copyright years and
1172         manual info.
1174 2012-04-17  Gary Funck  <gary@intrepid.com>
1176         Merge trunk version 186486 into gupc branch.
1178 2012-04-17  Gary Funck  <gary@intrepid.com>
1180         * c-family/c-pragma.c (disable_pupc_mode): Return the previous
1181         value of the pupc mode.  Fixes a compile-time warning.
1182         * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
1183         disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
1184         Improve source formatting.
1186 2012-04-16  Gary Funck  <gary@intrepid.com>
1188         * upc/upc-genericize.c: Adjust copyright.
1189         (upc_genericize_fndecl): Adjust call graph
1190         union member reference to use the newly introduced
1191         'symbol' field in order to refer to 'decl'.
1193 2012-04-09  Gary Funck  <gary@intrepid.com>
1195         Merge trunk version 186243 into gupc branch.
1196         Incorporates a powerpc 'ffi' fix.
1198 2012-03-16  Gary Funck  <gary@intrepid.com>
1200         Merge trunk version 185454 into gupc branch.
1201         Incorporates a libgcc fix for builds on Darwin.
1203 2012-03-13  Gary Funck  <gary@intrepid.com>
1205         Merge trunk version 185278 into gupc branch.
1206         * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
1207         call build_pointer_type() to apply UPC-specific qualifiers.
1208         * top-level/configure.ac: factor the checking for posix hostst
1209         out of the libgomp section so that it can also be used by libgupc.
1210         * top-level/configure: Re-generate.
1211         * DEV-PHASE: bump to 4.8.0-1.
1213 2012-03-12  Gary Funck  <gary@intrepid.com>
1215         * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
1216         the mode for a pointer for upc-pointer-to-shared types.
1218 2012-03-04  Gary Funck  <gary@intrepid.com>
1220         Merge trunk version 184900 into gupc branch.
1222 2012-02-17  Gary Funck  <gary@intrepid.com>
1224         Released GUPC 4.7.0.2 based on version 183992.
1225         * DEV-PHASE: Bump release identifier to 4.7.0-3.
1226         * DATESTAMP: Bump date stamp.
1228 2012-02-07  Nenad Vukicevic  <nenad@intrepid.com>
1230         * upc/gupc.texi: Added entries for the directory.
1232 2012-02-05  Nenad Vukicevic  <nenad@intrepid.com>
1234         * upc/gupc-manpage.html: Removed. HTML files are generated from
1235         the texi source.
1237 2012-02-05  Nenad Vukicevic  <nenad@intrepid.com>
1239         * upc/gupc.texi (-x upc): Add files ending with '.c' to the list
1240         of files compiled as UPC source.
1242 2012-02-04  Nenad Vukicevic  <nenad@intrepid.com>
1244         * upc/Make-lang.in (doc/gupc.info): Fix dependencies for creating
1245         gupc.info document.
1247 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
1249         * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
1250         code generation (same as #pragma pupc off).
1251         (set_pupc_mode): New. Set/restore profiling mode.
1252         * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
1253         (set_pupc_mode): New. Prototype.
1254         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
1255         profiling code for shared variables initialization routines.
1257 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
1259         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
1260         profiling code for shared variables initialization routines.
1262 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
1264         * upc/Make-lang.in: Various changes related to generating
1265         man/info pages from texi source file.
1266         (upc.install-common): Fix for removing the upc command
1267         link before install if suffix was applied.
1268         (upc.install-pdf): New.
1269         (upc.install-html): Change for the build from texi.
1270         (upc.install-man): Change for the build from texi.
1271         * upc/gupc.1: Removed.
1272         * upc/gupc.texi: New. Created texi source for man/info
1273         generation.
1275 2012-01-31  Gary Funck  <gary@intrepid.com>
1277         Merge trunk version 183751 into gupc branch.
1278         Incorporates fix for bootstrap failure on openSUSE 12.1.
1280 2012-01-30  Nenad Vukicevic  <nenad@intrepid.com>
1282         * upc/Make-lang.in: Fix the --program-suffix configuration
1283         option.  GUPC executables are now installed with appropriate
1284         suffixes and GUPC driver execs 'gcc' with the right suffix.
1286 2012-01-24  Nenad Vukicevic  <nenad@intrepid.com>
1288         * upc/upc-lang.c (upc_init_options): Disable section anchors
1289         for UPC language.
1291 2012-01-14  Gary Funck  <gary@intrepid.com>
1293         * upc/upc-genericize.c (upc_genericize_expr): Update input_location
1294         while traversing the program tree.
1295         (upc_expand_get, upc_expand_put): For profiling,  derive
1296         the source code location from the incoming 'loc' parameter.
1298 2012-01-10  Gary Funck  <gary@intrepid.com>
1300         Merge trunk version 183072 into gupc branch.
1301         Incorporates libcpp __BASE_FILE__ fix.
1303 2012-01-09  Gary Funck  <gary@intrepid.com>
1305         * upc/upc-genericize.c (upc_expand_put): Use is_gimple_reg instead of
1306         is_gimple_non_addressable.
1308 2012-01-06  Nenad Vukicevic  <nenad@intrepid.com>
1310         * upc/Make-lang.in: Add appropriate linker flags when linking
1311         gupc drivers.
1313 2012-01-06  Nenad Vukicevic  <nenad@intrepid.com>
1315         * upc/Make-lang.in: Add appropriate linker flags when linking
1316         gupc drivers.
1318 2011-12-31  Gary Funck  <gary@intrepid.com>
1320         Fix gupc driver to avoid segfault when processing
1321         invalid use of a switch that expects an argument.
1322         * upc/gupc.c (get_libgupc_path): Add check for non-NULL value of
1323         libgupc_archive before attempting to access libgupc_archive[0].
1324         (main): Do not issue error if lib_dir is NULL.  Instead, only
1325         process lib_dir if it is non-NULL.
1327 2011-12-31  Gary Funck  <gary@intrepid.com>
1329         Improve -fupc-debug support.
1330         * upc/upc-genericize.c (upc_expand_get, upc_expand_put,
1331         upc_genericize_sync_stmt): Add check for flag_upc_debug.
1332         * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
1333         * upc/upc-pts-packed.c (upc_pts_packed_build_cvt): Ditto.
1334         * upc/upc-act.c (upc_cpp_builtins): Disable inlining of the
1335         runtime if flag_upc_debug is asserted.
1337 2011-12-20  Nenad Vukicevic  <nenad@intrepid.com>
1339         * top-level/Makefile.def (flags_to_pass): Added GUPC
1340         defines. Fixes the make error when upc is not specified as one
1341         of the languages to build.
1342         * top-level/Makefile.in: Re-generate.
1344 2011-11-22  Gary Funck  <gary@intrepid.com>
1346         * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
1347         * dwarf2out.c (gen_compile_unit_die): Check for
1348         the "GNU UPC" language string in lieu of "GCC UPC".
1349         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
1351 2011-11-22  Gary Funck  <gary@intrepid.com>
1353         * upc/upc-act.c (upc_cpp_builtins): Generate new pre-defined
1354         macro: __GUPC__.
1356 2011-11-18  Gary Funck  <gary@intrepid.com>
1358         Merge trunk version 181552 into gupc branch.
1359         Incorporates libgcc/libunwind fix for IA64.
1361 2011-11-19  Gary Funck  <gary@intrepid.com>
1363         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
1364         Add check for UPC when defining the language type value
1365         in a traceback entry.
1367 2011-11-19  Gary Funck  <gary@intrepid.com>
1369         * upc/config-lang.in: Remove checks for supported targets.
1370         This is now done at a higher level.
1372 2011-11-18  Gary Funck  <gary@intrepid.com>
1374         Merge trunk version 181493 into gupc branch.
1375         Incorporates final fix for PR target/49992.
1377 2011-11-09  Nenad Vukicevic  <nenad@intrepid.com>
1379         * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
1380         change that converted relative include paths into absolute
1381         ones, as it does not work with older version of make (3.80).
1383 2011-10-27  Nenad Vukicevic  <nenad@intrepid.com>
1385         Apply patch for Darwin build - PR49992.
1386         * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
1387         * gcc/configure.ac: Ditto.
1388         * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
1389         * gcc/ada/gcc-interface/Makefile.in: Ditto.
1390         * top-level/configure: Re-generate.
1391         * gcc/configure: Re-genrate.
1393 2011-10-26  Gary Funck  <gary@intrepid.com>
1395         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
1396         "libupc" to "libgupc".
1397         * top-level/configure.ac: Implement support for cross-builds, and
1398           adjust for rename of libupc to libgupc.
1399         * top-level/Makefile.tpl: Ditto.
1400         * top-level/Makefile.def: Ditto.
1401         * top-level/configure: Re-generate.
1402         * top-level/Makefile.in: Re-generate.
1403         * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
1404         * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
1405         * doc/tm.texi: Re-generate.
1406         * tree-pretty-print.c (dump_block_node): Delete unused variable.
1407         * gcc.c: Adjust for rename of libupc to libgupc.
1408         * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
1409         Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
1410         Change "xupc" to "xgupc".
1411         * configure.ac: Change "GCC UPC" to "GNU UPC".
1412         * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
1413         so that they are absolute paths.  This is needed because
1414         the upc-crtstuff builds are in the libgupc library build
1415         directories which are not at the same level as libgcc.
1416         * config/darwin.h: Adjust for rename of libupc to libgupc.
1418 2011-10-26  Gary Funck  <gary@intrepid.com>
1420         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
1421         "libupc" to "libgupc".
1422         * upc/gupc.c: Rename from upc-cmd.c and adjust for rename
1423         of libupc to libgupc.
1424         * upc/upc-lang.c (LANG_HOOKS_NAME): Change "GCC UPC" to "GNU UPC".
1425         * upc/config-lang.in: Adjust for rename of libupc to libgupc.
1426         * upc/gupc.1: Rename from upc.1.  Change "GCC UPC" references
1427         to "GNU UPC".  Adjust for rename of libupc to libgupc.
1428         Improve formatting.
1429         * upc/gupc-manpage.html: Rename from upc-manpage.html.  Re-generate.
1430         * upc/Make-lang.in: Change "upc" to "gupc".  Change "xupc" to "xgupc".
1431         Adjust for rename of libupc to libgupc.  Install target symlink from
1432         "upc" to "gupc".  Install target/version-specific hard links to "gupc".
1434 2011-10-20  Gary Funck  <gary@intrepid.com>
1436         Merge trunk version 180276 into gupc branch.
1437         Incorporates fix for PR bootstrap/50709.
1439 2011-10-20  Gary Funck  <gary@intrepid.com>
1441         Merge trunk version 180246 into gupc branch.
1443 2011-10-19  Gary Funck  <gary@intrepid.com>
1445         Merge trunk version 180233 into gupc branch.
1446         Incorporates fix for PR debug/49310 (var tracking).
1448 2011-10-17  Gary Funck  <gary@intrepid.com>
1450         Fix a regression caused by the previous commit.
1451         * upc/upc-genericize.c (upc_genericize_walk):
1452         Renamed from: upc_genericize_stmt.
1453         (upc_shared_addr): for COMPONENT_REF and INDIRECT_REF
1454         re-walk the tree after simplification, by calling
1455         upc_genericize_walk().
1456         (upc_genericize_array_ref): expand the newly constructed
1457         indirect reference by calling upc_genericize_indirect_ref().
1459 2011-10-11  Nenad Vukicevic  <nenad@intrepid.com>
1461         * testsuite/lib/upc-dg.exp: Limit number of torture runs to
1462         only four (O0 static/dynamic, O3 static/dynamic).
1463         Detect -fupc-threads-0 as an option for dynamic threads
1464         compile environment.
1466 2011-10-10  Gary Funck  <gary@intrepid.com>
1468         * tree.c (check_qualified_type, check_aligned_type):
1469         Call tree_int_cst_equal() to compare UPC blocking factors
1470         if the corresponding tree pointers are not equal.
1471         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
1473 2011-10-10  Gary Funck  <gary@intrepid.com>
1475         * upc/upc-genericize.c (upc_simplify_shared_ref): When simplifying
1476         the base address always convert to (shared [] char *).
1477         This ensures that &a[i].field1 ends up with the required
1478         zero block size, for example.
1480 2011-10-07  Nenad Vukicevic  <nenad@intrepid.com>
1482         Add configuration checks for struct/packed builds so we can
1483         use upc_struct_pts/upc_packed_pts selectors in the testsuite.
1484         * testsuite/lib/target-supports.exp
1485         (check_effective_target_upc_struct_pts): New.
1486         (check_effective_target_upc_packed_pts): New.
1488 2011-09-15  Nenad Vukicevic  <nenad@intrepid.com>
1490         Add to FLAGS the flags needed to disable inlining of
1491         UPC run-time access routines.
1492         * testsuite/lib/target-supports.exp
1493         (add_options_for_upc_library_calls): New.
1495 2011-09-15  Gary Funck  <gary@intrepid.com>
1497         Fix ICE involving shared bit field accesses.
1498         * tree.c (build3_stat): Propagate TEEE_SHARED()
1499         and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1501 2011-09-13  Gary Funck  <gary@intrepid.com>
1503         Merge trunk version 178795 into gupc branch.
1504         Incorporates fix to PR bootstrap/50010 for x86-32.
1506 2011-09-08  Gary Funck  <gary@intrepid.com>
1508         Merge trunk version 178557 into gupc branch.
1510 2011-09-07  Gary Funck  <gary@intrepid.com>
1512         Ensure that UPC pointer-to-shared type alignment is
1513         propagated to the final type.  Revert to long-standing
1514         alignment policy: twice the size of a "C" pointer.
1515         * tree.c (build_pointer_type): Propagate the alignment
1516         of the UPC pointer-to-shared representation type
1517         into the newly built pointer type.
1519 2011-08-30  Gary Funck  <gary@intrepid.com>
1521         * tree.h (check_qualified_type): Change 'const_tree'
1522         argument types back to 'tree' to avoid complaints
1523         of assignment drops qualifiers for invocations of the
1524         newly implemented TYPE_BLOCK_FACTOR() macro, which
1525         invokes hash functions with 'tree' pointer values that
1526         are not const qualified.
1527         * tree.c (check_qualified_type, check_aligned_type): Ditto.
1528         * c-typeck.c (comptypes_internal): Ditto.
1530 2011-08-29  Gary Funck  <gary@intrepid.com>
1532         Fixes for regressions noted running "make check"
1533         versus GCC trunk.
1534         * fold-const.c (fold_unary_loc): Execute UPC-specific
1535         checks for a cast-of-a-cast, only if one of the
1536         operands is a UPC pointer-to-shared value.
1537         * opts.c (print_specific_help):  Fix a comparison
1538         in an assert that checks that there are enough
1539         bits reserved for the number of languages defined
1540         in the .opt files.
1542 2011-08-29  Gary Funck  <gary@intrepid.com>
1544         Implement a hash table to record UPC block factors.
1545         * c-family/stub-upc.c (upc_block_factor_insert,
1546         upc_block_factor_lookup): New dummy stub procedures.
1547         * c-family/c-common.c (c_sizeof_or_alignof_type):
1548         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1549         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1550         to copy (hashed) UPC blocking factor.
1551         (set_type_quals): Likewise.
1552         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1553         TYPE_HAS_THREADS_FACTOR().
1554         (type_common.block_factor): Delete.
1555         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1556         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1557         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1558         UPC blocking factors greater than one.
1559         * dwarf2out.c (modified_type_die): Re-implement
1560         logic that records UPC blocking factor in the generated
1561         DWARF2 debugging information.
1562         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1563         TYPE_HAS_THREADS_FACTOR().
1564         * c-decl.c (finish_decl, grokdeclarator):
1565         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1566         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1567         used by UPC, and print UPC-specific information.
1569 2011-08-28  Gary Funck  <gary@intrepid.com>
1571         Re-work the type machinery to fully support and to unify support
1572         for the UPC layout qualifier (blocking factor).
1573         * c-family/stub-upc.c (upc_set_block_factor): Delete.
1574           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1575           and update prototype.
1576         * c-family/c-common.c (complete_array_type): call newly
1577           defined c_build_qualified_type_1() instead of
1578           upc_set_block_factor().
1579         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1580           upc_apply_layout_qualifier() and update prototype.
1581           (upc_set_block_factor): Delete prototype.
1582         * c-family/c-common.h (c_build_qualified_type): redefine
1583           as a pre-processor macro that invokes c_build_qualified_type_1()
1584           with a null UPC layout qualifier.
1585           (c_build_qualified_type_1): New.  Add layout qualifier argument
1586           to old c_build_qualified_type() prototype.
1587         * tree.c (set_type_quals, check_qualified_type):
1588           Add layout qualifier as argument.
1589           (check_aligned_type): Add check for UPC block factor equality.
1590           (get_qualified_type_1): Rename from get_qualified_type() and
1591           add layout qualifier as argument.
1592           (build_qualified_type_1): Rename from build_qualified_type() and
1593           add layout qualifier as argument.
1594         * tree.h (check_qualified_type): Add layout qualifier as argument
1595           to the prototype.
1596           (get_qualified_type): Re-define as a as a pre-processor macro
1597           that invokes get_qualified_type_1() with a null
1598           UPC layout qualifier.
1599           (get_qualified_type_1): Rename from get_qualified_type() and
1600           add layout qualifier as argument.
1601         * cp/tree.c (c_build_qualified_type_1): Rename from
1602           c_build_qualified_type() and add (unused) layout qualifier
1603           argument.
1604         * c-decl.c (finish_decl): re-format long error messages.
1605           (grokdeclarator): Re-work the logic so that it calls
1606           upc_grok_layout_qualifier() to handle the UPC layout
1607           qualifier, if present.
1608         * c-typeck.c (qualify_type, common_pointer_type,
1609           build_component_ref): Re-work the logic so that it calls
1610           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1611           if present.
1612           (c_build_qualified_type_1): Rename from c_build_qualified_type()
1613           and add layout qualifier argument.
1614         * print_tree.c (print_node): Re-format a long line.
1616 2011-08-26  Gary Funck  <gary@intrepid.com>
1618         Merge trunk version 177949 into gupc branch.
1619         * c-family/c-common.h (enum rid): Bump the number of type modifiers
1620           in the comment.
1621         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1622           to add new rliterals column value.
1624 2011-08-26  Gary Funck  <gary@intrepid.com>
1626         * convert.c (convert_to_integer): Fix the check for the
1627           difference between two UPC pointers-to-shared values.
1629 2011-08-23  Nenad Vukicevic  <nenad@intrepid.com>
1631         * configure.ac: Fix the name for --with-upc-pts-packed-bits
1632           option. Support --with-upc-packed-bits as deprecated. Fix the code to
1633           correctly check packed bits.
1634         * configure: Re-generate.
1636 2011-08-16  Gary Funck  <gary@intrepid.com>
1638         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1639           the barrier id expression is not an integer expression.
1641 2011-08-12  Gary Funck  <gary@intrepid.com>
1643         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1644           (revert to trunk).
1645         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1646           Set mode of UPC pointer-to-shared rep. to an
1647           integral mode of size at least as large as the
1648           size of the representation's struct type.
1650 2011-08-12  Gary Funck  <gary@intrepid.com>
1652         Rework/simplify the UPC genericize pass.
1653         * c-family/stub-upc.c (upc_apply_layout_qualifier,
1654           upc_build_pointer_type): New.
1655           (upc_set_block_factor): Adjust to new calling sequence.
1656           (upc_build_shared_var_addr): Delete.
1657         * c-family/c-common.c (complete_array_type): Adjust call
1658           to upc_set_block_factor().
1659         * c-family/c-upc.h (upc_apply_layout_qualifier,
1660           upc_build_pointer_type): New.
1661           (upc_build_shared_var_addr): Delete.
1662           (upc_set_block_factor): Adjust to new calling sequence.
1663         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1664         * c-decl.c (grokdeclarator): Call newly defined
1665           upc_apply_layout_qualifier() instead of upc_set_block_factor().
1666         * c-decl.c (grokdeclarator): Split long UPC-related error
1667           messages into two lines.
1668         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1669           directly.  Revert that change to trunk. (upc_genericize() will
1670           handle lowering the expressions that take the address of a
1671           UPC variable).
1672         * config/i386/i386.c (ix86_promote_function_mode): For UPC
1673           pointers-to-shared, return the type mode of the UPC pointer-to-shared
1674           representation type.
1676 2011-08-10  Gary Funck  <gary@intrepid.com>
1678         Implement additional fixes for recent merge with trunk.
1679         * explow.c (promote_mode): Do not attempt to promote
1680           the mode for UPC pointer-to-shared types.
1681         * config/i386/i386.c (function_value_64): Ditto.
1683 2011-08-07  Gary Funck  <gary@intrepid.com>
1685         Merge trunk version 177548 into gupc branch.
1686         * config/i386/i386.c (ix86_promote_function_mode):
1687           Do not promote UPC pointers-to-shared to Pmode.
1688         * c-family/c-ommon.c (pointer_int_sum):
1689           Also check the pointer operand, rather than just
1690           its type, when making the decision to derive
1691           the equivalent unshared type.
1692         * tree.c (build2_stat): If the type of the result
1693           passed in as an argument is a UPC shared type,
1694           derive the unshared equivalent when calculating
1695           the result type of the node.
1697 2011-07-15  Nenad Vukicevic  <nenad@intrepid.com>
1699         * config/darwin.c: Disable var_tracking option
1700           on -O0 as it is supposed to run only when optimization
1701           is applied. See GCC bug 49743.
1703 2011-07-06  Gary Funck  <gary@intrepid.com>
1705         Re-implement the pass that lowers trees generated by
1706         the UPC front-end into GENERIC.  Previously this was
1707         done within the gimplification framework, but this
1708         required that gimplification be run before inlining
1709         and various other passes, which did not fit in well
1710         with the current design of the middle-end passes.
1711         Now, the lowering is done by a newly defined language
1712         specific genericize hook.  With this change, we are
1713         are able to undo some extensions made to the gimplify
1714         logic, and thus can revert several files to trunk.
1715         * c-decl.c: Add a check for UPC deprecated names which
1716           may appear as undefined function names.
1717         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1718           LTI_upc_getaddr): Remove definitions of unused UPC
1719           library function names.  These were defined back when
1720           the libfunc interface was used to call these routines.
1721         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1722           in UPC lowering (genericize) pass.
1723         * langhooks.h (gimplify_expr): Revert to trunk's definition.
1724           (instrument_func): Delete this hook.  Now handled in
1725           upc_genericize().
1726         * tree-pass.h: Revert to trunk.
1727         * c-typeck.c (build_unary_op): Adjust reference to
1728           upc_genericize() in a comment.
1729         * gimplify.c (create_tmp_var_raw): Delete logic that
1730           was converting UPC shared types into unshared types
1731           to be used for temporaries.  Now handled in  upc_genericize().
1732           Replace with an assertion check.
1733           (prepare_gimple_addressable): Revert to trunk's definition.
1734           No longer needed as an externally called function.
1735           (flag_instrument_functions_exclude_p): Re-define as
1736           an externally called function.
1737           (gimplify_function_tree): Delete code that implemented
1738           call to UPC's language specific function instrumentation hook.
1739         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1740           (prepare_gimple_addressable): Delete extern definition;
1741           revert to trunk's definition.
1742         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1743           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1744         * c-family/c-gimplify.c: Revert to trunk.
1745         * cp/cp-gimplify.c: Revert to trunk.
1746         * cp/cp-tree.h: Revert to trunk.
1747         * explow.c: Revert to trunk.
1748         * langhooks.c: Revert to trunk.
1749         * libfuncs.h: Revert to trunk.
1750         * objc/objc-act.c: Revert to trunk.
1752 2011-06-30  Gary Funck  <gary@intrepid.com>
1754         * c-family/c.opt: Bring options definitions up-to-date
1755         with respect to changes made in the trunk.
1757 2011-06-29  Gary Funck  <gary@intrepid.com>
1759         Merge trunk version 175584 into gupc branch.
1761 2011-06-13  Gary Funck  <gary@intrepid.com>
1763         libcpp/
1764         * include/cpplib.h (enum c_lang):
1765         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1766         This keeps all the "C" variants together.
1767         * init.c (lang_defaults): Add an entry for UPC.
1769 2011-06-09  Gary Funck  <gary@intrepid.com>
1771         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1772         a 32-bit target, the size expression overflowed, the result was
1773         error_mark_node, and an ICE was triggered on an attempt to evaluate
1774         C_TYPE_VARIABLE_SIZE() on the error node.
1775         (upc_blocksizeof_expr, upc_blocksizeof_type,
1776         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1777         Make similar changes to avoid further processing of error_mark_node.
1779 2011-06-07  Gary Funck  <gary@intrepid.com>
1781         * sel-sched.c (move_op): Incorporate the following
1782         patch to eliminate ICE at -O3 on IA64/Altix.
1784 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
1786         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
1787         code_motion_path_driver returned 0 or 1.
1788         (sel_region_finish): Clear h_d_i_d.
1790 2011-06-02  Gary Funck  <gary@intrepid.com>
1792         Merge trunk version 174558 into gupc branch.
1794 2011-05-30  Gary Funck  <gary@intrepid.com>
1796         * configure.ac: Make the default order of the virtual
1797           address field in a UPC pointer-to-shared to be "first".
1798           This reverts to the previous setting, and is a short term
1799           measure to work around a bug found on the IA64,
1800           where vaddr=last led to incorrect code generation.
1801           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1802           in AC_DEFINE(), to agree with recent changes in files
1803           that reference this define.
1804           configure, config.in: Regenerate.
1806 2011-05-26  Gary Funck  <gary@intrepid.com>
1808         * configure.ac: Fix typo when referring to $upc_vaddr_order.
1809           configure: Regenerate.
1810         * ../fixincludes/fixincl.x: Revert to trunk.
1811           This file is auto-generated, and should not be merged.
1813 2011-05-18  Gary Funck  <gary@intrepid.com>
1815         Merge trunk version 173845 into gupc branch.
1817 2011-05-17  Gary Funck  <gary@intrepid.com>
1819         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1820           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1821         * c-family/c-pragma.c: Remove conditional compilation
1822           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1823           Test 'compiling_upc' when compiling to determine if
1824           the "upc" and "pupc" pragmas should be registered.
1825         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1826           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1827           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1828           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1829           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1830           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1831           Move these target-dependent definitions from config/upc-conf.h
1832           to here.
1833         * configure.ac: Improve the logic for UPC-related options.
1834           Delete references to pre-processor definitions that have
1835           been moved to "upc/upc-pts.h".
1836         * configure, config.in: Regenerate.
1837         * Makefile.in (UPC_PTS_REP): Remove definition and revert
1838           to trunk.  This substitution variable was used to
1839           configure the representation-specific versions of
1840           the tree rewrites that operate on UPC pointer-to-shared
1841           types and objects.
1842         * c-parser.c (c_parser_upc_forall_statement): Remove
1843           reference to UPC_FORALL_DEPTH_NAME, and call
1844           newly defined upc_rts_forall_depth_var() instead.
1845         * config/upc-config.h: Delete. Various definitions
1846           moved to "upc/upc-rts-names.h", "defaults.h", and
1847           "upc/upc-pts.h".
1848         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1849           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1850           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1851           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1852           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1853           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1854           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1855           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1856           New.  Document UPC target macros.
1857           doc/tm.texi: Regenerate.
1859 2011-05-07  Gary Funck  <gary@intrepid.com>
1861         * ../configure.ac: Disable build of libupc
1862           on non POSIX hosted systems.  Use AS_HELP_STRING
1863           to define messages.  Remove 'word-pair' as a
1864           possible --with-upc-pts UPC pointer-to-shared
1865           representation.
1866         * ../configure: Regenerate.
1867         * configure.ac: Use AS_HELP_STRING to define messages.
1868           Remove 'word-pair' as a possible --with-upc-pts
1869           UPC pointer-to-shared representation.
1870           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1871           (UPC_MAX_BLOCK_SIZE): Correct the default value.
1872         * configure: Regenerate.
1873         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1874           definition.
1875         * ChangeLog.upc: Fix some typos.
1877 2011-05-07  Gary Funck  <gary@intrepid.com>
1879         * ../maintainer-scripts/gcc_release: Add "upc"
1880           as one of the released languages.
1882 2011-05-06  Gary Funck  <gary@intrepid.com>
1884         Eliminate compilation warnings, by fixing
1885         #include's and updating function prototypes.
1886         * c-family/c-cppbuiltin.c: Include c-upc.h.
1887         * optabs.c (gen_libfunc): Change type of 'suffix'
1888           parameter to conform with prototype.
1889         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1890           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1891           hook used by UPC.
1892         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1893           the prototype.
1894         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1895           argument values to cp_gimplify_expr.
1896         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1897           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
1898           pre-processor definitions that are no longer
1899           needed to build the 'upc' command (upc-cmd.c)
1900           because the linker specs. defined in libupc
1901           take care of linking in the needed libraries.
1902         * c-parser.c (c_parser_upc_forall_statement):
1903           initialize affinity_loc to avoid "maybe unused" warning.
1904           (c_parser_upc_sync_statement): Remove un-needed
1905           'ret' variable.  Cast return value from
1906           'upc_build_sync_stmt' to 'void' to avoid
1907           compile-time warning.
1908         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1909           integer constant, not a string.  Range is restricted
1910           to maximum positive 32-bit integer (2+ billion) to
1911           fit in with the use of 'int' in the front-end's
1912           switch handling logic.
1914 2011-05-06  Gary Funck  <gary@intrepid.com>
1916         Upgrade c-family source files to conform with modularity
1917         improvements.  Mainly, remove #include of c-tree.h in files
1918         under c-family, and define a new UPC-specific #include file,
1919         c-upc.h, and use it.
1920         * c-family/stub-upc.c: Remove #include of c-tree.h and
1921           upc/upc-act.h.  Replace with #include of c-common.h
1922           and c-upc.h.
1923           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1924           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1925           upc_localsizeof_expr, upc_localsizeof_type,
1926           upc_shared_type_p): Delete.
1927         * c-family/c-opts.c: Add #include of c-upc.h
1928         * c-family/c-common.c: Remove #include of c-tree.h and
1929           add #include of c-upc.h.
1930         * c-family/c-upc.h: New. Define API for UPC-specific functions
1931           (mostly implemented in upc/upc-act.c).
1932         * c-family/c-common.h (upc_cpp_builtins,
1933           upc_write_global_declarations): Remove extern definitions.
1934         * c-family/c-pragma.c: Remove #include of c-tree.h.
1935           Add #include of c-upc.h.
1936         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
1937           c-tree.h.
1938           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
1939           upc/upc-act.c, and define as a macro.
1940           (expand_affinity_test): Remove unused external definition.
1941           (build_upc_unshared_type): Add external definition.
1942           (upc_shared_type_p): Remove external definition.
1943         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1944         * dojump.c: Remove #include of c-tree.h.
1945         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1946           and move to tree.h.
1947           (count_upc_threads_refs, is_multiple_of_upc_threads,
1948           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1949           upc_build_shared_var_addr, upc_build_sync_stmt,
1950           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1951           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1952           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1953           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1954           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1955           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1956           set_upc_consistency_mode, get_upc_consistency_mode,
1957           push_upc_consistency_mode, pop_upc_consistency_mode,
1958           get_upc_pupc_mode):
1959           Move external definitions to c-family/c-upc.h.
1960           (upc_blocksizeof_type, upc_localsizeof_type,
1961           upc_elemsizeof_type): Remove external definitions;
1962           these functions were moved to c-parser.c.
1963         * c-decl.c: Add #include of c-upc.h.
1964         * c-typeck.c: Add #include of c-upc.h.
1965         * c-convert.c: Add #include of c-upc.h.
1966         * ChangeLog.upc: Fix typo.
1967         * Makefile.in: Add references to c-family/c-upc.h, everywhere
1968           there is a reference to c-family/c-objc.h.
1969           Remove extraneous reference to upc-act.h.
1970         * c-parser.c: Add #include of c-upc.h.
1971           (upc_blocksizeof_expr, upc_blocksizeof_type,
1972           upc_elemsizeof_expr, upc_elemsizeof_type,
1973           upc_localsizeof_expr, upc_localsizeof_type):
1974           Move from upc/upc-act.c.
1975         * tree.c (build_upc_unshared_type): New.
1976           Move upc_get_unshared_type from upc/upc-act.c and rename
1977           to build_upc_unshared_type.
1978           c-family/c-common.c (pointer_int_sum): refer to renamed
1979           build_upc_unshared_type function.
1980           c-convert.c (convert): Ditto.
1981           convert.c (convert_to_pointer): Ditto.
1982           c-typeck.c (build_unary_op, build_modify_expr,
1983           really_start_incremental_init): Ditto.
1984           gimplify.c (create_tmp_var_raw): Ditto.
1985           tree.c (build1_stat): Ditto.
1986           tree.h (upc_get_unshared_type): Rename to
1987           build_upc_unshared_type.
1989 2011-05-06  Gary Funck  <gary@intrepid.com>
1991         Merge trunk version 173471 into gupc branch.
1993 2011-05-05  Gary Funck  <gary@intrepid.com>
1995         Make changes that bring the GUPC branch more closely in sync.
1996         with the GCC trunk.  Revert any fixes that are not UPC-specific.
1997         Remove gratuitous re-formatting.
1998         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1999           This file should have been removed in a previous merge
2000           with the trunk.
2001         * ../configure.ac: Remove Cray Catamount/CNL support.
2002         * ../configure: Regenerate.
2003         * ../config.sub: Remove Cray Catamount/CNL support.
2004         * config.gcc: Remove Cray Catamount/CNL support.
2005         * ../maintainer-scripts/gcc_release: Revert to trunk.
2006         * c-family/c-common.h: Define parse_optimize_options.  Its definition
2007           was missed in a previous merge with the trunk.
2008         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2009           procedure.
2010         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2011           in addition to ARRAY_TYPE.
2012         * c-typeck.c: Remove an extra newline character.
2013         * varasm.c: Revert a fix that improved an error message
2014           when TLS common data is unimplemented.
2015         * varasm.c: Revert a gcc_assert that had been added which
2016           checked for a null DECL_SIZE_UNIT field.
2017         * emultls.c: Revert to trunk. Remove possible fix.
2018         * Makefile.in: Revert extra blank line that is present
2019           in the trunk version.
2020         * Makefile.in: Revert a fix that handled long shell
2021           argument lists for plugin headers.
2022         * config/ia64/ia64.opt: Revert an option setting
2023           that increased the default TLS address range.
2024         * config/ia64/crtbegin.asm: Revert to trunk.
2025           Removes an extra newline character.
2026         * ChangeLog.upc: Spell check.
2028 2011-05-03  Gary Funck  <gary@intrepid.com>
2030         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2031           (c_apply_type_quals_to_decl): Ditto.
2032         * c-family/c-common.h: Ditto.
2033         * dojump.c: Ditto.
2034         * c-decl.c (merge_decls): Ditto.
2035         * c-typeck.c (qualify_type, default_conversion,
2036           build_component_ref, build_unary_op,
2037           c_build_qualified_type): Ditto.
2038         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2040 2011-04-29  Gary Funck  <gary@intrepid.com>
2042         * c-decl.c (finish_decl): Improve error diagnostics.
2043           (grokdeclarator): Ditto.
2044         * c-typeck.c (build_c_cast): Improve error diagnostics.
2045           (convert_for_assignment): Ditto.
2046           (build_binary_op): Ditto.
2047         * c-parser.c (c_parser_upc_forall_statement):
2048           Improve error diagnostics.
2049         * convert.c (convert_to_integer):  Improve error diagnostics.
2051 2011-04-24  Gary Funck  <gary@intrepid.com>
2053         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2054           occurred if there is an error in the barrier id
2055           expression.  Map error_mark_node into NULL.
2057 2011-04-22  Gary Funck  <gary@intrepid.com>
2059         Merge trunk version 172873 into gupc branch.
2061 2011-04-19  Gary Funck  <gary@intrepid.com>
2063         Merge trunk version 172359 into gupc branch.
2065 2011-04-14  Gary Funck  <gary@intrepid.com>
2067         * c-family/c.opt: Add UPC as a valid language for various
2068           switches where it is valid for "C", that were not updated
2069           in previous merges with trunk.
2071 2011-04-13  Gary Funck  <gary@intrepid.com>
2073         * c-family/c.opt (fupc-pre-include): New option definition.
2074         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2075           -fno-upc-pre-include is asserted.
2077 2011-04-07  Gary Funck  <gary@intrepid.com>
2079         Merge trunk version 172158 into gupc branch.
2080         to bring in the following fix.
2082 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
2084         PR bootstrap/48403
2085         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2086         if old and new states differ.
2088 2011-04-06  Gary Funck  <gary@intrepid.com>
2090         Merge trunk version 171966 into gupc branch.
2092 2011-04-01  Gary Funck  <gary@intrepid.com>
2094         * tree.h (tree_base): Move UPC flag bits into bit fields
2095           located just before spare bits.  Decrement spare bits.
2096           Rename 'shared_flag' -> 'upc_shared_flag',
2097           'relaxed_flag' -> 'upc_relaxed_flag',
2098           'strict_flag' -> 'upc_strict_flag, and adjust macros
2099           that reference them accordingly.
2101 2011-04-01  Gary Funck  <gary@intrepid.com>
2103         * c-decl.c (grokdeclarator): Fix formatting of
2104           code that sets UPC block size on scalars.
2106 2011-04-01  Gary Funck  <gary@intrepid.com>
2108         * c-decl.c (grokdeclarator): Revert use of white space
2109           to match the trunk (to rationalize diffs).
2110         * c-typeck.c (convert_for_assignment): Ditto.
2111         * tree-ssa.c (useless_type_conversion_p): Ditto.
2113 2011-03-23  Gary Funck  <gary@intrepid.com>
2115         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2116           the GCC 4.6 release branch.
2118 2011-03-21  Gary Funck  <gary@intrepid.com>
2120         Merge trunk version 171202 into gupc branch.
2122 2011-03-20  Gary Funck  <gary@intrepid.com>
2124         * varasm.c: Call error() directly with a format specifier,
2125           rather than using sprintf() to format the message.
2126           This should make it easier to internationalize UPC's error messages.
2128 2011-03-20  Gary Funck  <gary@intrepid.com>
2130         * configure.ac: Fix the check for gnu ld when enabling
2131           UPC link script support.
2132           configure: Regenerate (also picks up changes from previous
2133           merge with trunk).
2135 2011-03-20  Gary Funck  <gary@intrepid.com>
2137         Move UPC start files, end files, and linker specs.
2138         into libupc.  This reduces the impact on common GCC
2139         configuration files, and ensures that these UPC-specific
2140         components are only built when the UPC language dialect is selected.
2141         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2142           linker specs. Fix typo in -fupc-debug message.
2143         * config/upc-conf.h, config/darwin.h: Move defines for
2144           UPC-related section begins/ends into libupc/config/default/
2145           upc-crt-config.h.
2146         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2147           UPC-related linker compiler specifications,
2148           accessed via %:include().
2149         * configure.ac, configure: Remove logic related to building
2150                 upc-crtbegin/end. Remove config. tests for numa and cpu
2151           affinity (previously used by the 'upc' driver); these
2152           settings are now propagated by target-specific compiler
2153           specs. built by libupc.  Regenerate autoconf.
2154         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2155           linker compiler specifications, accessed via %:include().
2156           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2157           'link_upc_spec'.
2158         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2159         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2160           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2161           config/ia64/linux.h, config/mips/t-iris,
2162           config/mips/iris6.h: Revert to trunk version 167307.
2163         libgcc/
2164         * configure, configure.ac, config.host, Makefile.in:
2165           Revert to trunk version 167307.
2167 2011-02-23  Gary Funck  <gary@intrepid.com>
2169         * c-decl.c (undeclared_variable): fix typo. Inadvertently
2170         removed negation on following 'if'.
2172 2011-02-22  Gary Funck  <gary@intrepid.com>
2174         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2175         to check for the usage of certain deprecated UPC keywords.
2176         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2177         * c-tree.h (undeclared_variable): Define prototype.
2179 2011-02-12  Gary Funck  <gary@intrepid.com>
2181         * c-typeck.c: (build_c_cast, convert_for_assignment)
2182           Diagnose an attempt to convert from an integer to
2183           a pointer-to-shared as an error.  Also, fix various
2184           error messages so that they use the preferred term
2185           pointer-to-shared instead of "shared pointer".
2187 2011-02-07  Gary Funck  <gary@intrepid.com>
2189         * c-typeck.c: (convert_for_assignment)
2190           Fix typo. in error message.
2192 2011-01-23  Gary Funck  <gary@intrepid.com>
2194         * c-typeck.c: (c_build_qualified_type)
2195           derive UPC block size by calling upc_get_block_size(),
2196           to ensure that the element type of an array of an array
2197           is derived correctly.
2199 2010-12-29  Gary Funck  <gary@intrepid.com>
2201         Merge trunk version 168314 into gupc branch.
2203 2010-12-15  Gary Funck  <gary@intrepid.com>
2205         Merge trunk version 167307 into gupc branch.
2207 2010-10-19  Gary Funck  <gary@intrepid.com>
2209         * c-typeck.c: Fix typo in previous fix
2210           which led to a mis-compare for equal block sizes.
2212 2010-10-18  Gary Funck  <gary@intrepid.com>
2214         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2215           diagnosed as an error
2216           The conversion from any type (shared or not) to
2217           a shared type is likely either meaningless or an error.  This update
2218           makes any conversion to a shared type, an error.
2220 2010-10-18  Gary Funck  <gary@intrepid.com>
2222         * c-typeck.c: Fix bug: passing int to shared pointer arg.
2223           generates spurious warning
2224           Add a #define procedure that does the same thing as
2225           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
2226           this procedure to diagnose passing an integer value to a
2227           pointer-to-shared as an error.
2229 2010-10-18  Gary Funck  <gary@intrepid.com>
2231         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2232           matching routine declaration.
2233           When checking for type compatibility, shared qualified types must
2234           have the same block factor.  This check was missing from
2235           comptypes_internal().  This update adds the check for blocking
2236           factor equality.
2238 2010-10-17  Gary Funck  <gary@intrepid.com>
2240         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2241           found (-O1 -g)
2242           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2244 2010-10-17  Gary Funck  <gary@intrepid.com>
2246         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2247           45869 - [4.5/4.6 Regression] type mismatch in shift expression
2248           produces ice with -O3 and -m32.
2249           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2251 2010-10-17  Gary Funck  <gary@intrepid.com>
2253         * c-common.c: Diagnose the application of the various "*sizeof"
2254           operations on generic pointer-to-shared as a compilation error.
2256 2010-10-17  Gary Funck  <gary@intrepid.com>
2258         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2259           message regarding a function parameter being declared with a shared
2260           qualifier.
2261           The parameter's 'name' value is not defined at this point, and
2262           cannot be used in the error message.  This update removes the
2263           reference to 'name', and eliminates the segfault.
2265 2010-10-16  Gary Funck  <gary@intrepid.com>
2267         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2268           The gcc/Makefile.in rules for install-plugin had to be re-written to
2269           break up a long list of header files that exceeded the command line
2270           limitation imposed by Irix.
2271           Access functions for TFmode types had to be implemented.
2272           Apparently, this is the mode used for the SGI/MIPS port to represent
2273           "long float".
2275 2010-10-14  Gary Funck  <gary@intrepid.com>
2277         * c-decl.c: Fix bug: Multiple equal blocking factors specified
2278           via typedef chain should not be diagnosed as an error.
2279           If the block size that is given by the typedef is equal to the block
2280           size given explicitly in the variable declaration, then do not
2281           complain.  The easiest way to make this check was to create a
2282           temporary type that is a clone of the element type and then set its
2283           block size using the given layout qualifier.  Then compare the block
2284           size of the temporary (the declaration) to the block size specified
2285           in the typedef.  This complexity is needed, because the '[*]' block
2286           size needs to be calculated, and the '[]' needs to be mapped into a
2287           zero block size.
2289 2010-10-10  Gary Funck  <gary@intrepid.com>
2291         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2292           specified
2293           The compiler properly detected the presence of two or more layout
2294           qualifiers as an error, but then hit an assertion check, because the
2295           code that followed the error expected to see a qualifier and not a
2296           layout specifier.  The fix is simple: just return immediately after
2297           detecting the error.
2299 2010-10-10  Gary Funck  <gary@intrepid.com>
2301         * c-decl.c: Improve error diagnostics for various cases of UPC
2302           shared array type declarations.
2303           Add the check for this error: "In the dynamic translation
2304           environment, THREADS may not appear in declarations of shared arrays
2305           with indefinite block size".  Also, fix up a few of the other
2306           related error diagnostics.
2308 2010-10-09  Gary Funck  <gary@intrepid.com>
2310         * c-common.c: Fix bug: segfault on incomplete array definition.
2311           This turned out to be a bit complicated.   The logic in
2312           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2313           the THREADS identifier in the case where the blocking factor has
2314           been set to indefinite ([]).  This can happen when indefinite array
2315           declarations are processed for shared arrays.  At that time, the
2316           file scope has been closed and THREADS is no longer in scope.  Some
2317           more work is needed on upc_lang_layout_decl().  It has some
2318           duplication, and notably duplicates the two branches of the if
2319           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2320           caller of this routine (layout_decl()).
2321           The method of forcing a layout qualifier of [] in the indefinite
2322           declaration handler is odd a well.  The code that just does the
2323           setting of the block factor, needs to moved into its own routine
2324           that doesn't depend upon a declspec for '[]' to be passed in, just
2325           in order to set the blocking factor to some value (in this case, 0).
2326           Also, the logic for how that shared type is constructed is strange.
2327           First the type with 0 blocking factor is set.  Then the shared
2328           qualifier is removed from the type, and then added back later.  The
2329           intermediate type has a blocking factor set, but it has no shared
2330           qualifier.  Fixing this will require some thought.  It is tempting
2331           just to make indefinite shared arrays an error, rather than forcing
2332           the dimension to be '1'.
2333           This likely fixes a serious error in the previous update to
2334           upc_lang_layout_decl(), where it didn't have the logic to set
2335           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
2336           the previous update would fail on many tests.
2338 2010-10-09  Gary Funck  <gary@intrepid.com>
2340         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2341           (decl) is null, which can happen if some layout error occurred
2342           upstream.
2344 2010-10-09  Gary Funck  <gary@intrepid.com>
2346         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2347           "variable-sized" when compiled in dynamic threads.
2348           This long-standing bug is easily fixed.  Just check
2349           for the situation that the non-constant sized type is shared and
2350           that it does not have a dimension that references a multiple of
2351           threads.  If this criteria is met, then issue a meaningful
2352           diagnostic.
2354 2010-10-01  Gary Funck  <gary@intrepid.com>
2356         * configure, configure.ac: Update manual page, and bug reporting
2357           URL.  Update "man" page to reflect debugging switches.
2358           Also, some general clean up.  Change the bug reporting
2359           URL to point to gccupc.org.
2361 2010-09-27  Gary Funck  <gary@intrepid.com>
2363         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2364           the UPC forall depth count variable is not found.
2365           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2366           The compiler will generate code that references this variable in
2367           order to implement nested upc_forall semantics.  If there is a
2368           compiler build or install problem, this variable may not be found.
2369           In this case, terminate with an internal_error().
2371 2010-09-26  Gary Funck  <gary@intrepid.com>
2373         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2374           mis-diagnosed as syntax error.
2375           Fix a failure exhibited by the Berkeley test case,
2376           bug873a.upc, which has the code:
2377                double d;
2378                upc_forall (;;;d) {...} The compiler did not properly handle
2379           the empty "condition" clause, and did not recover well when it was
2380           determined that the use of a double value, "d" above, was neither a
2381           pointer-to-shared nor an integer expression.  The update implements a
2382           fix for both issues.
2383           See also: gcc/c-parser.c gcc/upc/upc-act.c
2385 2010-09-23  Gary Funck  <gary@intrepid.com>
2387         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2388           incorporated into the referencing type.
2389           This was semi-fixed a few times before.  This update fixes a few
2390           more places where the layout qualifier wasn't being propagated
2391           through typedef's properly.  What made this a bit tricky is shown in
2392           the example cited in the bug report:
2393           typedef shared [5] int A_t; A_t A[5*THREADS];
2394           In the typedef, the blocksize is being applied to a shared *scalar*,
2395           and the code was applying the blocksize only to arrays.  This update
2396           handles shared scalars correctly.
2398 2010-09-22  Gary Funck  <gary@intrepid.com>
2400         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2401           upc_forall() semantics are not implemented
2402           The checkforall test in the Berkeley harness test suite indicated
2403           that GCC/UPC was not properly implementing nested upc_forall
2404           semantics.  Nested upc_forall statements (both statically or
2405           dynamically nested) must implement their affinity clause as if it
2406           were "continue"; thus all steps in the loop must execute without
2407           regard for affinity.  To implement these semantics a global depth
2408           counter, __upc_forall_depth, is maintained by the generated code
2409           that implements upc_forall.
2410           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2411           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2412           libupc/include/upc.h libupc/smp/upc_main.c
2414 2010-09-19  Gary Funck  <gary@intrepid.com>
2416         * c-decl.c: c-decl.c: zero out the layout specifier, after
2417           processing an array type.
2418           Fix the previous fix, that moved the setting of the type's layout
2419           qualifier to the outside of the array type processing loop.  What is
2420           missing from the fix is that the layout_qualifier variable needs to
2421           be cleared after setting the type's blocksize.
2423 2010-09-19  Gary Funck  <gary@intrepid.com>
2425         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2426           given blocksize is greater than UPC_MAX_BLOCKSIZE.
2427           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2428           the actual maximum block size.  Therefore, the message was correct,
2429           but the underlying value that was being checked was wrong.  Change
2430           the values so that they agree with the actual implementation-defined
2431           limit.
2433 2010-09-11  Gary Funck  <gary@intrepid.com>
2435         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2436           multi-dimensional shared array with dynamic threads.
2437           This declaration caused an internal compiler error when compiled
2438           with dynamic threads:
2439               shared [*] int A[THREADS][16]; The bug was discovered when
2440           compiling the RTED_UPC test suite.
2441           The fix is to process layout qualifiers after the entire array type
2442           has been built.  Otherwise, we try to calculate the blocksize on a
2443           shared array type that has not had its "size depends upon the value
2444           of THREADS" flag set.
2445           Also, added a test case.
2446           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2448 2010-07-11  Gary Funck  <gary@intrepid.com>
2450         Fix a bug where a statement in c_build_qualified_type()
2451         in the trunk had been inadvertently deleted.
2452         This bug showed up in the IA64 port, because jmpbuf's
2453         on that architecture must be 16 byte aligned, and they were not.
2454         c-typeck.c (c_build_qualified_type): Revive the deleted line.
2456 2010-07-08  Gary Funck  <gary@intrepid.com>
2458         Make changes so that other language compilers
2459         will build and bootstrap.
2460         * c-family/c-common.c (compiling_upc, flag_upc,
2461         flag_upc_instrument, flag_upc_instrument_functions,
2462         use_upc_dwarf2_extensions): Move to stub-upc.c and
2463         upc-lang.c.
2464         * c-family/c-common.h (use_upc_dwarf2_extensions,
2465         compiling_upc): Add extern definitions - needed
2466         to compile/build other language front ends.
2467         * c-family/c.opt: Fix the spelling of ObjC.
2468         It had been incorrectly spelled as Objc.
2469         * c-family/c.opt: Add UPC for the various switches
2470         that are valid for both C and ObjC.
2471         * c-fmaily/c-opts.c: Add CL_UPC to the list of
2472         supported options switches when compiling assembly
2473         language.
2474         * lto/lto-lang.c (use_upc_dwarf2_extensions,
2475         flag_upc_instrument, flag_upc_instrument_functions):
2476         Remove these definitions.  They have been moved
2477         to c-family/stub-upc.c.
2478         * upc/ChangeLog: Move relevant entries
2479         to ChangeLog.upc.
2480         * c-family/stub-upc.c (compiling_upc, flag_upc,
2481         flag_upc_instrument, flag_upc_instrument_functions,
2482         use_upc_dwarf2_extensions): Moved from c-common.c
2483         * upc/upc-lang.c (compiling_upc, flag_upc,
2484         flag_upc_instrument, flag_upc_instrument_functions,
2485         use_upc_dwarf2_extensions): Moved from c-common.c
2486         * objc/objc-act.c (objc_gimplify_expr): Add additional
2487         parameters to c_gimplify_expr() call, that are used
2488         by upc's tree rewrites.
2489         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2490         * gcc/cp/lex.c (init_reswords): If not compiling
2491         UPC, then mask off the UPC keywords.
2492         * cp/Make-lang.in (C_STUB_OBJS): Use this
2493         make macro to link with c-family/stub-objc.o
2494         and c-family/stub-upc.o.
2495         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2496         * java/Make-lang.in (C_STUB_OBJS): Likewise.
2497         * objc/Make-lang.in: Link with c-family/stub-upc.o
2498         to avoid undefined references.
2499         c-parser.c: Fix line indentation.
2500         * libcpp/include/cpplib.h: Remove CL_UPC from
2501         the list of language kinds accepted by the
2502         C preprocessor.  This is not necessary because
2503         UPC is a derivative of C99, and does not need
2504         a different language kind.
2505         * c-fmaily/c-opts.c (c_common_handle_option):
2506         Call set_std_c99() when processing the
2507         "--lang upc" switch, instead of setting the
2508         language kind to CL_UPC.
2509         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2511 2010-07-03  Gary Funck  <gary@intrepid.com>
2513         Merge trunk version 161517 into gupc branch.
2514         * gcc/stub-upc.c: Move to gcc/c-family/.
2515         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2516         Add 'unused' attributes to avoid "set, but
2517         not referenced" warnings.
2518         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2519         Likewise.
2521 2010-03-01  Gary Funck  <gary@intrepid.com>
2523         Create gupc branch from trunk version 157149.
2525 2011-10-04  Gary Funck  <gary@intrepid.com>
2527         Merge trunk version 179421 into gupc branch.
2528         * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
2529         argument to the call to check_qualified_type().
2531 2011-09-22  Gary Funck  <gary@intrepid.com>
2533         * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
2534         information.
2535         (dump_upc_type_quals): New.
2537 2011-09-22  Gary Funck  <gary@intrepid.com>
2539         * upc/upc-act.c (upc_get_block_factor): test TYPE_HAS_BLOCK_FACTOR()
2540         before calling TYPE_BLOCK_FACTOR().  This fits better with
2541         recent encoding of block factor values with a hash table.
2543 2011-09-15  Nenad Vukicevic  <nenad@intrepid.com>
2545         Add to FLAGS the flags needed to disable inlining of
2546         UPC run-time access routines.
2547         * testsuite/lib/target-supports.exp
2548         (add_options_for_upc_library_calls): New.
2550 2011-09-15  Gary Funck  <gary@intrepid.com>
2552         Fix ICE involving shared bit field accesses.
2553         * tree.c (build3_stat): Propagate TEEE_SHARED()
2554         TREE_STRICT() and TREE_RELAXED() flags, if applicable.
2556 2011-09-15  Gary Funck  <gary@intrepid.com>
2558         Fix ICE involving shared bit field accesses.
2559         * upc/upc-genericize.c (upc_simplify_shared_ref): Improve
2560         "shared bit fields not yet implemented" error message
2561         by adding file/line number location.
2563 2011-09-13  Gary Funck  <gary@intrepid.com>
2565         Merge trunk version 178795 into gupc branch.
2566         Incorporates fix to PR bootstrap/50010 for x86-32.
2568 2011-09-13  Gary Funck  <gary@intrepid.com>
2570         * upc/upc-tree.def (UPC_FORALL_STMT): Fix spelling error in comments.
2571         * upc/upc-lang.c (upc_init_options): Ditto.
2572         * upc/upc-genericize.c (lookup_unshared_var, upc_shared_addr_rep,
2573         upc_genericize_expr, upc_genericize_compound_expr): Ditto.
2574         * upc/upc-act.c (upc_parse_init, upc_build_pointer_type,
2575         upc_block_factor_insert, upc_pts_is_valid_p): Ditto.
2577 2011-09-08  Gary Funck  <gary@intrepid.com>
2579         Merge trunk version 178557 into gupc branch.
2581 2011-09-07  Gary Funck  <gary@intrepid.com>
2583         Ensure that UPC pointer-to-shared type alignment is
2584         propagated to the final type.  Revert to long-standing
2585         alignment policy: twice the size of a "C" pointer.
2586         * tree.c (build_pointer_type): Propagate the alignment
2587         of the UPC pointer-to-shared representation type
2588         into the newly built pointer type.
2590 2011-09-07  Gary Funck  <gary@intrepid.com>
2592         Ensure that UPC pointer-to-shared type alignment is
2593         propagated to the final type.  Revert to long-standing
2594         alignment policy: twice the size of a "C" pointer.
2595         * upc/upc-pts-struct.c (upc_pts_struct_init_type): Ensure that
2596         shared pointers have twice the alignment of a pointer.
2597         * upc/upc-act.c (upc_cpp_builtins): Unconditionally emit
2598         the definition of __UPC_PTS_ALIGN__.
2600 2011-09-02  Gary Funck  <gary@intrepid.com>
2602         Align UPC pointers-to-shared, only if the target enforces
2603         strict alignment.
2604         * upc/upc-pts-struct.c (upc_pts_struct_init_type): Align a
2605         UPC pointer-to-shared type, only if the target requires
2606         strict alignment.
2607         * upc/upc-act.c (upc_cpp_builtins): Output pre-defined macro,
2608         __UPC_PTS_ALIGN__, only if the target requires strict alignment.
2610 2011-08-30  Gary Funck  <gary@intrepid.com>
2612         * tree.h (check_qualified_type): Change 'const_tree'
2613         argument types back to 'tree' to avoid complaints
2614         of assignment drops qualifiers for invocations of the
2615         newly implemented TYPE_BLOCK_FACTOR() macro, which
2616         invokes hash functions with 'tree' pointer values that
2617         are not const qualified.
2618         * tree.c (check_qualified_type, check_aligned_type): Ditto.
2619         * c-typeck.c (comptypes_internal): Ditto.
2621 2011-08-29  Gary Funck  <gary@intrepid.com>
2623         Fixes for regressions noted running "make check"
2624         versus GCC trunk.
2625         * fold-const.c (fold_unary_loc): Execute UPC-specific
2626         checks for a cast-of-a-cast, only if one of the
2627         operands is a UPC pointer-to-shared value.
2628         * opts.c (print_specific_help):  Fix a comparison
2629         in an assert that checks that there are enough
2630         bits reserved for the number of languages defined
2631         in the .opt files.
2633 2011-08-29  Gary Funck  <gary@intrepid.com>
2635         Implement a hash table to record UPC block factors.
2636         * c-family/stub-upc.c (upc_block_factor_insert,
2637         upc_block_factor_lookup): New dummy stub procedures.
2638         * c-family/c-common.c (c_sizeof_or_alignof_type):
2639         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2640         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
2641         to copy (hashed) UPC blocking factor.
2642         (set_type_quals): Likewise.
2643         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2644         TYPE_HAS_THREADS_FACTOR().
2645         (type_common.block_factor): Delete.
2646         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
2647         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
2648         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
2649         UPC blocking factors greater than one.
2650         * dwarf2out.c (modified_type_die): Re-implement
2651         logic that records UPC blocking factor in the generated
2652         DWARF2 debugging information.
2653         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2654         TYPE_HAS_THREADS_FACTOR().
2655         * c-decl.c (finish_decl, grokdeclarator):
2656         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2657         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
2658         used by UPC, and print UPC-specific information.
2660 2011-08-29  Gary Funck  <gary@intrepid.com>
2662         Implement a hash table to record UPC block factors.
2663         * upc/upc-act.c (upc_block_factor_for_type): New garbage-collected
2664         hash table.
2665         (upc_lang_init, upc_finish): Move to end of source file.
2666         (upc_lang_init): create  upc_block_factor_for_type hash table.
2667         (upc_block_factor_lookup, upc_block_factor_insert): New.
2668         (upc_grok_layout_qualifier, upc_lang_layout_decl, upc_pts_int_sum):
2669         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2670         (upc_grok_layout_qualifier): convert blocking factor to sizetype
2671         before checking for equality to element type's blocking factor.
2673 2011-08-28  Gary Funck  <gary@intrepid.com>
2675         Re-work the type machinery to fully support and to unify support
2676         for the UPC layout qualifier (blocking factor).
2677         * c-family/stub-upc.c (upc_set_block_factor): Delete.
2678           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
2679           and update prototype.
2680         * c-family/c-common.c (complete_array_type): call newly
2681           defined c_build_qualified_type_1() instead of
2682           upc_set_block_factor().
2683         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
2684           upc_apply_layout_qualifier() and update prototype.
2685           (upc_set_block_factor): Delete prototype.
2686         * c-family/c-common.h (c_build_qualified_type): redefine
2687           as a pre-processor macro that invokes c_build_qualified_type_1()
2688           with a null UPC layout qualifier.
2689           (c_build_qualified_type_1): New.  Add layout qualifier argument
2690           to old c_build_qualified_type() prototype.
2691         * tree.c (set_type_quals, check_qualified_type):
2692           Add layout qualifier as argument.
2693           (check_aligned_type): Add check for UPC block factor equality.
2694           (get_qualified_type_1): Rename from get_qualified_type() and
2695           add layout qualifier as argument.
2696           (build_qualified_type_1): Rename from build_qualified_type() and
2697           add layout qualifier as argument.
2698         * tree.h (check_qualified_type): Add layout qualifier as argument
2699           to the prototype.
2700           (get_qualified_type): Re-define as a as a pre-processor macro
2701           that invokes get_qualified_type_1() with a null
2702           UPC layout qualifier.
2703           (get_qualified_type_1): Rename from get_qualified_type() and
2704           add layout qualifier as argument.
2705         * cp/tree.c (c_build_qualified_type_1): Rename from
2706           c_build_qualified_type() and add (unused) layout qualifier
2707           argument.
2708         * c-decl.c (finish_decl): re-format long error messages.
2709           (grokdeclarator): Re-work the logic so that it calls
2710           upc_grok_layout_qualifier() to handle the UPC layout
2711           qualifier, if present.
2712         * c-typeck.c (qualify_type, common_pointer_type,
2713           build_component_ref): Re-work the logic so that it calls
2714           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
2715           if present.
2716           (c_build_qualified_type_1): Rename from c_build_qualified_type()
2717           and add layout qualifier argument.
2718         * print_tree.c (print_node): Re-format a long line.
2720 2011-08-28  Gary Funck  <gary@intrepid.com>
2722         Re-work the type machinery to fully support and to unify support
2723         for the UPC layout qualifier (blocking factor).
2724         * upc/upc-genericize.c (upc_simplify_shared_ref): Call
2725         c_build_qualified_type_1() instead of upc_set_block_factor()
2726         to assert a zero blocking factor.
2727         * upc/upc-pts-struct.c (upc_pts_struct_init_type): Call
2728         c_build_qualified_type_1() to build predefined shared
2729         qualified types, instead of build_variant_type_copy().
2730         * upc/upc-pts-packed.c (upc_pts_packed_init_type): Call
2731         c_build_qualified_type_1() to build predefined shared
2732         qualified types, instead of build_variant_type_copy().
2733         * upc/upc-act.c (upc_set_block_factor): Delete.
2734         (upc_grok_layout_qualifier): Rename from upc_apply_layout_qualifier().
2735         Rework logic so that it returns a blocking factor rather than
2736         a qualified type.  Add 'loc' argument and call error_at().
2737         Add an ELEM_BLOCK_FACTOR argument and Implement logic that merges
2738         the block size of the element type into the result type, and checks
2739         for errors due to an attempt to merge differing blocking factors.
2741 2011-08-26  Gary Funck  <gary@intrepid.com>
2743         Merge trunk version 177949 into gupc branch.
2744         * c-family/c-common.h (enum rid): Bump the number of type modifiers
2745           in the comment.
2746         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
2747           to add new rliterals column value.
2749 2011-08-26  Gary Funck  <gary@intrepid.com>
2751         * convert.c (convert_to_integer): Fix the check for the
2752           difference between two UPC pointers-to-shared values.
2754 2011-08-23  Nenad Vukicevic  <nenad@intrepid.com>
2756         * configure.ac: Fix the name for --with-upc-pts-packed-bits
2757           option. Support --with-upc-packed-bits as deprecated. Fix the code to
2758           correctly check packed bits.
2759         * configure: Re-generate.
2761 2011-08-16  Gary Funck  <gary@intrepid.com>
2763         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
2764           the barrier id expression is not an integer expression.
2766 2011-08-16  Gary Funck  <gary@intrepid.com>
2768         * upc/upc-act.c (upc_decl_init): Do not attempt to expand
2769           an error mark node.  Fixes ICE after error diagnostic.
2770         * upc/upc-cmd.c (main): detect missing option argument for
2771           options that require an argument, and print error diagnostic.
2772           (get_print_cmd): Re-direct error output to /dev/null to
2773           avoid issuing duplicate error messages.
2775 2011-08-12  Gary Funck  <gary@intrepid.com>
2777         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
2778           (revert to trunk).
2779         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
2780           Set mode of UPC pointer-to-shared rep. to an
2781           integral mode of size at least as large as the
2782           size of the representation's struct type.
2784 2011-08-12  Gary Funck  <gary@intrepid.com>
2786         Rework/simplify the UPC genericize pass.
2787         * c-family/stub-upc.c (upc_apply_layout_qualifier,
2788           upc_build_pointer_type): New.
2789           (upc_set_block_factor): Adjust to new calling sequence.
2790           (upc_build_shared_var_addr): Delete.
2791         * c-family/c-common.c (complete_array_type): Adjust call
2792           to upc_set_block_factor().
2793         * c-family/c-upc.h (upc_apply_layout_qualifier,
2794           upc_build_pointer_type): New.
2795           (upc_build_shared_var_addr): Delete.
2796           (upc_set_block_factor): Adjust to new calling sequence.
2797         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
2798         * c-decl.c (grokdeclarator): Call newly defined
2799           upc_apply_layout_qualifier() instead of upc_set_block_factor().
2800         * c-decl.c (grokdeclarator): Split long UPC-related error
2801           messages into two lines.
2802         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
2803           directly.  Revert that change to trunk. (upc_genericize() will
2804           handle lowering the expressions that take the address of a
2805           UPC variable).
2806         * config/i386/i386.c (ix86_promote_function_mode): For UPC
2807           pointers-to-shared, return the type mode of the UPC pointer-to-shared
2808           representation type.
2810 2011-08-12  Gary Funck  <gary@intrepid.com>
2812         Rework/simplify the UPC genericize pass.
2813         * upc/upc-pts.h (upc_pts_ops_t): Remove 'add_offset' field.
2814         * upc/upc-act.h: Cosmetic change.
2815         * upc/config-lang.in (gtypes): Add upc-genericize.[ch] to the list.
2816         * upc/upc-genericize.c (upc_expand_get):
2817           Add WANT_STABLE_VALUE parameter.
2818           (upc_build_shared_var_addr, upc_shared_addr_rep): New.
2819           (uid_tree_map, unshared_vars, uid_tree_map_hash, uid_tree_map_eq,
2820           create_unshared_var, lookup_unshared_var, map_unshared_var,
2821           unshared_var_addr, unshared_var_name,
2822           upc_free_unshared_var_table): Move from upc-act.c.
2823           (upc_expand_get, upc_expand_put): Change their source and/or
2824           destination parameters so that they are no longer addresses
2825           of the objects, but rather references to the objects themselves.
2826           (upc_simplify_shared_ref): Rewrite (simplify/generalize).
2827           (upc_shared_addr_rep): New.
2828           (upc_shared_addr):  Adjust call to upc_build_shared_var_addr(),
2829           and re-factor the logic.
2830           (upc_genericize_sync_stmt): Re-format comment.
2831           (upc_genericize_shared_var_ref): Adjust call to upc_expand_get().
2832           (upc_genericize_addr_expr): Re-factor the logic.
2833           (upc_genericize_indirect_ref, upc_genericize_field_ref):
2834           Adjust call to upc_expand_get() and re-factor the logic.
2835           (upc_genericize_modify_expr): Adjust call to upc_expand_put()
2836           and re-factor the logic.
2837           (upc_genericize_expr): Improve/fix comments.
2838           (upc_genericize_finish, upc_genericize_init): New.
2839         * upc/upc-pts-struct.c (upc_pts_struct_build_add_offset): Delete.
2840           (upc_char_pts_type_node): Create new global type node.
2841           (upc_pts_struct_is_null_p): Generalize variable names to
2842           reflect the fact that the vaddr field can be either first/last.
2843           (upc_pts_struct_build_sum): Make corrections to comments.
2844           (upc_pts_struct_build_add_offset): Delete.
2845         * upc/upc-genericize.h (upc_genericize_finish, upc_genericize_init):
2846           New prototypes.
2847         * upc/upc-pts-packed.c (upc_pts_packed_build_add_offset): Delete.
2848           (upc_char_pts_type_node): Create new global type node.
2849         * upc/Make-lang.in: Add dependencies to gtype-upc.h
2850           and gt-upc-upc-genericize.h.
2851         * upc/upc-act.c: Adjust includes to reflect moving the functions
2852           that handle the UPC unshared "shadow variables" into
2853           upc-genericize.c.  Improve/fix various comments.
2854         * upc/upc-act.c (upc_parse_init): Call upc_genericize_init().
2855           (upc_build_pointer_type): New.
2856           (upc_set_block_factor): Re-purpose.  Move the front-end
2857           related error checks into upc_apply_layout_qualifier().
2858           (upc_apply_layout_qualifier): New.
2859           (upc_write_global_declarations): Call upc_genericize_finish().
2861 2011-08-10  Gary Funck  <gary@intrepid.com>
2863         Implement additional fixes for recent merge with trunk.
2864         * explow.c (promote_mode): Do not attempt to promote
2865           the mode for UPC pointer-to-shared types.
2866         * config/i386/i386.c (function_value_64): Ditto.
2868 2011-08-07  Gary Funck  <gary@intrepid.com>
2870         Merge trunk version 177548 into gupc branch.
2871         * config/i386/i386.c (ix86_promote_function_mode):
2872           Do not promote UPC pointers-to-shared to Pmode.
2873         * c-family/c-ommon.c (pointer_int_sum):
2874           Also check the pointer operand, rather than just
2875           its type, when making the decision to derive
2876           the equivalent unshared type.
2877         * tree.c (build2_stat): If the type of the result
2878           passed in as an argument is a UPC shared type,
2879           derive the unshared equivalent when calculating
2880           the result type of the node.
2882 2011-07-15  Nenad Vukicevic  <nenad@intrepid.com>
2884         * config/darwin.c: Disable var_tracking option
2885           on -O0 as it is supposed to run only when optimization
2886           is applied. See GCC bug 49743.
2888 2011-07-11  Gary Funck  <gary@intrepid.com>
2890         * upc/upc-genericize.c (upc_expand_put): Fix bug, where strict/relaxed
2891         qualification was incorrectly derived from the source operand.
2892         (upc_genericize_fndecl): New.
2893         (upc_gnericize): Call upc_genericize_fndecl() to avoid calling
2894         c_genericize() more than once in the event of nested procedures.
2895         (upc_genericize_real_imag_ref): Rename,
2896         was: upc_genericize_real_image_ref.
2897         (upc_expand_put): call internal_error() with meaningful message
2898         in lieu of abort().
2899         (upc_genericize_real_imag_ref): call internal_error() with
2900         meaningful message in lieu of gcc_unreachable().
2902 2011-07-06  Gary Funck  <gary@intrepid.com>
2904         Re-implement the pass that lowers trees generated by
2905         the UPC front-end into GENERIC.  Previously this was
2906         done within the gimplification framework, but this
2907         required that gimplification be run before inlining
2908         and various other passes, which did not fit in well
2909         with the current design of the middle-end passes.
2910         Now, the lowering is done by a newly defined language
2911         specific genericize hook.  With this change, we are
2912         are able to undo some extensions made to the gimplify
2913         logic, and thus can revert several files to trunk.
2914         * c-decl.c: Add a check for UPC deprecated names which
2915           may appear as undefined function names.
2916         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2917           LTI_upc_getaddr): Remove definitions of unused UPC
2918           library function names.  These were defined back when
2919           the libfunc interface was used to call these routines.
2920         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2921           in UPC lowering (genericize) pass.
2922         * langhooks.h (gimplify_expr): Revert to trunk's definition.
2923           (instrument_func): Delete this hook.  Now handled in
2924           upc_genericize().
2925         * tree-pass.h: Revert to trunk.
2926         * c-typeck.c (build_unary_op): Adjust reference to
2927           upc_genericize() in a comment.
2928         * gimplify.c (create_tmp_var_raw): Delete logic that
2929           was converting UPC shared types into unshared types
2930           to be used for temporaries.  Now handled in  upc_genericize().
2931           Replace with an assertion check.
2932           (prepare_gimple_addressable): Revert to trunk's definition.
2933           No longer needed as an externally called function.
2934           (flag_instrument_functions_exclude_p): Re-define as
2935           an externally called function.
2936           (gimplify_function_tree): Delete code that implemented
2937           call to UPC's language specific function instrumentation hook.
2938         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2939           (prepare_gimple_addressable): Delete extern definition;
2940           revert to trunk's definition.
2941         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2942           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2943         * c-family/c-gimplify.c: Revert to trunk.
2944         * cp/cp-gimplify.c: Revert to trunk.
2945         * cp/cp-tree.h: Revert to trunk.
2946         * explow.c: Revert to trunk.
2947         * langhooks.c: Revert to trunk.
2948         * libfuncs.h: Revert to trunk.
2949         * objc/objc-act.c: Revert to trunk.
2951 2011-07-06  Gary Funck  <gary@intrepid.com>
2953         Improve/simplify the logic in upc_genericize.
2954         * upc/upc-genericize.c (upc_create_tmp_var): Delete the
2955           PREFIX argument.  Aways use "UPC" as the prefix.
2956           (upc_genericize_compound_expr): Add a WANT_VALUE argument.
2957           (upc_genericize_cond_expr): New.
2958           (upc_genericize_decl_expr): New.
2959           (upc_genericize_stmt): New.
2960           (upc_copy_value_to_tmp_var, upc_expand_get): Adjust call
2961           to upc_create_tmp_var().
2962           (upc_genericize_expr): Change the handling
2963           of the want_value flag passed in the DATA argument.
2964           Always assert this flag after processing EXPR_P.
2965           (upc_genericize_compound_expr): Adjust call
2966           to upc_genericize_compound_expr() and call
2967           upc_genericize_cond_expr() and upc_genericize_decl_expr().
2969 2011-07-06  Gary Funck  <gary@intrepid.com>
2971         Re-implement the pass that lowers trees generated by
2972         the UPC front-end into GENERIC.  Previously this was
2973         done within the gimplification framework, but this
2974         required that gimplification be run before inlining
2975         and various other passes, which did not fit in well
2976         with the current design of the middle-end passes.
2977         Now, the lowering is done by a newly defined language
2978         specific genericize hook.  With this change, we are
2979         are able to undo some extensions made to the gimplify
2980         logic, and thus can revert several files to trunk.
2981         * upc/upc-genericize.c: Rename upc-gimplify.c to upc-genericize.c.
2982         * upc/upc-genericize.h: Rename upc-gimplify.h to upc-genericize.h.
2983         * upc/Make-lang.in: Adjust to refer to upc-genericize.[cho].
2984         * upc/upc-lnag.c: refer to upc-genericize.h.
2985           (LANG_HOOKS_GENERICIZE): define as upc_genericize.
2986           (LANG_HOOKS_GIMPLIFY_EXPR): Delete.
2987           (LANG_HOOKS_INSTRUMENT_FUNC): Delete.
2988         * upc/upc-act.c: Minor code format fix.
2990 2011-06-30  Gary Funck  <gary@intrepid.com>
2992         * c-family/c.opt: Bring options definitions up-to-date
2993         with respect to changes made in the trunk.
2995 2011-06-29  Gary Funck  <gary@intrepid.com>
2997         Merge trunk version 175584 into gupc branch.
2999 2011-06-29  Gary Funck  <gary@intrepid.com>
3001         Merge trunk version 175584 into gupc branch.
3002         * upc/upc-act.c (upc_handle_option): Change reference to
3003         have_named_sections so that it refers to the
3004         targetm_common structure.
3006 2011-06-28  Gary Funck  <gary@intrepid.com>
3008         * upc/upc-act.h (upc_write_init_func, upc_free_unshared_var_table):
3009         Remove extern definitions. Now declared as 'static'.
3010         * upc/upc-gimplify.c, upc/upc-lang.c,
3011         upc-pts-struct.c, upc-gasp.c, upc-pts-packed.c,
3012         upc-cmd.c, upc-act.c: Improve/add comments, fix
3013         typos and spelling errors.
3015 2011-06-13  Gary Funck  <gary@intrepid.com>
3017         libcpp/
3018         * include/cpplib.h (enum c_lang):
3019         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
3020         This keeps all the "C" variants together.
3021         * init.c (lang_defaults): Add an entry for UPC.
3023 2011-06-10  Gary Funck  <gary@intrepid.com>
3025         * upc/upc-act.c (upc_set_block_factor): Handle the case where
3026         the UPC blocking factor expression overflowed.
3028 2011-06-09  Gary Funck  <gary@intrepid.com>
3030         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
3031         a 32-bit target, the size expression overflowed, the result was
3032         error_mark_node, and an ICE was triggered on an attempt to evaluate
3033         C_TYPE_VARIABLE_SIZE() on the error node.
3034         (upc_blocksizeof_expr, upc_blocksizeof_type,
3035         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
3036         Make similar changes to avoid further processing of error_mark_node.
3038 2011-06-07  Gary Funck  <gary@intrepid.com>
3040         * sel-sched.c (move_op): Incorporate the following
3041         patch to eliminate ICE at -O3 on IA64/Altix.
3043 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
3045         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
3046         code_motion_path_driver returned 0 or 1.
3047         (sel_region_finish): Clear h_d_i_d.
3049 2011-06-02  Gary Funck  <gary@intrepid.com>
3051         Merge trunk version 174558 into gupc branch.
3053 2011-06-02  Gary Funck  <gary@intrepid.com>
3055         Merge trunk version 174558 into gupc branch.
3056         * upc/upc-lang.c (upc_check_decl_init): Use recently defined
3057         'append_to_statement_list_force' function to add UPC
3058         initialization statements to the UPC initialization
3059         statement list ('upc_init_stmt_list').
3060         (upc_build_init_func): Use recently defined
3061         'append_to_statement_list_force' function to add
3062         statements listed in 'upc_init_stmt_list' onto the
3063         function body constructed to implement initialization
3064         of UPC declarations that require active initialization
3065         at program start up.  The previous methods of manipulating
3066         statement lists no longer worked, due to changes in the
3067         the statement list structure.
3069 2011-05-30  Gary Funck  <gary@intrepid.com>
3071         * configure.ac: Make the default order of the virtual
3072           address field in a UPC pointer-to-shared to be "first".
3073           This reverts to the previous setting, and is a short term
3074           measure to work around a bug found on the IA64,
3075           where vaddr=last led to incorrect code generation.
3076           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
3077           in AC_DEFINE(), to agree with recent changes in files
3078           that reference this define.
3079           configure, config.in: Regenerate.
3081 2011-05-26  Gary Funck  <gary@intrepid.com>
3083         * configure.ac: Fix typo when referring to $upc_vaddr_order.
3084           configure: Regenerate.
3085         * ../fixincludes/fixincl.x: Revert to trunk.
3086           This file is auto-generated, and should not be merged.
3088 2011-05-23  Gary Funck  <gary@intrepid.com>
3090         * upc/upc-pts-struct.c: Revert to code that aligned the
3091           internal pointer-to-shared representation to
3092           twice the alignment of a pointer.  This fixes
3093           an ICE that occurred when building the compiler
3094           on an IA64 target.
3096 2011-05-18  Gary Funck  <gary@intrepid.com>
3098         Merge trunk version 173845 into gupc branch.
3100 2011-05-17  Gary Funck  <gary@intrepid.com>
3102         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
3103           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
3104         * c-family/c-pragma.c: Remove conditional compilation
3105           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
3106           Test 'compiling_upc' when compiling to determine if
3107           the "upc" and "pupc" pragmas should be registered.
3108         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
3109           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
3110           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
3111           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
3112           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
3113           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
3114           Move these target-dependent definitions from config/upc-conf.h
3115           to here.
3116         * configure.ac: Improve the logic for UPC-related options.
3117           Delete references to pre-processor definitions that have
3118           been moved to "upc/upc-pts.h".
3119         * configure, config.in: Regenerate.
3120         * Makefile.in (UPC_PTS_REP): Remove definition and revert
3121           to trunk.  This substitution variable was used to
3122           configure the representation-specific versions of
3123           the tree rewrites that operate on UPC pointer-to-shared
3124           types and objects.
3125         * c-parser.c (c_parser_upc_forall_statement): Remove
3126           reference to UPC_FORALL_DEPTH_NAME, and call
3127           newly defined upc_rts_forall_depth_var() instead.
3128         * config/upc-config.h: Delete. Various definitions
3129           moved to "upc/upc-rts-names.h", "defaults.h", and
3130           "upc/upc-pts.h".
3131         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
3132           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
3133           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
3134           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
3135           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
3136           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
3137           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
3138           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
3139           New.  Document UPC target macros.
3140           doc/tm.texi: Regenerate.
3142 2011-05-17  Gary Funck  <gary@intrepid.com>
3144         * upc/upc-pts.h (upc_pts_build_value, upc_pts_build_add_offset,
3145           upc_pts_build_cond_expr, upc_pts_build_constant,
3146           upc_pts_build_cvt, upc_pts_build_diff, upc_pts_build_sum,
3147           upc_pts_build_threadof, upc_pts_init_type): Remove extern
3148           definitions.
3149           (upc_pts_ops_t): New. Define handler table that will
3150           implement either the 'packed' or the 'struct' representation
3151           of a UPC pointer-to-shared value.
3152           (upc_pts_packed_ops, upc_pts_struct_ops): New. Define extern that
3153           refers to the packed and the struct UPC pointer-to-shared
3154           representation implementation.
3155           (upc_pts): New. Define handler table that is set up at initialization
3156           to refer to the handlers for the UPC pointer-to-shared
3157           representation (packed/struct) that has been configured.
3158           Add conditional compilation test for HAVE_UPC_PTS_PACKED_REP
3159           and configure the UPC pointer-to-shared definitions that
3160           are specific to the configured UPC pointer-to-shared
3161           representation.
3162         * upc/upc-act.h (upc_pts_is_valid_p): Rename extern definition from
3163           is_valid_pts_p to upc_pts_is_valid_p.
3164         * lang-specs.h: Reformat the UPC compilation specs.
3165           to improve readability.
3166         * upc/upc-rts-names.h: New. Define the names of UPC runtime
3167           library functions that implement UPC language statement
3168           semantics.  These definitions were moved from config/upc-conf.h
3169         * upc/upc-gimplify.c: Add include of "upc-rts-names.h".
3170           Refer to newly defined pointer manipulation routines
3171           by indirecting through the newly defined "pts" handler table.
3172           Re-format, re-indent.
3173         * upc/upc-lang.c: Add include of "upc-pts.h".  Fix a comment.
3174         * upc/config-lang.in: Remove logic that inserted "config/upc-conf.h"
3175           into the target include and file path.
3176         * upc/upc-pts-struct.c: Add include of "upc-rts-names.h".
3177           (upc_pts_struct_ops): Define the pointer manipulation
3178           handler table that implements operations on UPC
3179           pointers-to-shared, represented as a struct.
3180           Re-format and re-indent.
3181         * upc/upc-gasp.c: Add include of "upc-rts-names.h".
3182           Re-format and re-indent.
3183         * upc/upc-pts-packed.c: Add include of "upc-rts-names.h".
3184           (upc_pts_packed_ops): Define the pointer manipulation
3185           handler table that implements operations on UPC
3186           pointers-to-shared, represented as a packed integer.
3187           Re-format and re-indent.
3188         * upc/Make-lang.in: Compile both "upc-pts-packed.c" and
3189           "upc-pts-struct.c".  One/other will be selected at
3190           compilation time to implement operations on UPC
3191           on the UPC pointer-to-shared that has been configured.
3192           Add dependencies on "upc-rts-names.h".
3193         * upc/upc-cmd.c: Re-format and re-indent.
3194         * upc/upc-act.c: Add include of "upc-rts-names.h".
3195           (upc_pts): New. Add definition of the handler
3196           table that implements representation specific
3197           operations on trees that refer to UPC pointer-to-shared
3198           objects and types.  Re-format and re-indent.
3200 2011-05-07  Gary Funck  <gary@intrepid.com>
3202         * ../configure.ac: Disable build of libupc
3203           on non POSIX hosted systems.  Use AS_HELP_STRING
3204           to define messages.  Remove 'word-pair' as a
3205           possible --with-upc-pts UPC pointer-to-shared
3206           representation.
3207         * ../configure: Regenerate.
3208         * configure.ac: Use AS_HELP_STRING to define messages.
3209           Remove 'word-pair' as a possible --with-upc-pts
3210           UPC pointer-to-shared representation.
3211           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
3212           (UPC_MAX_BLOCK_SIZE): Correct the default value.
3213         * configure: Regenerate.
3214         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
3215           definition.
3216         * ChangeLog.upc: Fix some typos.
3218 2011-05-07  Gary Funck  <gary@intrepid.com>
3220         * ../maintainer-scripts/gcc_release: Add "upc"
3221           as one of the released languages.
3223 2011-05-06  Gary Funck  <gary@intrepid.com>
3225         Eliminate compilation warnings, by fixing
3226         #include's and updating function prototypes.
3227         * c-family/c-cppbuiltin.c: Include c-upc.h.
3228         * optabs.c (gen_libfunc): Change type of 'suffix'
3229           parameter to conform with prototype.
3230         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
3231           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
3232           hook used by UPC.
3233         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
3234           the prototype.
3235         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
3236           argument values to cp_gimplify_expr.
3237         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
3238           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
3239           pre-processor definitions that are no longer
3240           needed to build the 'upc' command (upc-cmd.c)
3241           because the linker specs. defined in libupc
3242           take care of linking in the needed libraries.
3243         * c-parser.c (c_parser_upc_forall_statement):
3244           initialize affinity_loc to avoid "maybe unused" warning.
3245           (c_parser_upc_sync_statement): Remove un-needed
3246           'ret' variable.  Cast return value from
3247           'upc_build_sync_stmt' to 'void' to avoid
3248           compile-time warning.
3249         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
3250           integer constant, not a string.  Range is restricted
3251           to maximum positive 32-bit integer (2+ billion) to
3252           fit in with the use of 'int' in the front-end's
3253           switch handling logic.
3255 2011-05-06  Gary Funck  <gary@intrepid.com>
3257         Upgrade c-family source files to conform with modularity
3258         improvements.  Mainly, remove #include of c-tree.h in files
3259         under c-family, and define a new UPC-specific #include file,
3260         c-upc.h, and use it.
3261         * c-family/stub-upc.c: Remove #include of c-tree.h and
3262           upc/upc-act.h.  Replace with #include of c-common.h
3263           and c-upc.h.
3264           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
3265           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
3266           upc_localsizeof_expr, upc_localsizeof_type,
3267           upc_shared_type_p): Delete.
3268         * c-family/c-opts.c: Add #include of c-upc.h
3269         * c-family/c-common.c: Remove #include of c-tree.h and
3270           add #include of c-upc.h.
3271         * c-family/c-upc.h: New. Define API for UPC-specific functions
3272           (mostly implemented in upc/upc-act.c).
3273         * c-family/c-common.h (upc_cpp_builtins,
3274           upc_write_global_declarations): Remove extern definitions.
3275         * c-family/c-pragma.c: Remove #include of c-tree.h.
3276           Add #include of c-upc.h.
3277         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
3278           c-tree.h.
3279           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
3280           upc/upc-act.c, and define as a macro.
3281           (expand_affinity_test): Remove unused external definition.
3282           (build_upc_unshared_type): Add external definition.
3283           (upc_shared_type_p): Remove external definition.
3284         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
3285         * dojump.c: Remove #include of c-tree.h.
3286         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
3287           and move to tree.h.
3288           (count_upc_threads_refs, is_multiple_of_upc_threads,
3289           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
3290           upc_build_shared_var_addr, upc_build_sync_stmt,
3291           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
3292           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
3293           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
3294           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
3295           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
3296           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
3297           set_upc_consistency_mode, get_upc_consistency_mode,
3298           push_upc_consistency_mode, pop_upc_consistency_mode,
3299           get_upc_pupc_mode):
3300           Move external definitions to c-family/c-upc.h.
3301           (upc_blocksizeof_type, upc_localsizeof_type,
3302           upc_elemsizeof_type): Remove external definitions;
3303           these functions were moved to c-parser.c.
3304         * c-decl.c: Add #include of c-upc.h.
3305         * c-typeck.c: Add #include of c-upc.h.
3306         * c-convert.c: Add #include of c-upc.h.
3307         * ChangeLog.upc: Fix typo.
3308         * Makefile.in: Add references to c-family/c-upc.h, everywhere
3309           there is a reference to c-family/c-objc.h.
3310           Remove extraneous reference to upc-act.h.
3311         * c-parser.c: Add #include of c-upc.h.
3312           (upc_blocksizeof_expr, upc_blocksizeof_type,
3313           upc_elemsizeof_expr, upc_elemsizeof_type,
3314           upc_localsizeof_expr, upc_localsizeof_type):
3315           Move from upc/upc-act.c.
3316         * tree.c (build_upc_unshared_type): New.
3317           Move upc_get_unshared_type from upc/upc-act.c and rename
3318           to build_upc_unshared_type.
3319           c-family/c-common.c (pointer_int_sum): refer to renamed
3320           build_upc_unshared_type function.
3321           c-convert.c (convert): Ditto.
3322           convert.c (convert_to_pointer): Ditto.
3323           c-typeck.c (build_unary_op, build_modify_expr,
3324           really_start_incremental_init): Ditto.
3325           gimplify.c (create_tmp_var_raw): Ditto.
3326           tree.c (build1_stat): Ditto.
3327           tree.h (upc_get_unshared_type): Rename to
3328           build_upc_unshared_type.
3330 2011-05-06  Gary Funck  <gary@intrepid.com>
3332         Merge trunk version 173471 into gupc branch.
3334 2011-05-06  Gary Funck  <gary@intrepid.com>
3336         Eliminate compilation warnings, by fixing
3337         #include's and updating function prototypes.
3338         * upc/upc-gimplify.c: Include bitmap.h.
3339           (upc_gimplify_real_image_ref): Mark various parameters
3340           as unused.  This is a stub procedure for now.
3341         * upc/upc-lang.c: Include c-family/c-upc.h.
3342           upc-gasp.c: Ditto.
3343         * upc/upc-cmd.c (no_start_files): Delete unused variable.
3344           The -nostartfiles switch is now handled by the linker spec.
3345         * ChangeLog: Spell check.
3347 2011-05-06  Gary Funck  <gary@intrepid.com>
3349         Upgrade c-family source files to conform with modularity
3350         improvements.  Mainly, remove #include of c-tree.h in files
3351         under c-family, and define a new UPC-specific #include file,
3352         c-upc.h, and use it.
3353         * upc/upc-act.h (upc_write_global_declarations,
3354           upc_check_decl, upc_build_sync_stmt, upc_affinity_test,
3355           upc_num_threads, upc_diagnose_deprecated_stmt):
3356           Move external definitions to c-family/c-upc.h
3357           (upc_blocksizeof_expr, upc_blocksizeof_type,
3358           upc_elemsizeof_expr, upc_elemsizeof_type,
3359           upc_localsizeof_expr, upc_localsizeof_type):
3360           Remove external definitions; these functions
3361           were moved from upc-act.c to c-parser.c.
3362         * upc/upc-gimplify.c: Add #include of c-family/c-upc.h.
3363           upc-pts-packed.c: Ditto.
3364           upc-pts-struct.c: Ditto.
3365         * upc/config-lang.in: Update gtfiles to refer to c-upc.h
3366           and other files.
3367         * upc/upc-act.c: Add #include of c-family/c-upc.h.
3368           (upc_blocksize, upc_elemsizeof, upc_localsizeof):
3369           Make external so that it can be called from c-parser.c.
3370           (upc_blocksizeof_expr, upc_blocksizeof_type,
3371           upc_elemsizeof_expr, upc_elemsizeof_type,
3372           upc_localsizeof_expr, upc_localsizeof_type):
3373           Move from upc/upc-act.c to c-parser.c.
3374           (upc_set_block_factor): Fix typo in error message.
3375           (upc_shared_type_p, upc_pts_cvt_op_p): Delete.
3376           Move to tree.h and define as a macro.
3377           (upc_get_unshared_type): Delete. renamed to
3378           build_upc_unshared_type and moved to tree.c.
3379         * upc/upc-gimplify.c (upc_gimplify_lval, upc_gimplify_expr):
3380           refer to renamed build_upc_unshared_type function.
3381           upc-act.c (create_unshared_var): Ditto.
3383 2011-05-05  Gary Funck  <gary@intrepid.com>
3385         Make changes that bring the GUPC branch more closely in sync.
3386         with the GCC trunk.  Revert any fixes that are not UPC-specific.
3387         Remove gratuitous re-formatting.
3388         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
3389           This file should have been removed in a previous merge
3390           with the trunk.
3391         * ../configure.ac: Remove Cray Catamount/CNL support.
3392         * ../configure: Regenerate.
3393         * ../config.sub: Remove Cray Catamount/CNL support.
3394         * config.gcc: Remove Cray Catamount/CNL support.
3395         * ../maintainer-scripts/gcc_release: Revert to trunk.
3396         * c-family/c-common.h: Define parse_optimize_options.  Its definition
3397           was missed in a previous merge with the trunk.
3398         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
3399           procedure.
3400         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
3401           in addition to ARRAY_TYPE.
3402         * c-typeck.c: Remove an extra newline character.
3403         * varasm.c: Revert a fix that improved an error message
3404           when TLS common data is unimplemented.
3405         * varasm.c: Revert a gcc_assert that had been added which
3406           checked for a null DECL_SIZE_UNIT field.
3407         * emultls.c: Revert to trunk. Remove possible fix.
3408         * Makefile.in: Revert extra blank line that is present
3409           in the trunk version.
3410         * Makefile.in: Revert a fix that handled long shell
3411           argument lists for plugin headers.
3412         * config/ia64/ia64.opt: Revert an option setting
3413           that increased the default TLS address range.
3414         * config/ia64/crtbegin.asm: Revert to trunk.
3415           Removes an extra newline character.
3416         * ChangeLog.upc: Spell check.
3418 2011-05-03  Gary Funck  <gary@intrepid.com>
3420         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
3421           (c_apply_type_quals_to_decl): Ditto.
3422         * c-family/c-common.h: Ditto.
3423         * dojump.c: Ditto.
3424         * c-decl.c (merge_decls): Ditto.
3425         * c-typeck.c (qualify_type, default_conversion,
3426           build_component_ref, build_unary_op,
3427           c_build_qualified_type): Ditto.
3428         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
3430 2011-05-03  Gary Funck  <gary@intrepid.com>
3432         * upc/upc-lang.c: Remove extraneous FIXME/TODO comments.
3433         * upc/upc-pts-packed.c (upc_pts_build_cvt): Ditto.
3434         * upc/upc-act.c (upc_set_block_factor): Ditto.
3436 2011-04-29  Gary Funck  <gary@intrepid.com>
3438         * c-decl.c (finish_decl): Improve error diagnostics.
3439           (grokdeclarator): Ditto.
3440         * c-typeck.c (build_c_cast): Improve error diagnostics.
3441           (convert_for_assignment): Ditto.
3442           (build_binary_op): Ditto.
3443         * c-parser.c (c_parser_upc_forall_statement):
3444           Improve error diagnostics.
3445         * convert.c (convert_to_integer):  Improve error diagnostics.
3447 2011-04-29  Gary Funck  <gary@intrepid.com>
3449         * upc/upc-gimplify.c (upc_expsnd_get): Improve error diagnostics.
3450           (upc_expand_put): Ditto.
3451           (upc_shared_addr): Ditto.
3452           (upc_gimplify_sync_stmt): Ditto.
3453           (upc_gimplify_field_ref): Ditto.
3454         * upc/upc-pts-struct.c (upc_pts_build_diff): Improve error diagnostics.
3455           (upc_pts_build_cvt): Ditto.
3456         * upc/upc-act.c (upc_handle_option): Improve error diagnostics.
3457           (upc_lang_init): Ditto.
3458           (upc_sizeof_type_check): Ditto.
3459           (upc_set_block_factor): Ditto.
3460           (upc_decl_init): Ditto.
3461           (upc_affinity_test): Ditto.
3462           (upc_num_threads): Ditto.
3463           (upc_diagnose_deprecated_stmt): Ditto.
3464           (upc_build_shared_var_addr): Ditto.
3465           (upc_pts_int_sum): Ditto.
3466           (upc_pts_diff): Ditto.
3468 2011-04-28  Gary Funck  <gary@intrepid.com>
3470         * upc/upc-act.c (create_unshared_var): call upc_get_unshared_type()
3471           instead of using TYPE_MAIN_VARIANT() to create an equivalent type
3472           that is not a UPC shared type.  This is sometimes necessary
3473           when the given shared type is derived from a typedef.
3475 2011-04-24  Gary Funck  <gary@intrepid.com>
3477         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
3478           occurred if there is an error in the barrier id
3479           expression.  Map error_mark_node into NULL.
3481 2011-04-24  Gary Funck  <gary@intrepid.com>
3483         * upc/upc-act.c (upc_handle_option): Fix incorrect error
3484           diagnostic messages when both -fupc-debug and
3485           -fupc-inline-lib are asserted.
3487 2011-04-24  Gary Funck  <gary@intrepid.com>
3489         * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "--param"
3490           to the list of switches that accept arguments.
3491           (main): Check for switches that have a following
3492           argument inside the loop that copies arguments and
3493           adds '-x upc' or '-x none' as necessary.
3494           (main): Misc. clean ups and simplifications.
3496 2011-04-22  Gary Funck  <gary@intrepid.com>
3498         Merge trunk version 172873 into gupc branch.
3500 2011-04-22  Gary Funck  <gary@intrepid.com>
3502         Merge trunk version 172873 into gupc branch.
3503         * upc/upc-act.c (upc_build_init_func): assert DECL_PRESERVE_P()
3504           on init_func() to prevent it from being removed from
3505           the call graph.
3507 2011-04-19  Gary Funck  <gary@intrepid.com>
3509         Merge trunk version 172359 into gupc branch.
3511 2011-04-19  Gary Funck  <gary@intrepid.com>
3513         Merge trunk version 172359 into gupc branch.
3514         * upc/upc-lang.c (upc_init_ts): New.
3515           (LANG_HOOKS_INIT_TS): use upc_init_ts.
3517 2011-04-19  Gary Funck  <gary@intrepid.com>
3519         Eliminate warnings when compiling upc-cmd.c.
3520         * upc/upc-cmd.c (file_exists): Remove.
3521           (arg_copy): Remove const qualifier.
3523 2011-04-14  Gary Funck  <gary@intrepid.com>
3525         * c-family/c.opt: Add UPC as a valid language for various
3526           switches where it is valid for "C", that were not updated
3527           in previous merges with trunk.
3529 2011-04-13  Gary Funck  <gary@intrepid.com>
3531         * c-family/c.opt (fupc-pre-include): New option definition.
3532         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
3533           -fno-upc-pre-include is asserted.
3535 2011-04-13  Gary Funck  <gary@intrepid.com>
3537         * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "dumpbase"
3538           to the list, and alphabetize.
3540 2011-04-13  Gary Funck  <gary@intrepid.com>
3542         * upc/upc-gimplify.c (upc_gimplify_real_image_ref): New.
3543           Currently, a not-yet-implemented stub.
3544           (upc_gimplify_lval): call upc_gimplify_real_image_ref to
3545           rewrite UPC shared REALPART_EXPR and IMAGPART_EXPR lvalues.
3546           This will avoid an ICE when compiling regular "C"
3547           code that refers to those operators.
3549 2011-04-13  Gary Funck  <gary@intrepid.com>
3551         * upc/upc-cmd.c: Do not add "-isystem <libupc_path>" if
3552           -fno-upc-pre-include is asserted.
3554 2011-04-07  Gary Funck  <gary@intrepid.com>
3556         Merge trunk version 172158 into gupc branch.
3557         to bring in the following fix.
3559 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
3561         PR bootstrap/48403
3562         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
3563         if old and new states differ.
3565 2011-04-06  Gary Funck  <gary@intrepid.com>
3567         Merge trunk version 171966 into gupc branch.
3569 2011-04-01  Gary Funck  <gary@intrepid.com>
3571         * tree.h (tree_base): Move UPC flag bits into bit fields
3572           located just before spare bits.  Decrement spare bits.
3573           Rename 'shared_flag' -> 'upc_shared_flag',
3574           'relaxed_flag' -> 'upc_relaxed_flag',
3575           'strict_flag' -> 'upc_strict_flag, and adjust macros
3576           that reference them accordingly.
3578 2011-04-01  Gary Funck  <gary@intrepid.com>
3580         * c-decl.c (grokdeclarator): Fix formatting of
3581           code that sets UPC block size on scalars.
3583 2011-04-01  Gary Funck  <gary@intrepid.com>
3585         * c-decl.c (grokdeclarator): Revert use of white space
3586           to match the trunk (to rationalize diffs).
3587         * c-typeck.c (convert_for_assignment): Ditto.
3588         * tree-ssa.c (useless_type_conversion_p): Ditto.
3590 2011-03-23  Gary Funck  <gary@intrepid.com>
3592         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
3593           the GCC 4.6 release branch.
3595 2011-03-22  Gary Funck  <gary@intrepid.com>
3597         * upc/upc-cmd.c: Move linker switches into libupc/libupc.spec.
3598           (UPC_LINKER_SCRIPT, LIBNUMA, LIBUPC, LIBUPC_PT) Remove.
3599           (find_ld_script) Remove.
3601 2011-03-21  Gary Funck  <gary@intrepid.com>
3603         Merge trunk version 171202 into gupc branch.
3605 2011-03-20  Gary Funck  <gary@intrepid.com>
3607         * varasm.c: Call error() directly with a format specifier,
3608           rather than using sprintf() to format the message.
3609           This should make it easier to internationalize UPC's error messages.
3611 2011-03-20  Gary Funck  <gary@intrepid.com>
3613         * configure.ac: Fix the check for gnu ld when enabling
3614           UPC link script support.
3615           configure: Regenerate (also picks up changes from previous
3616           merge with trunk).
3618 2011-03-20  Gary Funck  <gary@intrepid.com>
3620         Move UPC start files, end files, and linker specs.
3621         into libupc.  This reduces the impact on common GCC
3622         configuration files, and ensures that these UPC-specific
3623         components are only built when the UPC language dialect is selected.
3624         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
3625           linker specs. Fix typo in -fupc-debug message.
3626         * config/upc-conf.h, config/darwin.h: Move defines for
3627           UPC-related section begins/ends into libupc/config/default/
3628           upc-crt-config.h.
3629         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
3630           UPC-related linker compiler specifications,
3631           accessed via %:include().
3632         * configure.ac, configure: Remove logic related to building
3633           upc-crtbegin/end. Remove config. tests for numa and cpu
3634           affinity (previously used by the 'upc' driver); these
3635           settings are now propagated by target-specific compiler
3636           specs. built by libupc.  Regenerate autoconf.
3637         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
3638           linker compiler specifications, accessed via %:include().
3639           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
3640           'link_upc_spec'.
3641         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
3642         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
3643           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
3644           config/ia64/linux.h, config/mips/t-iris,
3645           config/mips/iris6.h: Revert to trunk version 167307.
3646         libgcc/
3647         * configure, configure.ac, config.host, Makefile.in:
3648           Revert to trunk version 167307.
3650 2011-03-20  Gary Funck  <gary@intrepid.com>
3652         * upc/upc-act.c: Call error() directly with a format specifier,
3653           rather than using sprintf() to format the message.
3654           This should make it easier to internationalize UPC's error messages.
3656 2011-03-20  Gary Funck  <gary@intrepid.com>
3658         Move UPC start files, end files, and linker specs.
3659         into libupc.  This reduces the impact on common GCC
3660         configuration files, and ensures that these UPC-specific
3661         components are only built when the UPC language dialect is selected.
3662         * upc/config-lang.in: Remove setting of 'upc_extra_parts', which
3663           was used to specify which upc-crtbegin and upc-crtend files
3664           need to built.  Remove extraneous (commented out)
3665           settings of 'cfiles'.  The listed configuration files
3666           have been reverted to trunk, and weren't referenced
3667           via cfiles in any event.
3668         * upc/upc-cmd.c: Remove test for HAVE_UPC_LINK_SCRIPT.
3669           Simply test for the presence of the UPC link script
3670           in the current directory or the libupc directory.
3671           Add -B<path-to-libupc> to the switches passed to 'gcc';
3672           this is needed in order to find the upc-crtbegin
3673           and upc-crtend object files now built in libupc.
3674           Remove test for and inclusion of UPC_LINKER_SWITCHES.
3675           if extra switches are needed for a particular target
3676           (like SGI/Irix), they will be defined by the custom
3677           linker spec. built in libupc.  Remove test for
3678           HAVE_UPC_NUMA_SUPPORT; if '-lnuma' is needed, it
3679           will be added to the custom linker specs. built
3680           in libupc.
3681         * upc/upc-crtstuff.c: Move to libupc.
3683 2011-02-23  Gary Funck  <gary@intrepid.com>
3685         * c-decl.c (undeclared_variable): fix typo. Inadvertently
3686         removed negation on following 'if'.
3688 2011-02-22  Gary Funck  <gary@intrepid.com>
3690         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
3691         to check for the usage of certain deprecated UPC keywords.
3692         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
3693         * c-tree.h (undeclared_variable): Define prototype.
3695 2011-02-22  Gary Funck  <gary@intrepid.com>
3697         * upc/upc-act.c (upc_diagnose_deprecated_stmt): New.
3698           upc-act.h (upc_diagnose_deprecated_stmt): Define.
3699           Check usage of deprecated keywords and issue
3700           error message.
3702 2011-02-12  Gary Funck  <gary@intrepid.com>
3704         * c-typeck.c: (build_c_cast, convert_for_assignment)
3705           Diagnose an attempt to convert from an integer to
3706           a pointer-to-shared as an error.  Also, fix various
3707           error messages so that they use the preferred term
3708           pointer-to-shared instead of "shared pointer".
3710 2011-02-08  Gary Funck  <gary@intrepid.com>
3712         * upc/upc-pts-struct.c: Fix bug: (pts + int) fails when int is negative
3713           for struct-pts representation
3714           Analysis indicated that for something like (+ ptr -80) this was
3715           being represented as (+ ptr (- 80)) and further, when the
3716           calculations were propagated into the individual operations on the
3717           components of the 'struct' pointer, it would end up with something
3718           like (+ ptr.vaddr (- 80)), and the type of (- 80) would end up as
3719           "long unsigned int" because of the addition to the pointer.  This
3720           caused the calculations involving the signed 'int' operand to be
3721           performed incorrectly.  This fix insures that the 'int' operand is
3722           signed.
3724 2011-02-08  Gary Funck  <gary@intrepid.com>
3726         * upc/config-lang.in, upc/lang-specs.h, upc/Makefile.in,
3727           upc/Make-lang.in, upc/upc.1, upc/upc-act.c, upc/upc-act.h,
3728           upc/upc-cmd.c, upc/upc-crtstuff.c, upc/upc-gasp.c,
3729           upc/upc-gasp.h, upc/upc-gimplify.c, upc/upc-gimplify.h,
3730           upc/upc-lang.c, upc/upc-pts.h, upc/upc-pts-packed.c,
3731           upc/upc-pts-struct.c, upc/upc-tree.def, upc/upc-tree.h:
3732         Update copyright notices.
3734 2011-02-07  Gary Funck  <gary@intrepid.com>
3736         * c-typeck.c: (convert_for_assignment)
3737           Fix typo. in error message.
3739 2011-01-23  Gary Funck  <gary@intrepid.com>
3741         * c-typeck.c: (c_build_qualified_type)
3742           derive UPC block size by calling upc_get_block_size(),
3743           to ensure that the element type of an array of an array
3744           is derived correctly.
3746 2011-01-09  Gary Funck  <gary@intrepid.com>
3748         Fix behavior of upc_localsizeof() when called in a dynamic
3749         threads compilation environment.  This bug, and the expected
3750         behavior is documented in this bug report:
3751         https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2960.
3752         * upc/_act.c (upc_localsizeof): Re-implement.
3754 2010-12-29  Gary Funck  <gary@intrepid.com>
3756         Merge trunk version 168314 into gupc branch.
3758 2010-12-15  Gary Funck  <gary@intrepid.com>
3760         Merge trunk version 167307 into gupc branch.
3762 2010-12-15  Gary Funck  <gary@intrepid.com>
3764         Merge trunk version 167307 into gupc branch.
3765         * upc/_act.h: (upc_handle_option) add location and struct
3766         cl_option_handlers * parameters.
3767         (upc_finish_file) Remove.
3768         (upc_write_global_declarations) New, replaces upc_finish_file.
3769         * lang-spec.h: Disable multi-file compilation for .upc files.
3770         This fixes an issue where file-scoped static variables were
3771         diagnosed as multiply-defined.  Both "C" and "ObjC" also disable
3772         multi-file compilation.
3773         * upc/upc-gimplify.c: (upc_expand_put) Check for INDIRECT_REF_P()
3774         explicitly when deciding whether a UPC shared object is addressable.
3775         is_gimple_addressable() used to do this, but now checks for MEM_REF
3776         which does not apply to UPC shared objects.
3777         (upc_gimplify_lval, upc_gimplify_expr) Delete references to
3778         ALIGN_INDIRECT_REF and MISALIGNED_INDIRECT_REF.
3779         These are no longer defined.
3780         (upc_genericize) Add call to bitmap_obstack_initialize()
3781         and bitmap_obstack_release() around call to gimplify_function_tree().
3782         * upc/upc-lang.c: Add #include of "opts.h" and "options.h".
3783         (flag_upc_debug, flag_upc_inline_lib, flag_upc_instrument,
3784         flag_upc_instrument_functions) Remove.  Use definitions
3785         generated by the options file.
3786         (upc_init_options) Use cl_decoded_option struct.
3787         (LANG_HOOKS_WRITE_GLOBALS) Define as upc_write_global_declarations.
3788         (finish_file) Delete.
3789         (upc_init_options) Call control_warning_option() to specify
3790         -Werror=pointer-arith as the default.  Remove call to
3791         enable_warning_as_error().
3792         * upc/upc-pts-struct.c: (upc_pts_init_type) Move test that
3793         UPC_PTS_THREAD_SIZE is a multiple of a byte into an "if" statement
3794         rather than an #ifdef; this macro now depends upon a
3795         target size macro which must be evaluated at runtime.
3796         * upc/Make-lang.in: (cc1-dummy) Remove make target.
3797         (cc1upc-checksum.c) Generate directly from object files.
3798         * upc/upc-cmd.c: (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG) Delete
3799         references to these deprecated macro definitions.
3800         (GCC_WORD_SWITCH_TAKES_ARG, GCC_WORD_SWITCH_TAKES_ARG) New.
3801         (all_exec_args) Delete variable.
3802         (exec_args) Re-define as (const char *).
3803         (exec_arg_list) New.  Make copy of exec_args to pass to 'exec'.
3804         * upc/upc-act.c: (upc_handle_option) Update argument list to accept
3805         (cl_option_handlers *) argument.
3806         (upc_finish_file) Rename to upc_write_global_declarations.
3807         (upc_write_global_declarations) New.
3809 2010-10-19  Gary Funck  <gary@intrepid.com>
3811         * c-typeck.c: Fix typo in previous fix
3812           which led to a mis-compare for equal block sizes.
3814 2010-10-18  Gary Funck  <gary@intrepid.com>
3816         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
3817           diagnosed as an error
3818           The conversion from any type (shared or not) to
3819           a shared type is likely either meaningless or an error.  This update
3820           makes any conversion to a shared type, an error.
3822 2010-10-18  Gary Funck  <gary@intrepid.com>
3824         * c-typeck.c: Fix bug: passing int to shared pointer arg.
3825           generates spurious warning
3826           Add a #define procedure that does the same thing as
3827           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
3828           this procedure to diagnose passing an integer value to a
3829           pointer-to-shared as an error.
3831 2010-10-18  Gary Funck  <gary@intrepid.com>
3833         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
3834           matching routine declaration.
3835           When checking for type compatibility, shared qualified types must
3836           have the same block factor.  This check was missing from
3837           comptypes_internal().  This update adds the check for blocking
3838           factor equality.
3840 2010-10-17  Gary Funck  <gary@intrepid.com>
3842         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
3843           found (-O1 -g)
3844           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
3846 2010-10-17  Gary Funck  <gary@intrepid.com>
3848         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
3849           45869 - [4.5/4.6 Regression] type mismatch in shift expression
3850           produces ice with -O3 and -m32.
3851           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
3853 2010-10-17  Gary Funck  <gary@intrepid.com>
3855         * c-common.c: Diagnose the application of the various "*sizeof"
3856           operations on generic pointer-to-shared as a compilation error.
3858 2010-10-17  Gary Funck  <gary@intrepid.com>
3860         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
3861           message regarding a function parameter being declared with a shared
3862           qualifier.
3863           The parameter's 'name' value is not defined at this point, and
3864           cannot be used in the error message.  This update removes the
3865           reference to 'name', and eliminates the segfault.
3867 2010-10-17  Gary Funck  <gary@intrepid.com>
3869         * upc/upc-act.c: Issue a compilation error on attempts to perform
3870           arithmetic on generic pointer-to-shared values.
3871           (The rest of this update is a small code clean up.)
3873 2010-10-17  Gary Funck  <gary@intrepid.com>
3875         * upc/upc-lang.c: For UPC only, issue errors for arithmetic and related
3876           operations on void types.
3877           This update simulates the effect of -Werror=pointer-arith, thus
3878           causing arithmetic on void types, sizeof(void) and so on to be
3879           considered compilation errors.  This meets the expectations of some
3880           harness tests and the RTED/CTED test suites.  GCC is more
3881           permissive, but since this is for UPC only, we can fairly safely
3882           define this new policy.
3884 2010-10-16  Gary Funck  <gary@intrepid.com>
3886         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
3887           The gcc/Makefile.in rules for install-plugin had to be re-written to
3888           break up a long list of header files that exceeded the command line
3889           limitation imposed by Irix.
3890           Access functions for TFmode types had to be implemented.
3891           Apparently, this is the mode used for the SGI/MIPS port to represent
3892           "long float".
3894 2010-10-16  Gary Funck  <gary@intrepid.com>
3896         * upc/upc-act.c: Fix bug: Static initialization of shared
3897           arrays is unsupported -- issue an error message.
3898           Currently, static initialization of a shared array is not
3899           implemented correctly.
3900           We do not plan to fix this for a while, therefore the compiler will
3901           issue an error message indicating that this is an unsupported
3902           operation.
3904 2010-10-14  Gary Funck  <gary@intrepid.com>
3906         * c-decl.c: Fix bug: Multiple equal blocking factors specified
3907           via typedef chain should not be diagnosed as an error.
3908           If the block size that is given by the typedef is equal to the block
3909           size given explicitly in the variable declaration, then do not
3910           complain.  The easiest way to make this check was to create a
3911           temporary type that is a clone of the element type and then set its
3912           block size using the given layout qualifier.  Then compare the block
3913           size of the temporary (the declaration) to the block size specified
3914           in the typedef.  This complexity is needed, because the '[*]' block
3915           size needs to be calculated, and the '[]' needs to be mapped into a
3916           zero block size.
3918 2010-10-13  Gary Funck  <gary@intrepid.com>
3920         * upc/upc-act.c: Fix bug: negative layout qualifiers not diagnosed
3921           as an error.
3922           The CTED_UPC test c_A_1_3_b.upc, specified a negative blocksize, but
3923           it was not diagnosed as an error.  With this fix, negative block
3924           sizes will generate a translation error.
3926 2010-10-10  Gary Funck  <gary@intrepid.com>
3928         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
3929           specified
3930           The compiler properly detected the presence of two or more layout
3931           qualifiers as an error, but then hit an assertion check, because the
3932           code that followed the error expected to see a qualifier and not a
3933           layout specifier.  The fix is simple: just return immediately after
3934           detecting the error.
3936 2010-10-10  Gary Funck  <gary@intrepid.com>
3938         * c-decl.c: Improve error diagnostics for various cases of UPC
3939           shared array type declarations.
3940           Add the check for this error: "In the dynamic translation
3941           environment, THREADS may not appear in declarations of shared arrays
3942           with indefinite block size".  Also, fix up a few of the other
3943           related error diagnostics.
3945 2010-10-10  Gary Funck  <gary@intrepid.com>
3947         * upc/upc-act.c: Fix bug: ICE: Attempt to take the difference of
3948           shared and non-shared pointers
3949           The compiler detected the error, and then tried to return
3950           error_mark_node.  This apparently is not acceptable, as there is an
3951           explicit assertion check to prevent this from happening in
3952           build_binary_op.  Return the more user-friendly size_one_node
3953           instead.
3955 2010-10-09  Gary Funck  <gary@intrepid.com>
3957         * c-common.c: Fix bug: segfault on incomplete array definition.
3958           This turned out to be a bit complicated.   The logic in
3959           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
3960           the THREADS identifier in the case where the blocking factor has
3961           been set to indefinite ([]).  This can happen when indefinite array
3962           declarations are processed for shared arrays.  At that time, the
3963           file scope has been closed and THREADS is no longer in scope.  Some
3964           more work is needed on upc_lang_layout_decl().  It has some
3965           duplication, and notably duplicates the two branches of the if
3966           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
3967           caller of this routine (layout_decl()).
3968           The method of forcing a layout qualifier of [] in the indefinite
3969           declaration handler is odd a well.  The code that just does the
3970           setting of the block factor, needs to moved into its own routine
3971           that doesn't depend upon a declspec for '[]' to be passed in, just
3972           in order to set the blocking factor to some value (in this case, 0).
3973           Also, the logic for how that shared type is constructed is strange.
3974           First the type with 0 blocking factor is set.  Then the shared
3975           qualifier is removed from the type, and then added back later.  The
3976           intermediate type has a blocking factor set, but it has no shared
3977           qualifier.  Fixing this will require some thought.  It is tempting
3978           just to make indefinite shared arrays an error, rather than forcing
3979           the dimension to be '1'.
3980           This likely fixes a serious error in the previous update to
3981           upc_lang_layout_decl(), where it didn't have the logic to set
3982           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
3983           the previous update would fail on many tests.
3985 2010-10-09  Gary Funck  <gary@intrepid.com>
3987         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
3988           (decl) is null, which can happen if some layout error occurred
3989           upstream.
3991 2010-10-09  Gary Funck  <gary@intrepid.com>
3993         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
3994           "variable-sized" when compiled in dynamic threads.
3995           This long-standing bug is easily fixed.  Just check
3996           for the situation that the non-constant sized type is shared and
3997           that it does not have a dimension that references a multiple of
3998           threads.  If this criteria is met, then issue a meaningful
3999           diagnostic.
4001 2010-10-09  Gary Funck  <gary@intrepid.com>
4003         * upc/upc-act.c: Fix bug: segfault on incomplete array definition.
4004           This turned out to be a bit complicated.   The logic in
4005           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
4006           the THREADS identifier in the case where the blocking factor has
4007           been set to indefinite ([]).  This can happen when indefinite array
4008           declarations are processed for shared arrays.  At that time, the
4009           file scope has been closed and THREADS is no longer in scope.  Some
4010           more work is needed on upc_lang_layout_decl().  It has some
4011           duplication, and notably duplicates the two branches of the if
4012           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
4013           caller of this routine (layout_decl()).
4014           The method of forcing a layout qualifier of [] in the indefinite
4015           declaration handler is odd a well.  The code that just does the
4016           setting of the block factor, needs to moved into its own routine
4017           that doesn't depend upon a declspec for '[]' to be passed in, just
4018           in order to set the blocking factor to some value (in this case, 0).
4019           Also, the logic for how that shared type is constructed is strange.
4020           First the type with 0 blocking factor is set.  Then the shared
4021           qualifier is removed from the type, and then added back later.  The
4022           intermediate type has a blocking factor set, but it has no shared
4023           qualifier.  Fixing this will require some thought.  It is tempting
4024           just to make indefinite shared arrays an error, rather than forcing
4025           the dimension to be '1'.
4026           This likely fixes a serious error in the previous update to
4027           upc_lang_layout_decl(), where it didn't have the logic to set
4028           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
4029           the previous update would fail on many tests.
4030           See also: gcc/c-common.c gcc/upc/upc-act.c
4032 2010-10-01  Gary Funck  <gary@intrepid.com>
4034         * configure, configure.ac: Update manual page, and bug reporting
4035           URL.
4036           Update "man" page to reflect debugging switches.  Also, some general
4037           clean up.  Change the bug reporting URL to point to gccupc.org.
4039 2010-10-01  Gary Funck  <gary@intrepid.com>
4041         * upc/upc-manpage.html, upc.1: Update manual page, and bug reporting
4042           URL.
4043           Update "man" page to reflect debugging switches.  Also, some general
4044           clean up.  Change the bug reporting URL to point to gccupc.org.
4045           See also: gcc/configure gcc/configure.ac gcc/upc/upc-manpage.html
4046           gcc/upc/upc.1
4048 2010-10-01  Gary Funck  <gary@intrepid.com>
4050         * upc/upc-act.c: Do not zap all qualifier bits when constructing a
4051           non-shared result node.
4052           This fix was suggested by Paul H. in the following Berkeley Bugzilla
4053           report: https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2061 The
4054           use of "!" rather than "~" zapped all the type qualifier bits rather
4055           than just those that are related to the "shared" qualifier.  This
4056           fix clears only the relevant bits.
4058 2010-09-27  Gary Funck  <gary@intrepid.com>
4060         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
4061           the UPC forall depth count variable is not found.
4062           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
4063           The compiler will generate code that references this variable in
4064           order to implement nested upc_forall semantics.  If there is a
4065           compiler build or install problem, this variable may not be found.
4066           In this case, terminate with an internal_error().
4068 2010-09-26  Gary Funck  <gary@intrepid.com>
4070         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
4071           mis-diagnosed as syntax error.
4072           Fix a failure exhibited by the Berkeley test case,
4073           bug873a.upc, which has the code:
4074                double d;
4075                upc_forall (;;;d) {...} The compiler did not properly handle
4076           the empty "condition" clause, and did not recover well when it was
4077           determined that the use of a double value, "d" above, was neither a
4078           pointer-to-shared nor an integer expression.  The update implements a
4079           fix for both issues.
4080           See also: gcc/c-parser.c gcc/upc/upc-act.c
4082 2010-09-26  Gary Funck  <gary@intrepid.com>
4084         * upc/upc-act.c: Fix bug: upc_forall with empty clauses
4085           mis-diagnosed as syntax error.
4086           A failure was exhibited by the Berkeley test case,
4087           bug873a.upc, which has the code:
4088                double d;
4089                upc_forall (;;;d) {...} The compiler did not properly handle
4090           the empty "condition" clause, and did not recover well when it was
4091           determined that the use of a double value, "d" above, was neither a
4092           pointer-to-shared nor an integer expression.  The update implements a
4093           fix for both issues.
4094           See also: gcc/c-parser.c gcc/upc/upc-act.c
4096 2010-09-25  Gary Funck  <gary@intrepid.com>
4098         * upc/upc-pts-struct.c: Fix an ICE on 32-bit/struct target: failed
4099           gimple check when calculating affinity for upc_forall.
4100           Intrepid test, test10.upc, failed to compile due a mis-match between
4101           the COMPONENT_REF node and the internal 'thread' field.  Changed the
4102           code to make the types agree, and added a conversion to sizetype if
4103           necessary.
4105 2010-09-23  Gary Funck  <gary@intrepid.com>
4107         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
4108           incorporated into the referencing type.
4109           This was semi-fixed a few times before.  This update fixes a few
4110           more places where the layout qualifier wasn't being propagated
4111           through typedef's properly.  What made this a bit tricky is shown in
4112           the example cited in the bug report:
4113           typedef shared [5] int A_t; A_t A[5*THREADS];
4114           In the typedef, the blocksize is being applied to a shared *scalar*,
4115           and the code was applying the blocksize only to arrays.  This update
4116           handles shared scalars correctly.
4118 2010-09-23  Gary Funck  <gary@intrepid.com>
4120         * upc/upc-act.c: Fix bug: ICE: '[*]' layout factor applied to array
4121           with static threads and size not a multiple of threads.
4122           Add an extra check for an attempt to apply a '[*]' layout qualifier
4123           to a shared array that does not specify a size that is a multiple of
4124           THREADS, when compiled in a static THREADS compilation environment.
4126 2010-09-22  Gary Funck  <gary@intrepid.com>
4128         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
4129           upc_forall() semantics are not implemented
4130           The checkforall test in the Berkeley harness test suite indicated
4131           that GCC/UPC was not properly implementing nested upc_forall
4132           semantics.  Nested upc_forall statements (both statically or
4133           dynamically nested) must implement their affinity clause as if it
4134           were "continue"; thus all steps in the loop must execute without
4135           regard for affinity.  To implement these semantics a global depth
4136           counter, __upc_forall_depth, is maintained by the generated code
4137           that implements upc_forall.
4138           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
4139           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
4140           libupc/include/upc.h libupc/smp/upc_main.c
4142 2010-09-22  Gary Funck  <gary@intrepid.com>
4144         * upc/upc-act.c, upc/upc-act.h: Fix bug: Nested upc_forall() semantics
4145           are not implemented
4146           The checkforall test in the Berkeley harness test suite indicated
4147           that GCC/UPC was not properly implementing nested upc_forall
4148           semantics.  Nested upc_forall statements (both statically or
4149           dynamically nested) must implement their affinity clause as if it
4150           were "continue"; thus all steps in the loop must execute without
4151           regard for affinity.  To implement these semantics a global depth
4152           counter, __upc_forall_depth, is maintained by the generated code
4153           that implements upc_forall.
4154           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
4155           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
4156           libupc/include/upc.h libupc/smp/upc_main.c
4158 2010-09-19  Gary Funck  <gary@intrepid.com>
4160         * c-decl.c: c-decl.c: zero out the layout specifier, after
4161           processing an array type.
4162           Fix the previous fix, that moved the setting of the type's layout
4163           qualifier to the outside of the array type processing loop.  What is
4164           missing from the fix is that the layout_qualifier variable needs to
4165           be cleared after setting the type's blocksize.
4167 2010-09-19  Gary Funck  <gary@intrepid.com>
4169         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
4170           given blocksize is greater than UPC_MAX_BLOCKSIZE.
4171           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
4172           the actual maximum block size.  Therefore, the message was correct,
4173           but the underlying value that was being checked was wrong.  Change
4174           the values so that they agree with the actual implementation-defined
4175           limit.
4177 2010-09-18  Gary Funck  <gary@intrepid.com>
4179         * upc/upc-act.c, upc/upc-pts-packed.c, upc/upc-pts-struct.c:
4180           Implement -fupc-debug switch.
4182 2010-09-11  Gary Funck  <gary@intrepid.com>
4184         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
4185           multi-dimensional shared array with dynamic threads.
4186           This declaration caused an internal compiler error when compiled
4187           with dynamic threads:
4188               shared [*] int A[THREADS][16]; The bug was discovered when
4189           compiling the RTED_UPC test suite.
4190           The fix is to process layout qualifiers after the entire array type
4191           has been built.  Otherwise, we try to calculate the blocksize on a
4192           shared array type that has not had its "size depends upon the value
4193           of THREADS" flag set.
4194           Also, added a test case.
4195           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
4197 2010-07-11  Gary Funck  <gary@intrepid.com>
4199         Fix a bug where a statement in c_build_qualified_type()
4200         in the trunk had been inadvertently deleted.
4201         This bug showed up in the IA64 port, because jmpbuf's
4202         on that architecture must be 16 byte aligned, and they were not.
4203         c-typeck.c (c_build_qualified_type): Revive the deleted line.
4205 2010-07-08  Gary Funck  <gary@intrepid.com>
4207         Make changes so that other language compilers
4208         will build and bootstrap.
4209         * c-family/c-common.c (compiling_upc, flag_upc,
4210         flag_upc_instrument, flag_upc_instrument_functions,
4211         use_upc_dwarf2_extensions): Move to stub-upc.c and
4212         upc-lang.c.
4213         * c-family/c-common.h (use_upc_dwarf2_extensions,
4214         compiling_upc): Add extern definitions - needed
4215         to compile/build other language front ends.
4216         * c-family/c.opt: Fix the spelling of ObjC.
4217         It had been incorrectly spelled as Objc.
4218         * c-family/c.opt: Add UPC for the various switches
4219         that are valid for both C and ObjC.
4220         * c-fmaily/c-opts.c: Add CL_UPC to the list of
4221         supported options switches when compiling assembly
4222         language.
4223         * lto/lto-lang.c (use_upc_dwarf2_extensions,
4224         flag_upc_instrument, flag_upc_instrument_functions):
4225         Remove these definitions.  They have been moved
4226         to c-family/stub-upc.c.
4227         * upc/ChangeLog: Move relevant entries
4228         to ChangeLog.upc.
4229         * c-family/stub-upc.c (compiling_upc, flag_upc,
4230         flag_upc_instrument, flag_upc_instrument_functions,
4231         use_upc_dwarf2_extensions): Moved from c-common.c
4232         * upc/upc-lang.c (compiling_upc, flag_upc,
4233         flag_upc_instrument, flag_upc_instrument_functions,
4234         use_upc_dwarf2_extensions): Moved from c-common.c
4235         * objc/objc-act.c (objc_gimplify_expr): Add additional
4236         parameters to c_gimplify_expr() call, that are used
4237         by upc's tree rewrites.
4238         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
4239         * gcc/cp/lex.c (init_reswords): If not compiling
4240         UPC, then mask off the UPC keywords.
4241         * cp/Make-lang.in (C_STUB_OBJS): Use this
4242         make macro to link with c-family/stub-objc.o
4243         and c-family/stub-upc.o.
4244         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
4245         * java/Make-lang.in (C_STUB_OBJS): Likewise.
4246         * objc/Make-lang.in: Link with c-family/stub-upc.o
4247         to avoid undefined references.
4248         c-parser.c: Fix line indentation.
4249         * libcpp/include/cpplib.h: Remove CL_UPC from
4250         the list of language kinds accepted by the
4251         C preprocessor.  This is not necessary because
4252         UPC is a derivative of C99, and does not need
4253         a different language kind.
4254         * c-fmaily/c-opts.c (c_common_handle_option):
4255         Call set_std_c99() when processing the
4256         "--lang upc" switch, instead of setting the
4257         language kind to CL_UPC.
4258         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
4260 2010-07-03  Gary Funck  <gary@intrepid.com>
4262         Merge trunk version 161517 into gupc branch.
4263         * gcc/stub-upc.c: Move to gcc/c-family/.
4264         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
4265         Add 'unused' attributes to avoid "set, but
4266         not referenced" warnings.
4267         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
4268         Likewise.
4270 2010-07-03  Gary Funck  <gary@intrepid.com>
4272         Merge trunk version 161517 into gupc branch.
4273         * upc/config-lang.in: Update references to files
4274           moved into c-family/.
4275         * upc/Make-lang.in: Likewise.
4276         * upc/upc-act.c: Likewise.
4277         * upc/upc-gasp.c: Likewise.
4278         * upc/upc-gimplify.c: Likewise.
4279         * upc/upc-lang.c: Likewise.
4280         * upc/upc-pts-packed.c: Likewise.
4281         * upc/upc-pts-struct.c: Likewise.
4282         * upc/upc-act.c: (upc_handle_option) add parameters to
4283           effect pass through call to c_common_handle_option.
4284         * upc/upc-act.h: (upc_handle_option) Likewise.
4285         * upc/upc-act.c: (map_unshared_var) used typed ggc allocation.
4286         * upc/upc-act.c: (upc_build_init_func) add call to
4287           to mark_decl_referenced(), to ensure that UPC shared
4288           variable initializer function is not removed from
4289           the call tree graph.
4291 2010-03-01  Gary Funck  <gary@intrepid.com>
4293         Create gupc branch from trunk version 157149.