Merge trunk version 222452 into gupc branch.
[official-gcc.git] / gcc / ChangeLog.upc
blob5297df446031243733550df678dbb30c51fa6177
1 2015-04-27  Gary Funck  <gary@intrepid.com>
3         Merge trunk version 222452 into gupc branch.
4         DEV-PHASE: Bump to 6.0.0-1.
6 2015-04-20  Gary Funck  <gary@intrepid.com>
8         Merge trunk version 222227 into gupc branch.
10 2015-04-13  Gary Funck  <gary@intrepid.com>
12         Merge trunk version 222043 into gupc branch.
14 2015-04-06  Gary Funck  <gary@intrepid.com>
16         Merge trunk version 221876 into gupc branch.
18 2015-03-30  Gary Funck  <gary@intrepid.com>
20         Merge trunk version 221770 into gupc branch.
22 2015-03-23  Gary Funck  <gary@intrepid.com>
24         Merge trunk version 221587 into gupc branch.
26 2015-03-16  Gary Funck  <gary@intrepid.com>
28         Merge trunk version 221445 into gupc branch.
30 2015-03-09  Gary Funck  <gary@intrepid.com>
32         Merge trunk version 221277 into gupc branch.
34 2015-03-02  Gary Funck  <gary@intrepid.com>
36         Merge trunk version 221103 into gupc branch.
38 2015-02-23  Gary Funck  <gary@intrepid.com>
40         Merge trunk version 220913 into gupc branch.
42 2015-02-16  Gary Funck  <gary@intrepid.com>
44         Merge trunk version 220722 into gupc branch.
46 2015-02-09  Gary Funck  <gary@intrepid.com>
48         Merge trunk version 220526 into gupc branch.
50 2015-02-02  Gary Funck  <gary@intrepid.com>
52         Merge trunk version 220345 into gupc branch.
54 2015-01-26  Gary Funck  <gary@intrepid.com>
56         Merge trunk version 220104 into gupc branch.
58 2015-01-19  Gary Funck  <gary@intrepid.com>
60         Merge trunk version 219833 into gupc branch.
62 2015-01-12  Gary Funck  <gary@intrepid.com>
64         Merge trunk version 219456 into gupc branch.
66 2015-01-05  Gary Funck  <gary@intrepid.com>
68         Merge trunk version 219182 into gupc branch.
70 2014-12-29  Gary Funck  <gary@intrepid.com>
72         Merge trunk version 219097 into gupc branch.
74 2014-12-22  Gary Funck  <gary@intrepid.com>
76         Merge trunk version 219006 into gupc branch.
78 2014-12-08  Gary Funck  <gary@intrepid.com>
80         Merge trunk version 218477 into gupc branch.
82 2014-12-01  Gary Funck  <gary@intrepid.com>
84         Merge trunk version 218203 into gupc branch.
86 2014-11-05  Gary Funck  <gary@intrepid.com>
88         Merge trunk version 217032 into gupc branch.
89         * c/c-upc-lang.c c/gupcspec.c c-family/c-upc.c
90         c-family/c-upc-gasp.c c-family/c-upc-low.c
91         c-family/c-upc-pts-ops.c c-family/c-upc-pts-packed.c
92         c-family/c-upc-pts-struct.c: Remove unnecessary #include's.
94 2014-10-27  Gary Funck  <gary@intrepid.com>
96         Merge trunk version 216723 into gupc branch.
98 2014-10-20  Gary Funck  <gary@intrepid.com>
100         Merge trunk version 216449 into gupc branch.
102 2014-10-13  Gary Funck  <gary@intrepid.com>
104         Merge trunk version 216139 into gupc branch.
106 2014-10-06  Gary Funck  <gary@intrepid.com>
108         Merge trunk version 215919 into gupc branch.
110 2014-09-29  Gary Funck  <gary@intrepid.com>
112         Merge trunk version 215678 into gupc branch.
114 2014-09-22  Gary Funck  <gary@intrepid.com>
116         Merge trunk version 215458 into gupc branch.
118 2014-09-15  Gary Funck  <gary@intrepid.com>
120         Merge trunk version 215259 into gupc branch.
122 2014-09-08  Gary Funck  <gary@intrepid.com>
124         Merge trunk version 215014 into gupc branch.
126 2014-09-01  Gary Funck  <gary@intrepid.com>
128         Merge trunk version 214779 into gupc branch.
130 2014-08-25  Gary Funck  <gary@intrepid.com>
132         Merge trunk version 214415 into gupc branch.
134 2014-08-19  Gary Funck  <gary@intrepid.com>
136         Merge trunk version 214178 into gupc branch.
138 2014-08-14  Gary Funck  <gary@intrepid.com>
140         Merge trunk version 213968 into gupc branch.
141         DEV-PHASE: Bump to 5.0.0-1.
143 2014-08-11  Gary Funck  <gary@intrepid.com>
145         Merge trunk version 213809 into gupc branch.
147 2014-08-05  Gary Funck  <gary@intrepid.com>
149         Merge trunk version 213646 into gupc branch.
151 2014-08-04  Gary Funck  <gary@intrepid.com>
153         Merge trunk version 213543 into gupc branch.
155 2014-08-01  Gary Funck  <gary@intrepid.com>
157         * testsuite/gcc.dg/gupc: New.
158         Add compile-only tests which check for semantic errors/warnings
159         and verify that UPC constructs generate expected UPC runtime calls.
160         * testsuite/upc.dg: Removed.
161         * testsuite/lib/upc-dg.exp: Removed.
162         * testsuite/lib/upc.exp: Removed.
163         * testsuite/lib/target-supports.exp
164         (check_effective_target_fupc): New.
165         (check_effective_target_upc_struct_pts,
166         check_effective_target_upc_packed_pts):
167         Pass "-fupc -fno-upc-pre-include".
168         * testsuite/gcc.dg/gupc/gupc.exp: Moved from
169         testsuite/upc.dg/compile/compile.exp and modified to
170         work under gcc.dg.
172 2014-07-28  Gary Funck  <gary@intrepid.com>
174         Merge trunk version 213118 into gupc branch.
176 2014-07-21  Gary Funck  <gary@intrepid.com>
178         Merge trunk version 212892 into gupc branch.
180 2014-07-14  Gary Funck  <gary@intrepid.com>
182         Merge trunk version 212522 into gupc branch.
184 2014-07-07  Gary Funck  <gary@intrepid.com>
186         Merge trunk version 212325 into gupc branch.
188 2014-07-02  Nenad Vukicevic  <nenad@intrepid.com>
190         * configure.ac: Fix checking for 32-bits target while
191         setting the default PTS packed bits.
192         * configure: Regenerate.
194 2014-06-30  Gary Funck  <gary@intrepid.com>
196         Merge trunk version 212138 into gupc branch.
198 2014-06-23  Gary Funck  <gary@intrepid.com>
200         Merge trunk version 211886 into gupc branch.
202 2014-06-16  Gary Funck  <gary@intrepid.com>
204         Merge trunk version 211699 into gupc branch.
206 2014-06-14  Gary Funck  <gary@intrepid.com>
208         Merge trunk version 211672 into gupc branch.
210 2014-06-12  Gary Funck  <gary@intrepid.com>
212         Merge trunk version 211604 into gupc branch.
214 2014-06-02  Gary Funck  <gary@intrepid.com>
216         Merge trunk version 211129 into gupc branch.
218 2014-05-26  Gary Funck  <gary@intrepid.com>
220         Merge trunk version 210928 into gupc branch.
222 2014-05-21  Nenad Vukicevic  <nenad@intrepid.com>
224         * config/darwin.h (LINK_COMMAND_SPEC_A): Fix linker spec
225         on Darwin, replace -fupc-link with -fupc option.
227 2014-05-12  Gary Funck  <gary@intrepid.com>
229         Merge trunk version 210323 into gupc branch.
231 2014-05-05  Gary Funck  <gary@intrepid.com>
233         Merge trunk version 210065 into gupc branch.
235 2014-04-28  Gary Funck  <gary@intrepid.com>
237         Merge trunk version 209848 into gupc branch.
239 2014-04-21  Gary Funck  <gary@intrepid.com>
241         Merge trunk version 209542 into gupc branch.
243 2014-04-20  Gary Funck  <gary@intrepid.com>
245         * c/c-typeck.c (build_binary_op): Check for invalid comparison
246         between pointers-to-shared with target types that have
247         differing UPC blocking factors.
249 2014-04-16  Gary Funck  <gary@intrepid.com>
251         Fix PTS comparison involving a generic PTS using packed representation.
252         * c-family/c-upc-pts-packed.c (upc_pts_packed_build_cond_expr):
253         When comparing (shared void *) pointers, mask out the phase component.
255 2014-04-14  Gary Funck  <gary@intrepid.com>
257         Merge trunk version 209359 into gupc branch.
258         DEV-PHASE: Bump to 4.10.0-1.
260 2014-04-07  Gary Funck  <gary@intrepid.com>
262         Merge trunk version 209179 into gupc branch.
264 2014-04-04  Gary Funck  <gary@intrepid.com>
266         * tree-upc.c tree-upc.h: New.
267         Factor UPC-specific tree node handling
268         into tree-upc.c and tree-upc.h.
269         * Makefile.in: Refer to tree-upc.c and tree-upc.h.
270         * c/c-convert.c c/c-decl.c c/c-objc-common.c
271         c/c-typeck.c c/c-upc-lang.c c-family/c-common.c
272         c-family/c-pretty-print.c c-family/c-upc-low.c
273         c-family/c-upc-pts-packed.c c-family/c-upc-pts-struct.c
274         c-family/c-upc.c c-family/c-upc.h convert.c
275         dwarf2out.c print-tree.c tree-core.h tree-dump.c
276         tree-pretty-print.c tree.c tree.h: Rename variables and
277         functions to include 'upc' in their names.
279 2014-03-31  Gary Funck  <gary@intrepid.com>
281         Merge trunk version 208955 into gupc branch.
283 2014-03-24  Gary Funck  <gary@intrepid.com>
285         Merge trunk version 208783 into gupc branch.
287 2014-03-17  Gary Funck  <gary@intrepid.com>
289         Merge trunk version 208609 into gupc branch.
291 2014-03-10  Gary Funck  <gary@intrepid.com>
293         Merge trunk version 208447 into gupc branch.
295 2014-03-03  Gary Funck  <gary@intrepid.com>
297         Merge trunk version 208270 into gupc branch.
299 2014-02-24  Gary Funck  <gary@intrepid.com>
301         Merge trunk version 208066 into gupc branch.
303 2014-02-17  Gary Funck  <gary@intrepid.com>
305         Merge trunk version 207818 into gupc branch.
307 2014-02-10  Gary Funck  <gary@intrepid.com>
309         Merge trunk version 207649 into gupc branch.
311 2014-02-03  Gary Funck  <gary@intrepid.com>
313         Merge trunk version 207415 into gupc branch.
315 2014-01-30  Gary Funck  <gary@intrepid.com>
317         Merge trunk version 207297 into gupc branch.
319 2014-01-28  Gary Funck  <gary@intrepid.com>
321         * c/gupcspec.c (match_suffix): Remove use of PARAMS.
323 2014-01-20  Gary Funck  <gary@intrepid.com>
325         Merge trunk version 206847 into gupc branch.
327 2014-01-20  Gary Funck  <gary@intrepid.com>
329         Merge trunk version 206792 into gupc branch.
331 2014-01-17  Nenad Vukicevic  <nenad@intrepid.com>
333         * c-family/c-cppbuiltin.c (upc_cpp_builtins): Remove pre-defines
334         for __UPC_CASTABLE__, __UPC_COLLECTIVE__, __UPC_TICK__ and
335         __UPC_PUPC__ as they are library and not compiler features.
337 2014-01-13  Gary Funck  <gary@intrepid.com>
339         Merge trunk version 206575 into gupc branch.
341 2014-01-10  Gary Funck  <gary@intrepid.com>
343         Update copyright notices.
345 2014-01-06  Gary Funck  <gary@intrepid.com>
347         Merge trunk version 206354 into gupc branch.
349 2014-01-04  Gary Funck  <gary@intrepid.com>
351         Integrate GUPC into cc1.
352         * upc/: Remove directory.  Re-distribute files.
353         * c/c-upc-lang.c: Move upc/upc-lang.c here.
354         * c/c-upc-lang.h: New.
355         * c-family/c-upc.c: Move upc/upc-act.c here.
356         * c-family/c-upc-gasp.c: Move upc/upc-gasp.c here.
357         * c-family/c-upc-gasp.h: Move upc/upc-gasp.h here.
358         * c-family/c-upc.h: Move upc/upc-act.h here.
359         * c-family/c-upc-low.c: Move upc/upc-genericize.c here.
360         * c-family/c-upc-low.h: Move upc/upc-genericize.h here.
361         * c-family/c-upc-pts.h: Split upc/upc-pts.h here.
362         * c-family/c-upc-pts-ops.c: Split upc/upc-pts.c here.
363         * c-family/c-upc-pts-ops.h: Split upc/upc-pts.h here.
364         * c-family/c-upc-pts-packed.c: Move upc/upc-pts-packed.c here.
365         * c-family/c-upc-pts-struct.c: Move upc/upc-pts-struct.c here.
366         * c-family/c-upc-rts-names.h: Move upc/upc-rts-names.h here.
367         * c-family/stub-upc.c: Remove.
368         * c/gupcspec.c: Move upc/gupcspec.c here.
369         * doc/gupc.texi: Move upc/gupc.texi here.
370         * c/c-objc-common.h: Revert to trunk.
371         * cp/lex.c: Revert to trunk.
372         * cp/Make-lang.in: Revert to trunk.
373         * expr.h: Revert to trunk.
374         * flags.h: Revert to trunk.
375         * fortran/Make-lang.in: Revert to trunk.
376         * java/Make-lang.in: Revert to trunk.
377         * lto/Make-lang.in: Revert to trunk.
378         * objc/Make-lang.in: Revert to trunk.
379         * stor-layout.c: Delete custom hook routines, use
380         newly defined declaration layout language hooks.
381         * stor-layout.h: Revert to trunk.
382         * ../configure.ac: Remove check for UPC language dialect.
383         * ../configure: Re-generate.
384         * Makefile.in (C_COMMON_OBJS): Add UPC-related object files.
385         * c/Make-lang.in: Compile UPC-related files.  Build gupc driver.
386         * c/c-decl.c: Call c_genericize() directly rather than
387         lang_hooks.genericize().  Adjust for flag_upc and name changes.
388         * c/c-lang.c (LANG_HOOKS_UPC_TOGGLE_KEYWORDS,
389         LANG_HOOKS_UPC_PTS_STRUCT_INIT_TYPE, LANG_HOOKS_UPC_BUILD_INIT_FUNC,
390         LANG_HOOKS_LAYOUT_DECL_P, LANG_HOOKS_LAYOUT_DECL):
391         Define UPC-specific hooks.
392         * c/c-objc-common.c (upc_types_compatible_p): Move to here.
393         (c_types_compatible_p): Call upc_types_compatible_p().
394         * c/c-parser.c (upc_affinity_test): Move to here.
395         (upc_build_sync_stmt): Move to here.
396         * c/c-typeck.c: #include c-family/c-upc-low.h.
397         * c/config-lang.in (gtfiles): Add UPC gt files.
398         * c-family/c-common.c: Add #include c-upc.h.
399         (c_common_get_alias_set): Move UPC-related alias check to here.
400         (upc_num_threads): Move to here.
401         (c_common_init_ts): Mark UPC-specific statement tree definitions.
402         * c-family/c-common.def (UPC_FORALL_STMT, UPC_SYNC_STMT):
403         Define UPC-specific statements.
404         * c-family/c-common.h (RID_FIRST_UPC_QUAL, RID_LAST_UPC_QUAL,
405         RID_FIRST_UPC_KW, RID_LAST_UPC_KW, UPC_IS_KEYWORD): New.
406         (clk_upc, clk_upcxx, c_dialect_upc, compiling_upc): Delete.
407         (use_upc_dwarf2_extensions, flag_upc): Move to c-family/c.opts.
408         (upc_num_threads): Declare prototype.
409         (UPC_SYNC_OP, UPC_SYNC_ID, UPC_SYNC_NOTIFY_OP, UPC_SYNC_WAIT_OP,
410         UPC_SYNC_BARRIER_OP): Move definitions here.
411         * c-family/c-cppbuiltin.c: Remove #include c-upc.h and
412         add #include c-upc-pts.h.
413         (upc_cpp_builtins): Move to here.  Define as static.
414         (c_cpp_builtin): Change call to c_dialect_upc () into
415         test of flag_upc.
416         * c-family/c-gimplify.c: #include c-upc-low.h.
417         (c_common_genericize): Rename c_genericize() to this and make static.
418         (c_genericize): Call upc_genericize() if flag_upc is set and
419         then call c_common_genericize().
420         * c-family/c-opts.c: #include c-upc-low.h and c-upc-pts.h.
421         (c_family_lang_mask): Remove CL_UPC.
422         (c_common_option_lang_mask): Remove CL_UPC from lang_flags.
423         (upc_init_options): Move to here, make it static.
424         (c_common_init_options): Add early check for flag_upc, if found
425         call upc_init_options().
426         (upc_handle_option): Move to here and make static.
427         (c_common_handle_option): Check for UPC-related options
428         and call upc_handle_option().  Remove references to
429         OPT_lang_upc and clk_upc.  Check flag_upc instead of
430         calling c_dialect_upc().
431         * c-family/c-pragma.c: #include langhooks.h.
432         (handle_pragma_upc): Remove warning if flag_upc not set;
433         flag_upc now serves the function of compiling_upc().
434         Add call to lang_hooks.upc.toggle_keywords() to
435         implement enable/disable of UPC keywords.
436         (init_pragma): Check flag_upc instead of compiling_upc.
437         * c-family/c-pragma.h (deny_pragma_upc, get_upc_consistency_mode,
438         permit_pragma_upc, pop_upc_consistency_mode,
439         pragma_upc_permitted_p, push_upc_consistency_mode,
440         set_upc_consistency_mode): Move prototypes to here.
441         * c-family/c.opt: Remove all references to "UPC" language dialect.
442         Add -fupc option. Delete -fupc-link option.
443         Add -fupc-threads= option and deprecate -fupc-threads-.
444         * configure.ac: Remove check for UPC language dialect.
445         * configure: Re-generate.
446         * explow.c (tree_expr_size): Move to tree.c.
447         * gcc.c: Change specs to refer to -fupc instead of -lang-upc
448         and -fupc-link.
449         * hooks.c (hook_bool_tree_tree_false): Declare prototype.
450         * langhooks.c (lhd_do_nothing_b, lhd_do_nothing_t_t): New.
451         * langhooks.h (lang_hooks_for_upc): Define hooks for UPC.
452         (layout_decl_p, layout_decl): Define language-specific
453         declaration  layout hooks.
454         (genericize): Remove this language hook.
455         * langhooks-def.h: Define UPC default language hooks.
456         Define language-specific declaration layout default hooks.
457         * langhooks.c (lhd_do_nothing_b): New.
458         * tree-core.h (shared_flag): Rename from upc_shared_flag.
459         (strict_flag): Rename from upc_strict_flag.
460         (relaxed_flag): Rename from upc_relaxed_flag.
461         (threads_factor_flag): New. Was a lang. flag.
462         (block_factor_0): New. Was a lang. flag.
463         (block_factor_x): New. Was a lang. flag.
464         (spare1): Decrement spare bits from 8 down to 5.
465         * tree.c (block_factor_for_type): Move to here.
466         (tree_expr_size): Move to here from explow.c.
467         (block_factor_lookup): Move to here.
468         (block_factor_insert): Move to here.
469         (upc_get_block_factor): Move to here.
470         * tree.h: refer to block_factor_* instead of upc_block_factor_*.
471         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
472         TYPE_HAS_THREADS_FACTOR): Refer to tree base flag bits instead
473         of lang. flag bits.
474         (tree_expr_size): Move prototype from explow.h.
476 2013-12-30  Gary Funck  <gary@intrepid.com>
478         Merge trunk version 206243 into gupc branch.
480 2013-12-23  Gary Funck  <gary@intrepid.com>
482         Merge trunk version 206179 into gupc branch.
484 2013-12-22  Gary Funck  <gary@intrepid.com>
486         * upc/upc-act.c (upc_cpp_builtins): Bump UPC_VERSION
487         to reflect UPC specification version 1.3 compliance.
489 2013-12-16  Gary Funck  <gary@intrepid.com>
491         Merge trunk version 206010 into gupc branch.
493 2013-12-09  Gary Funck  <gary@intrepid.com>
495         Merge trunk version 205801 into gupc branch.
497 2013-12-03  Meador Inge  <meadori@codesourcery.com>
499         * tree-core.h (tree_type_common): Change tree_type_common to use
500         user-provided GC marking.
501         (gt_ggc_mx, gt_pch_nx): New prototypes.
502         * tree.c (gt_ggc_mx, gt_pch_nx): New functions.
504 2013-12-03  Gary Funck  <gary@intrepid.com>
506         Revert:
508         2011-10-10  Gary Funck  <gary@intrepid.com>
510         * tree.c (check_qualified_type, check_aligned_type):
511         Call tree_int_cst_equal() to compare UPC blocking factors
512         if the corresponding tree pointers are not equal.
513         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
515 2013-12-03  Gary Funck  <gary@intrepid.com>
517         * c-family/c.opt: Fix typo introduced in 2013-06-03
518         merge with trunk.
520 2013-12-02  Gary Funck  <gary@intrepid.com>
522         Merge trunk version 205582 into gupc branch.
524 2013-11-26  Meador Inge  <meadori@codesourcery.com>
526         * upc/upc-genericize.c (upc_expand_get): Ensure that temporaries
527         are declared via a DECL_EXPR.
529 2013-11-25  Gary Funck  <gary@intrepid.com>
531         Merge trunk version 205346 into gupc branch.
533 2013-11-18  Gary Funck  <gary@intrepid.com>
535         Merge trunk version 204942 into gupc branch.
537 2013-11-15  Gary Funck  <gary@intrepid.com>
539         Merge trunk version 204894 into gupc branch.
541 2013-11-15  Gary Funck  <gary@intrepid.com>
543         Merge trunk version 204659 into gupc branch.
545 2013-11-04  Gary Funck  <gary@intrepid.com>
547         Merge trunk version 204345 into gupc branch.
549 2013-10-31  Gary Funck  <gary@intrepid.com>
551         Released GUPC 4.9.0.1 based on version 203902.
552         This release version was committed on 2013-10-21.
553         * DEV-PHASE: Bump to 4.9.0.2.
554         * DATESTAMP: Bump date stamp.
556 2013-10-28  Gary Funck  <gary@intrepid.com>
558         Merge trunk version 204119 into gupc branch.
560 2013-10-21  Gary Funck  <gary@intrepid.com>
562         Merge trunk version 203886 into gupc branch.
564 2013-10-14  Gary Funck  <gary@intrepid.com>
566         Merge trunk version 203514 into gupc branch.
568 2013-10-07  Gary Funck  <gary@intrepid.com>
570         Merge trunk version 203240 into gupc branch.
572 2013-10-01  Gary Funck  <gary@intrepid.com>
574         Implement pointer-to-shared -> integer conversions.
575         Required per UPC 1.3 Specification.
576         * c/c-typeck.c (build_c_cast): Remove logic that diagnosed
577         PTS->int conversions as an error.  Rewrite into a CONVERT_EXPR
578         for later processing by upc_genericize().
580 2013-10-01  Gary Funck  <gary@intrepid.com>
582         Implement pointer-to-shared -> integer conversions.
583         Required per UPC 1.3 Specification.
584         * upc/upc-genericize.c (upc_genericize_pts_to_int_cvt): New.
585         (upc_genericize_expr): Call upc_genericize_pts_to_int_cvt().
587 2013-09-30  Gary Funck  <gary@intrepid.com>
589         Merge trunk version 203026 into gupc branch.
591 2013-09-23  Gary Funck  <gary@intrepid.com>
593         Merge trunk version 202825 into gupc branch.
595 2013-09-18  Gary Funck  <gary@intrepid.com>
597         Merge trunk version 202725 into gupc branch.
599 2013-09-16  Gary Funck  <gary@intrepid.com>
601         Merge trunk version 202619 into gupc branch.
603 2013-09-09  Gary Funck  <gary@intrepid.com>
605         Merge trunk version 202382 into gupc branch.
607 2013-09-02  Gary Funck  <gary@intrepid.com>
609         Merge trunk version 202159 into gupc branch.
611 2013-08-26  Gary Funck  <gary@intrepid.com>
613         Merge trunk version 202008 into gupc branch.
615 2013-08-19  Gary Funck  <gary@intrepid.com>
617         Merge trunk version 201832 into gupc branch.
619 2013-08-05  Gary Funck  <gary@intrepid.com>
621         Merge trunk version 201483 into gupc branch.
623 2013-07-29  Gary Funck  <gary@intrepid.com>
625         Merge trunk version 201301 into gupc branch.
627 2013-07-22  Gary Funck  <gary@intrepid.com>
629         Merge trunk version 201119 into gupc branch.
631 2013-07-15  Gary Funck  <gary@intrepid.com>
633         Merge trunk version 200955 into gupc branch.
635 2013-07-08  Gary Funck  <gary@intrepid.com>
637         Merge trunk version 200775 into gupc branch.
639 2013-07-01  Gary Funck  <gary@intrepid.com>
641         Merge trunk version 200575 into gupc branch.
643 2013-06-24  Gary Funck  <gary@intrepid.com>
645         Merge trunk version 200361 into gupc branch.
647 2013-06-19  Gary Funck  <gary@intrepid.com>
649         Merge trunk version 200149 into gupc branch.
651 2013-06-19  Gary Funck  <gary@intrepid.com>
653         Merge trunk version 200149 into gupc branch.
654         * upc/upc-act.c (upc_create_static_var): New.
655         (upc_build_init_func): Call upc_create_static_var() to
656         create a static variable, __upc_init_func_addr, which
657         is initialized to the address of the UPC
658         shared data initialization function.  This change is
659         needed to avoid writing to the output assembly language
660         file too early.
661         (upc_build_sync_stmt): Delete unused variable, sync_expr_type.
663 2013-06-03  Gary Funck  <gary@intrepid.com>
665         Merge trunk version 199596 into gupc branch.
667 2013-05-27  Gary Funck  <gary@intrepid.com>
669         Merge trunk version 199350 into gupc branch.
671 2013-05-20  Gary Funck  <gary@intrepid.com>
673         Merge trunk version 199093 into gupc branch.
675 2013-05-14  Gary Funck  <gary@intrepid.com>
677         * upc/upc-pts-packed.c (upc_pts_packed_build_cvt):
678         When checking whether the phase of a PTS should be reset,
679         if the source type is an array type, then bypass
680         the check for equal type sizes.
681         * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
683 2013-05-13  Gary Funck  <gary@intrepid.com>
685         Merge trunk version 198815 into gupc branch.
687 2013-05-06  Gary Funck  <gary@intrepid.com>
689         Merge trunk version 198622 into gupc branch.
691 2013-04-29  Gary Funck  <gary@intrepid.com>
693         Merge trunk version 198433 into gupc branch.
695 2013-04-15  Gary Funck  <gary@intrepid.com>
697         Merge trunk version 197958 into gupc branch.
699 2013-04-08  Gary Funck  <gary@intrepid.com>
701         Merge trunk version 197571 into gupc branch.
703 2013-04-04  Gary Funck  <gary@intrepid.com>
705         Per the UPC 1.3 specification, the type of the
706         optional barrier/notify/wait expression is not constrained to
707         'int'. Instead, any type that is assignment compatible
708         with an 'int' type is permitted.
709         * c/c-parser.c (c_parser_upc_sync_statement): Do not check
710         the optional expression type here.  Let upc_build_sync_stmt()
711         handle it.
712         * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
713         * c/c-typeck.c (c_cvt_expr_for_assign): New.  Also, call
714         error_at() in lieu of error() when the source location is known.
715         * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
716         to check/convert the optional synchronization statement
717         expression.
719 2013-04-02  Gary Funck  <gary@intrepid.com>
721         Merge trunk version 197340 into gupc branch.
723 2013-04-02  Gary Funck  <gary@intrepid.com>
725         Revert revision 178346 (2011-08-30)
726         which changed the prototype of check_qualified_type and related
727         functions so that their parameters were just 'tree' and not
728         'const_tree'.  This seemed necessary at the time because of a
729         change to TYPE_BLOCK_FACTOR(), which in turn called function
730         that hashed the type node pointer.  The hash functions did
731         not accept "const void *" pointers.  Implement a work around
732         that removes this restriction.
733         * c/c-typeck.c: Revert.
734         * tree.c: Revert.
735         * tree.h: Revert.  Change prototype of upc_block_factor_lookup()
736         to accept a 'const_tree' pointer to a type node.
737         * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
738         * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
739         input argument and convert this to 'tree' for use with hash function.
741 2013-04-02  Gary Funck  <gary@intrepid.com>
743         Revert revision 178346 (2011-08-30)
744         which changed the prototype of check_qualified_type and related
745         functions so that their parameters were just 'tree' and not
746         'const_tree'.  This seemed necessary at the time because of a
747         change to TYPE_BLOCK_FACTOR(), which in turn called a function
748         that hashed the type node pointer.  The hash functions did
749         not accept "const void *" pointers.  Implement a work around
750         that removes this restriction.
751         * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
752         input argument and convert this to 'tree' for use with hash function.
754 2013-03-25  Gary Funck  <gary@intrepid.com>
756         Merge trunk version 197029 into gupc branch.
758 2013-03-21  Gary Funck  <gary@intrepid.com>
760         Released GUPC 4.8.0.3 based on version 196601.
761         This release version was committed on 2013-03-11.
762         * DATESTAMP: Bump date stamp.
764 2013-03-18  Gary Funck  <gary@intrepid.com>
766         Merge trunk version 196771 into gupc branch.
767         * DEV-PHASE: Bump release identifier to 4.9.0-1.
769 2013-03-11  Gary Funck  <gary@intrepid.com>
771         Merge trunk version 196592 into gupc branch.
773 2013-03-04  Gary Funck  <gary@intrepid.com>
775         Merge trunk version 196422 into gupc branch.
777 2013-02-25  Gary Funck  <gary@intrepid.com>
779         Merge trunk version 196253 into gupc branch.
781 2013-02-18  Gary Funck  <gary@intrepid.com>
783         Merge trunk version 196115 into gupc branch.
785 2013-02-11  Gary Funck  <gary@intrepid.com>
787         Merge trunk version 195937 into gupc branch.
789 2013-02-04  Gary Funck  <gary@intrepid.com>
791         Merge trunk version 195707 into gupc branch.
793 2013-01-28  Gary Funck  <gary@intrepid.com>
795         Merge trunk version 195502 into gupc branch.
797 2013-01-21  Gary Funck  <gary@intrepid.com>
799         Merge trunk version 195330 into gupc branch.
801 2013-01-14  Gary Funck  <gary@intrepid.com>
803         Merge trunk version 195164 into gupc branch.
805 2013-01-07  Gary Funck  <gary@intrepid.com>
807         Merge trunk version 194962 into gupc branch.
809 2012-12-24  Gary Funck  <gary@intrepid.com>
811         Merge trunk version 194709 into gupc branch.
813 2012-12-17  Gary Funck  <gary@intrepid.com>
815         Merge trunk version 194552 into gupc branch.
817 2012-12-10  Gary Funck  <gary@intrepid.com>
819         Merge trunk version 194351 into gupc branch.
821 2012-12-03  Gary Funck  <gary@intrepid.com>
823         Merge trunk version 194076 into gupc branch.
825 2012-11-30  Gary Funck  <gary@intrepid.com>
827         Released GUPC 4.8.0.2 based on version 193446.
828         Date of release: 2012-11-12.
829         * DEV-PHASE: Bump release identifier to 4.8.0-3.
830         * DATESTAMP: Bump date stamp.
832 2012-11-26  Gary Funck  <gary@intrepid.com>
834         Merge trunk version 193807 into gupc branch.
836 2012-11-20  Gary Funck  <gary@intrepid.com>
838         Merge trunk version 193672 into gupc branch.
840 2012-11-19  Gary Funck  <gary@intrepid.com>
842         Merge trunk version 193617 into gupc branch.
844 2012-11-15  Gary Funck  <gary@intrepid.com>
846         Merge trunk version 193426 into gupc branch.
848 2012-11-12  Gary Funck  <gary@intrepid.com>
850         Released GUPC 4.8.0.1 based on version 192948.
851         Date of release: 2012-10-29.
852         * DEV-PHASE: Bump release identifier to 4.8.0-2.
853         * DATESTAMP: Bump date stamp.
855 2012-11-05  Gary Funck  <gary@intrepid.com>
857         Merge trunk version 193152 into gupc branch.
859 2012-10-29  Gary Funck  <gary@intrepid.com>
861         Merge trunk version 192909 into gupc branch.
863 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
865         Remove unused --upc-pthreads-per-process compile switch.
866         * c-family/c.opt: Remove --upc-pthreads-per-process switch
867         that compiler/runtime do not use.
868         * c-family/c-opts.c (c_common_handle_option): Remove support for
869         --upc-pthreads-per-process switch.
870         * c-family/c-common.c: Ditto.
871         * c-family/c-common.h: Ditto.
873 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
875         Remove unused --upc-pthreads-per-process compile switch.
876         * upc/upc-act.c (upc_handle_option): Ditto.
877         (upc_cpp_builtins): Ditto.
878         * upc/upc-lang.c (upc_init_options): Ditto.
880 2012-10-27  Gary Funck  <gary@intrepid.com>
882         * defaults.h: fix typos and formatting in UPC-related entries.
884 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
886         Place shared initialization code into the .text
887         section instead of a separate .upc_init section.
888         * defaults.h (UPC_INIT_SECTION_NAME): Delete.
889         (UPC_INIT_BEGIN_NAME): Delete.
890         (UPC_INIT_END_NAME): Delete.
891         * doc/tm.texi.in: Ditto.
892         * doc/tm.texi: Ditto.
894 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
896         Place shared initialization code into the .text
897         section instead of a separate .upc_init section.
898         * upc/upc-act.c (upc_build_init_func): Remove settings
899         of the section for shared initialization code.
901 2012-10-22  Gary Funck  <gary@intrepid.com>
903         Merge trunk version 192673 into gupc branch.
905 2012-10-15  Gary Funck  <gary@intrepid.com>
907         Merge trunk version 192449 into gupc branch.
909 2012-10-08  Gary Funck  <gary@intrepid.com>
911         Merge trunk version 192198 into gupc branch.
913 2012-10-01  Gary Funck  <gary@intrepid.com>
915         Merge trunk version 191931 into gupc branch.
917 2012-09-26  Gary Funck  <gary@intrepid.com>
919         Implement support for various UPC version 1.3 specification
920         additions and changes. Deprecate support for upc_local_alloc.
921         Add support for upc_tick (wall-clock timer) library.
922         Add support for collective de-allocation functions:
923         upc_all_free and upc_all_lock_free.
924         Consult libgupc/ChangeLog,
925         libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
927 2012-09-26  Gary Funck  <gary@intrepid.com>
929         * upc/upc-act.c (upc_cpp_builtins): Pre-define __UPC_TICK__.
931 2012-09-24  Gary Funck  <gary@intrepid.com>
933         Merge trunk version 191658 into gupc branch.
935 2012-09-17  Gary Funck  <gary@intrepid.com>
937         Merge trunk version 191376 into gupc branch.
939 2012-09-10  Gary Funck  <gary@intrepid.com>
941         Merge trunk version 191141 into gupc branch.
943 2012-08-29  Nenad Vukicevic  <nenad@intrepid.com>
945         * upc/gupc.texi: Add description for -fupc-pre-include.
947 2012-08-27  Gary Funck  <gary@intrepid.com>
949         Merge trunk version 190707 into gupc branch.
950         * tree.h (struct tree_base): Adjust various
951         UPC tree and type flags to refer to the
952         newly introduced u.bits field.
954 2012-08-20  Gary Funck  <gary@intrepid.com>
956         Merge trunk version 190524 into gupc branch.
957         Incorporates a fix in genoutput.c (to properly use
958         CONST_CAST) that led to build failures with
959         older versions of g++.
961 2012-08-16  Gary Funck  <gary@intrepid.com>
963         Merge trunk version 190437 into gupc branch.
964         Incorporates a fix for a build failure on the PPC
965         due to passing incorrect switches to the assembler.
966         Also, first merged trunk revision that compiles GCC
967         with the C++ compiler in the first stage.
969 2012-08-16  Gary Funck  <gary@intrepid.com>
971         * upc/upc-pts-struct.c (upc_pts_struct_is_null_p):
972         Adjust VEC_index() calls to use C++ syntax.
973         This is required as part of the move to compile
974         GCC with the C++ compiler.
976 2012-08-13  Gary Funck  <gary@intrepid.com>
978         Merge trunk version 190336 into gupc branch.
980 2012-08-09  Gary Funck  <gary@intrepid.com>
982         * c-family/c-common.c (c_fully_fold_internal): Do not fold
983         offsetof-like expressions when they are applied to UPC
984         shared types.
986 2012-08-07  Gary Funck  <gary@intrepid.com>
988         * upc/upc-genericize.c: Delete un-used include of optabs.h.
989         Fixes a parallel make failure due to un-noticed dependency.
991 2012-08-06  Gary Funck  <gary@intrepid.com>
993         Merge trunk version 190173 into gupc branch.
995 2012-08-01  Gary Funck  <gary@intrepid.com>
997         Merge trunk version 190063 into gupc branch.
998         Incorporates fix for build failure on IA64.
1000 2012-07-30  Gary Funck  <gary@intrepid.com>
1002         Merge trunk version 189954 into gupc branch.
1004 2012-07-27  Gary Funck  <gary@intrepid.com>
1006         Merge trunk version 189856 into gupc branch.
1007         Incorporates fix for bootstrap with a sub-set of language
1008         specific source directories present.
1009         * optabs.c: Revert to trunk.  Rather than defining opcodes
1010         as a way of defining get/put runtime library function names,
1011         generate them directly in gcc/upc/upc-genericize.c.
1012         * optabs.h: Ditto.
1013         * genopinit.c: Ditto.
1015 2012-07-27  Gary Funck  <gary@intrepid.com>
1017         * upc/upc-genericize.c (upc_expand_get, upc_expand_put):
1018         Rather than referring to UPC-specific opcodes to find
1019         the name of the get/put library function name, generate
1020         the name directly.
1021         (get_lc_mode_name): New.
1023 2012-07-25  Gary Funck  <gary@intrepid.com>
1025         * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
1026         Fix regression: field-by-field comparison of UPC
1027         pointer-to-shared (vaddr, thread) only works
1028         (with the current logic) for the == and != operators.
1030 2012-07-24  Gary Funck  <gary@intrepid.com>
1032         * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
1033         Fix warning about use of const_tree.
1035 2012-07-24  Gary Funck  <gary@intrepid.com>
1037         Per UPC spec. 6.4.2p6, ignore the value of the
1038         phase of a pointer-to-shared, when comparing for
1039         equal or not equal.
1040         * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
1041         Use bit-wise comparison only if the UPC pointer-to-shared
1042         target type has a block size <= 1 and the representation
1043         has vaddr first or the comparison is for equality/inequality.
1044         * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
1045         Use (vaddr, thread) comparison only if the UPC pointer-to-shared
1046         has a block size <= 1 or the comparison is for equality/inequality.
1048 2012-07-23  Gary Funck  <gary@intrepid.com>
1050         Merge trunk version 189777 into gupc branch.
1052 2012-07-16  Gary Funck  <gary@intrepid.com>
1054         Merge trunk version 189545 into gupc branch.
1056 2012-07-12  Gary Funck  <gary@intrepid.com>
1058         Merge trunk version 189366 into gupc branch.
1060 2012-07-05  Gary Funck  <gary@intrepid.com>
1062         Merge trunk version 189274 into gupc branch.
1063         Incorporates graphite build infrastructure changes.
1065 2012-07-04  Gary Funck  <gary@intrepid.com>
1067         Merge trunk version 189080 into gupc branch.
1068         * Makefile.in: Adjust for move of C front-end files.
1069         * c/Make-lang.in: Ditto.
1071 2012-07-04  Gary Funck  <gary@intrepid.com>
1073         * upc/config-lang.in: Adjust for move of C front-end files.
1074         * upc/upc-act.c: Look for c-tree.h and c-objc-common.h in c/.
1075         * upc/upc-gasp.c: Ditto.
1076         * upc/upc-genericize.c: Ditto.
1077         * upc/upc-lang.c: Ditto.
1078         * upc/upc-pts-struct.c: Ditto.
1080 2012-07-03  Gary Funck  <gary@intrepid.com>
1082         Merge trunk version 189078 into gupc branch.
1084 2012-06-25  Gary Funck  <gary@intrepid.com>
1086         Merge trunk version 188931 into gupc branch.
1088 2012-06-18  Gary Funck  <gary@intrepid.com>
1090         Merge trunk version 188721 into gupc branch.
1092 2012-06-11  Gary Funck  <gary@intrepid.com>
1094         Merge trunk version 188380 into gupc branch.
1096 2012-06-04  Gary Funck  <gary@intrepid.com>
1098         Merge trunk version 188168 into gupc branch.
1100 2012-05-29  Gary Funck  <gary@intrepid.com>
1102         Merge trunk version 187927 into gupc branch.
1104 2012-05-19  Gary Funck  <gary@intrepid.com>
1106         * upc/upc-act.c (upc_lang_layout_decl): Ignore declarations of
1107         an array of shared type declarations if the size of the
1108         array is zero.  This avoids a segfault when processing
1109         the UPC blocking factor.
1111 2012-05-18  Gary Funck  <gary@intrepid.com>
1113         Merge trunk version 187666 into gupc branch.
1114         Incorporates fix for ICE in tree vectorization pass
1115         when processing strided loads.
1117 2012-05-17  Gary Funck  <gary@intrepid.com>
1119         Merge trunk version 187578 into gupc branch.
1121 2012-05-09  Gary Funck  <gary@intrepid.com>
1123         Merge trunk version 187347 into gupc branch.
1124         Incorporates fix for segfault in tree vectorization pass.
1126 2012-05-08  Nenad Vukicevic  <nenad@intrepid.com>
1128         * upc/gupcspec.c (lang_specific_driver): Improve handling of
1129         "-x" switches: (a) add "-x upc" switch for C source files if
1130         no -x switch was seen before OR "-x none" was seen, (b) add
1131         "-x none" for files other then C files if "-x upc" was
1132         previously added. Cleanup warnings on unused variables
1133         and integer conversion. Print verbose info regardless of the
1134         command line being the same.
1136 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
1138         * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
1139         Appropriate libraries and include files are added on the
1140         command line to make it possible to compile with the driver
1141         from the build tree.
1143 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
1145         * upc/gupc.texi: Simplify the description of the optimization
1146         options.
1148 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
1150         * upc/Make-lang.in: Remove build of xgupc.
1151         * upc/gupcspec.c (get_libgupc_path): Delete.
1152         (lang_specific_driver): Remove support for building xgupc.
1153         Removed code tried to add -B, -L, -isystem to the command
1154         line if xgupc driver is invoked from the development tree.
1156 2012-05-04  Gary Funck  <gary@intrepid.com>
1158         * upc/upc-act.c (upc_num_threads): When THREADS is specified
1159         statically, convert the value to a signed size type,
1160         so that (for example) the thread affinity test in a
1161         upc_forall() statement will work as expected for negative
1162         integer index values.
1164 2012-04-30  Nenad Vukicevic  <nenad@intrepid.com>
1166         * upc/Make-lang.in: Add year 2012 to the copyright.
1168 2012-04-30  Nenad Vukicevic  <nenad@intrepid.com>
1170         * upc/gupc.c: Delete. The old GUPC driver.
1171         * upc/gupcspec.c: Add. The new GUPC driver tailored
1172         after fortran/gfortranspec.c driver. Options "-n", "-inst",
1173         and "-inst-functions' are not supported by the new driver.
1174         Support for building gupc and xgupc remains the same.
1175         * upc/Make-lang.in (xgupc): Changes to compile gupcspec.c
1176         instead of gupc.c
1177         (gupc): Ditto.
1178         * upc/gupc.texi: Remove '-n', '-inst', and '-inst-functions'
1179         options.
1181 2012-04-29  Nenad Vukicevic  <nenad@intrepid.com>
1183         * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
1184         PPC ABI. In the UPC 'struct' pointer-to-shared representation,
1185         a function returns a pointer-to-shared in memory instead
1186         of in registers.
1187         (rs6000_pass_by_reference): Ditto.
1189 2012-04-28  Gary Funck  <gary@intrepid.com>
1191         * c-decl.c (grokdeclarator): Set 'type' to error node
1192         after detecting "shared auto variable" error to avoid
1193         downstream complications.
1194         * upc/upc-act.c: Fix a couple of spelling errors in comments.
1196 2012-04-26  Gary Funck  <gary@intrepid.com>
1198         * c-family/c-pragma.c (handle_pragma_upc):
1199         Fix typo in warning message.
1201 2012-04-17  Nenad Vukicevic  <nenad@intrepid.com>
1203         * upc/gupc.texi: Fix the warning for usage of 'insertcopying'
1204         before 'copying'. Minor changes to to copyright years and
1205         manual info.
1207 2012-04-17  Gary Funck  <gary@intrepid.com>
1209         Merge trunk version 186486 into gupc branch.
1211 2012-04-17  Gary Funck  <gary@intrepid.com>
1213         * c-family/c-pragma.c (disable_pupc_mode): Return the previous
1214         value of the pupc mode.  Fixes a compile-time warning.
1215         * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
1216         disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
1217         Improve source formatting.
1219 2012-04-16  Gary Funck  <gary@intrepid.com>
1221         * upc/upc-genericize.c: Adjust copyright.
1222         (upc_genericize_fndecl): Adjust call graph
1223         union member reference to use the newly introduced
1224         'symbol' field in order to refer to 'decl'.
1226 2012-04-09  Gary Funck  <gary@intrepid.com>
1228         Merge trunk version 186243 into gupc branch.
1229         Incorporates a powerpc 'ffi' fix.
1231 2012-03-16  Gary Funck  <gary@intrepid.com>
1233         Merge trunk version 185454 into gupc branch.
1234         Incorporates a libgcc fix for builds on Darwin.
1236 2012-03-13  Gary Funck  <gary@intrepid.com>
1238         Merge trunk version 185278 into gupc branch.
1239         * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
1240         call build_pointer_type() to apply UPC-specific qualifiers.
1241         * top-level/configure.ac: factor the checking for posix hostst
1242         out of the libgomp section so that it can also be used by libgupc.
1243         * top-level/configure: Re-generate.
1244         * DEV-PHASE: bump to 4.8.0-1.
1246 2012-03-12  Gary Funck  <gary@intrepid.com>
1248         * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
1249         the mode for a pointer for upc-pointer-to-shared types.
1251 2012-03-04  Gary Funck  <gary@intrepid.com>
1253         Merge trunk version 184900 into gupc branch.
1255 2012-02-17  Gary Funck  <gary@intrepid.com>
1257         Released GUPC 4.7.0.2 based on version 183992.
1258         * DEV-PHASE: Bump release identifier to 4.7.0-3.
1259         * DATESTAMP: Bump date stamp.
1261 2012-02-07  Nenad Vukicevic  <nenad@intrepid.com>
1263         * upc/gupc.texi: Added entries for the directory.
1265 2012-02-05  Nenad Vukicevic  <nenad@intrepid.com>
1267         * upc/gupc-manpage.html: Removed. HTML files are generated from
1268         the texi source.
1270 2012-02-05  Nenad Vukicevic  <nenad@intrepid.com>
1272         * upc/gupc.texi (-x upc): Add files ending with '.c' to the list
1273         of files compiled as UPC source.
1275 2012-02-04  Nenad Vukicevic  <nenad@intrepid.com>
1277         * upc/Make-lang.in (doc/gupc.info): Fix dependencies for creating
1278         gupc.info document.
1280 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
1282         * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
1283         code generation (same as #pragma pupc off).
1284         (set_pupc_mode): New. Set/restore profiling mode.
1285         * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
1286         (set_pupc_mode): New. Prototype.
1287         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
1288         profiling code for shared variables initialization routines.
1290 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
1292         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
1293         profiling code for shared variables initialization routines.
1295 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
1297         * upc/Make-lang.in: Various changes related to generating
1298         man/info pages from texi source file.
1299         (upc.install-common): Fix for removing the upc command
1300         link before install if suffix was applied.
1301         (upc.install-pdf): New.
1302         (upc.install-html): Change for the build from texi.
1303         (upc.install-man): Change for the build from texi.
1304         * upc/gupc.1: Removed.
1305         * upc/gupc.texi: New. Created texi source for man/info
1306         generation.
1308 2012-01-31  Gary Funck  <gary@intrepid.com>
1310         Merge trunk version 183751 into gupc branch.
1311         Incorporates fix for bootstrap failure on openSUSE 12.1.
1313 2012-01-30  Nenad Vukicevic  <nenad@intrepid.com>
1315         * upc/Make-lang.in: Fix the --program-suffix configuration
1316         option.  GUPC executables are now installed with appropriate
1317         suffixes and GUPC driver execs 'gcc' with the right suffix.
1319 2012-01-24  Nenad Vukicevic  <nenad@intrepid.com>
1321         * upc/upc-lang.c (upc_init_options): Disable section anchors
1322         for UPC language.
1324 2012-01-14  Gary Funck  <gary@intrepid.com>
1326         * upc/upc-genericize.c (upc_genericize_expr): Update input_location
1327         while traversing the program tree.
1328         (upc_expand_get, upc_expand_put): For profiling,  derive
1329         the source code location from the incoming 'loc' parameter.
1331 2012-01-10  Gary Funck  <gary@intrepid.com>
1333         Merge trunk version 183072 into gupc branch.
1334         Incorporates libcpp __BASE_FILE__ fix.
1336 2012-01-09  Gary Funck  <gary@intrepid.com>
1338         * upc/upc-genericize.c (upc_expand_put): Use is_gimple_reg instead of
1339         is_gimple_non_addressable.
1341 2012-01-06  Nenad Vukicevic  <nenad@intrepid.com>
1343         * upc/Make-lang.in: Add appropriate linker flags when linking
1344         gupc drivers.
1346 2012-01-06  Nenad Vukicevic  <nenad@intrepid.com>
1348         * upc/Make-lang.in: Add appropriate linker flags when linking
1349         gupc drivers.
1351 2011-12-31  Gary Funck  <gary@intrepid.com>
1353         Fix gupc driver to avoid segfault when processing
1354         invalid use of a switch that expects an argument.
1355         * upc/gupc.c (get_libgupc_path): Add check for non-NULL value of
1356         libgupc_archive before attempting to access libgupc_archive[0].
1357         (main): Do not issue error if lib_dir is NULL.  Instead, only
1358         process lib_dir if it is non-NULL.
1360 2011-12-31  Gary Funck  <gary@intrepid.com>
1362         Improve -fupc-debug support.
1363         * upc/upc-genericize.c (upc_expand_get, upc_expand_put,
1364         upc_genericize_sync_stmt): Add check for flag_upc_debug.
1365         * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
1366         * upc/upc-pts-packed.c (upc_pts_packed_build_cvt): Ditto.
1367         * upc/upc-act.c (upc_cpp_builtins): Disable inlining of the
1368         runtime if flag_upc_debug is asserted.
1370 2011-12-20  Nenad Vukicevic  <nenad@intrepid.com>
1372         * top-level/Makefile.def (flags_to_pass): Added GUPC
1373         defines. Fixes the make error when upc is not specified as one
1374         of the languages to build.
1375         * top-level/Makefile.in: Re-generate.
1377 2011-11-22  Gary Funck  <gary@intrepid.com>
1379         * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
1380         * dwarf2out.c (gen_compile_unit_die): Check for
1381         the "GNU UPC" language string in lieu of "GCC UPC".
1382         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
1384 2011-11-22  Gary Funck  <gary@intrepid.com>
1386         * upc/upc-act.c (upc_cpp_builtins): Generate new pre-defined
1387         macro: __GUPC__.
1389 2011-11-18  Gary Funck  <gary@intrepid.com>
1391         Merge trunk version 181552 into gupc branch.
1392         Incorporates libgcc/libunwind fix for IA64.
1394 2011-11-19  Gary Funck  <gary@intrepid.com>
1396         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
1397         Add check for UPC when defining the language type value
1398         in a traceback entry.
1400 2011-11-19  Gary Funck  <gary@intrepid.com>
1402         * upc/config-lang.in: Remove checks for supported targets.
1403         This is now done at a higher level.
1405 2011-11-18  Gary Funck  <gary@intrepid.com>
1407         Merge trunk version 181493 into gupc branch.
1408         Incorporates final fix for PR target/49992.
1410 2011-11-09  Nenad Vukicevic  <nenad@intrepid.com>
1412         * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
1413         change that converted relative include paths into absolute
1414         ones, as it does not work with older version of make (3.80).
1416 2011-10-27  Nenad Vukicevic  <nenad@intrepid.com>
1418         Apply patch for Darwin build - PR49992.
1419         * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
1420         * gcc/configure.ac: Ditto.
1421         * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
1422         * gcc/ada/gcc-interface/Makefile.in: Ditto.
1423         * top-level/configure: Re-generate.
1424         * gcc/configure: Re-genrate.
1426 2011-10-26  Gary Funck  <gary@intrepid.com>
1428         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
1429         "libupc" to "libgupc".
1430         * top-level/configure.ac: Implement support for cross-builds, and
1431           adjust for rename of libupc to libgupc.
1432         * top-level/Makefile.tpl: Ditto.
1433         * top-level/Makefile.def: Ditto.
1434         * top-level/configure: Re-generate.
1435         * top-level/Makefile.in: Re-generate.
1436         * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
1437         * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
1438         * doc/tm.texi: Re-generate.
1439         * tree-pretty-print.c (dump_block_node): Delete unused variable.
1440         * gcc.c: Adjust for rename of libupc to libgupc.
1441         * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
1442         Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
1443         Change "xupc" to "xgupc".
1444         * configure.ac: Change "GCC UPC" to "GNU UPC".
1445         * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
1446         so that they are absolute paths.  This is needed because
1447         the upc-crtstuff builds are in the libgupc library build
1448         directories which are not at the same level as libgcc.
1449         * config/darwin.h: Adjust for rename of libupc to libgupc.
1451 2011-10-26  Gary Funck  <gary@intrepid.com>
1453         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
1454         "libupc" to "libgupc".
1455         * upc/gupc.c: Rename from upc-cmd.c and adjust for rename
1456         of libupc to libgupc.
1457         * upc/upc-lang.c (LANG_HOOKS_NAME): Change "GCC UPC" to "GNU UPC".
1458         * upc/config-lang.in: Adjust for rename of libupc to libgupc.
1459         * upc/gupc.1: Rename from upc.1.  Change "GCC UPC" references
1460         to "GNU UPC".  Adjust for rename of libupc to libgupc.
1461         Improve formatting.
1462         * upc/gupc-manpage.html: Rename from upc-manpage.html.  Re-generate.
1463         * upc/Make-lang.in: Change "upc" to "gupc".  Change "xupc" to "xgupc".
1464         Adjust for rename of libupc to libgupc.  Install target symlink from
1465         "upc" to "gupc".  Install target/version-specific hard links to "gupc".
1467 2011-10-20  Gary Funck  <gary@intrepid.com>
1469         Merge trunk version 180276 into gupc branch.
1470         Incorporates fix for PR bootstrap/50709.
1472 2011-10-20  Gary Funck  <gary@intrepid.com>
1474         Merge trunk version 180246 into gupc branch.
1476 2011-10-19  Gary Funck  <gary@intrepid.com>
1478         Merge trunk version 180233 into gupc branch.
1479         Incorporates fix for PR debug/49310 (var tracking).
1481 2011-10-17  Gary Funck  <gary@intrepid.com>
1483         Fix a regression caused by the previous commit.
1484         * upc/upc-genericize.c (upc_genericize_walk):
1485         Renamed from: upc_genericize_stmt.
1486         (upc_shared_addr): for COMPONENT_REF and INDIRECT_REF
1487         re-walk the tree after simplification, by calling
1488         upc_genericize_walk().
1489         (upc_genericize_array_ref): expand the newly constructed
1490         indirect reference by calling upc_genericize_indirect_ref().
1492 2011-10-11  Nenad Vukicevic  <nenad@intrepid.com>
1494         * testsuite/lib/upc-dg.exp: Limit number of torture runs to
1495         only four (O0 static/dynamic, O3 static/dynamic).
1496         Detect -fupc-threads-0 as an option for dynamic threads
1497         compile environment.
1499 2011-10-10  Gary Funck  <gary@intrepid.com>
1501         * tree.c (check_qualified_type, check_aligned_type):
1502         Call tree_int_cst_equal() to compare UPC blocking factors
1503         if the corresponding tree pointers are not equal.
1504         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
1506 2011-10-10  Gary Funck  <gary@intrepid.com>
1508         * upc/upc-genericize.c (upc_simplify_shared_ref): When simplifying
1509         the base address always convert to (shared [] char *).
1510         This ensures that &a[i].field1 ends up with the required
1511         zero block size, for example.
1513 2011-10-07  Nenad Vukicevic  <nenad@intrepid.com>
1515         Add configuration checks for struct/packed builds so we can
1516         use upc_struct_pts/upc_packed_pts selectors in the testsuite.
1517         * testsuite/lib/target-supports.exp
1518         (check_effective_target_upc_struct_pts): New.
1519         (check_effective_target_upc_packed_pts): New.
1521 2011-09-15  Nenad Vukicevic  <nenad@intrepid.com>
1523         Add to FLAGS the flags needed to disable inlining of
1524         UPC run-time access routines.
1525         * testsuite/lib/target-supports.exp
1526         (add_options_for_upc_library_calls): New.
1528 2011-09-15  Gary Funck  <gary@intrepid.com>
1530         Fix ICE involving shared bit field accesses.
1531         * tree.c (build3_stat): Propagate TEEE_SHARED()
1532         and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1534 2011-09-13  Gary Funck  <gary@intrepid.com>
1536         Merge trunk version 178795 into gupc branch.
1537         Incorporates fix to PR bootstrap/50010 for x86-32.
1539 2011-09-08  Gary Funck  <gary@intrepid.com>
1541         Merge trunk version 178557 into gupc branch.
1543 2011-09-07  Gary Funck  <gary@intrepid.com>
1545         Ensure that UPC pointer-to-shared type alignment is
1546         propagated to the final type.  Revert to long-standing
1547         alignment policy: twice the size of a "C" pointer.
1548         * tree.c (build_pointer_type): Propagate the alignment
1549         of the UPC pointer-to-shared representation type
1550         into the newly built pointer type.
1552 2011-08-30  Gary Funck  <gary@intrepid.com>
1554         * tree.h (check_qualified_type): Change 'const_tree'
1555         argument types back to 'tree' to avoid complaints
1556         of assignment drops qualifiers for invocations of the
1557         newly implemented TYPE_BLOCK_FACTOR() macro, which
1558         invokes hash functions with 'tree' pointer values that
1559         are not const qualified.
1560         * tree.c (check_qualified_type, check_aligned_type): Ditto.
1561         * c-typeck.c (comptypes_internal): Ditto.
1563 2011-08-29  Gary Funck  <gary@intrepid.com>
1565         Fixes for regressions noted running "make check"
1566         versus GCC trunk.
1567         * fold-const.c (fold_unary_loc): Execute UPC-specific
1568         checks for a cast-of-a-cast, only if one of the
1569         operands is a UPC pointer-to-shared value.
1570         * opts.c (print_specific_help):  Fix a comparison
1571         in an assert that checks that there are enough
1572         bits reserved for the number of languages defined
1573         in the .opt files.
1575 2011-08-29  Gary Funck  <gary@intrepid.com>
1577         Implement a hash table to record UPC block factors.
1578         * c-family/stub-upc.c (upc_block_factor_insert,
1579         upc_block_factor_lookup): New dummy stub procedures.
1580         * c-family/c-common.c (c_sizeof_or_alignof_type):
1581         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1582         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1583         to copy (hashed) UPC blocking factor.
1584         (set_type_quals): Likewise.
1585         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1586         TYPE_HAS_THREADS_FACTOR().
1587         (type_common.block_factor): Delete.
1588         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1589         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1590         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1591         UPC blocking factors greater than one.
1592         * dwarf2out.c (modified_type_die): Re-implement
1593         logic that records UPC blocking factor in the generated
1594         DWARF2 debugging information.
1595         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1596         TYPE_HAS_THREADS_FACTOR().
1597         * c-decl.c (finish_decl, grokdeclarator):
1598         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1599         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1600         used by UPC, and print UPC-specific information.
1602 2011-08-28  Gary Funck  <gary@intrepid.com>
1604         Re-work the type machinery to fully support and to unify support
1605         for the UPC layout qualifier (blocking factor).
1606         * c-family/stub-upc.c (upc_set_block_factor): Delete.
1607           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1608           and update prototype.
1609         * c-family/c-common.c (complete_array_type): call newly
1610           defined c_build_qualified_type_1() instead of
1611           upc_set_block_factor().
1612         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1613           upc_apply_layout_qualifier() and update prototype.
1614           (upc_set_block_factor): Delete prototype.
1615         * c-family/c-common.h (c_build_qualified_type): redefine
1616           as a pre-processor macro that invokes c_build_qualified_type_1()
1617           with a null UPC layout qualifier.
1618           (c_build_qualified_type_1): New.  Add layout qualifier argument
1619           to old c_build_qualified_type() prototype.
1620         * tree.c (set_type_quals, check_qualified_type):
1621           Add layout qualifier as argument.
1622           (check_aligned_type): Add check for UPC block factor equality.
1623           (get_qualified_type_1): Rename from get_qualified_type() and
1624           add layout qualifier as argument.
1625           (build_qualified_type_1): Rename from build_qualified_type() and
1626           add layout qualifier as argument.
1627         * tree.h (check_qualified_type): Add layout qualifier as argument
1628           to the prototype.
1629           (get_qualified_type): Re-define as a as a pre-processor macro
1630           that invokes get_qualified_type_1() with a null
1631           UPC layout qualifier.
1632           (get_qualified_type_1): Rename from get_qualified_type() and
1633           add layout qualifier as argument.
1634         * cp/tree.c (c_build_qualified_type_1): Rename from
1635           c_build_qualified_type() and add (unused) layout qualifier
1636           argument.
1637         * c-decl.c (finish_decl): re-format long error messages.
1638           (grokdeclarator): Re-work the logic so that it calls
1639           upc_grok_layout_qualifier() to handle the UPC layout
1640           qualifier, if present.
1641         * c-typeck.c (qualify_type, common_pointer_type,
1642           build_component_ref): Re-work the logic so that it calls
1643           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1644           if present.
1645           (c_build_qualified_type_1): Rename from c_build_qualified_type()
1646           and add layout qualifier argument.
1647         * print_tree.c (print_node): Re-format a long line.
1649 2011-08-26  Gary Funck  <gary@intrepid.com>
1651         Merge trunk version 177949 into gupc branch.
1652         * c-family/c-common.h (enum rid): Bump the number of type modifiers
1653           in the comment.
1654         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1655           to add new rliterals column value.
1657 2011-08-26  Gary Funck  <gary@intrepid.com>
1659         * convert.c (convert_to_integer): Fix the check for the
1660           difference between two UPC pointers-to-shared values.
1662 2011-08-23  Nenad Vukicevic  <nenad@intrepid.com>
1664         * configure.ac: Fix the name for --with-upc-pts-packed-bits
1665           option. Support --with-upc-packed-bits as deprecated. Fix the code to
1666           correctly check packed bits.
1667         * configure: Re-generate.
1669 2011-08-16  Gary Funck  <gary@intrepid.com>
1671         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1672           the barrier id expression is not an integer expression.
1674 2011-08-12  Gary Funck  <gary@intrepid.com>
1676         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1677           (revert to trunk).
1678         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1679           Set mode of UPC pointer-to-shared rep. to an
1680           integral mode of size at least as large as the
1681           size of the representation's struct type.
1683 2011-08-12  Gary Funck  <gary@intrepid.com>
1685         Rework/simplify the UPC genericize pass.
1686         * c-family/stub-upc.c (upc_apply_layout_qualifier,
1687           upc_build_pointer_type): New.
1688           (upc_set_block_factor): Adjust to new calling sequence.
1689           (upc_build_shared_var_addr): Delete.
1690         * c-family/c-common.c (complete_array_type): Adjust call
1691           to upc_set_block_factor().
1692         * c-family/c-upc.h (upc_apply_layout_qualifier,
1693           upc_build_pointer_type): New.
1694           (upc_build_shared_var_addr): Delete.
1695           (upc_set_block_factor): Adjust to new calling sequence.
1696         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1697         * c-decl.c (grokdeclarator): Call newly defined
1698           upc_apply_layout_qualifier() instead of upc_set_block_factor().
1699         * c-decl.c (grokdeclarator): Split long UPC-related error
1700           messages into two lines.
1701         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1702           directly.  Revert that change to trunk. (upc_genericize() will
1703           handle lowering the expressions that take the address of a
1704           UPC variable).
1705         * config/i386/i386.c (ix86_promote_function_mode): For UPC
1706           pointers-to-shared, return the type mode of the UPC pointer-to-shared
1707           representation type.
1709 2011-08-10  Gary Funck  <gary@intrepid.com>
1711         Implement additional fixes for recent merge with trunk.
1712         * explow.c (promote_mode): Do not attempt to promote
1713           the mode for UPC pointer-to-shared types.
1714         * config/i386/i386.c (function_value_64): Ditto.
1716 2011-08-07  Gary Funck  <gary@intrepid.com>
1718         Merge trunk version 177548 into gupc branch.
1719         * config/i386/i386.c (ix86_promote_function_mode):
1720           Do not promote UPC pointers-to-shared to Pmode.
1721         * c-family/c-ommon.c (pointer_int_sum):
1722           Also check the pointer operand, rather than just
1723           its type, when making the decision to derive
1724           the equivalent unshared type.
1725         * tree.c (build2_stat): If the type of the result
1726           passed in as an argument is a UPC shared type,
1727           derive the unshared equivalent when calculating
1728           the result type of the node.
1730 2011-07-15  Nenad Vukicevic  <nenad@intrepid.com>
1732         * config/darwin.c: Disable var_tracking option
1733           on -O0 as it is supposed to run only when optimization
1734           is applied. See GCC bug 49743.
1736 2011-07-06  Gary Funck  <gary@intrepid.com>
1738         Re-implement the pass that lowers trees generated by
1739         the UPC front-end into GENERIC.  Previously this was
1740         done within the gimplification framework, but this
1741         required that gimplification be run before inlining
1742         and various other passes, which did not fit in well
1743         with the current design of the middle-end passes.
1744         Now, the lowering is done by a newly defined language
1745         specific genericize hook.  With this change, we are
1746         are able to undo some extensions made to the gimplify
1747         logic, and thus can revert several files to trunk.
1748         * c-decl.c: Add a check for UPC deprecated names which
1749           may appear as undefined function names.
1750         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1751           LTI_upc_getaddr): Remove definitions of unused UPC
1752           library function names.  These were defined back when
1753           the libfunc interface was used to call these routines.
1754         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1755           in UPC lowering (genericize) pass.
1756         * langhooks.h (gimplify_expr): Revert to trunk's definition.
1757           (instrument_func): Delete this hook.  Now handled in
1758           upc_genericize().
1759         * tree-pass.h: Revert to trunk.
1760         * c-typeck.c (build_unary_op): Adjust reference to
1761           upc_genericize() in a comment.
1762         * gimplify.c (create_tmp_var_raw): Delete logic that
1763           was converting UPC shared types into unshared types
1764           to be used for temporaries.  Now handled in  upc_genericize().
1765           Replace with an assertion check.
1766           (prepare_gimple_addressable): Revert to trunk's definition.
1767           No longer needed as an externally called function.
1768           (flag_instrument_functions_exclude_p): Re-define as
1769           an externally called function.
1770           (gimplify_function_tree): Delete code that implemented
1771           call to UPC's language specific function instrumentation hook.
1772         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1773           (prepare_gimple_addressable): Delete extern definition;
1774           revert to trunk's definition.
1775         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1776           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1777         * c-family/c-gimplify.c: Revert to trunk.
1778         * cp/cp-gimplify.c: Revert to trunk.
1779         * cp/cp-tree.h: Revert to trunk.
1780         * explow.c: Revert to trunk.
1781         * langhooks.c: Revert to trunk.
1782         * libfuncs.h: Revert to trunk.
1783         * objc/objc-act.c: Revert to trunk.
1785 2011-06-30  Gary Funck  <gary@intrepid.com>
1787         * c-family/c.opt: Bring options definitions up-to-date
1788         with respect to changes made in the trunk.
1790 2011-06-29  Gary Funck  <gary@intrepid.com>
1792         Merge trunk version 175584 into gupc branch.
1794 2011-06-13  Gary Funck  <gary@intrepid.com>
1796         libcpp/
1797         * include/cpplib.h (enum c_lang):
1798         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1799         This keeps all the "C" variants together.
1800         * init.c (lang_defaults): Add an entry for UPC.
1802 2011-06-09  Gary Funck  <gary@intrepid.com>
1804         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1805         a 32-bit target, the size expression overflowed, the result was
1806         error_mark_node, and an ICE was triggered on an attempt to evaluate
1807         C_TYPE_VARIABLE_SIZE() on the error node.
1808         (upc_blocksizeof_expr, upc_blocksizeof_type,
1809         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1810         Make similar changes to avoid further processing of error_mark_node.
1812 2011-06-07  Gary Funck  <gary@intrepid.com>
1814         * sel-sched.c (move_op): Incorporate the following
1815         patch to eliminate ICE at -O3 on IA64/Altix.
1817 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
1819         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
1820         code_motion_path_driver returned 0 or 1.
1821         (sel_region_finish): Clear h_d_i_d.
1823 2011-06-02  Gary Funck  <gary@intrepid.com>
1825         Merge trunk version 174558 into gupc branch.
1827 2011-05-30  Gary Funck  <gary@intrepid.com>
1829         * configure.ac: Make the default order of the virtual
1830           address field in a UPC pointer-to-shared to be "first".
1831           This reverts to the previous setting, and is a short term
1832           measure to work around a bug found on the IA64,
1833           where vaddr=last led to incorrect code generation.
1834           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1835           in AC_DEFINE(), to agree with recent changes in files
1836           that reference this define.
1837           configure, config.in: Regenerate.
1839 2011-05-26  Gary Funck  <gary@intrepid.com>
1841         * configure.ac: Fix typo when referring to $upc_vaddr_order.
1842           configure: Regenerate.
1843         * ../fixincludes/fixincl.x: Revert to trunk.
1844           This file is auto-generated, and should not be merged.
1846 2011-05-18  Gary Funck  <gary@intrepid.com>
1848         Merge trunk version 173845 into gupc branch.
1850 2011-05-17  Gary Funck  <gary@intrepid.com>
1852         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1853           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1854         * c-family/c-pragma.c: Remove conditional compilation
1855           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1856           Test 'compiling_upc' when compiling to determine if
1857           the "upc" and "pupc" pragmas should be registered.
1858         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1859           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1860           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1861           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1862           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1863           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1864           Move these target-dependent definitions from config/upc-conf.h
1865           to here.
1866         * configure.ac: Improve the logic for UPC-related options.
1867           Delete references to pre-processor definitions that have
1868           been moved to "upc/upc-pts.h".
1869         * configure, config.in: Regenerate.
1870         * Makefile.in (UPC_PTS_REP): Remove definition and revert
1871           to trunk.  This substitution variable was used to
1872           configure the representation-specific versions of
1873           the tree rewrites that operate on UPC pointer-to-shared
1874           types and objects.
1875         * c-parser.c (c_parser_upc_forall_statement): Remove
1876           reference to UPC_FORALL_DEPTH_NAME, and call
1877           newly defined upc_rts_forall_depth_var() instead.
1878         * config/upc-config.h: Delete. Various definitions
1879           moved to "upc/upc-rts-names.h", "defaults.h", and
1880           "upc/upc-pts.h".
1881         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1882           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1883           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1884           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1885           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1886           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1887           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1888           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1889           New.  Document UPC target macros.
1890           doc/tm.texi: Regenerate.
1892 2011-05-07  Gary Funck  <gary@intrepid.com>
1894         * ../configure.ac: Disable build of libupc
1895           on non POSIX hosted systems.  Use AS_HELP_STRING
1896           to define messages.  Remove 'word-pair' as a
1897           possible --with-upc-pts UPC pointer-to-shared
1898           representation.
1899         * ../configure: Regenerate.
1900         * configure.ac: Use AS_HELP_STRING to define messages.
1901           Remove 'word-pair' as a possible --with-upc-pts
1902           UPC pointer-to-shared representation.
1903           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1904           (UPC_MAX_BLOCK_SIZE): Correct the default value.
1905         * configure: Regenerate.
1906         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1907           definition.
1908         * ChangeLog.upc: Fix some typos.
1910 2011-05-07  Gary Funck  <gary@intrepid.com>
1912         * ../maintainer-scripts/gcc_release: Add "upc"
1913           as one of the released languages.
1915 2011-05-06  Gary Funck  <gary@intrepid.com>
1917         Eliminate compilation warnings, by fixing
1918         #include's and updating function prototypes.
1919         * c-family/c-cppbuiltin.c: Include c-upc.h.
1920         * optabs.c (gen_libfunc): Change type of 'suffix'
1921           parameter to conform with prototype.
1922         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1923           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1924           hook used by UPC.
1925         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1926           the prototype.
1927         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1928           argument values to cp_gimplify_expr.
1929         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1930           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
1931           pre-processor definitions that are no longer
1932           needed to build the 'upc' command (upc-cmd.c)
1933           because the linker specs. defined in libupc
1934           take care of linking in the needed libraries.
1935         * c-parser.c (c_parser_upc_forall_statement):
1936           initialize affinity_loc to avoid "maybe unused" warning.
1937           (c_parser_upc_sync_statement): Remove un-needed
1938           'ret' variable.  Cast return value from
1939           'upc_build_sync_stmt' to 'void' to avoid
1940           compile-time warning.
1941         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1942           integer constant, not a string.  Range is restricted
1943           to maximum positive 32-bit integer (2+ billion) to
1944           fit in with the use of 'int' in the front-end's
1945           switch handling logic.
1947 2011-05-06  Gary Funck  <gary@intrepid.com>
1949         Upgrade c-family source files to conform with modularity
1950         improvements.  Mainly, remove #include of c-tree.h in files
1951         under c-family, and define a new UPC-specific #include file,
1952         c-upc.h, and use it.
1953         * c-family/stub-upc.c: Remove #include of c-tree.h and
1954           upc/upc-act.h.  Replace with #include of c-common.h
1955           and c-upc.h.
1956           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1957           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1958           upc_localsizeof_expr, upc_localsizeof_type,
1959           upc_shared_type_p): Delete.
1960         * c-family/c-opts.c: Add #include of c-upc.h
1961         * c-family/c-common.c: Remove #include of c-tree.h and
1962           add #include of c-upc.h.
1963         * c-family/c-upc.h: New. Define API for UPC-specific functions
1964           (mostly implemented in upc/upc-act.c).
1965         * c-family/c-common.h (upc_cpp_builtins,
1966           upc_write_global_declarations): Remove extern definitions.
1967         * c-family/c-pragma.c: Remove #include of c-tree.h.
1968           Add #include of c-upc.h.
1969         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
1970           c-tree.h.
1971           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
1972           upc/upc-act.c, and define as a macro.
1973           (expand_affinity_test): Remove unused external definition.
1974           (build_upc_unshared_type): Add external definition.
1975           (upc_shared_type_p): Remove external definition.
1976         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1977         * dojump.c: Remove #include of c-tree.h.
1978         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1979           and move to tree.h.
1980           (count_upc_threads_refs, is_multiple_of_upc_threads,
1981           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1982           upc_build_shared_var_addr, upc_build_sync_stmt,
1983           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1984           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1985           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1986           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1987           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1988           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1989           set_upc_consistency_mode, get_upc_consistency_mode,
1990           push_upc_consistency_mode, pop_upc_consistency_mode,
1991           get_upc_pupc_mode):
1992           Move external definitions to c-family/c-upc.h.
1993           (upc_blocksizeof_type, upc_localsizeof_type,
1994           upc_elemsizeof_type): Remove external definitions;
1995           these functions were moved to c-parser.c.
1996         * c-decl.c: Add #include of c-upc.h.
1997         * c-typeck.c: Add #include of c-upc.h.
1998         * c-convert.c: Add #include of c-upc.h.
1999         * ChangeLog.upc: Fix typo.
2000         * Makefile.in: Add references to c-family/c-upc.h, everywhere
2001           there is a reference to c-family/c-objc.h.
2002           Remove extraneous reference to upc-act.h.
2003         * c-parser.c: Add #include of c-upc.h.
2004           (upc_blocksizeof_expr, upc_blocksizeof_type,
2005           upc_elemsizeof_expr, upc_elemsizeof_type,
2006           upc_localsizeof_expr, upc_localsizeof_type):
2007           Move from upc/upc-act.c.
2008         * tree.c (build_upc_unshared_type): New.
2009           Move upc_get_unshared_type from upc/upc-act.c and rename
2010           to build_upc_unshared_type.
2011           c-family/c-common.c (pointer_int_sum): refer to renamed
2012           build_upc_unshared_type function.
2013           c-convert.c (convert): Ditto.
2014           convert.c (convert_to_pointer): Ditto.
2015           c-typeck.c (build_unary_op, build_modify_expr,
2016           really_start_incremental_init): Ditto.
2017           gimplify.c (create_tmp_var_raw): Ditto.
2018           tree.c (build1_stat): Ditto.
2019           tree.h (upc_get_unshared_type): Rename to
2020           build_upc_unshared_type.
2022 2011-05-06  Gary Funck  <gary@intrepid.com>
2024         Merge trunk version 173471 into gupc branch.
2026 2011-05-05  Gary Funck  <gary@intrepid.com>
2028         Make changes that bring the GUPC branch more closely in sync.
2029         with the GCC trunk.  Revert any fixes that are not UPC-specific.
2030         Remove gratuitous re-formatting.
2031         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2032           This file should have been removed in a previous merge
2033           with the trunk.
2034         * ../configure.ac: Remove Cray Catamount/CNL support.
2035         * ../configure: Regenerate.
2036         * ../config.sub: Remove Cray Catamount/CNL support.
2037         * config.gcc: Remove Cray Catamount/CNL support.
2038         * ../maintainer-scripts/gcc_release: Revert to trunk.
2039         * c-family/c-common.h: Define parse_optimize_options.  Its definition
2040           was missed in a previous merge with the trunk.
2041         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2042           procedure.
2043         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2044           in addition to ARRAY_TYPE.
2045         * c-typeck.c: Remove an extra newline character.
2046         * varasm.c: Revert a fix that improved an error message
2047           when TLS common data is unimplemented.
2048         * varasm.c: Revert a gcc_assert that had been added which
2049           checked for a null DECL_SIZE_UNIT field.
2050         * emultls.c: Revert to trunk. Remove possible fix.
2051         * Makefile.in: Revert extra blank line that is present
2052           in the trunk version.
2053         * Makefile.in: Revert a fix that handled long shell
2054           argument lists for plugin headers.
2055         * config/ia64/ia64.opt: Revert an option setting
2056           that increased the default TLS address range.
2057         * config/ia64/crtbegin.asm: Revert to trunk.
2058           Removes an extra newline character.
2059         * ChangeLog.upc: Spell check.
2061 2011-05-03  Gary Funck  <gary@intrepid.com>
2063         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2064           (c_apply_type_quals_to_decl): Ditto.
2065         * c-family/c-common.h: Ditto.
2066         * dojump.c: Ditto.
2067         * c-decl.c (merge_decls): Ditto.
2068         * c-typeck.c (qualify_type, default_conversion,
2069           build_component_ref, build_unary_op,
2070           c_build_qualified_type): Ditto.
2071         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2073 2011-04-29  Gary Funck  <gary@intrepid.com>
2075         * c-decl.c (finish_decl): Improve error diagnostics.
2076           (grokdeclarator): Ditto.
2077         * c-typeck.c (build_c_cast): Improve error diagnostics.
2078           (convert_for_assignment): Ditto.
2079           (build_binary_op): Ditto.
2080         * c-parser.c (c_parser_upc_forall_statement):
2081           Improve error diagnostics.
2082         * convert.c (convert_to_integer):  Improve error diagnostics.
2084 2011-04-24  Gary Funck  <gary@intrepid.com>
2086         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2087           occurred if there is an error in the barrier id
2088           expression.  Map error_mark_node into NULL.
2090 2011-04-22  Gary Funck  <gary@intrepid.com>
2092         Merge trunk version 172873 into gupc branch.
2094 2011-04-19  Gary Funck  <gary@intrepid.com>
2096         Merge trunk version 172359 into gupc branch.
2098 2011-04-14  Gary Funck  <gary@intrepid.com>
2100         * c-family/c.opt: Add UPC as a valid language for various
2101           switches where it is valid for "C", that were not updated
2102           in previous merges with trunk.
2104 2011-04-13  Gary Funck  <gary@intrepid.com>
2106         * c-family/c.opt (fupc-pre-include): New option definition.
2107         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2108           -fno-upc-pre-include is asserted.
2110 2011-04-07  Gary Funck  <gary@intrepid.com>
2112         Merge trunk version 172158 into gupc branch.
2113         to bring in the following fix.
2115 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
2117         PR bootstrap/48403
2118         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2119         if old and new states differ.
2121 2011-04-06  Gary Funck  <gary@intrepid.com>
2123         Merge trunk version 171966 into gupc branch.
2125 2011-04-01  Gary Funck  <gary@intrepid.com>
2127         * tree.h (tree_base): Move UPC flag bits into bit fields
2128           located just before spare bits.  Decrement spare bits.
2129           Rename 'shared_flag' -> 'upc_shared_flag',
2130           'relaxed_flag' -> 'upc_relaxed_flag',
2131           'strict_flag' -> 'upc_strict_flag, and adjust macros
2132           that reference them accordingly.
2134 2011-04-01  Gary Funck  <gary@intrepid.com>
2136         * c-decl.c (grokdeclarator): Fix formatting of
2137           code that sets UPC block size on scalars.
2139 2011-04-01  Gary Funck  <gary@intrepid.com>
2141         * c-decl.c (grokdeclarator): Revert use of white space
2142           to match the trunk (to rationalize diffs).
2143         * c-typeck.c (convert_for_assignment): Ditto.
2144         * tree-ssa.c (useless_type_conversion_p): Ditto.
2146 2011-03-23  Gary Funck  <gary@intrepid.com>
2148         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2149           the GCC 4.6 release branch.
2151 2011-03-21  Gary Funck  <gary@intrepid.com>
2153         Merge trunk version 171202 into gupc branch.
2155 2011-03-20  Gary Funck  <gary@intrepid.com>
2157         * varasm.c: Call error() directly with a format specifier,
2158           rather than using sprintf() to format the message.
2159           This should make it easier to internationalize UPC's error messages.
2161 2011-03-20  Gary Funck  <gary@intrepid.com>
2163         * configure.ac: Fix the check for gnu ld when enabling
2164           UPC link script support.
2165           configure: Regenerate (also picks up changes from previous
2166           merge with trunk).
2168 2011-03-20  Gary Funck  <gary@intrepid.com>
2170         Move UPC start files, end files, and linker specs.
2171         into libupc.  This reduces the impact on common GCC
2172         configuration files, and ensures that these UPC-specific
2173         components are only built when the UPC language dialect is selected.
2174         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2175           linker specs. Fix typo in -fupc-debug message.
2176         * config/upc-conf.h, config/darwin.h: Move defines for
2177           UPC-related section begins/ends into libupc/config/default/
2178           upc-crt-config.h.
2179         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2180           UPC-related linker compiler specifications,
2181           accessed via %:include().
2182         * configure.ac, configure: Remove logic related to building
2183                 upc-crtbegin/end. Remove config. tests for numa and cpu
2184           affinity (previously used by the 'upc' driver); these
2185           settings are now propagated by target-specific compiler
2186           specs. built by libupc.  Regenerate autoconf.
2187         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2188           linker compiler specifications, accessed via %:include().
2189           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2190           'link_upc_spec'.
2191         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2192         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2193           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2194           config/ia64/linux.h, config/mips/t-iris,
2195           config/mips/iris6.h: Revert to trunk version 167307.
2196         libgcc/
2197         * configure, configure.ac, config.host, Makefile.in:
2198           Revert to trunk version 167307.
2200 2011-02-23  Gary Funck  <gary@intrepid.com>
2202         * c-decl.c (undeclared_variable): fix typo. Inadvertently
2203         removed negation on following 'if'.
2205 2011-02-22  Gary Funck  <gary@intrepid.com>
2207         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2208         to check for the usage of certain deprecated UPC keywords.
2209         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2210         * c-tree.h (undeclared_variable): Define prototype.
2212 2011-02-12  Gary Funck  <gary@intrepid.com>
2214         * c-typeck.c: (build_c_cast, convert_for_assignment)
2215           Diagnose an attempt to convert from an integer to
2216           a pointer-to-shared as an error.  Also, fix various
2217           error messages so that they use the preferred term
2218           pointer-to-shared instead of "shared pointer".
2220 2011-02-07  Gary Funck  <gary@intrepid.com>
2222         * c-typeck.c: (convert_for_assignment)
2223           Fix typo. in error message.
2225 2011-01-23  Gary Funck  <gary@intrepid.com>
2227         * c-typeck.c: (c_build_qualified_type)
2228           derive UPC block size by calling upc_get_block_size(),
2229           to ensure that the element type of an array of an array
2230           is derived correctly.
2232 2010-12-29  Gary Funck  <gary@intrepid.com>
2234         Merge trunk version 168314 into gupc branch.
2236 2010-12-15  Gary Funck  <gary@intrepid.com>
2238         Merge trunk version 167307 into gupc branch.
2240 2010-10-19  Gary Funck  <gary@intrepid.com>
2242         * c-typeck.c: Fix typo in previous fix
2243           which led to a mis-compare for equal block sizes.
2245 2010-10-18  Gary Funck  <gary@intrepid.com>
2247         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2248           diagnosed as an error
2249           The conversion from any type (shared or not) to
2250           a shared type is likely either meaningless or an error.  This update
2251           makes any conversion to a shared type, an error.
2253 2010-10-18  Gary Funck  <gary@intrepid.com>
2255         * c-typeck.c: Fix bug: passing int to shared pointer arg.
2256           generates spurious warning
2257           Add a #define procedure that does the same thing as
2258           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
2259           this procedure to diagnose passing an integer value to a
2260           pointer-to-shared as an error.
2262 2010-10-18  Gary Funck  <gary@intrepid.com>
2264         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2265           matching routine declaration.
2266           When checking for type compatibility, shared qualified types must
2267           have the same block factor.  This check was missing from
2268           comptypes_internal().  This update adds the check for blocking
2269           factor equality.
2271 2010-10-17  Gary Funck  <gary@intrepid.com>
2273         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2274           found (-O1 -g)
2275           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2277 2010-10-17  Gary Funck  <gary@intrepid.com>
2279         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2280           45869 - [4.5/4.6 Regression] type mismatch in shift expression
2281           produces ice with -O3 and -m32.
2282           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2284 2010-10-17  Gary Funck  <gary@intrepid.com>
2286         * c-common.c: Diagnose the application of the various "*sizeof"
2287           operations on generic pointer-to-shared as a compilation error.
2289 2010-10-17  Gary Funck  <gary@intrepid.com>
2291         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2292           message regarding a function parameter being declared with a shared
2293           qualifier.
2294           The parameter's 'name' value is not defined at this point, and
2295           cannot be used in the error message.  This update removes the
2296           reference to 'name', and eliminates the segfault.
2298 2010-10-16  Gary Funck  <gary@intrepid.com>
2300         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2301           The gcc/Makefile.in rules for install-plugin had to be re-written to
2302           break up a long list of header files that exceeded the command line
2303           limitation imposed by Irix.
2304           Access functions for TFmode types had to be implemented.
2305           Apparently, this is the mode used for the SGI/MIPS port to represent
2306           "long float".
2308 2010-10-14  Gary Funck  <gary@intrepid.com>
2310         * c-decl.c: Fix bug: Multiple equal blocking factors specified
2311           via typedef chain should not be diagnosed as an error.
2312           If the block size that is given by the typedef is equal to the block
2313           size given explicitly in the variable declaration, then do not
2314           complain.  The easiest way to make this check was to create a
2315           temporary type that is a clone of the element type and then set its
2316           block size using the given layout qualifier.  Then compare the block
2317           size of the temporary (the declaration) to the block size specified
2318           in the typedef.  This complexity is needed, because the '[*]' block
2319           size needs to be calculated, and the '[]' needs to be mapped into a
2320           zero block size.
2322 2010-10-10  Gary Funck  <gary@intrepid.com>
2324         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2325           specified
2326           The compiler properly detected the presence of two or more layout
2327           qualifiers as an error, but then hit an assertion check, because the
2328           code that followed the error expected to see a qualifier and not a
2329           layout specifier.  The fix is simple: just return immediately after
2330           detecting the error.
2332 2010-10-10  Gary Funck  <gary@intrepid.com>
2334         * c-decl.c: Improve error diagnostics for various cases of UPC
2335           shared array type declarations.
2336           Add the check for this error: "In the dynamic translation
2337           environment, THREADS may not appear in declarations of shared arrays
2338           with indefinite block size".  Also, fix up a few of the other
2339           related error diagnostics.
2341 2010-10-09  Gary Funck  <gary@intrepid.com>
2343         * c-common.c: Fix bug: segfault on incomplete array definition.
2344           This turned out to be a bit complicated.   The logic in
2345           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2346           the THREADS identifier in the case where the blocking factor has
2347           been set to indefinite ([]).  This can happen when indefinite array
2348           declarations are processed for shared arrays.  At that time, the
2349           file scope has been closed and THREADS is no longer in scope.  Some
2350           more work is needed on upc_lang_layout_decl().  It has some
2351           duplication, and notably duplicates the two branches of the if
2352           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2353           caller of this routine (layout_decl()).
2354           The method of forcing a layout qualifier of [] in the indefinite
2355           declaration handler is odd a well.  The code that just does the
2356           setting of the block factor, needs to moved into its own routine
2357           that doesn't depend upon a declspec for '[]' to be passed in, just
2358           in order to set the blocking factor to some value (in this case, 0).
2359           Also, the logic for how that shared type is constructed is strange.
2360           First the type with 0 blocking factor is set.  Then the shared
2361           qualifier is removed from the type, and then added back later.  The
2362           intermediate type has a blocking factor set, but it has no shared
2363           qualifier.  Fixing this will require some thought.  It is tempting
2364           just to make indefinite shared arrays an error, rather than forcing
2365           the dimension to be '1'.
2366           This likely fixes a serious error in the previous update to
2367           upc_lang_layout_decl(), where it didn't have the logic to set
2368           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
2369           the previous update would fail on many tests.
2371 2010-10-09  Gary Funck  <gary@intrepid.com>
2373         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2374           (decl) is null, which can happen if some layout error occurred
2375           upstream.
2377 2010-10-09  Gary Funck  <gary@intrepid.com>
2379         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2380           "variable-sized" when compiled in dynamic threads.
2381           This long-standing bug is easily fixed.  Just check
2382           for the situation that the non-constant sized type is shared and
2383           that it does not have a dimension that references a multiple of
2384           threads.  If this criteria is met, then issue a meaningful
2385           diagnostic.
2387 2010-10-01  Gary Funck  <gary@intrepid.com>
2389         * configure, configure.ac: Update manual page, and bug reporting
2390           URL.  Update "man" page to reflect debugging switches.
2391           Also, some general clean up.  Change the bug reporting
2392           URL to point to gccupc.org.
2394 2010-09-27  Gary Funck  <gary@intrepid.com>
2396         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2397           the UPC forall depth count variable is not found.
2398           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2399           The compiler will generate code that references this variable in
2400           order to implement nested upc_forall semantics.  If there is a
2401           compiler build or install problem, this variable may not be found.
2402           In this case, terminate with an internal_error().
2404 2010-09-26  Gary Funck  <gary@intrepid.com>
2406         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2407           mis-diagnosed as syntax error.
2408           Fix a failure exhibited by the Berkeley test case,
2409           bug873a.upc, which has the code:
2410                double d;
2411                upc_forall (;;;d) {...} The compiler did not properly handle
2412           the empty "condition" clause, and did not recover well when it was
2413           determined that the use of a double value, "d" above, was neither a
2414           pointer-to-shared nor an integer expression.  The update implements a
2415           fix for both issues.
2416           See also: gcc/c-parser.c gcc/upc/upc-act.c
2418 2010-09-23  Gary Funck  <gary@intrepid.com>
2420         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2421           incorporated into the referencing type.
2422           This was semi-fixed a few times before.  This update fixes a few
2423           more places where the layout qualifier wasn't being propagated
2424           through typedef's properly.  What made this a bit tricky is shown in
2425           the example cited in the bug report:
2426           typedef shared [5] int A_t; A_t A[5*THREADS];
2427           In the typedef, the blocksize is being applied to a shared *scalar*,
2428           and the code was applying the blocksize only to arrays.  This update
2429           handles shared scalars correctly.
2431 2010-09-22  Gary Funck  <gary@intrepid.com>
2433         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2434           upc_forall() semantics are not implemented
2435           The checkforall test in the Berkeley harness test suite indicated
2436           that GCC/UPC was not properly implementing nested upc_forall
2437           semantics.  Nested upc_forall statements (both statically or
2438           dynamically nested) must implement their affinity clause as if it
2439           were "continue"; thus all steps in the loop must execute without
2440           regard for affinity.  To implement these semantics a global depth
2441           counter, __upc_forall_depth, is maintained by the generated code
2442           that implements upc_forall.
2443           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2444           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2445           libupc/include/upc.h libupc/smp/upc_main.c
2447 2010-09-19  Gary Funck  <gary@intrepid.com>
2449         * c-decl.c: c-decl.c: zero out the layout specifier, after
2450           processing an array type.
2451           Fix the previous fix, that moved the setting of the type's layout
2452           qualifier to the outside of the array type processing loop.  What is
2453           missing from the fix is that the layout_qualifier variable needs to
2454           be cleared after setting the type's blocksize.
2456 2010-09-19  Gary Funck  <gary@intrepid.com>
2458         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2459           given blocksize is greater than UPC_MAX_BLOCKSIZE.
2460           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2461           the actual maximum block size.  Therefore, the message was correct,
2462           but the underlying value that was being checked was wrong.  Change
2463           the values so that they agree with the actual implementation-defined
2464           limit.
2466 2010-09-11  Gary Funck  <gary@intrepid.com>
2468         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2469           multi-dimensional shared array with dynamic threads.
2470           This declaration caused an internal compiler error when compiled
2471           with dynamic threads:
2472               shared [*] int A[THREADS][16]; The bug was discovered when
2473           compiling the RTED_UPC test suite.
2474           The fix is to process layout qualifiers after the entire array type
2475           has been built.  Otherwise, we try to calculate the blocksize on a
2476           shared array type that has not had its "size depends upon the value
2477           of THREADS" flag set.
2478           Also, added a test case.
2479           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2481 2010-07-11  Gary Funck  <gary@intrepid.com>
2483         Fix a bug where a statement in c_build_qualified_type()
2484         in the trunk had been inadvertently deleted.
2485         This bug showed up in the IA64 port, because jmpbuf's
2486         on that architecture must be 16 byte aligned, and they were not.
2487         c-typeck.c (c_build_qualified_type): Revive the deleted line.
2489 2010-07-08  Gary Funck  <gary@intrepid.com>
2491         Make changes so that other language compilers
2492         will build and bootstrap.
2493         * c-family/c-common.c (compiling_upc, flag_upc,
2494         flag_upc_instrument, flag_upc_instrument_functions,
2495         use_upc_dwarf2_extensions): Move to stub-upc.c and
2496         upc-lang.c.
2497         * c-family/c-common.h (use_upc_dwarf2_extensions,
2498         compiling_upc): Add extern definitions - needed
2499         to compile/build other language front ends.
2500         * c-family/c.opt: Fix the spelling of ObjC.
2501         It had been incorrectly spelled as Objc.
2502         * c-family/c.opt: Add UPC for the various switches
2503         that are valid for both C and ObjC.
2504         * c-fmaily/c-opts.c: Add CL_UPC to the list of
2505         supported options switches when compiling assembly
2506         language.
2507         * lto/lto-lang.c (use_upc_dwarf2_extensions,
2508         flag_upc_instrument, flag_upc_instrument_functions):
2509         Remove these definitions.  They have been moved
2510         to c-family/stub-upc.c.
2511         * upc/ChangeLog: Move relevant entries
2512         to ChangeLog.upc.
2513         * c-family/stub-upc.c (compiling_upc, flag_upc,
2514         flag_upc_instrument, flag_upc_instrument_functions,
2515         use_upc_dwarf2_extensions): Moved from c-common.c
2516         * upc/upc-lang.c (compiling_upc, flag_upc,
2517         flag_upc_instrument, flag_upc_instrument_functions,
2518         use_upc_dwarf2_extensions): Moved from c-common.c
2519         * objc/objc-act.c (objc_gimplify_expr): Add additional
2520         parameters to c_gimplify_expr() call, that are used
2521         by upc's tree rewrites.
2522         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2523         * gcc/cp/lex.c (init_reswords): If not compiling
2524         UPC, then mask off the UPC keywords.
2525         * cp/Make-lang.in (C_STUB_OBJS): Use this
2526         make macro to link with c-family/stub-objc.o
2527         and c-family/stub-upc.o.
2528         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2529         * java/Make-lang.in (C_STUB_OBJS): Likewise.
2530         * objc/Make-lang.in: Link with c-family/stub-upc.o
2531         to avoid undefined references.
2532         c-parser.c: Fix line indentation.
2533         * libcpp/include/cpplib.h: Remove CL_UPC from
2534         the list of language kinds accepted by the
2535         C preprocessor.  This is not necessary because
2536         UPC is a derivative of C99, and does not need
2537         a different language kind.
2538         * c-fmaily/c-opts.c (c_common_handle_option):
2539         Call set_std_c99() when processing the
2540         "--lang upc" switch, instead of setting the
2541         language kind to CL_UPC.
2542         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2544 2010-07-03  Gary Funck  <gary@intrepid.com>
2546         Merge trunk version 161517 into gupc branch.
2547         * gcc/stub-upc.c: Move to gcc/c-family/.
2548         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2549         Add 'unused' attributes to avoid "set, but
2550         not referenced" warnings.
2551         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2552         Likewise.
2554 2010-03-01  Gary Funck  <gary@intrepid.com>
2556         Create gupc branch from trunk version 157149.
2558 2011-10-04  Gary Funck  <gary@intrepid.com>
2560         Merge trunk version 179421 into gupc branch.
2561         * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
2562         argument to the call to check_qualified_type().
2564 2011-09-22  Gary Funck  <gary@intrepid.com>
2566         * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
2567         information.
2568         (dump_upc_type_quals): New.
2570 2011-09-22  Gary Funck  <gary@intrepid.com>
2572         * upc/upc-act.c (upc_get_block_factor): test TYPE_HAS_BLOCK_FACTOR()
2573         before calling TYPE_BLOCK_FACTOR().  This fits better with
2574         recent encoding of block factor values with a hash table.
2576 2011-09-15  Nenad Vukicevic  <nenad@intrepid.com>
2578         Add to FLAGS the flags needed to disable inlining of
2579         UPC run-time access routines.
2580         * testsuite/lib/target-supports.exp
2581         (add_options_for_upc_library_calls): New.
2583 2011-09-15  Gary Funck  <gary@intrepid.com>
2585         Fix ICE involving shared bit field accesses.
2586         * tree.c (build3_stat): Propagate TEEE_SHARED()
2587         TREE_STRICT() and TREE_RELAXED() flags, if applicable.
2589 2011-09-15  Gary Funck  <gary@intrepid.com>
2591         Fix ICE involving shared bit field accesses.
2592         * upc/upc-genericize.c (upc_simplify_shared_ref): Improve
2593         "shared bit fields not yet implemented" error message
2594         by adding file/line number location.
2596 2011-09-13  Gary Funck  <gary@intrepid.com>
2598         Merge trunk version 178795 into gupc branch.
2599         Incorporates fix to PR bootstrap/50010 for x86-32.
2601 2011-09-13  Gary Funck  <gary@intrepid.com>
2603         * upc/upc-tree.def (UPC_FORALL_STMT): Fix spelling error in comments.
2604         * upc/upc-lang.c (upc_init_options): Ditto.
2605         * upc/upc-genericize.c (lookup_unshared_var, upc_shared_addr_rep,
2606         upc_genericize_expr, upc_genericize_compound_expr): Ditto.
2607         * upc/upc-act.c (upc_parse_init, upc_build_pointer_type,
2608         upc_block_factor_insert, upc_pts_is_valid_p): Ditto.
2610 2011-09-08  Gary Funck  <gary@intrepid.com>
2612         Merge trunk version 178557 into gupc branch.
2614 2011-09-07  Gary Funck  <gary@intrepid.com>
2616         Ensure that UPC pointer-to-shared type alignment is
2617         propagated to the final type.  Revert to long-standing
2618         alignment policy: twice the size of a "C" pointer.
2619         * tree.c (build_pointer_type): Propagate the alignment
2620         of the UPC pointer-to-shared representation type
2621         into the newly built pointer type.
2623 2011-09-07  Gary Funck  <gary@intrepid.com>
2625         Ensure that UPC pointer-to-shared type alignment is
2626         propagated to the final type.  Revert to long-standing
2627         alignment policy: twice the size of a "C" pointer.
2628         * upc/upc-pts-struct.c (upc_pts_struct_init_type): Ensure that
2629         shared pointers have twice the alignment of a pointer.
2630         * upc/upc-act.c (upc_cpp_builtins): Unconditionally emit
2631         the definition of __UPC_PTS_ALIGN__.
2633 2011-09-02  Gary Funck  <gary@intrepid.com>
2635         Align UPC pointers-to-shared, only if the target enforces
2636         strict alignment.
2637         * upc/upc-pts-struct.c (upc_pts_struct_init_type): Align a
2638         UPC pointer-to-shared type, only if the target requires
2639         strict alignment.
2640         * upc/upc-act.c (upc_cpp_builtins): Output pre-defined macro,
2641         __UPC_PTS_ALIGN__, only if the target requires strict alignment.
2643 2011-08-30  Gary Funck  <gary@intrepid.com>
2645         * tree.h (check_qualified_type): Change 'const_tree'
2646         argument types back to 'tree' to avoid complaints
2647         of assignment drops qualifiers for invocations of the
2648         newly implemented TYPE_BLOCK_FACTOR() macro, which
2649         invokes hash functions with 'tree' pointer values that
2650         are not const qualified.
2651         * tree.c (check_qualified_type, check_aligned_type): Ditto.
2652         * c-typeck.c (comptypes_internal): Ditto.
2654 2011-08-29  Gary Funck  <gary@intrepid.com>
2656         Fixes for regressions noted running "make check"
2657         versus GCC trunk.
2658         * fold-const.c (fold_unary_loc): Execute UPC-specific
2659         checks for a cast-of-a-cast, only if one of the
2660         operands is a UPC pointer-to-shared value.
2661         * opts.c (print_specific_help):  Fix a comparison
2662         in an assert that checks that there are enough
2663         bits reserved for the number of languages defined
2664         in the .opt files.
2666 2011-08-29  Gary Funck  <gary@intrepid.com>
2668         Implement a hash table to record UPC block factors.
2669         * c-family/stub-upc.c (upc_block_factor_insert,
2670         upc_block_factor_lookup): New dummy stub procedures.
2671         * c-family/c-common.c (c_sizeof_or_alignof_type):
2672         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2673         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
2674         to copy (hashed) UPC blocking factor.
2675         (set_type_quals): Likewise.
2676         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2677         TYPE_HAS_THREADS_FACTOR().
2678         (type_common.block_factor): Delete.
2679         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
2680         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
2681         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
2682         UPC blocking factors greater than one.
2683         * dwarf2out.c (modified_type_die): Re-implement
2684         logic that records UPC blocking factor in the generated
2685         DWARF2 debugging information.
2686         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2687         TYPE_HAS_THREADS_FACTOR().
2688         * c-decl.c (finish_decl, grokdeclarator):
2689         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2690         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
2691         used by UPC, and print UPC-specific information.
2693 2011-08-29  Gary Funck  <gary@intrepid.com>
2695         Implement a hash table to record UPC block factors.
2696         * upc/upc-act.c (upc_block_factor_for_type): New garbage-collected
2697         hash table.
2698         (upc_lang_init, upc_finish): Move to end of source file.
2699         (upc_lang_init): create  upc_block_factor_for_type hash table.
2700         (upc_block_factor_lookup, upc_block_factor_insert): New.
2701         (upc_grok_layout_qualifier, upc_lang_layout_decl, upc_pts_int_sum):
2702         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2703         (upc_grok_layout_qualifier): convert blocking factor to sizetype
2704         before checking for equality to element type's blocking factor.
2706 2011-08-28  Gary Funck  <gary@intrepid.com>
2708         Re-work the type machinery to fully support and to unify support
2709         for the UPC layout qualifier (blocking factor).
2710         * c-family/stub-upc.c (upc_set_block_factor): Delete.
2711           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
2712           and update prototype.
2713         * c-family/c-common.c (complete_array_type): call newly
2714           defined c_build_qualified_type_1() instead of
2715           upc_set_block_factor().
2716         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
2717           upc_apply_layout_qualifier() and update prototype.
2718           (upc_set_block_factor): Delete prototype.
2719         * c-family/c-common.h (c_build_qualified_type): redefine
2720           as a pre-processor macro that invokes c_build_qualified_type_1()
2721           with a null UPC layout qualifier.
2722           (c_build_qualified_type_1): New.  Add layout qualifier argument
2723           to old c_build_qualified_type() prototype.
2724         * tree.c (set_type_quals, check_qualified_type):
2725           Add layout qualifier as argument.
2726           (check_aligned_type): Add check for UPC block factor equality.
2727           (get_qualified_type_1): Rename from get_qualified_type() and
2728           add layout qualifier as argument.
2729           (build_qualified_type_1): Rename from build_qualified_type() and
2730           add layout qualifier as argument.
2731         * tree.h (check_qualified_type): Add layout qualifier as argument
2732           to the prototype.
2733           (get_qualified_type): Re-define as a as a pre-processor macro
2734           that invokes get_qualified_type_1() with a null
2735           UPC layout qualifier.
2736           (get_qualified_type_1): Rename from get_qualified_type() and
2737           add layout qualifier as argument.
2738         * cp/tree.c (c_build_qualified_type_1): Rename from
2739           c_build_qualified_type() and add (unused) layout qualifier
2740           argument.
2741         * c-decl.c (finish_decl): re-format long error messages.
2742           (grokdeclarator): Re-work the logic so that it calls
2743           upc_grok_layout_qualifier() to handle the UPC layout
2744           qualifier, if present.
2745         * c-typeck.c (qualify_type, common_pointer_type,
2746           build_component_ref): Re-work the logic so that it calls
2747           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
2748           if present.
2749           (c_build_qualified_type_1): Rename from c_build_qualified_type()
2750           and add layout qualifier argument.
2751         * print_tree.c (print_node): Re-format a long line.
2753 2011-08-28  Gary Funck  <gary@intrepid.com>
2755         Re-work the type machinery to fully support and to unify support
2756         for the UPC layout qualifier (blocking factor).
2757         * upc/upc-genericize.c (upc_simplify_shared_ref): Call
2758         c_build_qualified_type_1() instead of upc_set_block_factor()
2759         to assert a zero blocking factor.
2760         * upc/upc-pts-struct.c (upc_pts_struct_init_type): Call
2761         c_build_qualified_type_1() to build predefined shared
2762         qualified types, instead of build_variant_type_copy().
2763         * upc/upc-pts-packed.c (upc_pts_packed_init_type): Call
2764         c_build_qualified_type_1() to build predefined shared
2765         qualified types, instead of build_variant_type_copy().
2766         * upc/upc-act.c (upc_set_block_factor): Delete.
2767         (upc_grok_layout_qualifier): Rename from upc_apply_layout_qualifier().
2768         Rework logic so that it returns a blocking factor rather than
2769         a qualified type.  Add 'loc' argument and call error_at().
2770         Add an ELEM_BLOCK_FACTOR argument and Implement logic that merges
2771         the block size of the element type into the result type, and checks
2772         for errors due to an attempt to merge differing blocking factors.
2774 2011-08-26  Gary Funck  <gary@intrepid.com>
2776         Merge trunk version 177949 into gupc branch.
2777         * c-family/c-common.h (enum rid): Bump the number of type modifiers
2778           in the comment.
2779         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
2780           to add new rliterals column value.
2782 2011-08-26  Gary Funck  <gary@intrepid.com>
2784         * convert.c (convert_to_integer): Fix the check for the
2785           difference between two UPC pointers-to-shared values.
2787 2011-08-23  Nenad Vukicevic  <nenad@intrepid.com>
2789         * configure.ac: Fix the name for --with-upc-pts-packed-bits
2790           option. Support --with-upc-packed-bits as deprecated. Fix the code to
2791           correctly check packed bits.
2792         * configure: Re-generate.
2794 2011-08-16  Gary Funck  <gary@intrepid.com>
2796         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
2797           the barrier id expression is not an integer expression.
2799 2011-08-16  Gary Funck  <gary@intrepid.com>
2801         * upc/upc-act.c (upc_decl_init): Do not attempt to expand
2802           an error mark node.  Fixes ICE after error diagnostic.
2803         * upc/upc-cmd.c (main): detect missing option argument for
2804           options that require an argument, and print error diagnostic.
2805           (get_print_cmd): Re-direct error output to /dev/null to
2806           avoid issuing duplicate error messages.
2808 2011-08-12  Gary Funck  <gary@intrepid.com>
2810         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
2811           (revert to trunk).
2812         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
2813           Set mode of UPC pointer-to-shared rep. to an
2814           integral mode of size at least as large as the
2815           size of the representation's struct type.
2817 2011-08-12  Gary Funck  <gary@intrepid.com>
2819         Rework/simplify the UPC genericize pass.
2820         * c-family/stub-upc.c (upc_apply_layout_qualifier,
2821           upc_build_pointer_type): New.
2822           (upc_set_block_factor): Adjust to new calling sequence.
2823           (upc_build_shared_var_addr): Delete.
2824         * c-family/c-common.c (complete_array_type): Adjust call
2825           to upc_set_block_factor().
2826         * c-family/c-upc.h (upc_apply_layout_qualifier,
2827           upc_build_pointer_type): New.
2828           (upc_build_shared_var_addr): Delete.
2829           (upc_set_block_factor): Adjust to new calling sequence.
2830         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
2831         * c-decl.c (grokdeclarator): Call newly defined
2832           upc_apply_layout_qualifier() instead of upc_set_block_factor().
2833         * c-decl.c (grokdeclarator): Split long UPC-related error
2834           messages into two lines.
2835         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
2836           directly.  Revert that change to trunk. (upc_genericize() will
2837           handle lowering the expressions that take the address of a
2838           UPC variable).
2839         * config/i386/i386.c (ix86_promote_function_mode): For UPC
2840           pointers-to-shared, return the type mode of the UPC pointer-to-shared
2841           representation type.
2843 2011-08-12  Gary Funck  <gary@intrepid.com>
2845         Rework/simplify the UPC genericize pass.
2846         * upc/upc-pts.h (upc_pts_ops_t): Remove 'add_offset' field.
2847         * upc/upc-act.h: Cosmetic change.
2848         * upc/config-lang.in (gtypes): Add upc-genericize.[ch] to the list.
2849         * upc/upc-genericize.c (upc_expand_get):
2850           Add WANT_STABLE_VALUE parameter.
2851           (upc_build_shared_var_addr, upc_shared_addr_rep): New.
2852           (uid_tree_map, unshared_vars, uid_tree_map_hash, uid_tree_map_eq,
2853           create_unshared_var, lookup_unshared_var, map_unshared_var,
2854           unshared_var_addr, unshared_var_name,
2855           upc_free_unshared_var_table): Move from upc-act.c.
2856           (upc_expand_get, upc_expand_put): Change their source and/or
2857           destination parameters so that they are no longer addresses
2858           of the objects, but rather references to the objects themselves.
2859           (upc_simplify_shared_ref): Rewrite (simplify/generalize).
2860           (upc_shared_addr_rep): New.
2861           (upc_shared_addr):  Adjust call to upc_build_shared_var_addr(),
2862           and re-factor the logic.
2863           (upc_genericize_sync_stmt): Re-format comment.
2864           (upc_genericize_shared_var_ref): Adjust call to upc_expand_get().
2865           (upc_genericize_addr_expr): Re-factor the logic.
2866           (upc_genericize_indirect_ref, upc_genericize_field_ref):
2867           Adjust call to upc_expand_get() and re-factor the logic.
2868           (upc_genericize_modify_expr): Adjust call to upc_expand_put()
2869           and re-factor the logic.
2870           (upc_genericize_expr): Improve/fix comments.
2871           (upc_genericize_finish, upc_genericize_init): New.
2872         * upc/upc-pts-struct.c (upc_pts_struct_build_add_offset): Delete.
2873           (upc_char_pts_type_node): Create new global type node.
2874           (upc_pts_struct_is_null_p): Generalize variable names to
2875           reflect the fact that the vaddr field can be either first/last.
2876           (upc_pts_struct_build_sum): Make corrections to comments.
2877           (upc_pts_struct_build_add_offset): Delete.
2878         * upc/upc-genericize.h (upc_genericize_finish, upc_genericize_init):
2879           New prototypes.
2880         * upc/upc-pts-packed.c (upc_pts_packed_build_add_offset): Delete.
2881           (upc_char_pts_type_node): Create new global type node.
2882         * upc/Make-lang.in: Add dependencies to gtype-upc.h
2883           and gt-upc-upc-genericize.h.
2884         * upc/upc-act.c: Adjust includes to reflect moving the functions
2885           that handle the UPC unshared "shadow variables" into
2886           upc-genericize.c.  Improve/fix various comments.
2887         * upc/upc-act.c (upc_parse_init): Call upc_genericize_init().
2888           (upc_build_pointer_type): New.
2889           (upc_set_block_factor): Re-purpose.  Move the front-end
2890           related error checks into upc_apply_layout_qualifier().
2891           (upc_apply_layout_qualifier): New.
2892           (upc_write_global_declarations): Call upc_genericize_finish().
2894 2011-08-10  Gary Funck  <gary@intrepid.com>
2896         Implement additional fixes for recent merge with trunk.
2897         * explow.c (promote_mode): Do not attempt to promote
2898           the mode for UPC pointer-to-shared types.
2899         * config/i386/i386.c (function_value_64): Ditto.
2901 2011-08-07  Gary Funck  <gary@intrepid.com>
2903         Merge trunk version 177548 into gupc branch.
2904         * config/i386/i386.c (ix86_promote_function_mode):
2905           Do not promote UPC pointers-to-shared to Pmode.
2906         * c-family/c-ommon.c (pointer_int_sum):
2907           Also check the pointer operand, rather than just
2908           its type, when making the decision to derive
2909           the equivalent unshared type.
2910         * tree.c (build2_stat): If the type of the result
2911           passed in as an argument is a UPC shared type,
2912           derive the unshared equivalent when calculating
2913           the result type of the node.
2915 2011-07-15  Nenad Vukicevic  <nenad@intrepid.com>
2917         * config/darwin.c: Disable var_tracking option
2918           on -O0 as it is supposed to run only when optimization
2919           is applied. See GCC bug 49743.
2921 2011-07-11  Gary Funck  <gary@intrepid.com>
2923         * upc/upc-genericize.c (upc_expand_put): Fix bug, where strict/relaxed
2924         qualification was incorrectly derived from the source operand.
2925         (upc_genericize_fndecl): New.
2926         (upc_gnericize): Call upc_genericize_fndecl() to avoid calling
2927         c_genericize() more than once in the event of nested procedures.
2928         (upc_genericize_real_imag_ref): Rename,
2929         was: upc_genericize_real_image_ref.
2930         (upc_expand_put): call internal_error() with meaningful message
2931         in lieu of abort().
2932         (upc_genericize_real_imag_ref): call internal_error() with
2933         meaningful message in lieu of gcc_unreachable().
2935 2011-07-06  Gary Funck  <gary@intrepid.com>
2937         Re-implement the pass that lowers trees generated by
2938         the UPC front-end into GENERIC.  Previously this was
2939         done within the gimplification framework, but this
2940         required that gimplification be run before inlining
2941         and various other passes, which did not fit in well
2942         with the current design of the middle-end passes.
2943         Now, the lowering is done by a newly defined language
2944         specific genericize hook.  With this change, we are
2945         are able to undo some extensions made to the gimplify
2946         logic, and thus can revert several files to trunk.
2947         * c-decl.c: Add a check for UPC deprecated names which
2948           may appear as undefined function names.
2949         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2950           LTI_upc_getaddr): Remove definitions of unused UPC
2951           library function names.  These were defined back when
2952           the libfunc interface was used to call these routines.
2953         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2954           in UPC lowering (genericize) pass.
2955         * langhooks.h (gimplify_expr): Revert to trunk's definition.
2956           (instrument_func): Delete this hook.  Now handled in
2957           upc_genericize().
2958         * tree-pass.h: Revert to trunk.
2959         * c-typeck.c (build_unary_op): Adjust reference to
2960           upc_genericize() in a comment.
2961         * gimplify.c (create_tmp_var_raw): Delete logic that
2962           was converting UPC shared types into unshared types
2963           to be used for temporaries.  Now handled in  upc_genericize().
2964           Replace with an assertion check.
2965           (prepare_gimple_addressable): Revert to trunk's definition.
2966           No longer needed as an externally called function.
2967           (flag_instrument_functions_exclude_p): Re-define as
2968           an externally called function.
2969           (gimplify_function_tree): Delete code that implemented
2970           call to UPC's language specific function instrumentation hook.
2971         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2972           (prepare_gimple_addressable): Delete extern definition;
2973           revert to trunk's definition.
2974         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2975           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2976         * c-family/c-gimplify.c: Revert to trunk.
2977         * cp/cp-gimplify.c: Revert to trunk.
2978         * cp/cp-tree.h: Revert to trunk.
2979         * explow.c: Revert to trunk.
2980         * langhooks.c: Revert to trunk.
2981         * libfuncs.h: Revert to trunk.
2982         * objc/objc-act.c: Revert to trunk.
2984 2011-07-06  Gary Funck  <gary@intrepid.com>
2986         Improve/simplify the logic in upc_genericize.
2987         * upc/upc-genericize.c (upc_create_tmp_var): Delete the
2988           PREFIX argument.  Aways use "UPC" as the prefix.
2989           (upc_genericize_compound_expr): Add a WANT_VALUE argument.
2990           (upc_genericize_cond_expr): New.
2991           (upc_genericize_decl_expr): New.
2992           (upc_genericize_stmt): New.
2993           (upc_copy_value_to_tmp_var, upc_expand_get): Adjust call
2994           to upc_create_tmp_var().
2995           (upc_genericize_expr): Change the handling
2996           of the want_value flag passed in the DATA argument.
2997           Always assert this flag after processing EXPR_P.
2998           (upc_genericize_compound_expr): Adjust call
2999           to upc_genericize_compound_expr() and call
3000           upc_genericize_cond_expr() and upc_genericize_decl_expr().
3002 2011-07-06  Gary Funck  <gary@intrepid.com>
3004         Re-implement the pass that lowers trees generated by
3005         the UPC front-end into GENERIC.  Previously this was
3006         done within the gimplification framework, but this
3007         required that gimplification be run before inlining
3008         and various other passes, which did not fit in well
3009         with the current design of the middle-end passes.
3010         Now, the lowering is done by a newly defined language
3011         specific genericize hook.  With this change, we are
3012         are able to undo some extensions made to the gimplify
3013         logic, and thus can revert several files to trunk.
3014         * upc/upc-genericize.c: Rename upc-gimplify.c to upc-genericize.c.
3015         * upc/upc-genericize.h: Rename upc-gimplify.h to upc-genericize.h.
3016         * upc/Make-lang.in: Adjust to refer to upc-genericize.[cho].
3017         * upc/upc-lnag.c: refer to upc-genericize.h.
3018           (LANG_HOOKS_GENERICIZE): define as upc_genericize.
3019           (LANG_HOOKS_GIMPLIFY_EXPR): Delete.
3020           (LANG_HOOKS_INSTRUMENT_FUNC): Delete.
3021         * upc/upc-act.c: Minor code format fix.
3023 2011-06-30  Gary Funck  <gary@intrepid.com>
3025         * c-family/c.opt: Bring options definitions up-to-date
3026         with respect to changes made in the trunk.
3028 2011-06-29  Gary Funck  <gary@intrepid.com>
3030         Merge trunk version 175584 into gupc branch.
3032 2011-06-29  Gary Funck  <gary@intrepid.com>
3034         Merge trunk version 175584 into gupc branch.
3035         * upc/upc-act.c (upc_handle_option): Change reference to
3036         have_named_sections so that it refers to the
3037         targetm_common structure.
3039 2011-06-28  Gary Funck  <gary@intrepid.com>
3041         * upc/upc-act.h (upc_write_init_func, upc_free_unshared_var_table):
3042         Remove extern definitions. Now declared as 'static'.
3043         * upc/upc-gimplify.c, upc/upc-lang.c,
3044         upc-pts-struct.c, upc-gasp.c, upc-pts-packed.c,
3045         upc-cmd.c, upc-act.c: Improve/add comments, fix
3046         typos and spelling errors.
3048 2011-06-13  Gary Funck  <gary@intrepid.com>
3050         libcpp/
3051         * include/cpplib.h (enum c_lang):
3052         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
3053         This keeps all the "C" variants together.
3054         * init.c (lang_defaults): Add an entry for UPC.
3056 2011-06-10  Gary Funck  <gary@intrepid.com>
3058         * upc/upc-act.c (upc_set_block_factor): Handle the case where
3059         the UPC blocking factor expression overflowed.
3061 2011-06-09  Gary Funck  <gary@intrepid.com>
3063         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
3064         a 32-bit target, the size expression overflowed, the result was
3065         error_mark_node, and an ICE was triggered on an attempt to evaluate
3066         C_TYPE_VARIABLE_SIZE() on the error node.
3067         (upc_blocksizeof_expr, upc_blocksizeof_type,
3068         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
3069         Make similar changes to avoid further processing of error_mark_node.
3071 2011-06-07  Gary Funck  <gary@intrepid.com>
3073         * sel-sched.c (move_op): Incorporate the following
3074         patch to eliminate ICE at -O3 on IA64/Altix.
3076 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
3078         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
3079         code_motion_path_driver returned 0 or 1.
3080         (sel_region_finish): Clear h_d_i_d.
3082 2011-06-02  Gary Funck  <gary@intrepid.com>
3084         Merge trunk version 174558 into gupc branch.
3086 2011-06-02  Gary Funck  <gary@intrepid.com>
3088         Merge trunk version 174558 into gupc branch.
3089         * upc/upc-lang.c (upc_check_decl_init): Use recently defined
3090         'append_to_statement_list_force' function to add UPC
3091         initialization statements to the UPC initialization
3092         statement list ('upc_init_stmt_list').
3093         (upc_build_init_func): Use recently defined
3094         'append_to_statement_list_force' function to add
3095         statements listed in 'upc_init_stmt_list' onto the
3096         function body constructed to implement initialization
3097         of UPC declarations that require active initialization
3098         at program start up.  The previous methods of manipulating
3099         statement lists no longer worked, due to changes in the
3100         the statement list structure.
3102 2011-05-30  Gary Funck  <gary@intrepid.com>
3104         * configure.ac: Make the default order of the virtual
3105           address field in a UPC pointer-to-shared to be "first".
3106           This reverts to the previous setting, and is a short term
3107           measure to work around a bug found on the IA64,
3108           where vaddr=last led to incorrect code generation.
3109           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
3110           in AC_DEFINE(), to agree with recent changes in files
3111           that reference this define.
3112           configure, config.in: Regenerate.
3114 2011-05-26  Gary Funck  <gary@intrepid.com>
3116         * configure.ac: Fix typo when referring to $upc_vaddr_order.
3117           configure: Regenerate.
3118         * ../fixincludes/fixincl.x: Revert to trunk.
3119           This file is auto-generated, and should not be merged.
3121 2011-05-23  Gary Funck  <gary@intrepid.com>
3123         * upc/upc-pts-struct.c: Revert to code that aligned the
3124           internal pointer-to-shared representation to
3125           twice the alignment of a pointer.  This fixes
3126           an ICE that occurred when building the compiler
3127           on an IA64 target.
3129 2011-05-18  Gary Funck  <gary@intrepid.com>
3131         Merge trunk version 173845 into gupc branch.
3133 2011-05-17  Gary Funck  <gary@intrepid.com>
3135         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
3136           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
3137         * c-family/c-pragma.c: Remove conditional compilation
3138           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
3139           Test 'compiling_upc' when compiling to determine if
3140           the "upc" and "pupc" pragmas should be registered.
3141         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
3142           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
3143           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
3144           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
3145           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
3146           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
3147           Move these target-dependent definitions from config/upc-conf.h
3148           to here.
3149         * configure.ac: Improve the logic for UPC-related options.
3150           Delete references to pre-processor definitions that have
3151           been moved to "upc/upc-pts.h".
3152         * configure, config.in: Regenerate.
3153         * Makefile.in (UPC_PTS_REP): Remove definition and revert
3154           to trunk.  This substitution variable was used to
3155           configure the representation-specific versions of
3156           the tree rewrites that operate on UPC pointer-to-shared
3157           types and objects.
3158         * c-parser.c (c_parser_upc_forall_statement): Remove
3159           reference to UPC_FORALL_DEPTH_NAME, and call
3160           newly defined upc_rts_forall_depth_var() instead.
3161         * config/upc-config.h: Delete. Various definitions
3162           moved to "upc/upc-rts-names.h", "defaults.h", and
3163           "upc/upc-pts.h".
3164         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
3165           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
3166           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
3167           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
3168           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
3169           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
3170           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
3171           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
3172           New.  Document UPC target macros.
3173           doc/tm.texi: Regenerate.
3175 2011-05-17  Gary Funck  <gary@intrepid.com>
3177         * upc/upc-pts.h (upc_pts_build_value, upc_pts_build_add_offset,
3178           upc_pts_build_cond_expr, upc_pts_build_constant,
3179           upc_pts_build_cvt, upc_pts_build_diff, upc_pts_build_sum,
3180           upc_pts_build_threadof, upc_pts_init_type): Remove extern
3181           definitions.
3182           (upc_pts_ops_t): New. Define handler table that will
3183           implement either the 'packed' or the 'struct' representation
3184           of a UPC pointer-to-shared value.
3185           (upc_pts_packed_ops, upc_pts_struct_ops): New. Define extern that
3186           refers to the packed and the struct UPC pointer-to-shared
3187           representation implementation.
3188           (upc_pts): New. Define handler table that is set up at initialization
3189           to refer to the handlers for the UPC pointer-to-shared
3190           representation (packed/struct) that has been configured.
3191           Add conditional compilation test for HAVE_UPC_PTS_PACKED_REP
3192           and configure the UPC pointer-to-shared definitions that
3193           are specific to the configured UPC pointer-to-shared
3194           representation.
3195         * upc/upc-act.h (upc_pts_is_valid_p): Rename extern definition from
3196           is_valid_pts_p to upc_pts_is_valid_p.
3197         * lang-specs.h: Reformat the UPC compilation specs.
3198           to improve readability.
3199         * upc/upc-rts-names.h: New. Define the names of UPC runtime
3200           library functions that implement UPC language statement
3201           semantics.  These definitions were moved from config/upc-conf.h
3202         * upc/upc-gimplify.c: Add include of "upc-rts-names.h".
3203           Refer to newly defined pointer manipulation routines
3204           by indirecting through the newly defined "pts" handler table.
3205           Re-format, re-indent.
3206         * upc/upc-lang.c: Add include of "upc-pts.h".  Fix a comment.
3207         * upc/config-lang.in: Remove logic that inserted "config/upc-conf.h"
3208           into the target include and file path.
3209         * upc/upc-pts-struct.c: Add include of "upc-rts-names.h".
3210           (upc_pts_struct_ops): Define the pointer manipulation
3211           handler table that implements operations on UPC
3212           pointers-to-shared, represented as a struct.
3213           Re-format and re-indent.
3214         * upc/upc-gasp.c: Add include of "upc-rts-names.h".
3215           Re-format and re-indent.
3216         * upc/upc-pts-packed.c: Add include of "upc-rts-names.h".
3217           (upc_pts_packed_ops): Define the pointer manipulation
3218           handler table that implements operations on UPC
3219           pointers-to-shared, represented as a packed integer.
3220           Re-format and re-indent.
3221         * upc/Make-lang.in: Compile both "upc-pts-packed.c" and
3222           "upc-pts-struct.c".  One/other will be selected at
3223           compilation time to implement operations on UPC
3224           on the UPC pointer-to-shared that has been configured.
3225           Add dependencies on "upc-rts-names.h".
3226         * upc/upc-cmd.c: Re-format and re-indent.
3227         * upc/upc-act.c: Add include of "upc-rts-names.h".
3228           (upc_pts): New. Add definition of the handler
3229           table that implements representation specific
3230           operations on trees that refer to UPC pointer-to-shared
3231           objects and types.  Re-format and re-indent.
3233 2011-05-07  Gary Funck  <gary@intrepid.com>
3235         * ../configure.ac: Disable build of libupc
3236           on non POSIX hosted systems.  Use AS_HELP_STRING
3237           to define messages.  Remove 'word-pair' as a
3238           possible --with-upc-pts UPC pointer-to-shared
3239           representation.
3240         * ../configure: Regenerate.
3241         * configure.ac: Use AS_HELP_STRING to define messages.
3242           Remove 'word-pair' as a possible --with-upc-pts
3243           UPC pointer-to-shared representation.
3244           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
3245           (UPC_MAX_BLOCK_SIZE): Correct the default value.
3246         * configure: Regenerate.
3247         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
3248           definition.
3249         * ChangeLog.upc: Fix some typos.
3251 2011-05-07  Gary Funck  <gary@intrepid.com>
3253         * ../maintainer-scripts/gcc_release: Add "upc"
3254           as one of the released languages.
3256 2011-05-06  Gary Funck  <gary@intrepid.com>
3258         Eliminate compilation warnings, by fixing
3259         #include's and updating function prototypes.
3260         * c-family/c-cppbuiltin.c: Include c-upc.h.
3261         * optabs.c (gen_libfunc): Change type of 'suffix'
3262           parameter to conform with prototype.
3263         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
3264           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
3265           hook used by UPC.
3266         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
3267           the prototype.
3268         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
3269           argument values to cp_gimplify_expr.
3270         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
3271           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
3272           pre-processor definitions that are no longer
3273           needed to build the 'upc' command (upc-cmd.c)
3274           because the linker specs. defined in libupc
3275           take care of linking in the needed libraries.
3276         * c-parser.c (c_parser_upc_forall_statement):
3277           initialize affinity_loc to avoid "maybe unused" warning.
3278           (c_parser_upc_sync_statement): Remove un-needed
3279           'ret' variable.  Cast return value from
3280           'upc_build_sync_stmt' to 'void' to avoid
3281           compile-time warning.
3282         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
3283           integer constant, not a string.  Range is restricted
3284           to maximum positive 32-bit integer (2+ billion) to
3285           fit in with the use of 'int' in the front-end's
3286           switch handling logic.
3288 2011-05-06  Gary Funck  <gary@intrepid.com>
3290         Upgrade c-family source files to conform with modularity
3291         improvements.  Mainly, remove #include of c-tree.h in files
3292         under c-family, and define a new UPC-specific #include file,
3293         c-upc.h, and use it.
3294         * c-family/stub-upc.c: Remove #include of c-tree.h and
3295           upc/upc-act.h.  Replace with #include of c-common.h
3296           and c-upc.h.
3297           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
3298           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
3299           upc_localsizeof_expr, upc_localsizeof_type,
3300           upc_shared_type_p): Delete.
3301         * c-family/c-opts.c: Add #include of c-upc.h
3302         * c-family/c-common.c: Remove #include of c-tree.h and
3303           add #include of c-upc.h.
3304         * c-family/c-upc.h: New. Define API for UPC-specific functions
3305           (mostly implemented in upc/upc-act.c).
3306         * c-family/c-common.h (upc_cpp_builtins,
3307           upc_write_global_declarations): Remove extern definitions.
3308         * c-family/c-pragma.c: Remove #include of c-tree.h.
3309           Add #include of c-upc.h.
3310         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
3311           c-tree.h.
3312           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
3313           upc/upc-act.c, and define as a macro.
3314           (expand_affinity_test): Remove unused external definition.
3315           (build_upc_unshared_type): Add external definition.
3316           (upc_shared_type_p): Remove external definition.
3317         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
3318         * dojump.c: Remove #include of c-tree.h.
3319         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
3320           and move to tree.h.
3321           (count_upc_threads_refs, is_multiple_of_upc_threads,
3322           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
3323           upc_build_shared_var_addr, upc_build_sync_stmt,
3324           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
3325           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
3326           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
3327           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
3328           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
3329           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
3330           set_upc_consistency_mode, get_upc_consistency_mode,
3331           push_upc_consistency_mode, pop_upc_consistency_mode,
3332           get_upc_pupc_mode):
3333           Move external definitions to c-family/c-upc.h.
3334           (upc_blocksizeof_type, upc_localsizeof_type,
3335           upc_elemsizeof_type): Remove external definitions;
3336           these functions were moved to c-parser.c.
3337         * c-decl.c: Add #include of c-upc.h.
3338         * c-typeck.c: Add #include of c-upc.h.
3339         * c-convert.c: Add #include of c-upc.h.
3340         * ChangeLog.upc: Fix typo.
3341         * Makefile.in: Add references to c-family/c-upc.h, everywhere
3342           there is a reference to c-family/c-objc.h.
3343           Remove extraneous reference to upc-act.h.
3344         * c-parser.c: Add #include of c-upc.h.
3345           (upc_blocksizeof_expr, upc_blocksizeof_type,
3346           upc_elemsizeof_expr, upc_elemsizeof_type,
3347           upc_localsizeof_expr, upc_localsizeof_type):
3348           Move from upc/upc-act.c.
3349         * tree.c (build_upc_unshared_type): New.
3350           Move upc_get_unshared_type from upc/upc-act.c and rename
3351           to build_upc_unshared_type.
3352           c-family/c-common.c (pointer_int_sum): refer to renamed
3353           build_upc_unshared_type function.
3354           c-convert.c (convert): Ditto.
3355           convert.c (convert_to_pointer): Ditto.
3356           c-typeck.c (build_unary_op, build_modify_expr,
3357           really_start_incremental_init): Ditto.
3358           gimplify.c (create_tmp_var_raw): Ditto.
3359           tree.c (build1_stat): Ditto.
3360           tree.h (upc_get_unshared_type): Rename to
3361           build_upc_unshared_type.
3363 2011-05-06  Gary Funck  <gary@intrepid.com>
3365         Merge trunk version 173471 into gupc branch.
3367 2011-05-06  Gary Funck  <gary@intrepid.com>
3369         Eliminate compilation warnings, by fixing
3370         #include's and updating function prototypes.
3371         * upc/upc-gimplify.c: Include bitmap.h.
3372           (upc_gimplify_real_image_ref): Mark various parameters
3373           as unused.  This is a stub procedure for now.
3374         * upc/upc-lang.c: Include c-family/c-upc.h.
3375           upc-gasp.c: Ditto.
3376         * upc/upc-cmd.c (no_start_files): Delete unused variable.
3377           The -nostartfiles switch is now handled by the linker spec.
3378         * ChangeLog: Spell check.
3380 2011-05-06  Gary Funck  <gary@intrepid.com>
3382         Upgrade c-family source files to conform with modularity
3383         improvements.  Mainly, remove #include of c-tree.h in files
3384         under c-family, and define a new UPC-specific #include file,
3385         c-upc.h, and use it.
3386         * upc/upc-act.h (upc_write_global_declarations,
3387           upc_check_decl, upc_build_sync_stmt, upc_affinity_test,
3388           upc_num_threads, upc_diagnose_deprecated_stmt):
3389           Move external definitions to c-family/c-upc.h
3390           (upc_blocksizeof_expr, upc_blocksizeof_type,
3391           upc_elemsizeof_expr, upc_elemsizeof_type,
3392           upc_localsizeof_expr, upc_localsizeof_type):
3393           Remove external definitions; these functions
3394           were moved from upc-act.c to c-parser.c.
3395         * upc/upc-gimplify.c: Add #include of c-family/c-upc.h.
3396           upc-pts-packed.c: Ditto.
3397           upc-pts-struct.c: Ditto.
3398         * upc/config-lang.in: Update gtfiles to refer to c-upc.h
3399           and other files.
3400         * upc/upc-act.c: Add #include of c-family/c-upc.h.
3401           (upc_blocksize, upc_elemsizeof, upc_localsizeof):
3402           Make external so that it can be called from c-parser.c.
3403           (upc_blocksizeof_expr, upc_blocksizeof_type,
3404           upc_elemsizeof_expr, upc_elemsizeof_type,
3405           upc_localsizeof_expr, upc_localsizeof_type):
3406           Move from upc/upc-act.c to c-parser.c.
3407           (upc_set_block_factor): Fix typo in error message.
3408           (upc_shared_type_p, upc_pts_cvt_op_p): Delete.
3409           Move to tree.h and define as a macro.
3410           (upc_get_unshared_type): Delete. renamed to
3411           build_upc_unshared_type and moved to tree.c.
3412         * upc/upc-gimplify.c (upc_gimplify_lval, upc_gimplify_expr):
3413           refer to renamed build_upc_unshared_type function.
3414           upc-act.c (create_unshared_var): Ditto.
3416 2011-05-05  Gary Funck  <gary@intrepid.com>
3418         Make changes that bring the GUPC branch more closely in sync.
3419         with the GCC trunk.  Revert any fixes that are not UPC-specific.
3420         Remove gratuitous re-formatting.
3421         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
3422           This file should have been removed in a previous merge
3423           with the trunk.
3424         * ../configure.ac: Remove Cray Catamount/CNL support.
3425         * ../configure: Regenerate.
3426         * ../config.sub: Remove Cray Catamount/CNL support.
3427         * config.gcc: Remove Cray Catamount/CNL support.
3428         * ../maintainer-scripts/gcc_release: Revert to trunk.
3429         * c-family/c-common.h: Define parse_optimize_options.  Its definition
3430           was missed in a previous merge with the trunk.
3431         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
3432           procedure.
3433         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
3434           in addition to ARRAY_TYPE.
3435         * c-typeck.c: Remove an extra newline character.
3436         * varasm.c: Revert a fix that improved an error message
3437           when TLS common data is unimplemented.
3438         * varasm.c: Revert a gcc_assert that had been added which
3439           checked for a null DECL_SIZE_UNIT field.
3440         * emultls.c: Revert to trunk. Remove possible fix.
3441         * Makefile.in: Revert extra blank line that is present
3442           in the trunk version.
3443         * Makefile.in: Revert a fix that handled long shell
3444           argument lists for plugin headers.
3445         * config/ia64/ia64.opt: Revert an option setting
3446           that increased the default TLS address range.
3447         * config/ia64/crtbegin.asm: Revert to trunk.
3448           Removes an extra newline character.
3449         * ChangeLog.upc: Spell check.
3451 2011-05-03  Gary Funck  <gary@intrepid.com>
3453         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
3454           (c_apply_type_quals_to_decl): Ditto.
3455         * c-family/c-common.h: Ditto.
3456         * dojump.c: Ditto.
3457         * c-decl.c (merge_decls): Ditto.
3458         * c-typeck.c (qualify_type, default_conversion,
3459           build_component_ref, build_unary_op,
3460           c_build_qualified_type): Ditto.
3461         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
3463 2011-05-03  Gary Funck  <gary@intrepid.com>
3465         * upc/upc-lang.c: Remove extraneous FIXME/TODO comments.
3466         * upc/upc-pts-packed.c (upc_pts_build_cvt): Ditto.
3467         * upc/upc-act.c (upc_set_block_factor): Ditto.
3469 2011-04-29  Gary Funck  <gary@intrepid.com>
3471         * c-decl.c (finish_decl): Improve error diagnostics.
3472           (grokdeclarator): Ditto.
3473         * c-typeck.c (build_c_cast): Improve error diagnostics.
3474           (convert_for_assignment): Ditto.
3475           (build_binary_op): Ditto.
3476         * c-parser.c (c_parser_upc_forall_statement):
3477           Improve error diagnostics.
3478         * convert.c (convert_to_integer):  Improve error diagnostics.
3480 2011-04-29  Gary Funck  <gary@intrepid.com>
3482         * upc/upc-gimplify.c (upc_expsnd_get): Improve error diagnostics.
3483           (upc_expand_put): Ditto.
3484           (upc_shared_addr): Ditto.
3485           (upc_gimplify_sync_stmt): Ditto.
3486           (upc_gimplify_field_ref): Ditto.
3487         * upc/upc-pts-struct.c (upc_pts_build_diff): Improve error diagnostics.
3488           (upc_pts_build_cvt): Ditto.
3489         * upc/upc-act.c (upc_handle_option): Improve error diagnostics.
3490           (upc_lang_init): Ditto.
3491           (upc_sizeof_type_check): Ditto.
3492           (upc_set_block_factor): Ditto.
3493           (upc_decl_init): Ditto.
3494           (upc_affinity_test): Ditto.
3495           (upc_num_threads): Ditto.
3496           (upc_diagnose_deprecated_stmt): Ditto.
3497           (upc_build_shared_var_addr): Ditto.
3498           (upc_pts_int_sum): Ditto.
3499           (upc_pts_diff): Ditto.
3501 2011-04-28  Gary Funck  <gary@intrepid.com>
3503         * upc/upc-act.c (create_unshared_var): call upc_get_unshared_type()
3504           instead of using TYPE_MAIN_VARIANT() to create an equivalent type
3505           that is not a UPC shared type.  This is sometimes necessary
3506           when the given shared type is derived from a typedef.
3508 2011-04-24  Gary Funck  <gary@intrepid.com>
3510         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
3511           occurred if there is an error in the barrier id
3512           expression.  Map error_mark_node into NULL.
3514 2011-04-24  Gary Funck  <gary@intrepid.com>
3516         * upc/upc-act.c (upc_handle_option): Fix incorrect error
3517           diagnostic messages when both -fupc-debug and
3518           -fupc-inline-lib are asserted.
3520 2011-04-24  Gary Funck  <gary@intrepid.com>
3522         * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "--param"
3523           to the list of switches that accept arguments.
3524           (main): Check for switches that have a following
3525           argument inside the loop that copies arguments and
3526           adds '-x upc' or '-x none' as necessary.
3527           (main): Misc. clean ups and simplifications.
3529 2011-04-22  Gary Funck  <gary@intrepid.com>
3531         Merge trunk version 172873 into gupc branch.
3533 2011-04-22  Gary Funck  <gary@intrepid.com>
3535         Merge trunk version 172873 into gupc branch.
3536         * upc/upc-act.c (upc_build_init_func): assert DECL_PRESERVE_P()
3537           on init_func() to prevent it from being removed from
3538           the call graph.
3540 2011-04-19  Gary Funck  <gary@intrepid.com>
3542         Merge trunk version 172359 into gupc branch.
3544 2011-04-19  Gary Funck  <gary@intrepid.com>
3546         Merge trunk version 172359 into gupc branch.
3547         * upc/upc-lang.c (upc_init_ts): New.
3548           (LANG_HOOKS_INIT_TS): use upc_init_ts.
3550 2011-04-19  Gary Funck  <gary@intrepid.com>
3552         Eliminate warnings when compiling upc-cmd.c.
3553         * upc/upc-cmd.c (file_exists): Remove.
3554           (arg_copy): Remove const qualifier.
3556 2011-04-14  Gary Funck  <gary@intrepid.com>
3558         * c-family/c.opt: Add UPC as a valid language for various
3559           switches where it is valid for "C", that were not updated
3560           in previous merges with trunk.
3562 2011-04-13  Gary Funck  <gary@intrepid.com>
3564         * c-family/c.opt (fupc-pre-include): New option definition.
3565         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
3566           -fno-upc-pre-include is asserted.
3568 2011-04-13  Gary Funck  <gary@intrepid.com>
3570         * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "dumpbase"
3571           to the list, and alphabetize.
3573 2011-04-13  Gary Funck  <gary@intrepid.com>
3575         * upc/upc-gimplify.c (upc_gimplify_real_image_ref): New.
3576           Currently, a not-yet-implemented stub.
3577           (upc_gimplify_lval): call upc_gimplify_real_image_ref to
3578           rewrite UPC shared REALPART_EXPR and IMAGPART_EXPR lvalues.
3579           This will avoid an ICE when compiling regular "C"
3580           code that refers to those operators.
3582 2011-04-13  Gary Funck  <gary@intrepid.com>
3584         * upc/upc-cmd.c: Do not add "-isystem <libupc_path>" if
3585           -fno-upc-pre-include is asserted.
3587 2011-04-07  Gary Funck  <gary@intrepid.com>
3589         Merge trunk version 172158 into gupc branch.
3590         to bring in the following fix.
3592 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
3594         PR bootstrap/48403
3595         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
3596         if old and new states differ.
3598 2011-04-06  Gary Funck  <gary@intrepid.com>
3600         Merge trunk version 171966 into gupc branch.
3602 2011-04-01  Gary Funck  <gary@intrepid.com>
3604         * tree.h (tree_base): Move UPC flag bits into bit fields
3605           located just before spare bits.  Decrement spare bits.
3606           Rename 'shared_flag' -> 'upc_shared_flag',
3607           'relaxed_flag' -> 'upc_relaxed_flag',
3608           'strict_flag' -> 'upc_strict_flag, and adjust macros
3609           that reference them accordingly.
3611 2011-04-01  Gary Funck  <gary@intrepid.com>
3613         * c-decl.c (grokdeclarator): Fix formatting of
3614           code that sets UPC block size on scalars.
3616 2011-04-01  Gary Funck  <gary@intrepid.com>
3618         * c-decl.c (grokdeclarator): Revert use of white space
3619           to match the trunk (to rationalize diffs).
3620         * c-typeck.c (convert_for_assignment): Ditto.
3621         * tree-ssa.c (useless_type_conversion_p): Ditto.
3623 2011-03-23  Gary Funck  <gary@intrepid.com>
3625         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
3626           the GCC 4.6 release branch.
3628 2011-03-22  Gary Funck  <gary@intrepid.com>
3630         * upc/upc-cmd.c: Move linker switches into libupc/libupc.spec.
3631           (UPC_LINKER_SCRIPT, LIBNUMA, LIBUPC, LIBUPC_PT) Remove.
3632           (find_ld_script) Remove.
3634 2011-03-21  Gary Funck  <gary@intrepid.com>
3636         Merge trunk version 171202 into gupc branch.
3638 2011-03-20  Gary Funck  <gary@intrepid.com>
3640         * varasm.c: Call error() directly with a format specifier,
3641           rather than using sprintf() to format the message.
3642           This should make it easier to internationalize UPC's error messages.
3644 2011-03-20  Gary Funck  <gary@intrepid.com>
3646         * configure.ac: Fix the check for gnu ld when enabling
3647           UPC link script support.
3648           configure: Regenerate (also picks up changes from previous
3649           merge with trunk).
3651 2011-03-20  Gary Funck  <gary@intrepid.com>
3653         Move UPC start files, end files, and linker specs.
3654         into libupc.  This reduces the impact on common GCC
3655         configuration files, and ensures that these UPC-specific
3656         components are only built when the UPC language dialect is selected.
3657         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
3658           linker specs. Fix typo in -fupc-debug message.
3659         * config/upc-conf.h, config/darwin.h: Move defines for
3660           UPC-related section begins/ends into libupc/config/default/
3661           upc-crt-config.h.
3662         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
3663           UPC-related linker compiler specifications,
3664           accessed via %:include().
3665         * configure.ac, configure: Remove logic related to building
3666           upc-crtbegin/end. Remove config. tests for numa and cpu
3667           affinity (previously used by the 'upc' driver); these
3668           settings are now propagated by target-specific compiler
3669           specs. built by libupc.  Regenerate autoconf.
3670         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
3671           linker compiler specifications, accessed via %:include().
3672           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
3673           'link_upc_spec'.
3674         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
3675         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
3676           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
3677           config/ia64/linux.h, config/mips/t-iris,
3678           config/mips/iris6.h: Revert to trunk version 167307.
3679         libgcc/
3680         * configure, configure.ac, config.host, Makefile.in:
3681           Revert to trunk version 167307.
3683 2011-03-20  Gary Funck  <gary@intrepid.com>
3685         * upc/upc-act.c: Call error() directly with a format specifier,
3686           rather than using sprintf() to format the message.
3687           This should make it easier to internationalize UPC's error messages.
3689 2011-03-20  Gary Funck  <gary@intrepid.com>
3691         Move UPC start files, end files, and linker specs.
3692         into libupc.  This reduces the impact on common GCC
3693         configuration files, and ensures that these UPC-specific
3694         components are only built when the UPC language dialect is selected.
3695         * upc/config-lang.in: Remove setting of 'upc_extra_parts', which
3696           was used to specify which upc-crtbegin and upc-crtend files
3697           need to built.  Remove extraneous (commented out)
3698           settings of 'cfiles'.  The listed configuration files
3699           have been reverted to trunk, and weren't referenced
3700           via cfiles in any event.
3701         * upc/upc-cmd.c: Remove test for HAVE_UPC_LINK_SCRIPT.
3702           Simply test for the presence of the UPC link script
3703           in the current directory or the libupc directory.
3704           Add -B<path-to-libupc> to the switches passed to 'gcc';
3705           this is needed in order to find the upc-crtbegin
3706           and upc-crtend object files now built in libupc.
3707           Remove test for and inclusion of UPC_LINKER_SWITCHES.
3708           if extra switches are needed for a particular target
3709           (like SGI/Irix), they will be defined by the custom
3710           linker spec. built in libupc.  Remove test for
3711           HAVE_UPC_NUMA_SUPPORT; if '-lnuma' is needed, it
3712           will be added to the custom linker specs. built
3713           in libupc.
3714         * upc/upc-crtstuff.c: Move to libupc.
3716 2011-02-23  Gary Funck  <gary@intrepid.com>
3718         * c-decl.c (undeclared_variable): fix typo. Inadvertently
3719         removed negation on following 'if'.
3721 2011-02-22  Gary Funck  <gary@intrepid.com>
3723         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
3724         to check for the usage of certain deprecated UPC keywords.
3725         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
3726         * c-tree.h (undeclared_variable): Define prototype.
3728 2011-02-22  Gary Funck  <gary@intrepid.com>
3730         * upc/upc-act.c (upc_diagnose_deprecated_stmt): New.
3731           upc-act.h (upc_diagnose_deprecated_stmt): Define.
3732           Check usage of deprecated keywords and issue
3733           error message.
3735 2011-02-12  Gary Funck  <gary@intrepid.com>
3737         * c-typeck.c: (build_c_cast, convert_for_assignment)
3738           Diagnose an attempt to convert from an integer to
3739           a pointer-to-shared as an error.  Also, fix various
3740           error messages so that they use the preferred term
3741           pointer-to-shared instead of "shared pointer".
3743 2011-02-08  Gary Funck  <gary@intrepid.com>
3745         * upc/upc-pts-struct.c: Fix bug: (pts + int) fails when int is negative
3746           for struct-pts representation
3747           Analysis indicated that for something like (+ ptr -80) this was
3748           being represented as (+ ptr (- 80)) and further, when the
3749           calculations were propagated into the individual operations on the
3750           components of the 'struct' pointer, it would end up with something
3751           like (+ ptr.vaddr (- 80)), and the type of (- 80) would end up as
3752           "long unsigned int" because of the addition to the pointer.  This
3753           caused the calculations involving the signed 'int' operand to be
3754           performed incorrectly.  This fix insures that the 'int' operand is
3755           signed.
3757 2011-02-08  Gary Funck  <gary@intrepid.com>
3759         * upc/config-lang.in, upc/lang-specs.h, upc/Makefile.in,
3760           upc/Make-lang.in, upc/upc.1, upc/upc-act.c, upc/upc-act.h,
3761           upc/upc-cmd.c, upc/upc-crtstuff.c, upc/upc-gasp.c,
3762           upc/upc-gasp.h, upc/upc-gimplify.c, upc/upc-gimplify.h,
3763           upc/upc-lang.c, upc/upc-pts.h, upc/upc-pts-packed.c,
3764           upc/upc-pts-struct.c, upc/upc-tree.def, upc/upc-tree.h:
3765         Update copyright notices.
3767 2011-02-07  Gary Funck  <gary@intrepid.com>
3769         * c-typeck.c: (convert_for_assignment)
3770           Fix typo. in error message.
3772 2011-01-23  Gary Funck  <gary@intrepid.com>
3774         * c-typeck.c: (c_build_qualified_type)
3775           derive UPC block size by calling upc_get_block_size(),
3776           to ensure that the element type of an array of an array
3777           is derived correctly.
3779 2011-01-09  Gary Funck  <gary@intrepid.com>
3781         Fix behavior of upc_localsizeof() when called in a dynamic
3782         threads compilation environment.  This bug, and the expected
3783         behavior is documented in this bug report:
3784         https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2960.
3785         * upc/_act.c (upc_localsizeof): Re-implement.
3787 2010-12-29  Gary Funck  <gary@intrepid.com>
3789         Merge trunk version 168314 into gupc branch.
3791 2010-12-15  Gary Funck  <gary@intrepid.com>
3793         Merge trunk version 167307 into gupc branch.
3795 2010-12-15  Gary Funck  <gary@intrepid.com>
3797         Merge trunk version 167307 into gupc branch.
3798         * upc/_act.h: (upc_handle_option) add location and struct
3799         cl_option_handlers * parameters.
3800         (upc_finish_file) Remove.
3801         (upc_write_global_declarations) New, replaces upc_finish_file.
3802         * lang-spec.h: Disable multi-file compilation for .upc files.
3803         This fixes an issue where file-scoped static variables were
3804         diagnosed as multiply-defined.  Both "C" and "ObjC" also disable
3805         multi-file compilation.
3806         * upc/upc-gimplify.c: (upc_expand_put) Check for INDIRECT_REF_P()
3807         explicitly when deciding whether a UPC shared object is addressable.
3808         is_gimple_addressable() used to do this, but now checks for MEM_REF
3809         which does not apply to UPC shared objects.
3810         (upc_gimplify_lval, upc_gimplify_expr) Delete references to
3811         ALIGN_INDIRECT_REF and MISALIGNED_INDIRECT_REF.
3812         These are no longer defined.
3813         (upc_genericize) Add call to bitmap_obstack_initialize()
3814         and bitmap_obstack_release() around call to gimplify_function_tree().
3815         * upc/upc-lang.c: Add #include of "opts.h" and "options.h".
3816         (flag_upc_debug, flag_upc_inline_lib, flag_upc_instrument,
3817         flag_upc_instrument_functions) Remove.  Use definitions
3818         generated by the options file.
3819         (upc_init_options) Use cl_decoded_option struct.
3820         (LANG_HOOKS_WRITE_GLOBALS) Define as upc_write_global_declarations.
3821         (finish_file) Delete.
3822         (upc_init_options) Call control_warning_option() to specify
3823         -Werror=pointer-arith as the default.  Remove call to
3824         enable_warning_as_error().
3825         * upc/upc-pts-struct.c: (upc_pts_init_type) Move test that
3826         UPC_PTS_THREAD_SIZE is a multiple of a byte into an "if" statement
3827         rather than an #ifdef; this macro now depends upon a
3828         target size macro which must be evaluated at runtime.
3829         * upc/Make-lang.in: (cc1-dummy) Remove make target.
3830         (cc1upc-checksum.c) Generate directly from object files.
3831         * upc/upc-cmd.c: (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG) Delete
3832         references to these deprecated macro definitions.
3833         (GCC_WORD_SWITCH_TAKES_ARG, GCC_WORD_SWITCH_TAKES_ARG) New.
3834         (all_exec_args) Delete variable.
3835         (exec_args) Re-define as (const char *).
3836         (exec_arg_list) New.  Make copy of exec_args to pass to 'exec'.
3837         * upc/upc-act.c: (upc_handle_option) Update argument list to accept
3838         (cl_option_handlers *) argument.
3839         (upc_finish_file) Rename to upc_write_global_declarations.
3840         (upc_write_global_declarations) New.
3842 2010-10-19  Gary Funck  <gary@intrepid.com>
3844         * c-typeck.c: Fix typo in previous fix
3845           which led to a mis-compare for equal block sizes.
3847 2010-10-18  Gary Funck  <gary@intrepid.com>
3849         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
3850           diagnosed as an error
3851           The conversion from any type (shared or not) to
3852           a shared type is likely either meaningless or an error.  This update
3853           makes any conversion to a shared type, an error.
3855 2010-10-18  Gary Funck  <gary@intrepid.com>
3857         * c-typeck.c: Fix bug: passing int to shared pointer arg.
3858           generates spurious warning
3859           Add a #define procedure that does the same thing as
3860           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
3861           this procedure to diagnose passing an integer value to a
3862           pointer-to-shared as an error.
3864 2010-10-18  Gary Funck  <gary@intrepid.com>
3866         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
3867           matching routine declaration.
3868           When checking for type compatibility, shared qualified types must
3869           have the same block factor.  This check was missing from
3870           comptypes_internal().  This update adds the check for blocking
3871           factor equality.
3873 2010-10-17  Gary Funck  <gary@intrepid.com>
3875         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
3876           found (-O1 -g)
3877           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
3879 2010-10-17  Gary Funck  <gary@intrepid.com>
3881         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
3882           45869 - [4.5/4.6 Regression] type mismatch in shift expression
3883           produces ice with -O3 and -m32.
3884           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
3886 2010-10-17  Gary Funck  <gary@intrepid.com>
3888         * c-common.c: Diagnose the application of the various "*sizeof"
3889           operations on generic pointer-to-shared as a compilation error.
3891 2010-10-17  Gary Funck  <gary@intrepid.com>
3893         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
3894           message regarding a function parameter being declared with a shared
3895           qualifier.
3896           The parameter's 'name' value is not defined at this point, and
3897           cannot be used in the error message.  This update removes the
3898           reference to 'name', and eliminates the segfault.
3900 2010-10-17  Gary Funck  <gary@intrepid.com>
3902         * upc/upc-act.c: Issue a compilation error on attempts to perform
3903           arithmetic on generic pointer-to-shared values.
3904           (The rest of this update is a small code clean up.)
3906 2010-10-17  Gary Funck  <gary@intrepid.com>
3908         * upc/upc-lang.c: For UPC only, issue errors for arithmetic and related
3909           operations on void types.
3910           This update simulates the effect of -Werror=pointer-arith, thus
3911           causing arithmetic on void types, sizeof(void) and so on to be
3912           considered compilation errors.  This meets the expectations of some
3913           harness tests and the RTED/CTED test suites.  GCC is more
3914           permissive, but since this is for UPC only, we can fairly safely
3915           define this new policy.
3917 2010-10-16  Gary Funck  <gary@intrepid.com>
3919         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
3920           The gcc/Makefile.in rules for install-plugin had to be re-written to
3921           break up a long list of header files that exceeded the command line
3922           limitation imposed by Irix.
3923           Access functions for TFmode types had to be implemented.
3924           Apparently, this is the mode used for the SGI/MIPS port to represent
3925           "long float".
3927 2010-10-16  Gary Funck  <gary@intrepid.com>
3929         * upc/upc-act.c: Fix bug: Static initialization of shared
3930           arrays is unsupported -- issue an error message.
3931           Currently, static initialization of a shared array is not
3932           implemented correctly.
3933           We do not plan to fix this for a while, therefore the compiler will
3934           issue an error message indicating that this is an unsupported
3935           operation.
3937 2010-10-14  Gary Funck  <gary@intrepid.com>
3939         * c-decl.c: Fix bug: Multiple equal blocking factors specified
3940           via typedef chain should not be diagnosed as an error.
3941           If the block size that is given by the typedef is equal to the block
3942           size given explicitly in the variable declaration, then do not
3943           complain.  The easiest way to make this check was to create a
3944           temporary type that is a clone of the element type and then set its
3945           block size using the given layout qualifier.  Then compare the block
3946           size of the temporary (the declaration) to the block size specified
3947           in the typedef.  This complexity is needed, because the '[*]' block
3948           size needs to be calculated, and the '[]' needs to be mapped into a
3949           zero block size.
3951 2010-10-13  Gary Funck  <gary@intrepid.com>
3953         * upc/upc-act.c: Fix bug: negative layout qualifiers not diagnosed
3954           as an error.
3955           The CTED_UPC test c_A_1_3_b.upc, specified a negative blocksize, but
3956           it was not diagnosed as an error.  With this fix, negative block
3957           sizes will generate a translation error.
3959 2010-10-10  Gary Funck  <gary@intrepid.com>
3961         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
3962           specified
3963           The compiler properly detected the presence of two or more layout
3964           qualifiers as an error, but then hit an assertion check, because the
3965           code that followed the error expected to see a qualifier and not a
3966           layout specifier.  The fix is simple: just return immediately after
3967           detecting the error.
3969 2010-10-10  Gary Funck  <gary@intrepid.com>
3971         * c-decl.c: Improve error diagnostics for various cases of UPC
3972           shared array type declarations.
3973           Add the check for this error: "In the dynamic translation
3974           environment, THREADS may not appear in declarations of shared arrays
3975           with indefinite block size".  Also, fix up a few of the other
3976           related error diagnostics.
3978 2010-10-10  Gary Funck  <gary@intrepid.com>
3980         * upc/upc-act.c: Fix bug: ICE: Attempt to take the difference of
3981           shared and non-shared pointers
3982           The compiler detected the error, and then tried to return
3983           error_mark_node.  This apparently is not acceptable, as there is an
3984           explicit assertion check to prevent this from happening in
3985           build_binary_op.  Return the more user-friendly size_one_node
3986           instead.
3988 2010-10-09  Gary Funck  <gary@intrepid.com>
3990         * c-common.c: Fix bug: segfault on incomplete array definition.
3991           This turned out to be a bit complicated.   The logic in
3992           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
3993           the THREADS identifier in the case where the blocking factor has
3994           been set to indefinite ([]).  This can happen when indefinite array
3995           declarations are processed for shared arrays.  At that time, the
3996           file scope has been closed and THREADS is no longer in scope.  Some
3997           more work is needed on upc_lang_layout_decl().  It has some
3998           duplication, and notably duplicates the two branches of the if
3999           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
4000           caller of this routine (layout_decl()).
4001           The method of forcing a layout qualifier of [] in the indefinite
4002           declaration handler is odd a well.  The code that just does the
4003           setting of the block factor, needs to moved into its own routine
4004           that doesn't depend upon a declspec for '[]' to be passed in, just
4005           in order to set the blocking factor to some value (in this case, 0).
4006           Also, the logic for how that shared type is constructed is strange.
4007           First the type with 0 blocking factor is set.  Then the shared
4008           qualifier is removed from the type, and then added back later.  The
4009           intermediate type has a blocking factor set, but it has no shared
4010           qualifier.  Fixing this will require some thought.  It is tempting
4011           just to make indefinite shared arrays an error, rather than forcing
4012           the dimension to be '1'.
4013           This likely fixes a serious error in the previous update to
4014           upc_lang_layout_decl(), where it didn't have the logic to set
4015           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
4016           the previous update would fail on many tests.
4018 2010-10-09  Gary Funck  <gary@intrepid.com>
4020         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
4021           (decl) is null, which can happen if some layout error occurred
4022           upstream.
4024 2010-10-09  Gary Funck  <gary@intrepid.com>
4026         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
4027           "variable-sized" when compiled in dynamic threads.
4028           This long-standing bug is easily fixed.  Just check
4029           for the situation that the non-constant sized type is shared and
4030           that it does not have a dimension that references a multiple of
4031           threads.  If this criteria is met, then issue a meaningful
4032           diagnostic.
4034 2010-10-09  Gary Funck  <gary@intrepid.com>
4036         * upc/upc-act.c: Fix bug: segfault on incomplete array definition.
4037           This turned out to be a bit complicated.   The logic in
4038           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
4039           the THREADS identifier in the case where the blocking factor has
4040           been set to indefinite ([]).  This can happen when indefinite array
4041           declarations are processed for shared arrays.  At that time, the
4042           file scope has been closed and THREADS is no longer in scope.  Some
4043           more work is needed on upc_lang_layout_decl().  It has some
4044           duplication, and notably duplicates the two branches of the if
4045           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
4046           caller of this routine (layout_decl()).
4047           The method of forcing a layout qualifier of [] in the indefinite
4048           declaration handler is odd a well.  The code that just does the
4049           setting of the block factor, needs to moved into its own routine
4050           that doesn't depend upon a declspec for '[]' to be passed in, just
4051           in order to set the blocking factor to some value (in this case, 0).
4052           Also, the logic for how that shared type is constructed is strange.
4053           First the type with 0 blocking factor is set.  Then the shared
4054           qualifier is removed from the type, and then added back later.  The
4055           intermediate type has a blocking factor set, but it has no shared
4056           qualifier.  Fixing this will require some thought.  It is tempting
4057           just to make indefinite shared arrays an error, rather than forcing
4058           the dimension to be '1'.
4059           This likely fixes a serious error in the previous update to
4060           upc_lang_layout_decl(), where it didn't have the logic to set
4061           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
4062           the previous update would fail on many tests.
4063           See also: gcc/c-common.c gcc/upc/upc-act.c
4065 2010-10-01  Gary Funck  <gary@intrepid.com>
4067         * configure, configure.ac: Update manual page, and bug reporting
4068           URL.
4069           Update "man" page to reflect debugging switches.  Also, some general
4070           clean up.  Change the bug reporting URL to point to gccupc.org.
4072 2010-10-01  Gary Funck  <gary@intrepid.com>
4074         * upc/upc-manpage.html, upc.1: Update manual page, and bug reporting
4075           URL.
4076           Update "man" page to reflect debugging switches.  Also, some general
4077           clean up.  Change the bug reporting URL to point to gccupc.org.
4078           See also: gcc/configure gcc/configure.ac gcc/upc/upc-manpage.html
4079           gcc/upc/upc.1
4081 2010-10-01  Gary Funck  <gary@intrepid.com>
4083         * upc/upc-act.c: Do not zap all qualifier bits when constructing a
4084           non-shared result node.
4085           This fix was suggested by Paul H. in the following Berkeley Bugzilla
4086           report: https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2061 The
4087           use of "!" rather than "~" zapped all the type qualifier bits rather
4088           than just those that are related to the "shared" qualifier.  This
4089           fix clears only the relevant bits.
4091 2010-09-27  Gary Funck  <gary@intrepid.com>
4093         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
4094           the UPC forall depth count variable is not found.
4095           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
4096           The compiler will generate code that references this variable in
4097           order to implement nested upc_forall semantics.  If there is a
4098           compiler build or install problem, this variable may not be found.
4099           In this case, terminate with an internal_error().
4101 2010-09-26  Gary Funck  <gary@intrepid.com>
4103         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
4104           mis-diagnosed as syntax error.
4105           Fix a failure exhibited by the Berkeley test case,
4106           bug873a.upc, which has the code:
4107                double d;
4108                upc_forall (;;;d) {...} The compiler did not properly handle
4109           the empty "condition" clause, and did not recover well when it was
4110           determined that the use of a double value, "d" above, was neither a
4111           pointer-to-shared nor an integer expression.  The update implements a
4112           fix for both issues.
4113           See also: gcc/c-parser.c gcc/upc/upc-act.c
4115 2010-09-26  Gary Funck  <gary@intrepid.com>
4117         * upc/upc-act.c: Fix bug: upc_forall with empty clauses
4118           mis-diagnosed as syntax error.
4119           A failure was exhibited by the Berkeley test case,
4120           bug873a.upc, which has the code:
4121                double d;
4122                upc_forall (;;;d) {...} The compiler did not properly handle
4123           the empty "condition" clause, and did not recover well when it was
4124           determined that the use of a double value, "d" above, was neither a
4125           pointer-to-shared nor an integer expression.  The update implements a
4126           fix for both issues.
4127           See also: gcc/c-parser.c gcc/upc/upc-act.c
4129 2010-09-25  Gary Funck  <gary@intrepid.com>
4131         * upc/upc-pts-struct.c: Fix an ICE on 32-bit/struct target: failed
4132           gimple check when calculating affinity for upc_forall.
4133           Intrepid test, test10.upc, failed to compile due a mis-match between
4134           the COMPONENT_REF node and the internal 'thread' field.  Changed the
4135           code to make the types agree, and added a conversion to sizetype if
4136           necessary.
4138 2010-09-23  Gary Funck  <gary@intrepid.com>
4140         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
4141           incorporated into the referencing type.
4142           This was semi-fixed a few times before.  This update fixes a few
4143           more places where the layout qualifier wasn't being propagated
4144           through typedef's properly.  What made this a bit tricky is shown in
4145           the example cited in the bug report:
4146           typedef shared [5] int A_t; A_t A[5*THREADS];
4147           In the typedef, the blocksize is being applied to a shared *scalar*,
4148           and the code was applying the blocksize only to arrays.  This update
4149           handles shared scalars correctly.
4151 2010-09-23  Gary Funck  <gary@intrepid.com>
4153         * upc/upc-act.c: Fix bug: ICE: '[*]' layout factor applied to array
4154           with static threads and size not a multiple of threads.
4155           Add an extra check for an attempt to apply a '[*]' layout qualifier
4156           to a shared array that does not specify a size that is a multiple of
4157           THREADS, when compiled in a static THREADS compilation environment.
4159 2010-09-22  Gary Funck  <gary@intrepid.com>
4161         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
4162           upc_forall() semantics are not implemented
4163           The checkforall test in the Berkeley harness test suite indicated
4164           that GCC/UPC was not properly implementing nested upc_forall
4165           semantics.  Nested upc_forall statements (both statically or
4166           dynamically nested) must implement their affinity clause as if it
4167           were "continue"; thus all steps in the loop must execute without
4168           regard for affinity.  To implement these semantics a global depth
4169           counter, __upc_forall_depth, is maintained by the generated code
4170           that implements upc_forall.
4171           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
4172           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
4173           libupc/include/upc.h libupc/smp/upc_main.c
4175 2010-09-22  Gary Funck  <gary@intrepid.com>
4177         * upc/upc-act.c, upc/upc-act.h: Fix bug: Nested upc_forall() semantics
4178           are not implemented
4179           The checkforall test in the Berkeley harness test suite indicated
4180           that GCC/UPC was not properly implementing nested upc_forall
4181           semantics.  Nested upc_forall statements (both statically or
4182           dynamically nested) must implement their affinity clause as if it
4183           were "continue"; thus all steps in the loop must execute without
4184           regard for affinity.  To implement these semantics a global depth
4185           counter, __upc_forall_depth, is maintained by the generated code
4186           that implements upc_forall.
4187           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
4188           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
4189           libupc/include/upc.h libupc/smp/upc_main.c
4191 2010-09-19  Gary Funck  <gary@intrepid.com>
4193         * c-decl.c: c-decl.c: zero out the layout specifier, after
4194           processing an array type.
4195           Fix the previous fix, that moved the setting of the type's layout
4196           qualifier to the outside of the array type processing loop.  What is
4197           missing from the fix is that the layout_qualifier variable needs to
4198           be cleared after setting the type's blocksize.
4200 2010-09-19  Gary Funck  <gary@intrepid.com>
4202         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
4203           given blocksize is greater than UPC_MAX_BLOCKSIZE.
4204           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
4205           the actual maximum block size.  Therefore, the message was correct,
4206           but the underlying value that was being checked was wrong.  Change
4207           the values so that they agree with the actual implementation-defined
4208           limit.
4210 2010-09-18  Gary Funck  <gary@intrepid.com>
4212         * upc/upc-act.c, upc/upc-pts-packed.c, upc/upc-pts-struct.c:
4213           Implement -fupc-debug switch.
4215 2010-09-11  Gary Funck  <gary@intrepid.com>
4217         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
4218           multi-dimensional shared array with dynamic threads.
4219           This declaration caused an internal compiler error when compiled
4220           with dynamic threads:
4221               shared [*] int A[THREADS][16]; The bug was discovered when
4222           compiling the RTED_UPC test suite.
4223           The fix is to process layout qualifiers after the entire array type
4224           has been built.  Otherwise, we try to calculate the blocksize on a
4225           shared array type that has not had its "size depends upon the value
4226           of THREADS" flag set.
4227           Also, added a test case.
4228           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
4230 2010-07-11  Gary Funck  <gary@intrepid.com>
4232         Fix a bug where a statement in c_build_qualified_type()
4233         in the trunk had been inadvertently deleted.
4234         This bug showed up in the IA64 port, because jmpbuf's
4235         on that architecture must be 16 byte aligned, and they were not.
4236         c-typeck.c (c_build_qualified_type): Revive the deleted line.
4238 2010-07-08  Gary Funck  <gary@intrepid.com>
4240         Make changes so that other language compilers
4241         will build and bootstrap.
4242         * c-family/c-common.c (compiling_upc, flag_upc,
4243         flag_upc_instrument, flag_upc_instrument_functions,
4244         use_upc_dwarf2_extensions): Move to stub-upc.c and
4245         upc-lang.c.
4246         * c-family/c-common.h (use_upc_dwarf2_extensions,
4247         compiling_upc): Add extern definitions - needed
4248         to compile/build other language front ends.
4249         * c-family/c.opt: Fix the spelling of ObjC.
4250         It had been incorrectly spelled as Objc.
4251         * c-family/c.opt: Add UPC for the various switches
4252         that are valid for both C and ObjC.
4253         * c-fmaily/c-opts.c: Add CL_UPC to the list of
4254         supported options switches when compiling assembly
4255         language.
4256         * lto/lto-lang.c (use_upc_dwarf2_extensions,
4257         flag_upc_instrument, flag_upc_instrument_functions):
4258         Remove these definitions.  They have been moved
4259         to c-family/stub-upc.c.
4260         * upc/ChangeLog: Move relevant entries
4261         to ChangeLog.upc.
4262         * c-family/stub-upc.c (compiling_upc, flag_upc,
4263         flag_upc_instrument, flag_upc_instrument_functions,
4264         use_upc_dwarf2_extensions): Moved from c-common.c
4265         * upc/upc-lang.c (compiling_upc, flag_upc,
4266         flag_upc_instrument, flag_upc_instrument_functions,
4267         use_upc_dwarf2_extensions): Moved from c-common.c
4268         * objc/objc-act.c (objc_gimplify_expr): Add additional
4269         parameters to c_gimplify_expr() call, that are used
4270         by upc's tree rewrites.
4271         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
4272         * gcc/cp/lex.c (init_reswords): If not compiling
4273         UPC, then mask off the UPC keywords.
4274         * cp/Make-lang.in (C_STUB_OBJS): Use this
4275         make macro to link with c-family/stub-objc.o
4276         and c-family/stub-upc.o.
4277         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
4278         * java/Make-lang.in (C_STUB_OBJS): Likewise.
4279         * objc/Make-lang.in: Link with c-family/stub-upc.o
4280         to avoid undefined references.
4281         c-parser.c: Fix line indentation.
4282         * libcpp/include/cpplib.h: Remove CL_UPC from
4283         the list of language kinds accepted by the
4284         C preprocessor.  This is not necessary because
4285         UPC is a derivative of C99, and does not need
4286         a different language kind.
4287         * c-fmaily/c-opts.c (c_common_handle_option):
4288         Call set_std_c99() when processing the
4289         "--lang upc" switch, instead of setting the
4290         language kind to CL_UPC.
4291         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
4293 2010-07-03  Gary Funck  <gary@intrepid.com>
4295         Merge trunk version 161517 into gupc branch.
4296         * gcc/stub-upc.c: Move to gcc/c-family/.
4297         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
4298         Add 'unused' attributes to avoid "set, but
4299         not referenced" warnings.
4300         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
4301         Likewise.
4303 2010-07-03  Gary Funck  <gary@intrepid.com>
4305         Merge trunk version 161517 into gupc branch.
4306         * upc/config-lang.in: Update references to files
4307           moved into c-family/.
4308         * upc/Make-lang.in: Likewise.
4309         * upc/upc-act.c: Likewise.
4310         * upc/upc-gasp.c: Likewise.
4311         * upc/upc-gimplify.c: Likewise.
4312         * upc/upc-lang.c: Likewise.
4313         * upc/upc-pts-packed.c: Likewise.
4314         * upc/upc-pts-struct.c: Likewise.
4315         * upc/upc-act.c: (upc_handle_option) add parameters to
4316           effect pass through call to c_common_handle_option.
4317         * upc/upc-act.h: (upc_handle_option) Likewise.
4318         * upc/upc-act.c: (map_unshared_var) used typed ggc allocation.
4319         * upc/upc-act.c: (upc_build_init_func) add call to
4320           to mark_decl_referenced(), to ensure that UPC shared
4321           variable initializer function is not removed from
4322           the call tree graph.
4324 2010-03-01  Gary Funck  <gary@intrepid.com>
4326         Create gupc branch from trunk version 157149.