1 2014-01-20 Gary Funck <gary@intrepid.com>
3 Merge trunk version 206792 into gupc branch.
5 2014-01-17 Nenad Vukicevic <nenad@intrepid.com>
7 * c-family/c-cppbuiltin.c (upc_cpp_builtins): Remove pre-defines
8 for __UPC_CASTABLE__, __UPC_COLLECTIVE__, __UPC_TICK__ and
9 __UPC_PUPC__ as they are library and not compiler features.
11 2014-01-13 Gary Funck <gary@intrepid.com>
13 Merge trunk version 206575 into gupc branch.
15 2014-01-10 Gary Funck <gary@intrepid.com>
17 Update copyright notices.
19 2014-01-06 Gary Funck <gary@intrepid.com>
21 Merge trunk version 206354 into gupc branch.
23 2014-01-04 Gary Funck <gary@intrepid.com>
25 Integrate GUPC into cc1.
26 * upc/: Remove directory. Re-distribute files.
27 * c/c-upc-lang.c: Move upc/upc-lang.c here.
28 * c/c-upc-lang.h: New.
29 * c-family/c-upc.c: Move upc/upc-act.c here.
30 * c-family/c-upc-gasp.c: Move upc/upc-gasp.c here.
31 * c-family/c-upc-gasp.h: Move upc/upc-gasp.h here.
32 * c-family/c-upc.h: Move upc/upc-act.h here.
33 * c-family/c-upc-low.c: Move upc/upc-genericize.c here.
34 * c-family/c-upc-low.h: Move upc/upc-genericize.h here.
35 * c-family/c-upc-pts.h: Split upc/upc-pts.h here.
36 * c-family/c-upc-pts-ops.c: Split upc/upc-pts.c here.
37 * c-family/c-upc-pts-ops.h: Split upc/upc-pts.h here.
38 * c-family/c-upc-pts-packed.c: Move upc/upc-pts-packed.c here.
39 * c-family/c-upc-pts-struct.c: Move upc/upc-pts-struct.c here.
40 * c-family/c-upc-rts-names.h: Move upc/upc-rts-names.h here.
41 * c-family/stub-upc.c: Remove.
42 * c/gupcspec.c: Move upc/gupcspec.c here.
43 * doc/gupc.texi: Move upc/gupc.texi here.
44 * c/c-objc-common.h: Revert to trunk.
45 * cp/lex.c: Revert to trunk.
46 * cp/Make-lang.in: Revert to trunk.
47 * expr.h: Revert to trunk.
48 * flags.h: Revert to trunk.
49 * fortran/Make-lang.in: Revert to trunk.
50 * java/Make-lang.in: Revert to trunk.
51 * lto/Make-lang.in: Revert to trunk.
52 * objc/Make-lang.in: Revert to trunk.
53 * stor-layout.c: Delete custom hook routines, use
54 newly defined declaration layout language hooks.
55 * stor-layout.h: Revert to trunk.
56 * ../configure.ac: Remove check for UPC language dialect.
57 * ../configure: Re-generate.
58 * Makefile.in (C_COMMON_OBJS): Add UPC-related object files.
59 * c/Make-lang.in: Compile UPC-related files. Build gupc driver.
60 * c/c-decl.c: Call c_genericize() directly rather than
61 lang_hooks.genericize(). Adjust for flag_upc and name changes.
62 * c/c-lang.c (LANG_HOOKS_UPC_TOGGLE_KEYWORDS,
63 LANG_HOOKS_UPC_PTS_STRUCT_INIT_TYPE, LANG_HOOKS_UPC_BUILD_INIT_FUNC,
64 LANG_HOOKS_LAYOUT_DECL_P, LANG_HOOKS_LAYOUT_DECL):
65 Define UPC-specific hooks.
66 * c/c-objc-common.c (upc_types_compatible_p): Move to here.
67 (c_types_compatible_p): Call upc_types_compatible_p().
68 * c/c-parser.c (upc_affinity_test): Move to here.
69 (upc_build_sync_stmt): Move to here.
70 * c/c-typeck.c: #include c-family/c-upc-low.h.
71 * c/config-lang.in (gtfiles): Add UPC gt files.
72 * c-family/c-common.c: Add #include c-upc.h.
73 (c_common_get_alias_set): Move UPC-related alias check to here.
74 (upc_num_threads): Move to here.
75 (c_common_init_ts): Mark UPC-specific statement tree definitions.
76 * c-family/c-common.def (UPC_FORALL_STMT, UPC_SYNC_STMT):
77 Define UPC-specific statements.
78 * c-family/c-common.h (RID_FIRST_UPC_QUAL, RID_LAST_UPC_QUAL,
79 RID_FIRST_UPC_KW, RID_LAST_UPC_KW, UPC_IS_KEYWORD): New.
80 (clk_upc, clk_upcxx, c_dialect_upc, compiling_upc): Delete.
81 (use_upc_dwarf2_extensions, flag_upc): Move to c-family/c.opts.
82 (upc_num_threads): Declare prototype.
83 (UPC_SYNC_OP, UPC_SYNC_ID, UPC_SYNC_NOTIFY_OP, UPC_SYNC_WAIT_OP,
84 UPC_SYNC_BARRIER_OP): Move definitions here.
85 * c-family/c-cppbuiltin.c: Remove #include c-upc.h and
86 add #include c-upc-pts.h.
87 (upc_cpp_builtins): Move to here. Define as static.
88 (c_cpp_builtin): Change call to c_dialect_upc () into
90 * c-family/c-gimplify.c: #include c-upc-low.h.
91 (c_common_genericize): Rename c_genericize() to this and make static.
92 (c_genericize): Call upc_genericize() if flag_upc is set and
93 then call c_common_genericize().
94 * c-family/c-opts.c: #include c-upc-low.h and c-upc-pts.h.
95 (c_family_lang_mask): Remove CL_UPC.
96 (c_common_option_lang_mask): Remove CL_UPC from lang_flags.
97 (upc_init_options): Move to here, make it static.
98 (c_common_init_options): Add early check for flag_upc, if found
99 call upc_init_options().
100 (upc_handle_option): Move to here and make static.
101 (c_common_handle_option): Check for UPC-related options
102 and call upc_handle_option(). Remove references to
103 OPT_lang_upc and clk_upc. Check flag_upc instead of
104 calling c_dialect_upc().
105 * c-family/c-pragma.c: #include langhooks.h.
106 (handle_pragma_upc): Remove warning if flag_upc not set;
107 flag_upc now serves the function of compiling_upc().
108 Add call to lang_hooks.upc.toggle_keywords() to
109 implement enable/disable of UPC keywords.
110 (init_pragma): Check flag_upc instead of compiling_upc.
111 * c-family/c-pragma.h (deny_pragma_upc, get_upc_consistency_mode,
112 permit_pragma_upc, pop_upc_consistency_mode,
113 pragma_upc_permitted_p, push_upc_consistency_mode,
114 set_upc_consistency_mode): Move prototypes to here.
115 * c-family/c.opt: Remove all references to "UPC" language dialect.
116 Add -fupc option. Delete -fupc-link option.
117 Add -fupc-threads= option and deprecate -fupc-threads-.
118 * configure.ac: Remove check for UPC language dialect.
119 * configure: Re-generate.
120 * explow.c (tree_expr_size): Move to tree.c.
121 * gcc.c: Change specs to refer to -fupc instead of -lang-upc
123 * hooks.c (hook_bool_tree_tree_false): Declare prototype.
124 * langhooks.c (lhd_do_nothing_b, lhd_do_nothing_t_t): New.
125 * langhooks.h (lang_hooks_for_upc): Define hooks for UPC.
126 (layout_decl_p, layout_decl): Define language-specific
127 declaration layout hooks.
128 (genericize): Remove this language hook.
129 * langhooks-def.h: Define UPC default language hooks.
130 Define language-specific declaration layout default hooks.
131 * langhooks.c (lhd_do_nothing_b): New.
132 * tree-core.h (shared_flag): Rename from upc_shared_flag.
133 (strict_flag): Rename from upc_strict_flag.
134 (relaxed_flag): Rename from upc_relaxed_flag.
135 (threads_factor_flag): New. Was a lang. flag.
136 (block_factor_0): New. Was a lang. flag.
137 (block_factor_x): New. Was a lang. flag.
138 (spare1): Decrement spare bits from 8 down to 5.
139 * tree.c (block_factor_for_type): Move to here.
140 (tree_expr_size): Move to here from explow.c.
141 (block_factor_lookup): Move to here.
142 (block_factor_insert): Move to here.
143 (upc_get_block_factor): Move to here.
144 * tree.h: refer to block_factor_* instead of upc_block_factor_*.
145 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
146 TYPE_HAS_THREADS_FACTOR): Refer to tree base flag bits instead
148 (tree_expr_size): Move prototype from explow.h.
150 2013-12-30 Gary Funck <gary@intrepid.com>
152 Merge trunk version 206243 into gupc branch.
154 2013-12-23 Gary Funck <gary@intrepid.com>
156 Merge trunk version 206179 into gupc branch.
158 2013-12-22 Gary Funck <gary@intrepid.com>
160 * upc/upc-act.c (upc_cpp_builtins): Bump UPC_VERSION
161 to reflect UPC specification version 1.3 compliance.
163 2013-12-16 Gary Funck <gary@intrepid.com>
165 Merge trunk version 206010 into gupc branch.
167 2013-12-09 Gary Funck <gary@intrepid.com>
169 Merge trunk version 205801 into gupc branch.
171 2013-12-03 Meador Inge <meadori@codesourcery.com>
173 * tree-core.h (tree_type_common): Change tree_type_common to use
174 user-provided GC marking.
175 (gt_ggc_mx, gt_pch_nx): New prototypes.
176 * tree.c (gt_ggc_mx, gt_pch_nx): New functions.
178 2013-12-03 Gary Funck <gary@intrepid.com>
182 2011-10-10 Gary Funck <gary@intrepid.com>
184 * tree.c (check_qualified_type, check_aligned_type):
185 Call tree_int_cst_equal() to compare UPC blocking factors
186 if the corresponding tree pointers are not equal.
187 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
189 2013-12-03 Gary Funck <gary@intrepid.com>
191 * c-family/c.opt: Fix typo introduced in 2013-06-03
194 2013-12-02 Gary Funck <gary@intrepid.com>
196 Merge trunk version 205582 into gupc branch.
198 2013-11-26 Meador Inge <meadori@codesourcery.com>
200 * upc/upc-genericize.c (upc_expand_get): Ensure that temporaries
201 are declared via a DECL_EXPR.
203 2013-11-25 Gary Funck <gary@intrepid.com>
205 Merge trunk version 205346 into gupc branch.
207 2013-11-18 Gary Funck <gary@intrepid.com>
209 Merge trunk version 204942 into gupc branch.
211 2013-11-15 Gary Funck <gary@intrepid.com>
213 Merge trunk version 204894 into gupc branch.
215 2013-11-15 Gary Funck <gary@intrepid.com>
217 Merge trunk version 204659 into gupc branch.
219 2013-11-04 Gary Funck <gary@intrepid.com>
221 Merge trunk version 204345 into gupc branch.
223 2013-10-31 Gary Funck <gary@intrepid.com>
225 Released GUPC 4.9.0.1 based on version 203902.
226 This release version was committed on 2013-10-21.
227 * DEV-PHASE: Bump to 4.9.0.2.
228 * DATESTAMP: Bump date stamp.
230 2013-10-28 Gary Funck <gary@intrepid.com>
232 Merge trunk version 204119 into gupc branch.
234 2013-10-21 Gary Funck <gary@intrepid.com>
236 Merge trunk version 203886 into gupc branch.
238 2013-10-14 Gary Funck <gary@intrepid.com>
240 Merge trunk version 203514 into gupc branch.
242 2013-10-07 Gary Funck <gary@intrepid.com>
244 Merge trunk version 203240 into gupc branch.
246 2013-10-01 Gary Funck <gary@intrepid.com>
248 Implement pointer-to-shared -> integer conversions.
249 Required per UPC 1.3 Specification.
250 * c/c-typeck.c (build_c_cast): Remove logic that diagnosed
251 PTS->int conversions as an error. Rewrite into a CONVERT_EXPR
252 for later processing by upc_genericize().
254 2013-10-01 Gary Funck <gary@intrepid.com>
256 Implement pointer-to-shared -> integer conversions.
257 Required per UPC 1.3 Specification.
258 * upc/upc-genericize.c (upc_genericize_pts_to_int_cvt): New.
259 (upc_genericize_expr): Call upc_genericize_pts_to_int_cvt().
261 2013-09-30 Gary Funck <gary@intrepid.com>
263 Merge trunk version 203026 into gupc branch.
265 2013-09-23 Gary Funck <gary@intrepid.com>
267 Merge trunk version 202825 into gupc branch.
269 2013-09-18 Gary Funck <gary@intrepid.com>
271 Merge trunk version 202725 into gupc branch.
273 2013-09-16 Gary Funck <gary@intrepid.com>
275 Merge trunk version 202619 into gupc branch.
277 2013-09-09 Gary Funck <gary@intrepid.com>
279 Merge trunk version 202382 into gupc branch.
281 2013-09-02 Gary Funck <gary@intrepid.com>
283 Merge trunk version 202159 into gupc branch.
285 2013-08-26 Gary Funck <gary@intrepid.com>
287 Merge trunk version 202008 into gupc branch.
289 2013-08-19 Gary Funck <gary@intrepid.com>
291 Merge trunk version 201832 into gupc branch.
293 2013-08-05 Gary Funck <gary@intrepid.com>
295 Merge trunk version 201483 into gupc branch.
297 2013-07-29 Gary Funck <gary@intrepid.com>
299 Merge trunk version 201301 into gupc branch.
301 2013-07-22 Gary Funck <gary@intrepid.com>
303 Merge trunk version 201119 into gupc branch.
305 2013-07-15 Gary Funck <gary@intrepid.com>
307 Merge trunk version 200955 into gupc branch.
309 2013-07-08 Gary Funck <gary@intrepid.com>
311 Merge trunk version 200775 into gupc branch.
313 2013-07-01 Gary Funck <gary@intrepid.com>
315 Merge trunk version 200575 into gupc branch.
317 2013-06-24 Gary Funck <gary@intrepid.com>
319 Merge trunk version 200361 into gupc branch.
321 2013-06-19 Gary Funck <gary@intrepid.com>
323 Merge trunk version 200149 into gupc branch.
325 2013-06-19 Gary Funck <gary@intrepid.com>
327 Merge trunk version 200149 into gupc branch.
328 * upc/upc-act.c (upc_create_static_var): New.
329 (upc_build_init_func): Call upc_create_static_var() to
330 create a static variable, __upc_init_func_addr, which
331 is initialized to the address of the UPC
332 shared data initialization function. This change is
333 needed to avoid writing to the output assembly language
335 (upc_build_sync_stmt): Delete unused variable, sync_expr_type.
337 2013-06-03 Gary Funck <gary@intrepid.com>
339 Merge trunk version 199596 into gupc branch.
341 2013-05-27 Gary Funck <gary@intrepid.com>
343 Merge trunk version 199350 into gupc branch.
345 2013-05-20 Gary Funck <gary@intrepid.com>
347 Merge trunk version 199093 into gupc branch.
349 2013-05-14 Gary Funck <gary@intrepid.com>
351 * upc/upc-pts-packed.c (upc_pts_packed_build_cvt):
352 When checking whether the phase of a PTS should be reset,
353 if the source type is an array type, then bypass
354 the check for equal type sizes.
355 * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
357 2013-05-13 Gary Funck <gary@intrepid.com>
359 Merge trunk version 198815 into gupc branch.
361 2013-05-06 Gary Funck <gary@intrepid.com>
363 Merge trunk version 198622 into gupc branch.
365 2013-04-29 Gary Funck <gary@intrepid.com>
367 Merge trunk version 198433 into gupc branch.
369 2013-04-15 Gary Funck <gary@intrepid.com>
371 Merge trunk version 197958 into gupc branch.
373 2013-04-08 Gary Funck <gary@intrepid.com>
375 Merge trunk version 197571 into gupc branch.
377 2013-04-04 Gary Funck <gary@intrepid.com>
379 Per the UPC 1.3 specification, the type of the
380 optional barrier/notify/wait expression is not constrained to
381 'int'. Instead, any type that is assignment compatible
382 with an 'int' type is permitted.
383 * c/c-parser.c (c_parser_upc_sync_statement): Do not check
384 the optional expression type here. Let upc_build_sync_stmt()
386 * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
387 * c/c-typeck.c (c_cvt_expr_for_assign): New. Also, call
388 error_at() in lieu of error() when the source location is known.
389 * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
390 to check/convert the optional synchronization statement
393 2013-04-02 Gary Funck <gary@intrepid.com>
395 Merge trunk version 197340 into gupc branch.
397 2013-04-02 Gary Funck <gary@intrepid.com>
399 Revert revision 178346 (2011-08-30)
400 which changed the prototype of check_qualified_type and related
401 functions so that their parameters were just 'tree' and not
402 'const_tree'. This seemed necessary at the time because of a
403 change to TYPE_BLOCK_FACTOR(), which in turn called function
404 that hashed the type node pointer. The hash functions did
405 not accept "const void *" pointers. Implement a work around
406 that removes this restriction.
407 * c/c-typeck.c: Revert.
409 * tree.h: Revert. Change prototype of upc_block_factor_lookup()
410 to accept a 'const_tree' pointer to a type node.
411 * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
412 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
413 input argument and convert this to 'tree' for use with hash function.
415 2013-04-02 Gary Funck <gary@intrepid.com>
417 Revert revision 178346 (2011-08-30)
418 which changed the prototype of check_qualified_type and related
419 functions so that their parameters were just 'tree' and not
420 'const_tree'. This seemed necessary at the time because of a
421 change to TYPE_BLOCK_FACTOR(), which in turn called a function
422 that hashed the type node pointer. The hash functions did
423 not accept "const void *" pointers. Implement a work around
424 that removes this restriction.
425 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
426 input argument and convert this to 'tree' for use with hash function.
428 2013-03-25 Gary Funck <gary@intrepid.com>
430 Merge trunk version 197029 into gupc branch.
432 2013-03-21 Gary Funck <gary@intrepid.com>
434 Released GUPC 4.8.0.3 based on version 196601.
435 This release version was committed on 2013-03-11.
436 * DATESTAMP: Bump date stamp.
438 2013-03-18 Gary Funck <gary@intrepid.com>
440 Merge trunk version 196771 into gupc branch.
441 * DEV-PHASE: Bump release identifier to 4.9.0-1.
443 2013-03-11 Gary Funck <gary@intrepid.com>
445 Merge trunk version 196592 into gupc branch.
447 2013-03-04 Gary Funck <gary@intrepid.com>
449 Merge trunk version 196422 into gupc branch.
451 2013-02-25 Gary Funck <gary@intrepid.com>
453 Merge trunk version 196253 into gupc branch.
455 2013-02-18 Gary Funck <gary@intrepid.com>
457 Merge trunk version 196115 into gupc branch.
459 2013-02-11 Gary Funck <gary@intrepid.com>
461 Merge trunk version 195937 into gupc branch.
463 2013-02-04 Gary Funck <gary@intrepid.com>
465 Merge trunk version 195707 into gupc branch.
467 2013-01-28 Gary Funck <gary@intrepid.com>
469 Merge trunk version 195502 into gupc branch.
471 2013-01-21 Gary Funck <gary@intrepid.com>
473 Merge trunk version 195330 into gupc branch.
475 2013-01-14 Gary Funck <gary@intrepid.com>
477 Merge trunk version 195164 into gupc branch.
479 2013-01-07 Gary Funck <gary@intrepid.com>
481 Merge trunk version 194962 into gupc branch.
483 2012-12-24 Gary Funck <gary@intrepid.com>
485 Merge trunk version 194709 into gupc branch.
487 2012-12-17 Gary Funck <gary@intrepid.com>
489 Merge trunk version 194552 into gupc branch.
491 2012-12-10 Gary Funck <gary@intrepid.com>
493 Merge trunk version 194351 into gupc branch.
495 2012-12-03 Gary Funck <gary@intrepid.com>
497 Merge trunk version 194076 into gupc branch.
499 2012-11-30 Gary Funck <gary@intrepid.com>
501 Released GUPC 4.8.0.2 based on version 193446.
502 Date of release: 2012-11-12.
503 * DEV-PHASE: Bump release identifier to 4.8.0-3.
504 * DATESTAMP: Bump date stamp.
506 2012-11-26 Gary Funck <gary@intrepid.com>
508 Merge trunk version 193807 into gupc branch.
510 2012-11-20 Gary Funck <gary@intrepid.com>
512 Merge trunk version 193672 into gupc branch.
514 2012-11-19 Gary Funck <gary@intrepid.com>
516 Merge trunk version 193617 into gupc branch.
518 2012-11-15 Gary Funck <gary@intrepid.com>
520 Merge trunk version 193426 into gupc branch.
522 2012-11-12 Gary Funck <gary@intrepid.com>
524 Released GUPC 4.8.0.1 based on version 192948.
525 Date of release: 2012-10-29.
526 * DEV-PHASE: Bump release identifier to 4.8.0-2.
527 * DATESTAMP: Bump date stamp.
529 2012-11-05 Gary Funck <gary@intrepid.com>
531 Merge trunk version 193152 into gupc branch.
533 2012-10-29 Gary Funck <gary@intrepid.com>
535 Merge trunk version 192909 into gupc branch.
537 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
539 Remove unused --upc-pthreads-per-process compile switch.
540 * c-family/c.opt: Remove --upc-pthreads-per-process switch
541 that compiler/runtime do not use.
542 * c-family/c-opts.c (c_common_handle_option): Remove support for
543 --upc-pthreads-per-process switch.
544 * c-family/c-common.c: Ditto.
545 * c-family/c-common.h: Ditto.
547 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
549 Remove unused --upc-pthreads-per-process compile switch.
550 * upc/upc-act.c (upc_handle_option): Ditto.
551 (upc_cpp_builtins): Ditto.
552 * upc/upc-lang.c (upc_init_options): Ditto.
554 2012-10-27 Gary Funck <gary@intrepid.com>
556 * defaults.h: fix typos and formatting in UPC-related entries.
558 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
560 Place shared initialization code into the .text
561 section instead of a separate .upc_init section.
562 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
563 (UPC_INIT_BEGIN_NAME): Delete.
564 (UPC_INIT_END_NAME): Delete.
565 * doc/tm.texi.in: Ditto.
566 * doc/tm.texi: Ditto.
568 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
570 Place shared initialization code into the .text
571 section instead of a separate .upc_init section.
572 * upc/upc-act.c (upc_build_init_func): Remove settings
573 of the section for shared initialization code.
575 2012-10-22 Gary Funck <gary@intrepid.com>
577 Merge trunk version 192673 into gupc branch.
579 2012-10-15 Gary Funck <gary@intrepid.com>
581 Merge trunk version 192449 into gupc branch.
583 2012-10-08 Gary Funck <gary@intrepid.com>
585 Merge trunk version 192198 into gupc branch.
587 2012-10-01 Gary Funck <gary@intrepid.com>
589 Merge trunk version 191931 into gupc branch.
591 2012-09-26 Gary Funck <gary@intrepid.com>
593 Implement support for various UPC version 1.3 specification
594 additions and changes. Deprecate support for upc_local_alloc.
595 Add support for upc_tick (wall-clock timer) library.
596 Add support for collective de-allocation functions:
597 upc_all_free and upc_all_lock_free.
598 Consult libgupc/ChangeLog,
599 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
601 2012-09-26 Gary Funck <gary@intrepid.com>
603 * upc/upc-act.c (upc_cpp_builtins): Pre-define __UPC_TICK__.
605 2012-09-24 Gary Funck <gary@intrepid.com>
607 Merge trunk version 191658 into gupc branch.
609 2012-09-17 Gary Funck <gary@intrepid.com>
611 Merge trunk version 191376 into gupc branch.
613 2012-09-10 Gary Funck <gary@intrepid.com>
615 Merge trunk version 191141 into gupc branch.
617 2012-08-29 Nenad Vukicevic <nenad@intrepid.com>
619 * upc/gupc.texi: Add description for -fupc-pre-include.
621 2012-08-27 Gary Funck <gary@intrepid.com>
623 Merge trunk version 190707 into gupc branch.
624 * tree.h (struct tree_base): Adjust various
625 UPC tree and type flags to refer to the
626 newly introduced u.bits field.
628 2012-08-20 Gary Funck <gary@intrepid.com>
630 Merge trunk version 190524 into gupc branch.
631 Incorporates a fix in genoutput.c (to properly use
632 CONST_CAST) that led to build failures with
633 older versions of g++.
635 2012-08-16 Gary Funck <gary@intrepid.com>
637 Merge trunk version 190437 into gupc branch.
638 Incorporates a fix for a build failure on the PPC
639 due to passing incorrect switches to the assembler.
640 Also, first merged trunk revision that compiles GCC
641 with the C++ compiler in the first stage.
643 2012-08-16 Gary Funck <gary@intrepid.com>
645 * upc/upc-pts-struct.c (upc_pts_struct_is_null_p):
646 Adjust VEC_index() calls to use C++ syntax.
647 This is required as part of the move to compile
648 GCC with the C++ compiler.
650 2012-08-13 Gary Funck <gary@intrepid.com>
652 Merge trunk version 190336 into gupc branch.
654 2012-08-09 Gary Funck <gary@intrepid.com>
656 * c-family/c-common.c (c_fully_fold_internal): Do not fold
657 offsetof-like expressions when they are applied to UPC
660 2012-08-07 Gary Funck <gary@intrepid.com>
662 * upc/upc-genericize.c: Delete un-used include of optabs.h.
663 Fixes a parallel make failure due to un-noticed dependency.
665 2012-08-06 Gary Funck <gary@intrepid.com>
667 Merge trunk version 190173 into gupc branch.
669 2012-08-01 Gary Funck <gary@intrepid.com>
671 Merge trunk version 190063 into gupc branch.
672 Incorporates fix for build failure on IA64.
674 2012-07-30 Gary Funck <gary@intrepid.com>
676 Merge trunk version 189954 into gupc branch.
678 2012-07-27 Gary Funck <gary@intrepid.com>
680 Merge trunk version 189856 into gupc branch.
681 Incorporates fix for bootstrap with a sub-set of language
682 specific source directories present.
683 * optabs.c: Revert to trunk. Rather than defining opcodes
684 as a way of defining get/put runtime library function names,
685 generate them directly in gcc/upc/upc-genericize.c.
687 * genopinit.c: Ditto.
689 2012-07-27 Gary Funck <gary@intrepid.com>
691 * upc/upc-genericize.c (upc_expand_get, upc_expand_put):
692 Rather than referring to UPC-specific opcodes to find
693 the name of the get/put library function name, generate
695 (get_lc_mode_name): New.
697 2012-07-25 Gary Funck <gary@intrepid.com>
699 * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
700 Fix regression: field-by-field comparison of UPC
701 pointer-to-shared (vaddr, thread) only works
702 (with the current logic) for the == and != operators.
704 2012-07-24 Gary Funck <gary@intrepid.com>
706 * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
707 Fix warning about use of const_tree.
709 2012-07-24 Gary Funck <gary@intrepid.com>
711 Per UPC spec. 6.4.2p6, ignore the value of the
712 phase of a pointer-to-shared, when comparing for
714 * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
715 Use bit-wise comparison only if the UPC pointer-to-shared
716 target type has a block size <= 1 and the representation
717 has vaddr first or the comparison is for equality/inequality.
718 * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
719 Use (vaddr, thread) comparison only if the UPC pointer-to-shared
720 has a block size <= 1 or the comparison is for equality/inequality.
722 2012-07-23 Gary Funck <gary@intrepid.com>
724 Merge trunk version 189777 into gupc branch.
726 2012-07-16 Gary Funck <gary@intrepid.com>
728 Merge trunk version 189545 into gupc branch.
730 2012-07-12 Gary Funck <gary@intrepid.com>
732 Merge trunk version 189366 into gupc branch.
734 2012-07-05 Gary Funck <gary@intrepid.com>
736 Merge trunk version 189274 into gupc branch.
737 Incorporates graphite build infrastructure changes.
739 2012-07-04 Gary Funck <gary@intrepid.com>
741 Merge trunk version 189080 into gupc branch.
742 * Makefile.in: Adjust for move of C front-end files.
743 * c/Make-lang.in: Ditto.
745 2012-07-04 Gary Funck <gary@intrepid.com>
747 * upc/config-lang.in: Adjust for move of C front-end files.
748 * upc/upc-act.c: Look for c-tree.h and c-objc-common.h in c/.
749 * upc/upc-gasp.c: Ditto.
750 * upc/upc-genericize.c: Ditto.
751 * upc/upc-lang.c: Ditto.
752 * upc/upc-pts-struct.c: Ditto.
754 2012-07-03 Gary Funck <gary@intrepid.com>
756 Merge trunk version 189078 into gupc branch.
758 2012-06-25 Gary Funck <gary@intrepid.com>
760 Merge trunk version 188931 into gupc branch.
762 2012-06-18 Gary Funck <gary@intrepid.com>
764 Merge trunk version 188721 into gupc branch.
766 2012-06-11 Gary Funck <gary@intrepid.com>
768 Merge trunk version 188380 into gupc branch.
770 2012-06-04 Gary Funck <gary@intrepid.com>
772 Merge trunk version 188168 into gupc branch.
774 2012-05-29 Gary Funck <gary@intrepid.com>
776 Merge trunk version 187927 into gupc branch.
778 2012-05-19 Gary Funck <gary@intrepid.com>
780 * upc/upc-act.c (upc_lang_layout_decl): Ignore declarations of
781 an array of shared type declarations if the size of the
782 array is zero. This avoids a segfault when processing
783 the UPC blocking factor.
785 2012-05-18 Gary Funck <gary@intrepid.com>
787 Merge trunk version 187666 into gupc branch.
788 Incorporates fix for ICE in tree vectorization pass
789 when processing strided loads.
791 2012-05-17 Gary Funck <gary@intrepid.com>
793 Merge trunk version 187578 into gupc branch.
795 2012-05-09 Gary Funck <gary@intrepid.com>
797 Merge trunk version 187347 into gupc branch.
798 Incorporates fix for segfault in tree vectorization pass.
800 2012-05-08 Nenad Vukicevic <nenad@intrepid.com>
802 * upc/gupcspec.c (lang_specific_driver): Improve handling of
803 "-x" switches: (a) add "-x upc" switch for C source files if
804 no -x switch was seen before OR "-x none" was seen, (b) add
805 "-x none" for files other then C files if "-x upc" was
806 previously added. Cleanup warnings on unused variables
807 and integer conversion. Print verbose info regardless of the
808 command line being the same.
810 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
812 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
813 Appropriate libraries and include files are added on the
814 command line to make it possible to compile with the driver
817 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
819 * upc/gupc.texi: Simplify the description of the optimization
822 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
824 * upc/Make-lang.in: Remove build of xgupc.
825 * upc/gupcspec.c (get_libgupc_path): Delete.
826 (lang_specific_driver): Remove support for building xgupc.
827 Removed code tried to add -B, -L, -isystem to the command
828 line if xgupc driver is invoked from the development tree.
830 2012-05-04 Gary Funck <gary@intrepid.com>
832 * upc/upc-act.c (upc_num_threads): When THREADS is specified
833 statically, convert the value to a signed size type,
834 so that (for example) the thread affinity test in a
835 upc_forall() statement will work as expected for negative
836 integer index values.
838 2012-04-30 Nenad Vukicevic <nenad@intrepid.com>
840 * upc/Make-lang.in: Add year 2012 to the copyright.
842 2012-04-30 Nenad Vukicevic <nenad@intrepid.com>
844 * upc/gupc.c: Delete. The old GUPC driver.
845 * upc/gupcspec.c: Add. The new GUPC driver tailored
846 after fortran/gfortranspec.c driver. Options "-n", "-inst",
847 and "-inst-functions' are not supported by the new driver.
848 Support for building gupc and xgupc remains the same.
849 * upc/Make-lang.in (xgupc): Changes to compile gupcspec.c
852 * upc/gupc.texi: Remove '-n', '-inst', and '-inst-functions'
855 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
857 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
858 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
859 a function returns a pointer-to-shared in memory instead
861 (rs6000_pass_by_reference): Ditto.
863 2012-04-28 Gary Funck <gary@intrepid.com>
865 * c-decl.c (grokdeclarator): Set 'type' to error node
866 after detecting "shared auto variable" error to avoid
867 downstream complications.
868 * upc/upc-act.c: Fix a couple of spelling errors in comments.
870 2012-04-26 Gary Funck <gary@intrepid.com>
872 * c-family/c-pragma.c (handle_pragma_upc):
873 Fix typo in warning message.
875 2012-04-17 Nenad Vukicevic <nenad@intrepid.com>
877 * upc/gupc.texi: Fix the warning for usage of 'insertcopying'
878 before 'copying'. Minor changes to to copyright years and
881 2012-04-17 Gary Funck <gary@intrepid.com>
883 Merge trunk version 186486 into gupc branch.
885 2012-04-17 Gary Funck <gary@intrepid.com>
887 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
888 value of the pupc mode. Fixes a compile-time warning.
889 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
890 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
891 Improve source formatting.
893 2012-04-16 Gary Funck <gary@intrepid.com>
895 * upc/upc-genericize.c: Adjust copyright.
896 (upc_genericize_fndecl): Adjust call graph
897 union member reference to use the newly introduced
898 'symbol' field in order to refer to 'decl'.
900 2012-04-09 Gary Funck <gary@intrepid.com>
902 Merge trunk version 186243 into gupc branch.
903 Incorporates a powerpc 'ffi' fix.
905 2012-03-16 Gary Funck <gary@intrepid.com>
907 Merge trunk version 185454 into gupc branch.
908 Incorporates a libgcc fix for builds on Darwin.
910 2012-03-13 Gary Funck <gary@intrepid.com>
912 Merge trunk version 185278 into gupc branch.
913 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
914 call build_pointer_type() to apply UPC-specific qualifiers.
915 * top-level/configure.ac: factor the checking for posix hostst
916 out of the libgomp section so that it can also be used by libgupc.
917 * top-level/configure: Re-generate.
918 * DEV-PHASE: bump to 4.8.0-1.
920 2012-03-12 Gary Funck <gary@intrepid.com>
922 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
923 the mode for a pointer for upc-pointer-to-shared types.
925 2012-03-04 Gary Funck <gary@intrepid.com>
927 Merge trunk version 184900 into gupc branch.
929 2012-02-17 Gary Funck <gary@intrepid.com>
931 Released GUPC 4.7.0.2 based on version 183992.
932 * DEV-PHASE: Bump release identifier to 4.7.0-3.
933 * DATESTAMP: Bump date stamp.
935 2012-02-07 Nenad Vukicevic <nenad@intrepid.com>
937 * upc/gupc.texi: Added entries for the directory.
939 2012-02-05 Nenad Vukicevic <nenad@intrepid.com>
941 * upc/gupc-manpage.html: Removed. HTML files are generated from
944 2012-02-05 Nenad Vukicevic <nenad@intrepid.com>
946 * upc/gupc.texi (-x upc): Add files ending with '.c' to the list
947 of files compiled as UPC source.
949 2012-02-04 Nenad Vukicevic <nenad@intrepid.com>
951 * upc/Make-lang.in (doc/gupc.info): Fix dependencies for creating
954 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
956 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
957 code generation (same as #pragma pupc off).
958 (set_pupc_mode): New. Set/restore profiling mode.
959 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
960 (set_pupc_mode): New. Prototype.
961 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
962 profiling code for shared variables initialization routines.
964 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
966 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
967 profiling code for shared variables initialization routines.
969 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
971 * upc/Make-lang.in: Various changes related to generating
972 man/info pages from texi source file.
973 (upc.install-common): Fix for removing the upc command
974 link before install if suffix was applied.
975 (upc.install-pdf): New.
976 (upc.install-html): Change for the build from texi.
977 (upc.install-man): Change for the build from texi.
978 * upc/gupc.1: Removed.
979 * upc/gupc.texi: New. Created texi source for man/info
982 2012-01-31 Gary Funck <gary@intrepid.com>
984 Merge trunk version 183751 into gupc branch.
985 Incorporates fix for bootstrap failure on openSUSE 12.1.
987 2012-01-30 Nenad Vukicevic <nenad@intrepid.com>
989 * upc/Make-lang.in: Fix the --program-suffix configuration
990 option. GUPC executables are now installed with appropriate
991 suffixes and GUPC driver execs 'gcc' with the right suffix.
993 2012-01-24 Nenad Vukicevic <nenad@intrepid.com>
995 * upc/upc-lang.c (upc_init_options): Disable section anchors
998 2012-01-14 Gary Funck <gary@intrepid.com>
1000 * upc/upc-genericize.c (upc_genericize_expr): Update input_location
1001 while traversing the program tree.
1002 (upc_expand_get, upc_expand_put): For profiling, derive
1003 the source code location from the incoming 'loc' parameter.
1005 2012-01-10 Gary Funck <gary@intrepid.com>
1007 Merge trunk version 183072 into gupc branch.
1008 Incorporates libcpp __BASE_FILE__ fix.
1010 2012-01-09 Gary Funck <gary@intrepid.com>
1012 * upc/upc-genericize.c (upc_expand_put): Use is_gimple_reg instead of
1013 is_gimple_non_addressable.
1015 2012-01-06 Nenad Vukicevic <nenad@intrepid.com>
1017 * upc/Make-lang.in: Add appropriate linker flags when linking
1020 2012-01-06 Nenad Vukicevic <nenad@intrepid.com>
1022 * upc/Make-lang.in: Add appropriate linker flags when linking
1025 2011-12-31 Gary Funck <gary@intrepid.com>
1027 Fix gupc driver to avoid segfault when processing
1028 invalid use of a switch that expects an argument.
1029 * upc/gupc.c (get_libgupc_path): Add check for non-NULL value of
1030 libgupc_archive before attempting to access libgupc_archive[0].
1031 (main): Do not issue error if lib_dir is NULL. Instead, only
1032 process lib_dir if it is non-NULL.
1034 2011-12-31 Gary Funck <gary@intrepid.com>
1036 Improve -fupc-debug support.
1037 * upc/upc-genericize.c (upc_expand_get, upc_expand_put,
1038 upc_genericize_sync_stmt): Add check for flag_upc_debug.
1039 * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
1040 * upc/upc-pts-packed.c (upc_pts_packed_build_cvt): Ditto.
1041 * upc/upc-act.c (upc_cpp_builtins): Disable inlining of the
1042 runtime if flag_upc_debug is asserted.
1044 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
1046 * top-level/Makefile.def (flags_to_pass): Added GUPC
1047 defines. Fixes the make error when upc is not specified as one
1048 of the languages to build.
1049 * top-level/Makefile.in: Re-generate.
1051 2011-11-22 Gary Funck <gary@intrepid.com>
1053 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
1054 * dwarf2out.c (gen_compile_unit_die): Check for
1055 the "GNU UPC" language string in lieu of "GCC UPC".
1056 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
1058 2011-11-22 Gary Funck <gary@intrepid.com>
1060 * upc/upc-act.c (upc_cpp_builtins): Generate new pre-defined
1063 2011-11-18 Gary Funck <gary@intrepid.com>
1065 Merge trunk version 181552 into gupc branch.
1066 Incorporates libgcc/libunwind fix for IA64.
1068 2011-11-19 Gary Funck <gary@intrepid.com>
1070 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
1071 Add check for UPC when defining the language type value
1072 in a traceback entry.
1074 2011-11-19 Gary Funck <gary@intrepid.com>
1076 * upc/config-lang.in: Remove checks for supported targets.
1077 This is now done at a higher level.
1079 2011-11-18 Gary Funck <gary@intrepid.com>
1081 Merge trunk version 181493 into gupc branch.
1082 Incorporates final fix for PR target/49992.
1084 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
1086 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
1087 change that converted relative include paths into absolute
1088 ones, as it does not work with older version of make (3.80).
1090 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
1092 Apply patch for Darwin build - PR49992.
1093 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
1094 * gcc/configure.ac: Ditto.
1095 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
1096 * gcc/ada/gcc-interface/Makefile.in: Ditto.
1097 * top-level/configure: Re-generate.
1098 * gcc/configure: Re-genrate.
1100 2011-10-26 Gary Funck <gary@intrepid.com>
1102 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
1103 "libupc" to "libgupc".
1104 * top-level/configure.ac: Implement support for cross-builds, and
1105 adjust for rename of libupc to libgupc.
1106 * top-level/Makefile.tpl: Ditto.
1107 * top-level/Makefile.def: Ditto.
1108 * top-level/configure: Re-generate.
1109 * top-level/Makefile.in: Re-generate.
1110 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
1111 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
1112 * doc/tm.texi: Re-generate.
1113 * tree-pretty-print.c (dump_block_node): Delete unused variable.
1114 * gcc.c: Adjust for rename of libupc to libgupc.
1115 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
1116 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
1117 Change "xupc" to "xgupc".
1118 * configure.ac: Change "GCC UPC" to "GNU UPC".
1119 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
1120 so that they are absolute paths. This is needed because
1121 the upc-crtstuff builds are in the libgupc library build
1122 directories which are not at the same level as libgcc.
1123 * config/darwin.h: Adjust for rename of libupc to libgupc.
1125 2011-10-26 Gary Funck <gary@intrepid.com>
1127 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
1128 "libupc" to "libgupc".
1129 * upc/gupc.c: Rename from upc-cmd.c and adjust for rename
1130 of libupc to libgupc.
1131 * upc/upc-lang.c (LANG_HOOKS_NAME): Change "GCC UPC" to "GNU UPC".
1132 * upc/config-lang.in: Adjust for rename of libupc to libgupc.
1133 * upc/gupc.1: Rename from upc.1. Change "GCC UPC" references
1134 to "GNU UPC". Adjust for rename of libupc to libgupc.
1136 * upc/gupc-manpage.html: Rename from upc-manpage.html. Re-generate.
1137 * upc/Make-lang.in: Change "upc" to "gupc". Change "xupc" to "xgupc".
1138 Adjust for rename of libupc to libgupc. Install target symlink from
1139 "upc" to "gupc". Install target/version-specific hard links to "gupc".
1141 2011-10-20 Gary Funck <gary@intrepid.com>
1143 Merge trunk version 180276 into gupc branch.
1144 Incorporates fix for PR bootstrap/50709.
1146 2011-10-20 Gary Funck <gary@intrepid.com>
1148 Merge trunk version 180246 into gupc branch.
1150 2011-10-19 Gary Funck <gary@intrepid.com>
1152 Merge trunk version 180233 into gupc branch.
1153 Incorporates fix for PR debug/49310 (var tracking).
1155 2011-10-17 Gary Funck <gary@intrepid.com>
1157 Fix a regression caused by the previous commit.
1158 * upc/upc-genericize.c (upc_genericize_walk):
1159 Renamed from: upc_genericize_stmt.
1160 (upc_shared_addr): for COMPONENT_REF and INDIRECT_REF
1161 re-walk the tree after simplification, by calling
1162 upc_genericize_walk().
1163 (upc_genericize_array_ref): expand the newly constructed
1164 indirect reference by calling upc_genericize_indirect_ref().
1166 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
1168 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
1169 only four (O0 static/dynamic, O3 static/dynamic).
1170 Detect -fupc-threads-0 as an option for dynamic threads
1171 compile environment.
1173 2011-10-10 Gary Funck <gary@intrepid.com>
1175 * tree.c (check_qualified_type, check_aligned_type):
1176 Call tree_int_cst_equal() to compare UPC blocking factors
1177 if the corresponding tree pointers are not equal.
1178 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
1180 2011-10-10 Gary Funck <gary@intrepid.com>
1182 * upc/upc-genericize.c (upc_simplify_shared_ref): When simplifying
1183 the base address always convert to (shared [] char *).
1184 This ensures that &a[i].field1 ends up with the required
1185 zero block size, for example.
1187 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
1189 Add configuration checks for struct/packed builds so we can
1190 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
1191 * testsuite/lib/target-supports.exp
1192 (check_effective_target_upc_struct_pts): New.
1193 (check_effective_target_upc_packed_pts): New.
1195 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1197 Add to FLAGS the flags needed to disable inlining of
1198 UPC run-time access routines.
1199 * testsuite/lib/target-supports.exp
1200 (add_options_for_upc_library_calls): New.
1202 2011-09-15 Gary Funck <gary@intrepid.com>
1204 Fix ICE involving shared bit field accesses.
1205 * tree.c (build3_stat): Propagate TEEE_SHARED()
1206 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1208 2011-09-13 Gary Funck <gary@intrepid.com>
1210 Merge trunk version 178795 into gupc branch.
1211 Incorporates fix to PR bootstrap/50010 for x86-32.
1213 2011-09-08 Gary Funck <gary@intrepid.com>
1215 Merge trunk version 178557 into gupc branch.
1217 2011-09-07 Gary Funck <gary@intrepid.com>
1219 Ensure that UPC pointer-to-shared type alignment is
1220 propagated to the final type. Revert to long-standing
1221 alignment policy: twice the size of a "C" pointer.
1222 * tree.c (build_pointer_type): Propagate the alignment
1223 of the UPC pointer-to-shared representation type
1224 into the newly built pointer type.
1226 2011-08-30 Gary Funck <gary@intrepid.com>
1228 * tree.h (check_qualified_type): Change 'const_tree'
1229 argument types back to 'tree' to avoid complaints
1230 of assignment drops qualifiers for invocations of the
1231 newly implemented TYPE_BLOCK_FACTOR() macro, which
1232 invokes hash functions with 'tree' pointer values that
1233 are not const qualified.
1234 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1235 * c-typeck.c (comptypes_internal): Ditto.
1237 2011-08-29 Gary Funck <gary@intrepid.com>
1239 Fixes for regressions noted running "make check"
1241 * fold-const.c (fold_unary_loc): Execute UPC-specific
1242 checks for a cast-of-a-cast, only if one of the
1243 operands is a UPC pointer-to-shared value.
1244 * opts.c (print_specific_help): Fix a comparison
1245 in an assert that checks that there are enough
1246 bits reserved for the number of languages defined
1249 2011-08-29 Gary Funck <gary@intrepid.com>
1251 Implement a hash table to record UPC block factors.
1252 * c-family/stub-upc.c (upc_block_factor_insert,
1253 upc_block_factor_lookup): New dummy stub procedures.
1254 * c-family/c-common.c (c_sizeof_or_alignof_type):
1255 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1256 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1257 to copy (hashed) UPC blocking factor.
1258 (set_type_quals): Likewise.
1259 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1260 TYPE_HAS_THREADS_FACTOR().
1261 (type_common.block_factor): Delete.
1262 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1263 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1264 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1265 UPC blocking factors greater than one.
1266 * dwarf2out.c (modified_type_die): Re-implement
1267 logic that records UPC blocking factor in the generated
1268 DWARF2 debugging information.
1269 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1270 TYPE_HAS_THREADS_FACTOR().
1271 * c-decl.c (finish_decl, grokdeclarator):
1272 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1273 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1274 used by UPC, and print UPC-specific information.
1276 2011-08-28 Gary Funck <gary@intrepid.com>
1278 Re-work the type machinery to fully support and to unify support
1279 for the UPC layout qualifier (blocking factor).
1280 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1281 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1282 and update prototype.
1283 * c-family/c-common.c (complete_array_type): call newly
1284 defined c_build_qualified_type_1() instead of
1285 upc_set_block_factor().
1286 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1287 upc_apply_layout_qualifier() and update prototype.
1288 (upc_set_block_factor): Delete prototype.
1289 * c-family/c-common.h (c_build_qualified_type): redefine
1290 as a pre-processor macro that invokes c_build_qualified_type_1()
1291 with a null UPC layout qualifier.
1292 (c_build_qualified_type_1): New. Add layout qualifier argument
1293 to old c_build_qualified_type() prototype.
1294 * tree.c (set_type_quals, check_qualified_type):
1295 Add layout qualifier as argument.
1296 (check_aligned_type): Add check for UPC block factor equality.
1297 (get_qualified_type_1): Rename from get_qualified_type() and
1298 add layout qualifier as argument.
1299 (build_qualified_type_1): Rename from build_qualified_type() and
1300 add layout qualifier as argument.
1301 * tree.h (check_qualified_type): Add layout qualifier as argument
1303 (get_qualified_type): Re-define as a as a pre-processor macro
1304 that invokes get_qualified_type_1() with a null
1305 UPC layout qualifier.
1306 (get_qualified_type_1): Rename from get_qualified_type() and
1307 add layout qualifier as argument.
1308 * cp/tree.c (c_build_qualified_type_1): Rename from
1309 c_build_qualified_type() and add (unused) layout qualifier
1311 * c-decl.c (finish_decl): re-format long error messages.
1312 (grokdeclarator): Re-work the logic so that it calls
1313 upc_grok_layout_qualifier() to handle the UPC layout
1314 qualifier, if present.
1315 * c-typeck.c (qualify_type, common_pointer_type,
1316 build_component_ref): Re-work the logic so that it calls
1317 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1319 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1320 and add layout qualifier argument.
1321 * print_tree.c (print_node): Re-format a long line.
1323 2011-08-26 Gary Funck <gary@intrepid.com>
1325 Merge trunk version 177949 into gupc branch.
1326 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1328 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1329 to add new rliterals column value.
1331 2011-08-26 Gary Funck <gary@intrepid.com>
1333 * convert.c (convert_to_integer): Fix the check for the
1334 difference between two UPC pointers-to-shared values.
1336 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1338 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1339 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1340 correctly check packed bits.
1341 * configure: Re-generate.
1343 2011-08-16 Gary Funck <gary@intrepid.com>
1345 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1346 the barrier id expression is not an integer expression.
1348 2011-08-12 Gary Funck <gary@intrepid.com>
1350 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1352 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1353 Set mode of UPC pointer-to-shared rep. to an
1354 integral mode of size at least as large as the
1355 size of the representation's struct type.
1357 2011-08-12 Gary Funck <gary@intrepid.com>
1359 Rework/simplify the UPC genericize pass.
1360 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1361 upc_build_pointer_type): New.
1362 (upc_set_block_factor): Adjust to new calling sequence.
1363 (upc_build_shared_var_addr): Delete.
1364 * c-family/c-common.c (complete_array_type): Adjust call
1365 to upc_set_block_factor().
1366 * c-family/c-upc.h (upc_apply_layout_qualifier,
1367 upc_build_pointer_type): New.
1368 (upc_build_shared_var_addr): Delete.
1369 (upc_set_block_factor): Adjust to new calling sequence.
1370 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1371 * c-decl.c (grokdeclarator): Call newly defined
1372 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1373 * c-decl.c (grokdeclarator): Split long UPC-related error
1374 messages into two lines.
1375 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1376 directly. Revert that change to trunk. (upc_genericize() will
1377 handle lowering the expressions that take the address of a
1379 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1380 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1381 representation type.
1383 2011-08-10 Gary Funck <gary@intrepid.com>
1385 Implement additional fixes for recent merge with trunk.
1386 * explow.c (promote_mode): Do not attempt to promote
1387 the mode for UPC pointer-to-shared types.
1388 * config/i386/i386.c (function_value_64): Ditto.
1390 2011-08-07 Gary Funck <gary@intrepid.com>
1392 Merge trunk version 177548 into gupc branch.
1393 * config/i386/i386.c (ix86_promote_function_mode):
1394 Do not promote UPC pointers-to-shared to Pmode.
1395 * c-family/c-ommon.c (pointer_int_sum):
1396 Also check the pointer operand, rather than just
1397 its type, when making the decision to derive
1398 the equivalent unshared type.
1399 * tree.c (build2_stat): If the type of the result
1400 passed in as an argument is a UPC shared type,
1401 derive the unshared equivalent when calculating
1402 the result type of the node.
1404 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
1406 * config/darwin.c: Disable var_tracking option
1407 on -O0 as it is supposed to run only when optimization
1408 is applied. See GCC bug 49743.
1410 2011-07-06 Gary Funck <gary@intrepid.com>
1412 Re-implement the pass that lowers trees generated by
1413 the UPC front-end into GENERIC. Previously this was
1414 done within the gimplification framework, but this
1415 required that gimplification be run before inlining
1416 and various other passes, which did not fit in well
1417 with the current design of the middle-end passes.
1418 Now, the lowering is done by a newly defined language
1419 specific genericize hook. With this change, we are
1420 are able to undo some extensions made to the gimplify
1421 logic, and thus can revert several files to trunk.
1422 * c-decl.c: Add a check for UPC deprecated names which
1423 may appear as undefined function names.
1424 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1425 LTI_upc_getaddr): Remove definitions of unused UPC
1426 library function names. These were defined back when
1427 the libfunc interface was used to call these routines.
1428 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1429 in UPC lowering (genericize) pass.
1430 * langhooks.h (gimplify_expr): Revert to trunk's definition.
1431 (instrument_func): Delete this hook. Now handled in
1433 * tree-pass.h: Revert to trunk.
1434 * c-typeck.c (build_unary_op): Adjust reference to
1435 upc_genericize() in a comment.
1436 * gimplify.c (create_tmp_var_raw): Delete logic that
1437 was converting UPC shared types into unshared types
1438 to be used for temporaries. Now handled in upc_genericize().
1439 Replace with an assertion check.
1440 (prepare_gimple_addressable): Revert to trunk's definition.
1441 No longer needed as an externally called function.
1442 (flag_instrument_functions_exclude_p): Re-define as
1443 an externally called function.
1444 (gimplify_function_tree): Delete code that implemented
1445 call to UPC's language specific function instrumentation hook.
1446 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1447 (prepare_gimple_addressable): Delete extern definition;
1448 revert to trunk's definition.
1449 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1450 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1451 * c-family/c-gimplify.c: Revert to trunk.
1452 * cp/cp-gimplify.c: Revert to trunk.
1453 * cp/cp-tree.h: Revert to trunk.
1454 * explow.c: Revert to trunk.
1455 * langhooks.c: Revert to trunk.
1456 * libfuncs.h: Revert to trunk.
1457 * objc/objc-act.c: Revert to trunk.
1459 2011-06-30 Gary Funck <gary@intrepid.com>
1461 * c-family/c.opt: Bring options definitions up-to-date
1462 with respect to changes made in the trunk.
1464 2011-06-29 Gary Funck <gary@intrepid.com>
1466 Merge trunk version 175584 into gupc branch.
1468 2011-06-13 Gary Funck <gary@intrepid.com>
1471 * include/cpplib.h (enum c_lang):
1472 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1473 This keeps all the "C" variants together.
1474 * init.c (lang_defaults): Add an entry for UPC.
1476 2011-06-09 Gary Funck <gary@intrepid.com>
1478 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1479 a 32-bit target, the size expression overflowed, the result was
1480 error_mark_node, and an ICE was triggered on an attempt to evaluate
1481 C_TYPE_VARIABLE_SIZE() on the error node.
1482 (upc_blocksizeof_expr, upc_blocksizeof_type,
1483 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1484 Make similar changes to avoid further processing of error_mark_node.
1486 2011-06-07 Gary Funck <gary@intrepid.com>
1488 * sel-sched.c (move_op): Incorporate the following
1489 patch to eliminate ICE at -O3 on IA64/Altix.
1491 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
1493 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
1494 code_motion_path_driver returned 0 or 1.
1495 (sel_region_finish): Clear h_d_i_d.
1497 2011-06-02 Gary Funck <gary@intrepid.com>
1499 Merge trunk version 174558 into gupc branch.
1501 2011-05-30 Gary Funck <gary@intrepid.com>
1503 * configure.ac: Make the default order of the virtual
1504 address field in a UPC pointer-to-shared to be "first".
1505 This reverts to the previous setting, and is a short term
1506 measure to work around a bug found on the IA64,
1507 where vaddr=last led to incorrect code generation.
1508 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1509 in AC_DEFINE(), to agree with recent changes in files
1510 that reference this define.
1511 configure, config.in: Regenerate.
1513 2011-05-26 Gary Funck <gary@intrepid.com>
1515 * configure.ac: Fix typo when referring to $upc_vaddr_order.
1516 configure: Regenerate.
1517 * ../fixincludes/fixincl.x: Revert to trunk.
1518 This file is auto-generated, and should not be merged.
1520 2011-05-18 Gary Funck <gary@intrepid.com>
1522 Merge trunk version 173845 into gupc branch.
1524 2011-05-17 Gary Funck <gary@intrepid.com>
1526 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1527 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1528 * c-family/c-pragma.c: Remove conditional compilation
1529 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1530 Test 'compiling_upc' when compiling to determine if
1531 the "upc" and "pupc" pragmas should be registered.
1532 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1533 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1534 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1535 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1536 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1537 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1538 Move these target-dependent definitions from config/upc-conf.h
1540 * configure.ac: Improve the logic for UPC-related options.
1541 Delete references to pre-processor definitions that have
1542 been moved to "upc/upc-pts.h".
1543 * configure, config.in: Regenerate.
1544 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1545 to trunk. This substitution variable was used to
1546 configure the representation-specific versions of
1547 the tree rewrites that operate on UPC pointer-to-shared
1549 * c-parser.c (c_parser_upc_forall_statement): Remove
1550 reference to UPC_FORALL_DEPTH_NAME, and call
1551 newly defined upc_rts_forall_depth_var() instead.
1552 * config/upc-config.h: Delete. Various definitions
1553 moved to "upc/upc-rts-names.h", "defaults.h", and
1555 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1556 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1557 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1558 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1559 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1560 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1561 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1562 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1563 New. Document UPC target macros.
1564 doc/tm.texi: Regenerate.
1566 2011-05-07 Gary Funck <gary@intrepid.com>
1568 * ../configure.ac: Disable build of libupc
1569 on non POSIX hosted systems. Use AS_HELP_STRING
1570 to define messages. Remove 'word-pair' as a
1571 possible --with-upc-pts UPC pointer-to-shared
1573 * ../configure: Regenerate.
1574 * configure.ac: Use AS_HELP_STRING to define messages.
1575 Remove 'word-pair' as a possible --with-upc-pts
1576 UPC pointer-to-shared representation.
1577 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1578 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1579 * configure: Regenerate.
1580 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1582 * ChangeLog.upc: Fix some typos.
1584 2011-05-07 Gary Funck <gary@intrepid.com>
1586 * ../maintainer-scripts/gcc_release: Add "upc"
1587 as one of the released languages.
1589 2011-05-06 Gary Funck <gary@intrepid.com>
1591 Eliminate compilation warnings, by fixing
1592 #include's and updating function prototypes.
1593 * c-family/c-cppbuiltin.c: Include c-upc.h.
1594 * optabs.c (gen_libfunc): Change type of 'suffix'
1595 parameter to conform with prototype.
1596 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1597 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1599 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1601 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1602 argument values to cp_gimplify_expr.
1603 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1604 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
1605 pre-processor definitions that are no longer
1606 needed to build the 'upc' command (upc-cmd.c)
1607 because the linker specs. defined in libupc
1608 take care of linking in the needed libraries.
1609 * c-parser.c (c_parser_upc_forall_statement):
1610 initialize affinity_loc to avoid "maybe unused" warning.
1611 (c_parser_upc_sync_statement): Remove un-needed
1612 'ret' variable. Cast return value from
1613 'upc_build_sync_stmt' to 'void' to avoid
1614 compile-time warning.
1615 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1616 integer constant, not a string. Range is restricted
1617 to maximum positive 32-bit integer (2+ billion) to
1618 fit in with the use of 'int' in the front-end's
1619 switch handling logic.
1621 2011-05-06 Gary Funck <gary@intrepid.com>
1623 Upgrade c-family source files to conform with modularity
1624 improvements. Mainly, remove #include of c-tree.h in files
1625 under c-family, and define a new UPC-specific #include file,
1626 c-upc.h, and use it.
1627 * c-family/stub-upc.c: Remove #include of c-tree.h and
1628 upc/upc-act.h. Replace with #include of c-common.h
1630 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1631 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1632 upc_localsizeof_expr, upc_localsizeof_type,
1633 upc_shared_type_p): Delete.
1634 * c-family/c-opts.c: Add #include of c-upc.h
1635 * c-family/c-common.c: Remove #include of c-tree.h and
1636 add #include of c-upc.h.
1637 * c-family/c-upc.h: New. Define API for UPC-specific functions
1638 (mostly implemented in upc/upc-act.c).
1639 * c-family/c-common.h (upc_cpp_builtins,
1640 upc_write_global_declarations): Remove extern definitions.
1641 * c-family/c-pragma.c: Remove #include of c-tree.h.
1642 Add #include of c-upc.h.
1643 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
1645 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
1646 upc/upc-act.c, and define as a macro.
1647 (expand_affinity_test): Remove unused external definition.
1648 (build_upc_unshared_type): Add external definition.
1649 (upc_shared_type_p): Remove external definition.
1650 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1651 * dojump.c: Remove #include of c-tree.h.
1652 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1654 (count_upc_threads_refs, is_multiple_of_upc_threads,
1655 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1656 upc_build_shared_var_addr, upc_build_sync_stmt,
1657 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1658 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1659 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1660 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1661 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1662 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1663 set_upc_consistency_mode, get_upc_consistency_mode,
1664 push_upc_consistency_mode, pop_upc_consistency_mode,
1666 Move external definitions to c-family/c-upc.h.
1667 (upc_blocksizeof_type, upc_localsizeof_type,
1668 upc_elemsizeof_type): Remove external definitions;
1669 these functions were moved to c-parser.c.
1670 * c-decl.c: Add #include of c-upc.h.
1671 * c-typeck.c: Add #include of c-upc.h.
1672 * c-convert.c: Add #include of c-upc.h.
1673 * ChangeLog.upc: Fix typo.
1674 * Makefile.in: Add references to c-family/c-upc.h, everywhere
1675 there is a reference to c-family/c-objc.h.
1676 Remove extraneous reference to upc-act.h.
1677 * c-parser.c: Add #include of c-upc.h.
1678 (upc_blocksizeof_expr, upc_blocksizeof_type,
1679 upc_elemsizeof_expr, upc_elemsizeof_type,
1680 upc_localsizeof_expr, upc_localsizeof_type):
1681 Move from upc/upc-act.c.
1682 * tree.c (build_upc_unshared_type): New.
1683 Move upc_get_unshared_type from upc/upc-act.c and rename
1684 to build_upc_unshared_type.
1685 c-family/c-common.c (pointer_int_sum): refer to renamed
1686 build_upc_unshared_type function.
1687 c-convert.c (convert): Ditto.
1688 convert.c (convert_to_pointer): Ditto.
1689 c-typeck.c (build_unary_op, build_modify_expr,
1690 really_start_incremental_init): Ditto.
1691 gimplify.c (create_tmp_var_raw): Ditto.
1692 tree.c (build1_stat): Ditto.
1693 tree.h (upc_get_unshared_type): Rename to
1694 build_upc_unshared_type.
1696 2011-05-06 Gary Funck <gary@intrepid.com>
1698 Merge trunk version 173471 into gupc branch.
1700 2011-05-05 Gary Funck <gary@intrepid.com>
1702 Make changes that bring the GUPC branch more closely in sync.
1703 with the GCC trunk. Revert any fixes that are not UPC-specific.
1704 Remove gratuitous re-formatting.
1705 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1706 This file should have been removed in a previous merge
1708 * ../configure.ac: Remove Cray Catamount/CNL support.
1709 * ../configure: Regenerate.
1710 * ../config.sub: Remove Cray Catamount/CNL support.
1711 * config.gcc: Remove Cray Catamount/CNL support.
1712 * ../maintainer-scripts/gcc_release: Revert to trunk.
1713 * c-family/c-common.h: Define parse_optimize_options. Its definition
1714 was missed in a previous merge with the trunk.
1715 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1717 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1718 in addition to ARRAY_TYPE.
1719 * c-typeck.c: Remove an extra newline character.
1720 * varasm.c: Revert a fix that improved an error message
1721 when TLS common data is unimplemented.
1722 * varasm.c: Revert a gcc_assert that had been added which
1723 checked for a null DECL_SIZE_UNIT field.
1724 * emultls.c: Revert to trunk. Remove possible fix.
1725 * Makefile.in: Revert extra blank line that is present
1726 in the trunk version.
1727 * Makefile.in: Revert a fix that handled long shell
1728 argument lists for plugin headers.
1729 * config/ia64/ia64.opt: Revert an option setting
1730 that increased the default TLS address range.
1731 * config/ia64/crtbegin.asm: Revert to trunk.
1732 Removes an extra newline character.
1733 * ChangeLog.upc: Spell check.
1735 2011-05-03 Gary Funck <gary@intrepid.com>
1737 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1738 (c_apply_type_quals_to_decl): Ditto.
1739 * c-family/c-common.h: Ditto.
1741 * c-decl.c (merge_decls): Ditto.
1742 * c-typeck.c (qualify_type, default_conversion,
1743 build_component_ref, build_unary_op,
1744 c_build_qualified_type): Ditto.
1745 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1747 2011-04-29 Gary Funck <gary@intrepid.com>
1749 * c-decl.c (finish_decl): Improve error diagnostics.
1750 (grokdeclarator): Ditto.
1751 * c-typeck.c (build_c_cast): Improve error diagnostics.
1752 (convert_for_assignment): Ditto.
1753 (build_binary_op): Ditto.
1754 * c-parser.c (c_parser_upc_forall_statement):
1755 Improve error diagnostics.
1756 * convert.c (convert_to_integer): Improve error diagnostics.
1758 2011-04-24 Gary Funck <gary@intrepid.com>
1760 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1761 occurred if there is an error in the barrier id
1762 expression. Map error_mark_node into NULL.
1764 2011-04-22 Gary Funck <gary@intrepid.com>
1766 Merge trunk version 172873 into gupc branch.
1768 2011-04-19 Gary Funck <gary@intrepid.com>
1770 Merge trunk version 172359 into gupc branch.
1772 2011-04-14 Gary Funck <gary@intrepid.com>
1774 * c-family/c.opt: Add UPC as a valid language for various
1775 switches where it is valid for "C", that were not updated
1776 in previous merges with trunk.
1778 2011-04-13 Gary Funck <gary@intrepid.com>
1780 * c-family/c.opt (fupc-pre-include): New option definition.
1781 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1782 -fno-upc-pre-include is asserted.
1784 2011-04-07 Gary Funck <gary@intrepid.com>
1786 Merge trunk version 172158 into gupc branch.
1787 to bring in the following fix.
1789 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1792 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1793 if old and new states differ.
1795 2011-04-06 Gary Funck <gary@intrepid.com>
1797 Merge trunk version 171966 into gupc branch.
1799 2011-04-01 Gary Funck <gary@intrepid.com>
1801 * tree.h (tree_base): Move UPC flag bits into bit fields
1802 located just before spare bits. Decrement spare bits.
1803 Rename 'shared_flag' -> 'upc_shared_flag',
1804 'relaxed_flag' -> 'upc_relaxed_flag',
1805 'strict_flag' -> 'upc_strict_flag, and adjust macros
1806 that reference them accordingly.
1808 2011-04-01 Gary Funck <gary@intrepid.com>
1810 * c-decl.c (grokdeclarator): Fix formatting of
1811 code that sets UPC block size on scalars.
1813 2011-04-01 Gary Funck <gary@intrepid.com>
1815 * c-decl.c (grokdeclarator): Revert use of white space
1816 to match the trunk (to rationalize diffs).
1817 * c-typeck.c (convert_for_assignment): Ditto.
1818 * tree-ssa.c (useless_type_conversion_p): Ditto.
1820 2011-03-23 Gary Funck <gary@intrepid.com>
1822 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1823 the GCC 4.6 release branch.
1825 2011-03-21 Gary Funck <gary@intrepid.com>
1827 Merge trunk version 171202 into gupc branch.
1829 2011-03-20 Gary Funck <gary@intrepid.com>
1831 * varasm.c: Call error() directly with a format specifier,
1832 rather than using sprintf() to format the message.
1833 This should make it easier to internationalize UPC's error messages.
1835 2011-03-20 Gary Funck <gary@intrepid.com>
1837 * configure.ac: Fix the check for gnu ld when enabling
1838 UPC link script support.
1839 configure: Regenerate (also picks up changes from previous
1842 2011-03-20 Gary Funck <gary@intrepid.com>
1844 Move UPC start files, end files, and linker specs.
1845 into libupc. This reduces the impact on common GCC
1846 configuration files, and ensures that these UPC-specific
1847 components are only built when the UPC language dialect is selected.
1848 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1849 linker specs. Fix typo in -fupc-debug message.
1850 * config/upc-conf.h, config/darwin.h: Move defines for
1851 UPC-related section begins/ends into libupc/config/default/
1853 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1854 UPC-related linker compiler specifications,
1855 accessed via %:include().
1856 * configure.ac, configure: Remove logic related to building
1857 upc-crtbegin/end. Remove config. tests for numa and cpu
1858 affinity (previously used by the 'upc' driver); these
1859 settings are now propagated by target-specific compiler
1860 specs. built by libupc. Regenerate autoconf.
1861 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1862 linker compiler specifications, accessed via %:include().
1863 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1865 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1866 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1867 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1868 config/ia64/linux.h, config/mips/t-iris,
1869 config/mips/iris6.h: Revert to trunk version 167307.
1871 * configure, configure.ac, config.host, Makefile.in:
1872 Revert to trunk version 167307.
1874 2011-02-23 Gary Funck <gary@intrepid.com>
1876 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1877 removed negation on following 'if'.
1879 2011-02-22 Gary Funck <gary@intrepid.com>
1881 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1882 to check for the usage of certain deprecated UPC keywords.
1883 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1884 * c-tree.h (undeclared_variable): Define prototype.
1886 2011-02-12 Gary Funck <gary@intrepid.com>
1888 * c-typeck.c: (build_c_cast, convert_for_assignment)
1889 Diagnose an attempt to convert from an integer to
1890 a pointer-to-shared as an error. Also, fix various
1891 error messages so that they use the preferred term
1892 pointer-to-shared instead of "shared pointer".
1894 2011-02-07 Gary Funck <gary@intrepid.com>
1896 * c-typeck.c: (convert_for_assignment)
1897 Fix typo. in error message.
1899 2011-01-23 Gary Funck <gary@intrepid.com>
1901 * c-typeck.c: (c_build_qualified_type)
1902 derive UPC block size by calling upc_get_block_size(),
1903 to ensure that the element type of an array of an array
1904 is derived correctly.
1906 2010-12-29 Gary Funck <gary@intrepid.com>
1908 Merge trunk version 168314 into gupc branch.
1910 2010-12-15 Gary Funck <gary@intrepid.com>
1912 Merge trunk version 167307 into gupc branch.
1914 2010-10-19 Gary Funck <gary@intrepid.com>
1916 * c-typeck.c: Fix typo in previous fix
1917 which led to a mis-compare for equal block sizes.
1919 2010-10-18 Gary Funck <gary@intrepid.com>
1921 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1922 diagnosed as an error
1923 The conversion from any type (shared or not) to
1924 a shared type is likely either meaningless or an error. This update
1925 makes any conversion to a shared type, an error.
1927 2010-10-18 Gary Funck <gary@intrepid.com>
1929 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1930 generates spurious warning
1931 Add a #define procedure that does the same thing as
1932 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1933 this procedure to diagnose passing an integer value to a
1934 pointer-to-shared as an error.
1936 2010-10-18 Gary Funck <gary@intrepid.com>
1938 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1939 matching routine declaration.
1940 When checking for type compatibility, shared qualified types must
1941 have the same block factor. This check was missing from
1942 comptypes_internal(). This update adds the check for blocking
1945 2010-10-17 Gary Funck <gary@intrepid.com>
1947 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1949 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1951 2010-10-17 Gary Funck <gary@intrepid.com>
1953 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1954 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1955 produces ice with -O3 and -m32.
1956 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1958 2010-10-17 Gary Funck <gary@intrepid.com>
1960 * c-common.c: Diagnose the application of the various "*sizeof"
1961 operations on generic pointer-to-shared as a compilation error.
1963 2010-10-17 Gary Funck <gary@intrepid.com>
1965 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1966 message regarding a function parameter being declared with a shared
1968 The parameter's 'name' value is not defined at this point, and
1969 cannot be used in the error message. This update removes the
1970 reference to 'name', and eliminates the segfault.
1972 2010-10-16 Gary Funck <gary@intrepid.com>
1974 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1975 The gcc/Makefile.in rules for install-plugin had to be re-written to
1976 break up a long list of header files that exceeded the command line
1977 limitation imposed by Irix.
1978 Access functions for TFmode types had to be implemented.
1979 Apparently, this is the mode used for the SGI/MIPS port to represent
1982 2010-10-14 Gary Funck <gary@intrepid.com>
1984 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1985 via typedef chain should not be diagnosed as an error.
1986 If the block size that is given by the typedef is equal to the block
1987 size given explicitly in the variable declaration, then do not
1988 complain. The easiest way to make this check was to create a
1989 temporary type that is a clone of the element type and then set its
1990 block size using the given layout qualifier. Then compare the block
1991 size of the temporary (the declaration) to the block size specified
1992 in the typedef. This complexity is needed, because the '[*]' block
1993 size needs to be calculated, and the '[]' needs to be mapped into a
1996 2010-10-10 Gary Funck <gary@intrepid.com>
1998 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2000 The compiler properly detected the presence of two or more layout
2001 qualifiers as an error, but then hit an assertion check, because the
2002 code that followed the error expected to see a qualifier and not a
2003 layout specifier. The fix is simple: just return immediately after
2004 detecting the error.
2006 2010-10-10 Gary Funck <gary@intrepid.com>
2008 * c-decl.c: Improve error diagnostics for various cases of UPC
2009 shared array type declarations.
2010 Add the check for this error: "In the dynamic translation
2011 environment, THREADS may not appear in declarations of shared arrays
2012 with indefinite block size". Also, fix up a few of the other
2013 related error diagnostics.
2015 2010-10-09 Gary Funck <gary@intrepid.com>
2017 * c-common.c: Fix bug: segfault on incomplete array definition.
2018 This turned out to be a bit complicated. The logic in
2019 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2020 the THREADS identifier in the case where the blocking factor has
2021 been set to indefinite ([]). This can happen when indefinite array
2022 declarations are processed for shared arrays. At that time, the
2023 file scope has been closed and THREADS is no longer in scope. Some
2024 more work is needed on upc_lang_layout_decl(). It has some
2025 duplication, and notably duplicates the two branches of the if
2026 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2027 caller of this routine (layout_decl()).
2028 The method of forcing a layout qualifier of [] in the indefinite
2029 declaration handler is odd a well. The code that just does the
2030 setting of the block factor, needs to moved into its own routine
2031 that doesn't depend upon a declspec for '[]' to be passed in, just
2032 in order to set the blocking factor to some value (in this case, 0).
2033 Also, the logic for how that shared type is constructed is strange.
2034 First the type with 0 blocking factor is set. Then the shared
2035 qualifier is removed from the type, and then added back later. The
2036 intermediate type has a blocking factor set, but it has no shared
2037 qualifier. Fixing this will require some thought. It is tempting
2038 just to make indefinite shared arrays an error, rather than forcing
2039 the dimension to be '1'.
2040 This likely fixes a serious error in the previous update to
2041 upc_lang_layout_decl(), where it didn't have the logic to set
2042 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2043 the previous update would fail on many tests.
2045 2010-10-09 Gary Funck <gary@intrepid.com>
2047 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2048 (decl) is null, which can happen if some layout error occurred
2051 2010-10-09 Gary Funck <gary@intrepid.com>
2053 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2054 "variable-sized" when compiled in dynamic threads.
2055 This long-standing bug is easily fixed. Just check
2056 for the situation that the non-constant sized type is shared and
2057 that it does not have a dimension that references a multiple of
2058 threads. If this criteria is met, then issue a meaningful
2061 2010-10-01 Gary Funck <gary@intrepid.com>
2063 * configure, configure.ac: Update manual page, and bug reporting
2064 URL. Update "man" page to reflect debugging switches.
2065 Also, some general clean up. Change the bug reporting
2066 URL to point to gccupc.org.
2068 2010-09-27 Gary Funck <gary@intrepid.com>
2070 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2071 the UPC forall depth count variable is not found.
2072 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2073 The compiler will generate code that references this variable in
2074 order to implement nested upc_forall semantics. If there is a
2075 compiler build or install problem, this variable may not be found.
2076 In this case, terminate with an internal_error().
2078 2010-09-26 Gary Funck <gary@intrepid.com>
2080 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2081 mis-diagnosed as syntax error.
2082 Fix a failure exhibited by the Berkeley test case,
2083 bug873a.upc, which has the code:
2085 upc_forall (;;;d) {...} The compiler did not properly handle
2086 the empty "condition" clause, and did not recover well when it was
2087 determined that the use of a double value, "d" above, was neither a
2088 pointer-to-shared nor an integer expression. The update implements a
2089 fix for both issues.
2090 See also: gcc/c-parser.c gcc/upc/upc-act.c
2092 2010-09-23 Gary Funck <gary@intrepid.com>
2094 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2095 incorporated into the referencing type.
2096 This was semi-fixed a few times before. This update fixes a few
2097 more places where the layout qualifier wasn't being propagated
2098 through typedef's properly. What made this a bit tricky is shown in
2099 the example cited in the bug report:
2100 typedef shared [5] int A_t; A_t A[5*THREADS];
2101 In the typedef, the blocksize is being applied to a shared *scalar*,
2102 and the code was applying the blocksize only to arrays. This update
2103 handles shared scalars correctly.
2105 2010-09-22 Gary Funck <gary@intrepid.com>
2107 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2108 upc_forall() semantics are not implemented
2109 The checkforall test in the Berkeley harness test suite indicated
2110 that GCC/UPC was not properly implementing nested upc_forall
2111 semantics. Nested upc_forall statements (both statically or
2112 dynamically nested) must implement their affinity clause as if it
2113 were "continue"; thus all steps in the loop must execute without
2114 regard for affinity. To implement these semantics a global depth
2115 counter, __upc_forall_depth, is maintained by the generated code
2116 that implements upc_forall.
2117 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2118 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2119 libupc/include/upc.h libupc/smp/upc_main.c
2121 2010-09-19 Gary Funck <gary@intrepid.com>
2123 * c-decl.c: c-decl.c: zero out the layout specifier, after
2124 processing an array type.
2125 Fix the previous fix, that moved the setting of the type's layout
2126 qualifier to the outside of the array type processing loop. What is
2127 missing from the fix is that the layout_qualifier variable needs to
2128 be cleared after setting the type's blocksize.
2130 2010-09-19 Gary Funck <gary@intrepid.com>
2132 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2133 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2134 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2135 the actual maximum block size. Therefore, the message was correct,
2136 but the underlying value that was being checked was wrong. Change
2137 the values so that they agree with the actual implementation-defined
2140 2010-09-11 Gary Funck <gary@intrepid.com>
2142 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2143 multi-dimensional shared array with dynamic threads.
2144 This declaration caused an internal compiler error when compiled
2145 with dynamic threads:
2146 shared [*] int A[THREADS][16]; The bug was discovered when
2147 compiling the RTED_UPC test suite.
2148 The fix is to process layout qualifiers after the entire array type
2149 has been built. Otherwise, we try to calculate the blocksize on a
2150 shared array type that has not had its "size depends upon the value
2151 of THREADS" flag set.
2152 Also, added a test case.
2153 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2155 2010-07-11 Gary Funck <gary@intrepid.com>
2157 Fix a bug where a statement in c_build_qualified_type()
2158 in the trunk had been inadvertently deleted.
2159 This bug showed up in the IA64 port, because jmpbuf's
2160 on that architecture must be 16 byte aligned, and they were not.
2161 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2163 2010-07-08 Gary Funck <gary@intrepid.com>
2165 Make changes so that other language compilers
2166 will build and bootstrap.
2167 * c-family/c-common.c (compiling_upc, flag_upc,
2168 flag_upc_instrument, flag_upc_instrument_functions,
2169 use_upc_dwarf2_extensions): Move to stub-upc.c and
2171 * c-family/c-common.h (use_upc_dwarf2_extensions,
2172 compiling_upc): Add extern definitions - needed
2173 to compile/build other language front ends.
2174 * c-family/c.opt: Fix the spelling of ObjC.
2175 It had been incorrectly spelled as Objc.
2176 * c-family/c.opt: Add UPC for the various switches
2177 that are valid for both C and ObjC.
2178 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2179 supported options switches when compiling assembly
2181 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2182 flag_upc_instrument, flag_upc_instrument_functions):
2183 Remove these definitions. They have been moved
2184 to c-family/stub-upc.c.
2185 * upc/ChangeLog: Move relevant entries
2187 * c-family/stub-upc.c (compiling_upc, flag_upc,
2188 flag_upc_instrument, flag_upc_instrument_functions,
2189 use_upc_dwarf2_extensions): Moved from c-common.c
2190 * upc/upc-lang.c (compiling_upc, flag_upc,
2191 flag_upc_instrument, flag_upc_instrument_functions,
2192 use_upc_dwarf2_extensions): Moved from c-common.c
2193 * objc/objc-act.c (objc_gimplify_expr): Add additional
2194 parameters to c_gimplify_expr() call, that are used
2195 by upc's tree rewrites.
2196 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2197 * gcc/cp/lex.c (init_reswords): If not compiling
2198 UPC, then mask off the UPC keywords.
2199 * cp/Make-lang.in (C_STUB_OBJS): Use this
2200 make macro to link with c-family/stub-objc.o
2201 and c-family/stub-upc.o.
2202 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2203 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2204 * objc/Make-lang.in: Link with c-family/stub-upc.o
2205 to avoid undefined references.
2206 c-parser.c: Fix line indentation.
2207 * libcpp/include/cpplib.h: Remove CL_UPC from
2208 the list of language kinds accepted by the
2209 C preprocessor. This is not necessary because
2210 UPC is a derivative of C99, and does not need
2211 a different language kind.
2212 * c-fmaily/c-opts.c (c_common_handle_option):
2213 Call set_std_c99() when processing the
2214 "--lang upc" switch, instead of setting the
2215 language kind to CL_UPC.
2216 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2218 2010-07-03 Gary Funck <gary@intrepid.com>
2220 Merge trunk version 161517 into gupc branch.
2221 * gcc/stub-upc.c: Move to gcc/c-family/.
2222 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2223 Add 'unused' attributes to avoid "set, but
2224 not referenced" warnings.
2225 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2228 2010-03-01 Gary Funck <gary@intrepid.com>
2230 Create gupc branch from trunk version 157149.
2232 2011-10-04 Gary Funck <gary@intrepid.com>
2234 Merge trunk version 179421 into gupc branch.
2235 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
2236 argument to the call to check_qualified_type().
2238 2011-09-22 Gary Funck <gary@intrepid.com>
2240 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
2242 (dump_upc_type_quals): New.
2244 2011-09-22 Gary Funck <gary@intrepid.com>
2246 * upc/upc-act.c (upc_get_block_factor): test TYPE_HAS_BLOCK_FACTOR()
2247 before calling TYPE_BLOCK_FACTOR(). This fits better with
2248 recent encoding of block factor values with a hash table.
2250 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
2252 Add to FLAGS the flags needed to disable inlining of
2253 UPC run-time access routines.
2254 * testsuite/lib/target-supports.exp
2255 (add_options_for_upc_library_calls): New.
2257 2011-09-15 Gary Funck <gary@intrepid.com>
2259 Fix ICE involving shared bit field accesses.
2260 * tree.c (build3_stat): Propagate TEEE_SHARED()
2261 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
2263 2011-09-15 Gary Funck <gary@intrepid.com>
2265 Fix ICE involving shared bit field accesses.
2266 * upc/upc-genericize.c (upc_simplify_shared_ref): Improve
2267 "shared bit fields not yet implemented" error message
2268 by adding file/line number location.
2270 2011-09-13 Gary Funck <gary@intrepid.com>
2272 Merge trunk version 178795 into gupc branch.
2273 Incorporates fix to PR bootstrap/50010 for x86-32.
2275 2011-09-13 Gary Funck <gary@intrepid.com>
2277 * upc/upc-tree.def (UPC_FORALL_STMT): Fix spelling error in comments.
2278 * upc/upc-lang.c (upc_init_options): Ditto.
2279 * upc/upc-genericize.c (lookup_unshared_var, upc_shared_addr_rep,
2280 upc_genericize_expr, upc_genericize_compound_expr): Ditto.
2281 * upc/upc-act.c (upc_parse_init, upc_build_pointer_type,
2282 upc_block_factor_insert, upc_pts_is_valid_p): Ditto.
2284 2011-09-08 Gary Funck <gary@intrepid.com>
2286 Merge trunk version 178557 into gupc branch.
2288 2011-09-07 Gary Funck <gary@intrepid.com>
2290 Ensure that UPC pointer-to-shared type alignment is
2291 propagated to the final type. Revert to long-standing
2292 alignment policy: twice the size of a "C" pointer.
2293 * tree.c (build_pointer_type): Propagate the alignment
2294 of the UPC pointer-to-shared representation type
2295 into the newly built pointer type.
2297 2011-09-07 Gary Funck <gary@intrepid.com>
2299 Ensure that UPC pointer-to-shared type alignment is
2300 propagated to the final type. Revert to long-standing
2301 alignment policy: twice the size of a "C" pointer.
2302 * upc/upc-pts-struct.c (upc_pts_struct_init_type): Ensure that
2303 shared pointers have twice the alignment of a pointer.
2304 * upc/upc-act.c (upc_cpp_builtins): Unconditionally emit
2305 the definition of __UPC_PTS_ALIGN__.
2307 2011-09-02 Gary Funck <gary@intrepid.com>
2309 Align UPC pointers-to-shared, only if the target enforces
2311 * upc/upc-pts-struct.c (upc_pts_struct_init_type): Align a
2312 UPC pointer-to-shared type, only if the target requires
2314 * upc/upc-act.c (upc_cpp_builtins): Output pre-defined macro,
2315 __UPC_PTS_ALIGN__, only if the target requires strict alignment.
2317 2011-08-30 Gary Funck <gary@intrepid.com>
2319 * tree.h (check_qualified_type): Change 'const_tree'
2320 argument types back to 'tree' to avoid complaints
2321 of assignment drops qualifiers for invocations of the
2322 newly implemented TYPE_BLOCK_FACTOR() macro, which
2323 invokes hash functions with 'tree' pointer values that
2324 are not const qualified.
2325 * tree.c (check_qualified_type, check_aligned_type): Ditto.
2326 * c-typeck.c (comptypes_internal): Ditto.
2328 2011-08-29 Gary Funck <gary@intrepid.com>
2330 Fixes for regressions noted running "make check"
2332 * fold-const.c (fold_unary_loc): Execute UPC-specific
2333 checks for a cast-of-a-cast, only if one of the
2334 operands is a UPC pointer-to-shared value.
2335 * opts.c (print_specific_help): Fix a comparison
2336 in an assert that checks that there are enough
2337 bits reserved for the number of languages defined
2340 2011-08-29 Gary Funck <gary@intrepid.com>
2342 Implement a hash table to record UPC block factors.
2343 * c-family/stub-upc.c (upc_block_factor_insert,
2344 upc_block_factor_lookup): New dummy stub procedures.
2345 * c-family/c-common.c (c_sizeof_or_alignof_type):
2346 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2347 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
2348 to copy (hashed) UPC blocking factor.
2349 (set_type_quals): Likewise.
2350 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2351 TYPE_HAS_THREADS_FACTOR().
2352 (type_common.block_factor): Delete.
2353 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
2354 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
2355 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
2356 UPC blocking factors greater than one.
2357 * dwarf2out.c (modified_type_die): Re-implement
2358 logic that records UPC blocking factor in the generated
2359 DWARF2 debugging information.
2360 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2361 TYPE_HAS_THREADS_FACTOR().
2362 * c-decl.c (finish_decl, grokdeclarator):
2363 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2364 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
2365 used by UPC, and print UPC-specific information.
2367 2011-08-29 Gary Funck <gary@intrepid.com>
2369 Implement a hash table to record UPC block factors.
2370 * upc/upc-act.c (upc_block_factor_for_type): New garbage-collected
2372 (upc_lang_init, upc_finish): Move to end of source file.
2373 (upc_lang_init): create upc_block_factor_for_type hash table.
2374 (upc_block_factor_lookup, upc_block_factor_insert): New.
2375 (upc_grok_layout_qualifier, upc_lang_layout_decl, upc_pts_int_sum):
2376 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2377 (upc_grok_layout_qualifier): convert blocking factor to sizetype
2378 before checking for equality to element type's blocking factor.
2380 2011-08-28 Gary Funck <gary@intrepid.com>
2382 Re-work the type machinery to fully support and to unify support
2383 for the UPC layout qualifier (blocking factor).
2384 * c-family/stub-upc.c (upc_set_block_factor): Delete.
2385 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
2386 and update prototype.
2387 * c-family/c-common.c (complete_array_type): call newly
2388 defined c_build_qualified_type_1() instead of
2389 upc_set_block_factor().
2390 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
2391 upc_apply_layout_qualifier() and update prototype.
2392 (upc_set_block_factor): Delete prototype.
2393 * c-family/c-common.h (c_build_qualified_type): redefine
2394 as a pre-processor macro that invokes c_build_qualified_type_1()
2395 with a null UPC layout qualifier.
2396 (c_build_qualified_type_1): New. Add layout qualifier argument
2397 to old c_build_qualified_type() prototype.
2398 * tree.c (set_type_quals, check_qualified_type):
2399 Add layout qualifier as argument.
2400 (check_aligned_type): Add check for UPC block factor equality.
2401 (get_qualified_type_1): Rename from get_qualified_type() and
2402 add layout qualifier as argument.
2403 (build_qualified_type_1): Rename from build_qualified_type() and
2404 add layout qualifier as argument.
2405 * tree.h (check_qualified_type): Add layout qualifier as argument
2407 (get_qualified_type): Re-define as a as a pre-processor macro
2408 that invokes get_qualified_type_1() with a null
2409 UPC layout qualifier.
2410 (get_qualified_type_1): Rename from get_qualified_type() and
2411 add layout qualifier as argument.
2412 * cp/tree.c (c_build_qualified_type_1): Rename from
2413 c_build_qualified_type() and add (unused) layout qualifier
2415 * c-decl.c (finish_decl): re-format long error messages.
2416 (grokdeclarator): Re-work the logic so that it calls
2417 upc_grok_layout_qualifier() to handle the UPC layout
2418 qualifier, if present.
2419 * c-typeck.c (qualify_type, common_pointer_type,
2420 build_component_ref): Re-work the logic so that it calls
2421 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
2423 (c_build_qualified_type_1): Rename from c_build_qualified_type()
2424 and add layout qualifier argument.
2425 * print_tree.c (print_node): Re-format a long line.
2427 2011-08-28 Gary Funck <gary@intrepid.com>
2429 Re-work the type machinery to fully support and to unify support
2430 for the UPC layout qualifier (blocking factor).
2431 * upc/upc-genericize.c (upc_simplify_shared_ref): Call
2432 c_build_qualified_type_1() instead of upc_set_block_factor()
2433 to assert a zero blocking factor.
2434 * upc/upc-pts-struct.c (upc_pts_struct_init_type): Call
2435 c_build_qualified_type_1() to build predefined shared
2436 qualified types, instead of build_variant_type_copy().
2437 * upc/upc-pts-packed.c (upc_pts_packed_init_type): Call
2438 c_build_qualified_type_1() to build predefined shared
2439 qualified types, instead of build_variant_type_copy().
2440 * upc/upc-act.c (upc_set_block_factor): Delete.
2441 (upc_grok_layout_qualifier): Rename from upc_apply_layout_qualifier().
2442 Rework logic so that it returns a blocking factor rather than
2443 a qualified type. Add 'loc' argument and call error_at().
2444 Add an ELEM_BLOCK_FACTOR argument and Implement logic that merges
2445 the block size of the element type into the result type, and checks
2446 for errors due to an attempt to merge differing blocking factors.
2448 2011-08-26 Gary Funck <gary@intrepid.com>
2450 Merge trunk version 177949 into gupc branch.
2451 * c-family/c-common.h (enum rid): Bump the number of type modifiers
2453 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
2454 to add new rliterals column value.
2456 2011-08-26 Gary Funck <gary@intrepid.com>
2458 * convert.c (convert_to_integer): Fix the check for the
2459 difference between two UPC pointers-to-shared values.
2461 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
2463 * configure.ac: Fix the name for --with-upc-pts-packed-bits
2464 option. Support --with-upc-packed-bits as deprecated. Fix the code to
2465 correctly check packed bits.
2466 * configure: Re-generate.
2468 2011-08-16 Gary Funck <gary@intrepid.com>
2470 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
2471 the barrier id expression is not an integer expression.
2473 2011-08-16 Gary Funck <gary@intrepid.com>
2475 * upc/upc-act.c (upc_decl_init): Do not attempt to expand
2476 an error mark node. Fixes ICE after error diagnostic.
2477 * upc/upc-cmd.c (main): detect missing option argument for
2478 options that require an argument, and print error diagnostic.
2479 (get_print_cmd): Re-direct error output to /dev/null to
2480 avoid issuing duplicate error messages.
2482 2011-08-12 Gary Funck <gary@intrepid.com>
2484 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
2486 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
2487 Set mode of UPC pointer-to-shared rep. to an
2488 integral mode of size at least as large as the
2489 size of the representation's struct type.
2491 2011-08-12 Gary Funck <gary@intrepid.com>
2493 Rework/simplify the UPC genericize pass.
2494 * c-family/stub-upc.c (upc_apply_layout_qualifier,
2495 upc_build_pointer_type): New.
2496 (upc_set_block_factor): Adjust to new calling sequence.
2497 (upc_build_shared_var_addr): Delete.
2498 * c-family/c-common.c (complete_array_type): Adjust call
2499 to upc_set_block_factor().
2500 * c-family/c-upc.h (upc_apply_layout_qualifier,
2501 upc_build_pointer_type): New.
2502 (upc_build_shared_var_addr): Delete.
2503 (upc_set_block_factor): Adjust to new calling sequence.
2504 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
2505 * c-decl.c (grokdeclarator): Call newly defined
2506 upc_apply_layout_qualifier() instead of upc_set_block_factor().
2507 * c-decl.c (grokdeclarator): Split long UPC-related error
2508 messages into two lines.
2509 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
2510 directly. Revert that change to trunk. (upc_genericize() will
2511 handle lowering the expressions that take the address of a
2513 * config/i386/i386.c (ix86_promote_function_mode): For UPC
2514 pointers-to-shared, return the type mode of the UPC pointer-to-shared
2515 representation type.
2517 2011-08-12 Gary Funck <gary@intrepid.com>
2519 Rework/simplify the UPC genericize pass.
2520 * upc/upc-pts.h (upc_pts_ops_t): Remove 'add_offset' field.
2521 * upc/upc-act.h: Cosmetic change.
2522 * upc/config-lang.in (gtypes): Add upc-genericize.[ch] to the list.
2523 * upc/upc-genericize.c (upc_expand_get):
2524 Add WANT_STABLE_VALUE parameter.
2525 (upc_build_shared_var_addr, upc_shared_addr_rep): New.
2526 (uid_tree_map, unshared_vars, uid_tree_map_hash, uid_tree_map_eq,
2527 create_unshared_var, lookup_unshared_var, map_unshared_var,
2528 unshared_var_addr, unshared_var_name,
2529 upc_free_unshared_var_table): Move from upc-act.c.
2530 (upc_expand_get, upc_expand_put): Change their source and/or
2531 destination parameters so that they are no longer addresses
2532 of the objects, but rather references to the objects themselves.
2533 (upc_simplify_shared_ref): Rewrite (simplify/generalize).
2534 (upc_shared_addr_rep): New.
2535 (upc_shared_addr): Adjust call to upc_build_shared_var_addr(),
2536 and re-factor the logic.
2537 (upc_genericize_sync_stmt): Re-format comment.
2538 (upc_genericize_shared_var_ref): Adjust call to upc_expand_get().
2539 (upc_genericize_addr_expr): Re-factor the logic.
2540 (upc_genericize_indirect_ref, upc_genericize_field_ref):
2541 Adjust call to upc_expand_get() and re-factor the logic.
2542 (upc_genericize_modify_expr): Adjust call to upc_expand_put()
2543 and re-factor the logic.
2544 (upc_genericize_expr): Improve/fix comments.
2545 (upc_genericize_finish, upc_genericize_init): New.
2546 * upc/upc-pts-struct.c (upc_pts_struct_build_add_offset): Delete.
2547 (upc_char_pts_type_node): Create new global type node.
2548 (upc_pts_struct_is_null_p): Generalize variable names to
2549 reflect the fact that the vaddr field can be either first/last.
2550 (upc_pts_struct_build_sum): Make corrections to comments.
2551 (upc_pts_struct_build_add_offset): Delete.
2552 * upc/upc-genericize.h (upc_genericize_finish, upc_genericize_init):
2554 * upc/upc-pts-packed.c (upc_pts_packed_build_add_offset): Delete.
2555 (upc_char_pts_type_node): Create new global type node.
2556 * upc/Make-lang.in: Add dependencies to gtype-upc.h
2557 and gt-upc-upc-genericize.h.
2558 * upc/upc-act.c: Adjust includes to reflect moving the functions
2559 that handle the UPC unshared "shadow variables" into
2560 upc-genericize.c. Improve/fix various comments.
2561 * upc/upc-act.c (upc_parse_init): Call upc_genericize_init().
2562 (upc_build_pointer_type): New.
2563 (upc_set_block_factor): Re-purpose. Move the front-end
2564 related error checks into upc_apply_layout_qualifier().
2565 (upc_apply_layout_qualifier): New.
2566 (upc_write_global_declarations): Call upc_genericize_finish().
2568 2011-08-10 Gary Funck <gary@intrepid.com>
2570 Implement additional fixes for recent merge with trunk.
2571 * explow.c (promote_mode): Do not attempt to promote
2572 the mode for UPC pointer-to-shared types.
2573 * config/i386/i386.c (function_value_64): Ditto.
2575 2011-08-07 Gary Funck <gary@intrepid.com>
2577 Merge trunk version 177548 into gupc branch.
2578 * config/i386/i386.c (ix86_promote_function_mode):
2579 Do not promote UPC pointers-to-shared to Pmode.
2580 * c-family/c-ommon.c (pointer_int_sum):
2581 Also check the pointer operand, rather than just
2582 its type, when making the decision to derive
2583 the equivalent unshared type.
2584 * tree.c (build2_stat): If the type of the result
2585 passed in as an argument is a UPC shared type,
2586 derive the unshared equivalent when calculating
2587 the result type of the node.
2589 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
2591 * config/darwin.c: Disable var_tracking option
2592 on -O0 as it is supposed to run only when optimization
2593 is applied. See GCC bug 49743.
2595 2011-07-11 Gary Funck <gary@intrepid.com>
2597 * upc/upc-genericize.c (upc_expand_put): Fix bug, where strict/relaxed
2598 qualification was incorrectly derived from the source operand.
2599 (upc_genericize_fndecl): New.
2600 (upc_gnericize): Call upc_genericize_fndecl() to avoid calling
2601 c_genericize() more than once in the event of nested procedures.
2602 (upc_genericize_real_imag_ref): Rename,
2603 was: upc_genericize_real_image_ref.
2604 (upc_expand_put): call internal_error() with meaningful message
2606 (upc_genericize_real_imag_ref): call internal_error() with
2607 meaningful message in lieu of gcc_unreachable().
2609 2011-07-06 Gary Funck <gary@intrepid.com>
2611 Re-implement the pass that lowers trees generated by
2612 the UPC front-end into GENERIC. Previously this was
2613 done within the gimplification framework, but this
2614 required that gimplification be run before inlining
2615 and various other passes, which did not fit in well
2616 with the current design of the middle-end passes.
2617 Now, the lowering is done by a newly defined language
2618 specific genericize hook. With this change, we are
2619 are able to undo some extensions made to the gimplify
2620 logic, and thus can revert several files to trunk.
2621 * c-decl.c: Add a check for UPC deprecated names which
2622 may appear as undefined function names.
2623 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2624 LTI_upc_getaddr): Remove definitions of unused UPC
2625 library function names. These were defined back when
2626 the libfunc interface was used to call these routines.
2627 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2628 in UPC lowering (genericize) pass.
2629 * langhooks.h (gimplify_expr): Revert to trunk's definition.
2630 (instrument_func): Delete this hook. Now handled in
2632 * tree-pass.h: Revert to trunk.
2633 * c-typeck.c (build_unary_op): Adjust reference to
2634 upc_genericize() in a comment.
2635 * gimplify.c (create_tmp_var_raw): Delete logic that
2636 was converting UPC shared types into unshared types
2637 to be used for temporaries. Now handled in upc_genericize().
2638 Replace with an assertion check.
2639 (prepare_gimple_addressable): Revert to trunk's definition.
2640 No longer needed as an externally called function.
2641 (flag_instrument_functions_exclude_p): Re-define as
2642 an externally called function.
2643 (gimplify_function_tree): Delete code that implemented
2644 call to UPC's language specific function instrumentation hook.
2645 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2646 (prepare_gimple_addressable): Delete extern definition;
2647 revert to trunk's definition.
2648 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2649 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2650 * c-family/c-gimplify.c: Revert to trunk.
2651 * cp/cp-gimplify.c: Revert to trunk.
2652 * cp/cp-tree.h: Revert to trunk.
2653 * explow.c: Revert to trunk.
2654 * langhooks.c: Revert to trunk.
2655 * libfuncs.h: Revert to trunk.
2656 * objc/objc-act.c: Revert to trunk.
2658 2011-07-06 Gary Funck <gary@intrepid.com>
2660 Improve/simplify the logic in upc_genericize.
2661 * upc/upc-genericize.c (upc_create_tmp_var): Delete the
2662 PREFIX argument. Aways use "UPC" as the prefix.
2663 (upc_genericize_compound_expr): Add a WANT_VALUE argument.
2664 (upc_genericize_cond_expr): New.
2665 (upc_genericize_decl_expr): New.
2666 (upc_genericize_stmt): New.
2667 (upc_copy_value_to_tmp_var, upc_expand_get): Adjust call
2668 to upc_create_tmp_var().
2669 (upc_genericize_expr): Change the handling
2670 of the want_value flag passed in the DATA argument.
2671 Always assert this flag after processing EXPR_P.
2672 (upc_genericize_compound_expr): Adjust call
2673 to upc_genericize_compound_expr() and call
2674 upc_genericize_cond_expr() and upc_genericize_decl_expr().
2676 2011-07-06 Gary Funck <gary@intrepid.com>
2678 Re-implement the pass that lowers trees generated by
2679 the UPC front-end into GENERIC. Previously this was
2680 done within the gimplification framework, but this
2681 required that gimplification be run before inlining
2682 and various other passes, which did not fit in well
2683 with the current design of the middle-end passes.
2684 Now, the lowering is done by a newly defined language
2685 specific genericize hook. With this change, we are
2686 are able to undo some extensions made to the gimplify
2687 logic, and thus can revert several files to trunk.
2688 * upc/upc-genericize.c: Rename upc-gimplify.c to upc-genericize.c.
2689 * upc/upc-genericize.h: Rename upc-gimplify.h to upc-genericize.h.
2690 * upc/Make-lang.in: Adjust to refer to upc-genericize.[cho].
2691 * upc/upc-lnag.c: refer to upc-genericize.h.
2692 (LANG_HOOKS_GENERICIZE): define as upc_genericize.
2693 (LANG_HOOKS_GIMPLIFY_EXPR): Delete.
2694 (LANG_HOOKS_INSTRUMENT_FUNC): Delete.
2695 * upc/upc-act.c: Minor code format fix.
2697 2011-06-30 Gary Funck <gary@intrepid.com>
2699 * c-family/c.opt: Bring options definitions up-to-date
2700 with respect to changes made in the trunk.
2702 2011-06-29 Gary Funck <gary@intrepid.com>
2704 Merge trunk version 175584 into gupc branch.
2706 2011-06-29 Gary Funck <gary@intrepid.com>
2708 Merge trunk version 175584 into gupc branch.
2709 * upc/upc-act.c (upc_handle_option): Change reference to
2710 have_named_sections so that it refers to the
2711 targetm_common structure.
2713 2011-06-28 Gary Funck <gary@intrepid.com>
2715 * upc/upc-act.h (upc_write_init_func, upc_free_unshared_var_table):
2716 Remove extern definitions. Now declared as 'static'.
2717 * upc/upc-gimplify.c, upc/upc-lang.c,
2718 upc-pts-struct.c, upc-gasp.c, upc-pts-packed.c,
2719 upc-cmd.c, upc-act.c: Improve/add comments, fix
2720 typos and spelling errors.
2722 2011-06-13 Gary Funck <gary@intrepid.com>
2725 * include/cpplib.h (enum c_lang):
2726 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2727 This keeps all the "C" variants together.
2728 * init.c (lang_defaults): Add an entry for UPC.
2730 2011-06-10 Gary Funck <gary@intrepid.com>
2732 * upc/upc-act.c (upc_set_block_factor): Handle the case where
2733 the UPC blocking factor expression overflowed.
2735 2011-06-09 Gary Funck <gary@intrepid.com>
2737 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2738 a 32-bit target, the size expression overflowed, the result was
2739 error_mark_node, and an ICE was triggered on an attempt to evaluate
2740 C_TYPE_VARIABLE_SIZE() on the error node.
2741 (upc_blocksizeof_expr, upc_blocksizeof_type,
2742 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2743 Make similar changes to avoid further processing of error_mark_node.
2745 2011-06-07 Gary Funck <gary@intrepid.com>
2747 * sel-sched.c (move_op): Incorporate the following
2748 patch to eliminate ICE at -O3 on IA64/Altix.
2750 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
2752 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
2753 code_motion_path_driver returned 0 or 1.
2754 (sel_region_finish): Clear h_d_i_d.
2756 2011-06-02 Gary Funck <gary@intrepid.com>
2758 Merge trunk version 174558 into gupc branch.
2760 2011-06-02 Gary Funck <gary@intrepid.com>
2762 Merge trunk version 174558 into gupc branch.
2763 * upc/upc-lang.c (upc_check_decl_init): Use recently defined
2764 'append_to_statement_list_force' function to add UPC
2765 initialization statements to the UPC initialization
2766 statement list ('upc_init_stmt_list').
2767 (upc_build_init_func): Use recently defined
2768 'append_to_statement_list_force' function to add
2769 statements listed in 'upc_init_stmt_list' onto the
2770 function body constructed to implement initialization
2771 of UPC declarations that require active initialization
2772 at program start up. The previous methods of manipulating
2773 statement lists no longer worked, due to changes in the
2774 the statement list structure.
2776 2011-05-30 Gary Funck <gary@intrepid.com>
2778 * configure.ac: Make the default order of the virtual
2779 address field in a UPC pointer-to-shared to be "first".
2780 This reverts to the previous setting, and is a short term
2781 measure to work around a bug found on the IA64,
2782 where vaddr=last led to incorrect code generation.
2783 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2784 in AC_DEFINE(), to agree with recent changes in files
2785 that reference this define.
2786 configure, config.in: Regenerate.
2788 2011-05-26 Gary Funck <gary@intrepid.com>
2790 * configure.ac: Fix typo when referring to $upc_vaddr_order.
2791 configure: Regenerate.
2792 * ../fixincludes/fixincl.x: Revert to trunk.
2793 This file is auto-generated, and should not be merged.
2795 2011-05-23 Gary Funck <gary@intrepid.com>
2797 * upc/upc-pts-struct.c: Revert to code that aligned the
2798 internal pointer-to-shared representation to
2799 twice the alignment of a pointer. This fixes
2800 an ICE that occurred when building the compiler
2803 2011-05-18 Gary Funck <gary@intrepid.com>
2805 Merge trunk version 173845 into gupc branch.
2807 2011-05-17 Gary Funck <gary@intrepid.com>
2809 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2810 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2811 * c-family/c-pragma.c: Remove conditional compilation
2812 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2813 Test 'compiling_upc' when compiling to determine if
2814 the "upc" and "pupc" pragmas should be registered.
2815 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2816 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2817 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2818 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2819 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2820 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2821 Move these target-dependent definitions from config/upc-conf.h
2823 * configure.ac: Improve the logic for UPC-related options.
2824 Delete references to pre-processor definitions that have
2825 been moved to "upc/upc-pts.h".
2826 * configure, config.in: Regenerate.
2827 * Makefile.in (UPC_PTS_REP): Remove definition and revert
2828 to trunk. This substitution variable was used to
2829 configure the representation-specific versions of
2830 the tree rewrites that operate on UPC pointer-to-shared
2832 * c-parser.c (c_parser_upc_forall_statement): Remove
2833 reference to UPC_FORALL_DEPTH_NAME, and call
2834 newly defined upc_rts_forall_depth_var() instead.
2835 * config/upc-config.h: Delete. Various definitions
2836 moved to "upc/upc-rts-names.h", "defaults.h", and
2838 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2839 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2840 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2841 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2842 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2843 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2844 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2845 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2846 New. Document UPC target macros.
2847 doc/tm.texi: Regenerate.
2849 2011-05-17 Gary Funck <gary@intrepid.com>
2851 * upc/upc-pts.h (upc_pts_build_value, upc_pts_build_add_offset,
2852 upc_pts_build_cond_expr, upc_pts_build_constant,
2853 upc_pts_build_cvt, upc_pts_build_diff, upc_pts_build_sum,
2854 upc_pts_build_threadof, upc_pts_init_type): Remove extern
2856 (upc_pts_ops_t): New. Define handler table that will
2857 implement either the 'packed' or the 'struct' representation
2858 of a UPC pointer-to-shared value.
2859 (upc_pts_packed_ops, upc_pts_struct_ops): New. Define extern that
2860 refers to the packed and the struct UPC pointer-to-shared
2861 representation implementation.
2862 (upc_pts): New. Define handler table that is set up at initialization
2863 to refer to the handlers for the UPC pointer-to-shared
2864 representation (packed/struct) that has been configured.
2865 Add conditional compilation test for HAVE_UPC_PTS_PACKED_REP
2866 and configure the UPC pointer-to-shared definitions that
2867 are specific to the configured UPC pointer-to-shared
2869 * upc/upc-act.h (upc_pts_is_valid_p): Rename extern definition from
2870 is_valid_pts_p to upc_pts_is_valid_p.
2871 * lang-specs.h: Reformat the UPC compilation specs.
2872 to improve readability.
2873 * upc/upc-rts-names.h: New. Define the names of UPC runtime
2874 library functions that implement UPC language statement
2875 semantics. These definitions were moved from config/upc-conf.h
2876 * upc/upc-gimplify.c: Add include of "upc-rts-names.h".
2877 Refer to newly defined pointer manipulation routines
2878 by indirecting through the newly defined "pts" handler table.
2879 Re-format, re-indent.
2880 * upc/upc-lang.c: Add include of "upc-pts.h". Fix a comment.
2881 * upc/config-lang.in: Remove logic that inserted "config/upc-conf.h"
2882 into the target include and file path.
2883 * upc/upc-pts-struct.c: Add include of "upc-rts-names.h".
2884 (upc_pts_struct_ops): Define the pointer manipulation
2885 handler table that implements operations on UPC
2886 pointers-to-shared, represented as a struct.
2887 Re-format and re-indent.
2888 * upc/upc-gasp.c: Add include of "upc-rts-names.h".
2889 Re-format and re-indent.
2890 * upc/upc-pts-packed.c: Add include of "upc-rts-names.h".
2891 (upc_pts_packed_ops): Define the pointer manipulation
2892 handler table that implements operations on UPC
2893 pointers-to-shared, represented as a packed integer.
2894 Re-format and re-indent.
2895 * upc/Make-lang.in: Compile both "upc-pts-packed.c" and
2896 "upc-pts-struct.c". One/other will be selected at
2897 compilation time to implement operations on UPC
2898 on the UPC pointer-to-shared that has been configured.
2899 Add dependencies on "upc-rts-names.h".
2900 * upc/upc-cmd.c: Re-format and re-indent.
2901 * upc/upc-act.c: Add include of "upc-rts-names.h".
2902 (upc_pts): New. Add definition of the handler
2903 table that implements representation specific
2904 operations on trees that refer to UPC pointer-to-shared
2905 objects and types. Re-format and re-indent.
2907 2011-05-07 Gary Funck <gary@intrepid.com>
2909 * ../configure.ac: Disable build of libupc
2910 on non POSIX hosted systems. Use AS_HELP_STRING
2911 to define messages. Remove 'word-pair' as a
2912 possible --with-upc-pts UPC pointer-to-shared
2914 * ../configure: Regenerate.
2915 * configure.ac: Use AS_HELP_STRING to define messages.
2916 Remove 'word-pair' as a possible --with-upc-pts
2917 UPC pointer-to-shared representation.
2918 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2919 (UPC_MAX_BLOCK_SIZE): Correct the default value.
2920 * configure: Regenerate.
2921 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2923 * ChangeLog.upc: Fix some typos.
2925 2011-05-07 Gary Funck <gary@intrepid.com>
2927 * ../maintainer-scripts/gcc_release: Add "upc"
2928 as one of the released languages.
2930 2011-05-06 Gary Funck <gary@intrepid.com>
2932 Eliminate compilation warnings, by fixing
2933 #include's and updating function prototypes.
2934 * c-family/c-cppbuiltin.c: Include c-upc.h.
2935 * optabs.c (gen_libfunc): Change type of 'suffix'
2936 parameter to conform with prototype.
2937 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2938 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2940 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2942 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2943 argument values to cp_gimplify_expr.
2944 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2945 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2946 pre-processor definitions that are no longer
2947 needed to build the 'upc' command (upc-cmd.c)
2948 because the linker specs. defined in libupc
2949 take care of linking in the needed libraries.
2950 * c-parser.c (c_parser_upc_forall_statement):
2951 initialize affinity_loc to avoid "maybe unused" warning.
2952 (c_parser_upc_sync_statement): Remove un-needed
2953 'ret' variable. Cast return value from
2954 'upc_build_sync_stmt' to 'void' to avoid
2955 compile-time warning.
2956 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2957 integer constant, not a string. Range is restricted
2958 to maximum positive 32-bit integer (2+ billion) to
2959 fit in with the use of 'int' in the front-end's
2960 switch handling logic.
2962 2011-05-06 Gary Funck <gary@intrepid.com>
2964 Upgrade c-family source files to conform with modularity
2965 improvements. Mainly, remove #include of c-tree.h in files
2966 under c-family, and define a new UPC-specific #include file,
2967 c-upc.h, and use it.
2968 * c-family/stub-upc.c: Remove #include of c-tree.h and
2969 upc/upc-act.h. Replace with #include of c-common.h
2971 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2972 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2973 upc_localsizeof_expr, upc_localsizeof_type,
2974 upc_shared_type_p): Delete.
2975 * c-family/c-opts.c: Add #include of c-upc.h
2976 * c-family/c-common.c: Remove #include of c-tree.h and
2977 add #include of c-upc.h.
2978 * c-family/c-upc.h: New. Define API for UPC-specific functions
2979 (mostly implemented in upc/upc-act.c).
2980 * c-family/c-common.h (upc_cpp_builtins,
2981 upc_write_global_declarations): Remove extern definitions.
2982 * c-family/c-pragma.c: Remove #include of c-tree.h.
2983 Add #include of c-upc.h.
2984 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2986 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2987 upc/upc-act.c, and define as a macro.
2988 (expand_affinity_test): Remove unused external definition.
2989 (build_upc_unshared_type): Add external definition.
2990 (upc_shared_type_p): Remove external definition.
2991 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2992 * dojump.c: Remove #include of c-tree.h.
2993 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2995 (count_upc_threads_refs, is_multiple_of_upc_threads,
2996 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2997 upc_build_shared_var_addr, upc_build_sync_stmt,
2998 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2999 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
3000 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
3001 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
3002 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
3003 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
3004 set_upc_consistency_mode, get_upc_consistency_mode,
3005 push_upc_consistency_mode, pop_upc_consistency_mode,
3007 Move external definitions to c-family/c-upc.h.
3008 (upc_blocksizeof_type, upc_localsizeof_type,
3009 upc_elemsizeof_type): Remove external definitions;
3010 these functions were moved to c-parser.c.
3011 * c-decl.c: Add #include of c-upc.h.
3012 * c-typeck.c: Add #include of c-upc.h.
3013 * c-convert.c: Add #include of c-upc.h.
3014 * ChangeLog.upc: Fix typo.
3015 * Makefile.in: Add references to c-family/c-upc.h, everywhere
3016 there is a reference to c-family/c-objc.h.
3017 Remove extraneous reference to upc-act.h.
3018 * c-parser.c: Add #include of c-upc.h.
3019 (upc_blocksizeof_expr, upc_blocksizeof_type,
3020 upc_elemsizeof_expr, upc_elemsizeof_type,
3021 upc_localsizeof_expr, upc_localsizeof_type):
3022 Move from upc/upc-act.c.
3023 * tree.c (build_upc_unshared_type): New.
3024 Move upc_get_unshared_type from upc/upc-act.c and rename
3025 to build_upc_unshared_type.
3026 c-family/c-common.c (pointer_int_sum): refer to renamed
3027 build_upc_unshared_type function.
3028 c-convert.c (convert): Ditto.
3029 convert.c (convert_to_pointer): Ditto.
3030 c-typeck.c (build_unary_op, build_modify_expr,
3031 really_start_incremental_init): Ditto.
3032 gimplify.c (create_tmp_var_raw): Ditto.
3033 tree.c (build1_stat): Ditto.
3034 tree.h (upc_get_unshared_type): Rename to
3035 build_upc_unshared_type.
3037 2011-05-06 Gary Funck <gary@intrepid.com>
3039 Merge trunk version 173471 into gupc branch.
3041 2011-05-06 Gary Funck <gary@intrepid.com>
3043 Eliminate compilation warnings, by fixing
3044 #include's and updating function prototypes.
3045 * upc/upc-gimplify.c: Include bitmap.h.
3046 (upc_gimplify_real_image_ref): Mark various parameters
3047 as unused. This is a stub procedure for now.
3048 * upc/upc-lang.c: Include c-family/c-upc.h.
3050 * upc/upc-cmd.c (no_start_files): Delete unused variable.
3051 The -nostartfiles switch is now handled by the linker spec.
3052 * ChangeLog: Spell check.
3054 2011-05-06 Gary Funck <gary@intrepid.com>
3056 Upgrade c-family source files to conform with modularity
3057 improvements. Mainly, remove #include of c-tree.h in files
3058 under c-family, and define a new UPC-specific #include file,
3059 c-upc.h, and use it.
3060 * upc/upc-act.h (upc_write_global_declarations,
3061 upc_check_decl, upc_build_sync_stmt, upc_affinity_test,
3062 upc_num_threads, upc_diagnose_deprecated_stmt):
3063 Move external definitions to c-family/c-upc.h
3064 (upc_blocksizeof_expr, upc_blocksizeof_type,
3065 upc_elemsizeof_expr, upc_elemsizeof_type,
3066 upc_localsizeof_expr, upc_localsizeof_type):
3067 Remove external definitions; these functions
3068 were moved from upc-act.c to c-parser.c.
3069 * upc/upc-gimplify.c: Add #include of c-family/c-upc.h.
3070 upc-pts-packed.c: Ditto.
3071 upc-pts-struct.c: Ditto.
3072 * upc/config-lang.in: Update gtfiles to refer to c-upc.h
3074 * upc/upc-act.c: Add #include of c-family/c-upc.h.
3075 (upc_blocksize, upc_elemsizeof, upc_localsizeof):
3076 Make external so that it can be called from c-parser.c.
3077 (upc_blocksizeof_expr, upc_blocksizeof_type,
3078 upc_elemsizeof_expr, upc_elemsizeof_type,
3079 upc_localsizeof_expr, upc_localsizeof_type):
3080 Move from upc/upc-act.c to c-parser.c.
3081 (upc_set_block_factor): Fix typo in error message.
3082 (upc_shared_type_p, upc_pts_cvt_op_p): Delete.
3083 Move to tree.h and define as a macro.
3084 (upc_get_unshared_type): Delete. renamed to
3085 build_upc_unshared_type and moved to tree.c.
3086 * upc/upc-gimplify.c (upc_gimplify_lval, upc_gimplify_expr):
3087 refer to renamed build_upc_unshared_type function.
3088 upc-act.c (create_unshared_var): Ditto.
3090 2011-05-05 Gary Funck <gary@intrepid.com>
3092 Make changes that bring the GUPC branch more closely in sync.
3093 with the GCC trunk. Revert any fixes that are not UPC-specific.
3094 Remove gratuitous re-formatting.
3095 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
3096 This file should have been removed in a previous merge
3098 * ../configure.ac: Remove Cray Catamount/CNL support.
3099 * ../configure: Regenerate.
3100 * ../config.sub: Remove Cray Catamount/CNL support.
3101 * config.gcc: Remove Cray Catamount/CNL support.
3102 * ../maintainer-scripts/gcc_release: Revert to trunk.
3103 * c-family/c-common.h: Define parse_optimize_options. Its definition
3104 was missed in a previous merge with the trunk.
3105 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
3107 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
3108 in addition to ARRAY_TYPE.
3109 * c-typeck.c: Remove an extra newline character.
3110 * varasm.c: Revert a fix that improved an error message
3111 when TLS common data is unimplemented.
3112 * varasm.c: Revert a gcc_assert that had been added which
3113 checked for a null DECL_SIZE_UNIT field.
3114 * emultls.c: Revert to trunk. Remove possible fix.
3115 * Makefile.in: Revert extra blank line that is present
3116 in the trunk version.
3117 * Makefile.in: Revert a fix that handled long shell
3118 argument lists for plugin headers.
3119 * config/ia64/ia64.opt: Revert an option setting
3120 that increased the default TLS address range.
3121 * config/ia64/crtbegin.asm: Revert to trunk.
3122 Removes an extra newline character.
3123 * ChangeLog.upc: Spell check.
3125 2011-05-03 Gary Funck <gary@intrepid.com>
3127 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
3128 (c_apply_type_quals_to_decl): Ditto.
3129 * c-family/c-common.h: Ditto.
3131 * c-decl.c (merge_decls): Ditto.
3132 * c-typeck.c (qualify_type, default_conversion,
3133 build_component_ref, build_unary_op,
3134 c_build_qualified_type): Ditto.
3135 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
3137 2011-05-03 Gary Funck <gary@intrepid.com>
3139 * upc/upc-lang.c: Remove extraneous FIXME/TODO comments.
3140 * upc/upc-pts-packed.c (upc_pts_build_cvt): Ditto.
3141 * upc/upc-act.c (upc_set_block_factor): Ditto.
3143 2011-04-29 Gary Funck <gary@intrepid.com>
3145 * c-decl.c (finish_decl): Improve error diagnostics.
3146 (grokdeclarator): Ditto.
3147 * c-typeck.c (build_c_cast): Improve error diagnostics.
3148 (convert_for_assignment): Ditto.
3149 (build_binary_op): Ditto.
3150 * c-parser.c (c_parser_upc_forall_statement):
3151 Improve error diagnostics.
3152 * convert.c (convert_to_integer): Improve error diagnostics.
3154 2011-04-29 Gary Funck <gary@intrepid.com>
3156 * upc/upc-gimplify.c (upc_expsnd_get): Improve error diagnostics.
3157 (upc_expand_put): Ditto.
3158 (upc_shared_addr): Ditto.
3159 (upc_gimplify_sync_stmt): Ditto.
3160 (upc_gimplify_field_ref): Ditto.
3161 * upc/upc-pts-struct.c (upc_pts_build_diff): Improve error diagnostics.
3162 (upc_pts_build_cvt): Ditto.
3163 * upc/upc-act.c (upc_handle_option): Improve error diagnostics.
3164 (upc_lang_init): Ditto.
3165 (upc_sizeof_type_check): Ditto.
3166 (upc_set_block_factor): Ditto.
3167 (upc_decl_init): Ditto.
3168 (upc_affinity_test): Ditto.
3169 (upc_num_threads): Ditto.
3170 (upc_diagnose_deprecated_stmt): Ditto.
3171 (upc_build_shared_var_addr): Ditto.
3172 (upc_pts_int_sum): Ditto.
3173 (upc_pts_diff): Ditto.
3175 2011-04-28 Gary Funck <gary@intrepid.com>
3177 * upc/upc-act.c (create_unshared_var): call upc_get_unshared_type()
3178 instead of using TYPE_MAIN_VARIANT() to create an equivalent type
3179 that is not a UPC shared type. This is sometimes necessary
3180 when the given shared type is derived from a typedef.
3182 2011-04-24 Gary Funck <gary@intrepid.com>
3184 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
3185 occurred if there is an error in the barrier id
3186 expression. Map error_mark_node into NULL.
3188 2011-04-24 Gary Funck <gary@intrepid.com>
3190 * upc/upc-act.c (upc_handle_option): Fix incorrect error
3191 diagnostic messages when both -fupc-debug and
3192 -fupc-inline-lib are asserted.
3194 2011-04-24 Gary Funck <gary@intrepid.com>
3196 * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "--param"
3197 to the list of switches that accept arguments.
3198 (main): Check for switches that have a following
3199 argument inside the loop that copies arguments and
3200 adds '-x upc' or '-x none' as necessary.
3201 (main): Misc. clean ups and simplifications.
3203 2011-04-22 Gary Funck <gary@intrepid.com>
3205 Merge trunk version 172873 into gupc branch.
3207 2011-04-22 Gary Funck <gary@intrepid.com>
3209 Merge trunk version 172873 into gupc branch.
3210 * upc/upc-act.c (upc_build_init_func): assert DECL_PRESERVE_P()
3211 on init_func() to prevent it from being removed from
3214 2011-04-19 Gary Funck <gary@intrepid.com>
3216 Merge trunk version 172359 into gupc branch.
3218 2011-04-19 Gary Funck <gary@intrepid.com>
3220 Merge trunk version 172359 into gupc branch.
3221 * upc/upc-lang.c (upc_init_ts): New.
3222 (LANG_HOOKS_INIT_TS): use upc_init_ts.
3224 2011-04-19 Gary Funck <gary@intrepid.com>
3226 Eliminate warnings when compiling upc-cmd.c.
3227 * upc/upc-cmd.c (file_exists): Remove.
3228 (arg_copy): Remove const qualifier.
3230 2011-04-14 Gary Funck <gary@intrepid.com>
3232 * c-family/c.opt: Add UPC as a valid language for various
3233 switches where it is valid for "C", that were not updated
3234 in previous merges with trunk.
3236 2011-04-13 Gary Funck <gary@intrepid.com>
3238 * c-family/c.opt (fupc-pre-include): New option definition.
3239 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
3240 -fno-upc-pre-include is asserted.
3242 2011-04-13 Gary Funck <gary@intrepid.com>
3244 * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "dumpbase"
3245 to the list, and alphabetize.
3247 2011-04-13 Gary Funck <gary@intrepid.com>
3249 * upc/upc-gimplify.c (upc_gimplify_real_image_ref): New.
3250 Currently, a not-yet-implemented stub.
3251 (upc_gimplify_lval): call upc_gimplify_real_image_ref to
3252 rewrite UPC shared REALPART_EXPR and IMAGPART_EXPR lvalues.
3253 This will avoid an ICE when compiling regular "C"
3254 code that refers to those operators.
3256 2011-04-13 Gary Funck <gary@intrepid.com>
3258 * upc/upc-cmd.c: Do not add "-isystem <libupc_path>" if
3259 -fno-upc-pre-include is asserted.
3261 2011-04-07 Gary Funck <gary@intrepid.com>
3263 Merge trunk version 172158 into gupc branch.
3264 to bring in the following fix.
3266 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
3269 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
3270 if old and new states differ.
3272 2011-04-06 Gary Funck <gary@intrepid.com>
3274 Merge trunk version 171966 into gupc branch.
3276 2011-04-01 Gary Funck <gary@intrepid.com>
3278 * tree.h (tree_base): Move UPC flag bits into bit fields
3279 located just before spare bits. Decrement spare bits.
3280 Rename 'shared_flag' -> 'upc_shared_flag',
3281 'relaxed_flag' -> 'upc_relaxed_flag',
3282 'strict_flag' -> 'upc_strict_flag, and adjust macros
3283 that reference them accordingly.
3285 2011-04-01 Gary Funck <gary@intrepid.com>
3287 * c-decl.c (grokdeclarator): Fix formatting of
3288 code that sets UPC block size on scalars.
3290 2011-04-01 Gary Funck <gary@intrepid.com>
3292 * c-decl.c (grokdeclarator): Revert use of white space
3293 to match the trunk (to rationalize diffs).
3294 * c-typeck.c (convert_for_assignment): Ditto.
3295 * tree-ssa.c (useless_type_conversion_p): Ditto.
3297 2011-03-23 Gary Funck <gary@intrepid.com>
3299 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
3300 the GCC 4.6 release branch.
3302 2011-03-22 Gary Funck <gary@intrepid.com>
3304 * upc/upc-cmd.c: Move linker switches into libupc/libupc.spec.
3305 (UPC_LINKER_SCRIPT, LIBNUMA, LIBUPC, LIBUPC_PT) Remove.
3306 (find_ld_script) Remove.
3308 2011-03-21 Gary Funck <gary@intrepid.com>
3310 Merge trunk version 171202 into gupc branch.
3312 2011-03-20 Gary Funck <gary@intrepid.com>
3314 * varasm.c: Call error() directly with a format specifier,
3315 rather than using sprintf() to format the message.
3316 This should make it easier to internationalize UPC's error messages.
3318 2011-03-20 Gary Funck <gary@intrepid.com>
3320 * configure.ac: Fix the check for gnu ld when enabling
3321 UPC link script support.
3322 configure: Regenerate (also picks up changes from previous
3325 2011-03-20 Gary Funck <gary@intrepid.com>
3327 Move UPC start files, end files, and linker specs.
3328 into libupc. This reduces the impact on common GCC
3329 configuration files, and ensures that these UPC-specific
3330 components are only built when the UPC language dialect is selected.
3331 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
3332 linker specs. Fix typo in -fupc-debug message.
3333 * config/upc-conf.h, config/darwin.h: Move defines for
3334 UPC-related section begins/ends into libupc/config/default/
3336 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
3337 UPC-related linker compiler specifications,
3338 accessed via %:include().
3339 * configure.ac, configure: Remove logic related to building
3340 upc-crtbegin/end. Remove config. tests for numa and cpu
3341 affinity (previously used by the 'upc' driver); these
3342 settings are now propagated by target-specific compiler
3343 specs. built by libupc. Regenerate autoconf.
3344 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
3345 linker compiler specifications, accessed via %:include().
3346 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
3348 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
3349 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
3350 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
3351 config/ia64/linux.h, config/mips/t-iris,
3352 config/mips/iris6.h: Revert to trunk version 167307.
3354 * configure, configure.ac, config.host, Makefile.in:
3355 Revert to trunk version 167307.
3357 2011-03-20 Gary Funck <gary@intrepid.com>
3359 * upc/upc-act.c: Call error() directly with a format specifier,
3360 rather than using sprintf() to format the message.
3361 This should make it easier to internationalize UPC's error messages.
3363 2011-03-20 Gary Funck <gary@intrepid.com>
3365 Move UPC start files, end files, and linker specs.
3366 into libupc. This reduces the impact on common GCC
3367 configuration files, and ensures that these UPC-specific
3368 components are only built when the UPC language dialect is selected.
3369 * upc/config-lang.in: Remove setting of 'upc_extra_parts', which
3370 was used to specify which upc-crtbegin and upc-crtend files
3371 need to built. Remove extraneous (commented out)
3372 settings of 'cfiles'. The listed configuration files
3373 have been reverted to trunk, and weren't referenced
3374 via cfiles in any event.
3375 * upc/upc-cmd.c: Remove test for HAVE_UPC_LINK_SCRIPT.
3376 Simply test for the presence of the UPC link script
3377 in the current directory or the libupc directory.
3378 Add -B<path-to-libupc> to the switches passed to 'gcc';
3379 this is needed in order to find the upc-crtbegin
3380 and upc-crtend object files now built in libupc.
3381 Remove test for and inclusion of UPC_LINKER_SWITCHES.
3382 if extra switches are needed for a particular target
3383 (like SGI/Irix), they will be defined by the custom
3384 linker spec. built in libupc. Remove test for
3385 HAVE_UPC_NUMA_SUPPORT; if '-lnuma' is needed, it
3386 will be added to the custom linker specs. built
3388 * upc/upc-crtstuff.c: Move to libupc.
3390 2011-02-23 Gary Funck <gary@intrepid.com>
3392 * c-decl.c (undeclared_variable): fix typo. Inadvertently
3393 removed negation on following 'if'.
3395 2011-02-22 Gary Funck <gary@intrepid.com>
3397 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
3398 to check for the usage of certain deprecated UPC keywords.
3399 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
3400 * c-tree.h (undeclared_variable): Define prototype.
3402 2011-02-22 Gary Funck <gary@intrepid.com>
3404 * upc/upc-act.c (upc_diagnose_deprecated_stmt): New.
3405 upc-act.h (upc_diagnose_deprecated_stmt): Define.
3406 Check usage of deprecated keywords and issue
3409 2011-02-12 Gary Funck <gary@intrepid.com>
3411 * c-typeck.c: (build_c_cast, convert_for_assignment)
3412 Diagnose an attempt to convert from an integer to
3413 a pointer-to-shared as an error. Also, fix various
3414 error messages so that they use the preferred term
3415 pointer-to-shared instead of "shared pointer".
3417 2011-02-08 Gary Funck <gary@intrepid.com>
3419 * upc/upc-pts-struct.c: Fix bug: (pts + int) fails when int is negative
3420 for struct-pts representation
3421 Analysis indicated that for something like (+ ptr -80) this was
3422 being represented as (+ ptr (- 80)) and further, when the
3423 calculations were propagated into the individual operations on the
3424 components of the 'struct' pointer, it would end up with something
3425 like (+ ptr.vaddr (- 80)), and the type of (- 80) would end up as
3426 "long unsigned int" because of the addition to the pointer. This
3427 caused the calculations involving the signed 'int' operand to be
3428 performed incorrectly. This fix insures that the 'int' operand is
3431 2011-02-08 Gary Funck <gary@intrepid.com>
3433 * upc/config-lang.in, upc/lang-specs.h, upc/Makefile.in,
3434 upc/Make-lang.in, upc/upc.1, upc/upc-act.c, upc/upc-act.h,
3435 upc/upc-cmd.c, upc/upc-crtstuff.c, upc/upc-gasp.c,
3436 upc/upc-gasp.h, upc/upc-gimplify.c, upc/upc-gimplify.h,
3437 upc/upc-lang.c, upc/upc-pts.h, upc/upc-pts-packed.c,
3438 upc/upc-pts-struct.c, upc/upc-tree.def, upc/upc-tree.h:
3439 Update copyright notices.
3441 2011-02-07 Gary Funck <gary@intrepid.com>
3443 * c-typeck.c: (convert_for_assignment)
3444 Fix typo. in error message.
3446 2011-01-23 Gary Funck <gary@intrepid.com>
3448 * c-typeck.c: (c_build_qualified_type)
3449 derive UPC block size by calling upc_get_block_size(),
3450 to ensure that the element type of an array of an array
3451 is derived correctly.
3453 2011-01-09 Gary Funck <gary@intrepid.com>
3455 Fix behavior of upc_localsizeof() when called in a dynamic
3456 threads compilation environment. This bug, and the expected
3457 behavior is documented in this bug report:
3458 https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2960.
3459 * upc/_act.c (upc_localsizeof): Re-implement.
3461 2010-12-29 Gary Funck <gary@intrepid.com>
3463 Merge trunk version 168314 into gupc branch.
3465 2010-12-15 Gary Funck <gary@intrepid.com>
3467 Merge trunk version 167307 into gupc branch.
3469 2010-12-15 Gary Funck <gary@intrepid.com>
3471 Merge trunk version 167307 into gupc branch.
3472 * upc/_act.h: (upc_handle_option) add location and struct
3473 cl_option_handlers * parameters.
3474 (upc_finish_file) Remove.
3475 (upc_write_global_declarations) New, replaces upc_finish_file.
3476 * lang-spec.h: Disable multi-file compilation for .upc files.
3477 This fixes an issue where file-scoped static variables were
3478 diagnosed as multiply-defined. Both "C" and "ObjC" also disable
3479 multi-file compilation.
3480 * upc/upc-gimplify.c: (upc_expand_put) Check for INDIRECT_REF_P()
3481 explicitly when deciding whether a UPC shared object is addressable.
3482 is_gimple_addressable() used to do this, but now checks for MEM_REF
3483 which does not apply to UPC shared objects.
3484 (upc_gimplify_lval, upc_gimplify_expr) Delete references to
3485 ALIGN_INDIRECT_REF and MISALIGNED_INDIRECT_REF.
3486 These are no longer defined.
3487 (upc_genericize) Add call to bitmap_obstack_initialize()
3488 and bitmap_obstack_release() around call to gimplify_function_tree().
3489 * upc/upc-lang.c: Add #include of "opts.h" and "options.h".
3490 (flag_upc_debug, flag_upc_inline_lib, flag_upc_instrument,
3491 flag_upc_instrument_functions) Remove. Use definitions
3492 generated by the options file.
3493 (upc_init_options) Use cl_decoded_option struct.
3494 (LANG_HOOKS_WRITE_GLOBALS) Define as upc_write_global_declarations.
3495 (finish_file) Delete.
3496 (upc_init_options) Call control_warning_option() to specify
3497 -Werror=pointer-arith as the default. Remove call to
3498 enable_warning_as_error().
3499 * upc/upc-pts-struct.c: (upc_pts_init_type) Move test that
3500 UPC_PTS_THREAD_SIZE is a multiple of a byte into an "if" statement
3501 rather than an #ifdef; this macro now depends upon a
3502 target size macro which must be evaluated at runtime.
3503 * upc/Make-lang.in: (cc1-dummy) Remove make target.
3504 (cc1upc-checksum.c) Generate directly from object files.
3505 * upc/upc-cmd.c: (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG) Delete
3506 references to these deprecated macro definitions.
3507 (GCC_WORD_SWITCH_TAKES_ARG, GCC_WORD_SWITCH_TAKES_ARG) New.
3508 (all_exec_args) Delete variable.
3509 (exec_args) Re-define as (const char *).
3510 (exec_arg_list) New. Make copy of exec_args to pass to 'exec'.
3511 * upc/upc-act.c: (upc_handle_option) Update argument list to accept
3512 (cl_option_handlers *) argument.
3513 (upc_finish_file) Rename to upc_write_global_declarations.
3514 (upc_write_global_declarations) New.
3516 2010-10-19 Gary Funck <gary@intrepid.com>
3518 * c-typeck.c: Fix typo in previous fix
3519 which led to a mis-compare for equal block sizes.
3521 2010-10-18 Gary Funck <gary@intrepid.com>
3523 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
3524 diagnosed as an error
3525 The conversion from any type (shared or not) to
3526 a shared type is likely either meaningless or an error. This update
3527 makes any conversion to a shared type, an error.
3529 2010-10-18 Gary Funck <gary@intrepid.com>
3531 * c-typeck.c: Fix bug: passing int to shared pointer arg.
3532 generates spurious warning
3533 Add a #define procedure that does the same thing as
3534 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
3535 this procedure to diagnose passing an integer value to a
3536 pointer-to-shared as an error.
3538 2010-10-18 Gary Funck <gary@intrepid.com>
3540 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
3541 matching routine declaration.
3542 When checking for type compatibility, shared qualified types must
3543 have the same block factor. This check was missing from
3544 comptypes_internal(). This update adds the check for blocking
3547 2010-10-17 Gary Funck <gary@intrepid.com>
3549 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
3551 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
3553 2010-10-17 Gary Funck <gary@intrepid.com>
3555 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
3556 45869 - [4.5/4.6 Regression] type mismatch in shift expression
3557 produces ice with -O3 and -m32.
3558 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
3560 2010-10-17 Gary Funck <gary@intrepid.com>
3562 * c-common.c: Diagnose the application of the various "*sizeof"
3563 operations on generic pointer-to-shared as a compilation error.
3565 2010-10-17 Gary Funck <gary@intrepid.com>
3567 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
3568 message regarding a function parameter being declared with a shared
3570 The parameter's 'name' value is not defined at this point, and
3571 cannot be used in the error message. This update removes the
3572 reference to 'name', and eliminates the segfault.
3574 2010-10-17 Gary Funck <gary@intrepid.com>
3576 * upc/upc-act.c: Issue a compilation error on attempts to perform
3577 arithmetic on generic pointer-to-shared values.
3578 (The rest of this update is a small code clean up.)
3580 2010-10-17 Gary Funck <gary@intrepid.com>
3582 * upc/upc-lang.c: For UPC only, issue errors for arithmetic and related
3583 operations on void types.
3584 This update simulates the effect of -Werror=pointer-arith, thus
3585 causing arithmetic on void types, sizeof(void) and so on to be
3586 considered compilation errors. This meets the expectations of some
3587 harness tests and the RTED/CTED test suites. GCC is more
3588 permissive, but since this is for UPC only, we can fairly safely
3589 define this new policy.
3591 2010-10-16 Gary Funck <gary@intrepid.com>
3593 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
3594 The gcc/Makefile.in rules for install-plugin had to be re-written to
3595 break up a long list of header files that exceeded the command line
3596 limitation imposed by Irix.
3597 Access functions for TFmode types had to be implemented.
3598 Apparently, this is the mode used for the SGI/MIPS port to represent
3601 2010-10-16 Gary Funck <gary@intrepid.com>
3603 * upc/upc-act.c: Fix bug: Static initialization of shared
3604 arrays is unsupported -- issue an error message.
3605 Currently, static initialization of a shared array is not
3606 implemented correctly.
3607 We do not plan to fix this for a while, therefore the compiler will
3608 issue an error message indicating that this is an unsupported
3611 2010-10-14 Gary Funck <gary@intrepid.com>
3613 * c-decl.c: Fix bug: Multiple equal blocking factors specified
3614 via typedef chain should not be diagnosed as an error.
3615 If the block size that is given by the typedef is equal to the block
3616 size given explicitly in the variable declaration, then do not
3617 complain. The easiest way to make this check was to create a
3618 temporary type that is a clone of the element type and then set its
3619 block size using the given layout qualifier. Then compare the block
3620 size of the temporary (the declaration) to the block size specified
3621 in the typedef. This complexity is needed, because the '[*]' block
3622 size needs to be calculated, and the '[]' needs to be mapped into a
3625 2010-10-13 Gary Funck <gary@intrepid.com>
3627 * upc/upc-act.c: Fix bug: negative layout qualifiers not diagnosed
3629 The CTED_UPC test c_A_1_3_b.upc, specified a negative blocksize, but
3630 it was not diagnosed as an error. With this fix, negative block
3631 sizes will generate a translation error.
3633 2010-10-10 Gary Funck <gary@intrepid.com>
3635 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
3637 The compiler properly detected the presence of two or more layout
3638 qualifiers as an error, but then hit an assertion check, because the
3639 code that followed the error expected to see a qualifier and not a
3640 layout specifier. The fix is simple: just return immediately after
3641 detecting the error.
3643 2010-10-10 Gary Funck <gary@intrepid.com>
3645 * c-decl.c: Improve error diagnostics for various cases of UPC
3646 shared array type declarations.
3647 Add the check for this error: "In the dynamic translation
3648 environment, THREADS may not appear in declarations of shared arrays
3649 with indefinite block size". Also, fix up a few of the other
3650 related error diagnostics.
3652 2010-10-10 Gary Funck <gary@intrepid.com>
3654 * upc/upc-act.c: Fix bug: ICE: Attempt to take the difference of
3655 shared and non-shared pointers
3656 The compiler detected the error, and then tried to return
3657 error_mark_node. This apparently is not acceptable, as there is an
3658 explicit assertion check to prevent this from happening in
3659 build_binary_op. Return the more user-friendly size_one_node
3662 2010-10-09 Gary Funck <gary@intrepid.com>
3664 * c-common.c: Fix bug: segfault on incomplete array definition.
3665 This turned out to be a bit complicated. The logic in
3666 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
3667 the THREADS identifier in the case where the blocking factor has
3668 been set to indefinite ([]). This can happen when indefinite array
3669 declarations are processed for shared arrays. At that time, the
3670 file scope has been closed and THREADS is no longer in scope. Some
3671 more work is needed on upc_lang_layout_decl(). It has some
3672 duplication, and notably duplicates the two branches of the if
3673 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
3674 caller of this routine (layout_decl()).
3675 The method of forcing a layout qualifier of [] in the indefinite
3676 declaration handler is odd a well. The code that just does the
3677 setting of the block factor, needs to moved into its own routine
3678 that doesn't depend upon a declspec for '[]' to be passed in, just
3679 in order to set the blocking factor to some value (in this case, 0).
3680 Also, the logic for how that shared type is constructed is strange.
3681 First the type with 0 blocking factor is set. Then the shared
3682 qualifier is removed from the type, and then added back later. The
3683 intermediate type has a blocking factor set, but it has no shared
3684 qualifier. Fixing this will require some thought. It is tempting
3685 just to make indefinite shared arrays an error, rather than forcing
3686 the dimension to be '1'.
3687 This likely fixes a serious error in the previous update to
3688 upc_lang_layout_decl(), where it didn't have the logic to set
3689 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
3690 the previous update would fail on many tests.
3692 2010-10-09 Gary Funck <gary@intrepid.com>
3694 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
3695 (decl) is null, which can happen if some layout error occurred
3698 2010-10-09 Gary Funck <gary@intrepid.com>
3700 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
3701 "variable-sized" when compiled in dynamic threads.
3702 This long-standing bug is easily fixed. Just check
3703 for the situation that the non-constant sized type is shared and
3704 that it does not have a dimension that references a multiple of
3705 threads. If this criteria is met, then issue a meaningful
3708 2010-10-09 Gary Funck <gary@intrepid.com>
3710 * upc/upc-act.c: Fix bug: segfault on incomplete array definition.
3711 This turned out to be a bit complicated. The logic in
3712 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
3713 the THREADS identifier in the case where the blocking factor has
3714 been set to indefinite ([]). This can happen when indefinite array
3715 declarations are processed for shared arrays. At that time, the
3716 file scope has been closed and THREADS is no longer in scope. Some
3717 more work is needed on upc_lang_layout_decl(). It has some
3718 duplication, and notably duplicates the two branches of the if
3719 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
3720 caller of this routine (layout_decl()).
3721 The method of forcing a layout qualifier of [] in the indefinite
3722 declaration handler is odd a well. The code that just does the
3723 setting of the block factor, needs to moved into its own routine
3724 that doesn't depend upon a declspec for '[]' to be passed in, just
3725 in order to set the blocking factor to some value (in this case, 0).
3726 Also, the logic for how that shared type is constructed is strange.
3727 First the type with 0 blocking factor is set. Then the shared
3728 qualifier is removed from the type, and then added back later. The
3729 intermediate type has a blocking factor set, but it has no shared
3730 qualifier. Fixing this will require some thought. It is tempting
3731 just to make indefinite shared arrays an error, rather than forcing
3732 the dimension to be '1'.
3733 This likely fixes a serious error in the previous update to
3734 upc_lang_layout_decl(), where it didn't have the logic to set
3735 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
3736 the previous update would fail on many tests.
3737 See also: gcc/c-common.c gcc/upc/upc-act.c
3739 2010-10-01 Gary Funck <gary@intrepid.com>
3741 * configure, configure.ac: Update manual page, and bug reporting
3743 Update "man" page to reflect debugging switches. Also, some general
3744 clean up. Change the bug reporting URL to point to gccupc.org.
3746 2010-10-01 Gary Funck <gary@intrepid.com>
3748 * upc/upc-manpage.html, upc.1: Update manual page, and bug reporting
3750 Update "man" page to reflect debugging switches. Also, some general
3751 clean up. Change the bug reporting URL to point to gccupc.org.
3752 See also: gcc/configure gcc/configure.ac gcc/upc/upc-manpage.html
3755 2010-10-01 Gary Funck <gary@intrepid.com>
3757 * upc/upc-act.c: Do not zap all qualifier bits when constructing a
3758 non-shared result node.
3759 This fix was suggested by Paul H. in the following Berkeley Bugzilla
3760 report: https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2061 The
3761 use of "!" rather than "~" zapped all the type qualifier bits rather
3762 than just those that are related to the "shared" qualifier. This
3763 fix clears only the relevant bits.
3765 2010-09-27 Gary Funck <gary@intrepid.com>
3767 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
3768 the UPC forall depth count variable is not found.
3769 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
3770 The compiler will generate code that references this variable in
3771 order to implement nested upc_forall semantics. If there is a
3772 compiler build or install problem, this variable may not be found.
3773 In this case, terminate with an internal_error().
3775 2010-09-26 Gary Funck <gary@intrepid.com>
3777 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
3778 mis-diagnosed as syntax error.
3779 Fix a failure exhibited by the Berkeley test case,
3780 bug873a.upc, which has the code:
3782 upc_forall (;;;d) {...} The compiler did not properly handle
3783 the empty "condition" clause, and did not recover well when it was
3784 determined that the use of a double value, "d" above, was neither a
3785 pointer-to-shared nor an integer expression. The update implements a
3786 fix for both issues.
3787 See also: gcc/c-parser.c gcc/upc/upc-act.c
3789 2010-09-26 Gary Funck <gary@intrepid.com>
3791 * upc/upc-act.c: Fix bug: upc_forall with empty clauses
3792 mis-diagnosed as syntax error.
3793 A failure was exhibited by the Berkeley test case,
3794 bug873a.upc, which has the code:
3796 upc_forall (;;;d) {...} The compiler did not properly handle
3797 the empty "condition" clause, and did not recover well when it was
3798 determined that the use of a double value, "d" above, was neither a
3799 pointer-to-shared nor an integer expression. The update implements a
3800 fix for both issues.
3801 See also: gcc/c-parser.c gcc/upc/upc-act.c
3803 2010-09-25 Gary Funck <gary@intrepid.com>
3805 * upc/upc-pts-struct.c: Fix an ICE on 32-bit/struct target: failed
3806 gimple check when calculating affinity for upc_forall.
3807 Intrepid test, test10.upc, failed to compile due a mis-match between
3808 the COMPONENT_REF node and the internal 'thread' field. Changed the
3809 code to make the types agree, and added a conversion to sizetype if
3812 2010-09-23 Gary Funck <gary@intrepid.com>
3814 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
3815 incorporated into the referencing type.
3816 This was semi-fixed a few times before. This update fixes a few
3817 more places where the layout qualifier wasn't being propagated
3818 through typedef's properly. What made this a bit tricky is shown in
3819 the example cited in the bug report:
3820 typedef shared [5] int A_t; A_t A[5*THREADS];
3821 In the typedef, the blocksize is being applied to a shared *scalar*,
3822 and the code was applying the blocksize only to arrays. This update
3823 handles shared scalars correctly.
3825 2010-09-23 Gary Funck <gary@intrepid.com>
3827 * upc/upc-act.c: Fix bug: ICE: '[*]' layout factor applied to array
3828 with static threads and size not a multiple of threads.
3829 Add an extra check for an attempt to apply a '[*]' layout qualifier
3830 to a shared array that does not specify a size that is a multiple of
3831 THREADS, when compiled in a static THREADS compilation environment.
3833 2010-09-22 Gary Funck <gary@intrepid.com>
3835 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
3836 upc_forall() semantics are not implemented
3837 The checkforall test in the Berkeley harness test suite indicated
3838 that GCC/UPC was not properly implementing nested upc_forall
3839 semantics. Nested upc_forall statements (both statically or
3840 dynamically nested) must implement their affinity clause as if it
3841 were "continue"; thus all steps in the loop must execute without
3842 regard for affinity. To implement these semantics a global depth
3843 counter, __upc_forall_depth, is maintained by the generated code
3844 that implements upc_forall.
3845 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
3846 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
3847 libupc/include/upc.h libupc/smp/upc_main.c
3849 2010-09-22 Gary Funck <gary@intrepid.com>
3851 * upc/upc-act.c, upc/upc-act.h: Fix bug: Nested upc_forall() semantics
3853 The checkforall test in the Berkeley harness test suite indicated
3854 that GCC/UPC was not properly implementing nested upc_forall
3855 semantics. Nested upc_forall statements (both statically or
3856 dynamically nested) must implement their affinity clause as if it
3857 were "continue"; thus all steps in the loop must execute without
3858 regard for affinity. To implement these semantics a global depth
3859 counter, __upc_forall_depth, is maintained by the generated code
3860 that implements upc_forall.
3861 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
3862 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
3863 libupc/include/upc.h libupc/smp/upc_main.c
3865 2010-09-19 Gary Funck <gary@intrepid.com>
3867 * c-decl.c: c-decl.c: zero out the layout specifier, after
3868 processing an array type.
3869 Fix the previous fix, that moved the setting of the type's layout
3870 qualifier to the outside of the array type processing loop. What is
3871 missing from the fix is that the layout_qualifier variable needs to
3872 be cleared after setting the type's blocksize.
3874 2010-09-19 Gary Funck <gary@intrepid.com>
3876 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
3877 given blocksize is greater than UPC_MAX_BLOCKSIZE.
3878 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
3879 the actual maximum block size. Therefore, the message was correct,
3880 but the underlying value that was being checked was wrong. Change
3881 the values so that they agree with the actual implementation-defined
3884 2010-09-18 Gary Funck <gary@intrepid.com>
3886 * upc/upc-act.c, upc/upc-pts-packed.c, upc/upc-pts-struct.c:
3887 Implement -fupc-debug switch.
3889 2010-09-11 Gary Funck <gary@intrepid.com>
3891 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
3892 multi-dimensional shared array with dynamic threads.
3893 This declaration caused an internal compiler error when compiled
3894 with dynamic threads:
3895 shared [*] int A[THREADS][16]; The bug was discovered when
3896 compiling the RTED_UPC test suite.
3897 The fix is to process layout qualifiers after the entire array type
3898 has been built. Otherwise, we try to calculate the blocksize on a
3899 shared array type that has not had its "size depends upon the value
3900 of THREADS" flag set.
3901 Also, added a test case.
3902 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
3904 2010-07-11 Gary Funck <gary@intrepid.com>
3906 Fix a bug where a statement in c_build_qualified_type()
3907 in the trunk had been inadvertently deleted.
3908 This bug showed up in the IA64 port, because jmpbuf's
3909 on that architecture must be 16 byte aligned, and they were not.
3910 c-typeck.c (c_build_qualified_type): Revive the deleted line.
3912 2010-07-08 Gary Funck <gary@intrepid.com>
3914 Make changes so that other language compilers
3915 will build and bootstrap.
3916 * c-family/c-common.c (compiling_upc, flag_upc,
3917 flag_upc_instrument, flag_upc_instrument_functions,
3918 use_upc_dwarf2_extensions): Move to stub-upc.c and
3920 * c-family/c-common.h (use_upc_dwarf2_extensions,
3921 compiling_upc): Add extern definitions - needed
3922 to compile/build other language front ends.
3923 * c-family/c.opt: Fix the spelling of ObjC.
3924 It had been incorrectly spelled as Objc.
3925 * c-family/c.opt: Add UPC for the various switches
3926 that are valid for both C and ObjC.
3927 * c-fmaily/c-opts.c: Add CL_UPC to the list of
3928 supported options switches when compiling assembly
3930 * lto/lto-lang.c (use_upc_dwarf2_extensions,
3931 flag_upc_instrument, flag_upc_instrument_functions):
3932 Remove these definitions. They have been moved
3933 to c-family/stub-upc.c.
3934 * upc/ChangeLog: Move relevant entries
3936 * c-family/stub-upc.c (compiling_upc, flag_upc,
3937 flag_upc_instrument, flag_upc_instrument_functions,
3938 use_upc_dwarf2_extensions): Moved from c-common.c
3939 * upc/upc-lang.c (compiling_upc, flag_upc,
3940 flag_upc_instrument, flag_upc_instrument_functions,
3941 use_upc_dwarf2_extensions): Moved from c-common.c
3942 * objc/objc-act.c (objc_gimplify_expr): Add additional
3943 parameters to c_gimplify_expr() call, that are used
3944 by upc's tree rewrites.
3945 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
3946 * gcc/cp/lex.c (init_reswords): If not compiling
3947 UPC, then mask off the UPC keywords.
3948 * cp/Make-lang.in (C_STUB_OBJS): Use this
3949 make macro to link with c-family/stub-objc.o
3950 and c-family/stub-upc.o.
3951 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
3952 * java/Make-lang.in (C_STUB_OBJS): Likewise.
3953 * objc/Make-lang.in: Link with c-family/stub-upc.o
3954 to avoid undefined references.
3955 c-parser.c: Fix line indentation.
3956 * libcpp/include/cpplib.h: Remove CL_UPC from
3957 the list of language kinds accepted by the
3958 C preprocessor. This is not necessary because
3959 UPC is a derivative of C99, and does not need
3960 a different language kind.
3961 * c-fmaily/c-opts.c (c_common_handle_option):
3962 Call set_std_c99() when processing the
3963 "--lang upc" switch, instead of setting the
3964 language kind to CL_UPC.
3965 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
3967 2010-07-03 Gary Funck <gary@intrepid.com>
3969 Merge trunk version 161517 into gupc branch.
3970 * gcc/stub-upc.c: Move to gcc/c-family/.
3971 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
3972 Add 'unused' attributes to avoid "set, but
3973 not referenced" warnings.
3974 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
3977 2010-07-03 Gary Funck <gary@intrepid.com>
3979 Merge trunk version 161517 into gupc branch.
3980 * upc/config-lang.in: Update references to files
3981 moved into c-family/.
3982 * upc/Make-lang.in: Likewise.
3983 * upc/upc-act.c: Likewise.
3984 * upc/upc-gasp.c: Likewise.
3985 * upc/upc-gimplify.c: Likewise.
3986 * upc/upc-lang.c: Likewise.
3987 * upc/upc-pts-packed.c: Likewise.
3988 * upc/upc-pts-struct.c: Likewise.
3989 * upc/upc-act.c: (upc_handle_option) add parameters to
3990 effect pass through call to c_common_handle_option.
3991 * upc/upc-act.h: (upc_handle_option) Likewise.
3992 * upc/upc-act.c: (map_unshared_var) used typed ggc allocation.
3993 * upc/upc-act.c: (upc_build_init_func) add call to
3994 to mark_decl_referenced(), to ensure that UPC shared
3995 variable initializer function is not removed from
3996 the call tree graph.
3998 2010-03-01 Gary Funck <gary@intrepid.com>
4000 Create gupc branch from trunk version 157149.