1 2013-12-30 Gary Funck <gary@intrepid.com>
3 Merge trunk version 206243 into gupc branch.
5 2013-12-23 Gary Funck <gary@intrepid.com>
7 Merge trunk version 206179 into gupc branch.
9 2013-12-22 Gary Funck <gary@intrepid.com>
11 * upc/upc-act.c (upc_cpp_builtins): Bump UPC_VERSION
12 to reflect UPC specification version 1.3 compliance.
14 2013-12-16 Gary Funck <gary@intrepid.com>
16 Merge trunk version 206010 into gupc branch.
18 2013-12-09 Gary Funck <gary@intrepid.com>
20 Merge trunk version 205801 into gupc branch.
22 2013-12-03 Meador Inge <meadori@codesourcery.com>
24 * tree-core.h (tree_type_common): Change tree_type_common to use
25 user-provided GC marking.
26 (gt_ggc_mx, gt_pch_nx): New prototypes.
27 * tree.c (gt_ggc_mx, gt_pch_nx): New functions.
29 2013-12-03 Gary Funck <gary@intrepid.com>
33 2011-10-10 Gary Funck <gary@intrepid.com>
35 * tree.c (check_qualified_type, check_aligned_type):
36 Call tree_int_cst_equal() to compare UPC blocking factors
37 if the corresponding tree pointers are not equal.
38 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
40 2013-12-03 Gary Funck <gary@intrepid.com>
42 * c-family/c.opt: Fix typo introduced in 2013-06-03
45 2013-12-02 Gary Funck <gary@intrepid.com>
47 Merge trunk version 205582 into gupc branch.
49 2013-11-26 Meador Inge <meadori@codesourcery.com>
51 * upc/upc-genericize.c (upc_expand_get): Ensure that temporaries
52 are declared via a DECL_EXPR.
54 2013-11-25 Gary Funck <gary@intrepid.com>
56 Merge trunk version 205346 into gupc branch.
58 2013-11-18 Gary Funck <gary@intrepid.com>
60 Merge trunk version 204942 into gupc branch.
62 2013-11-15 Gary Funck <gary@intrepid.com>
64 Merge trunk version 204894 into gupc branch.
66 2013-11-15 Gary Funck <gary@intrepid.com>
68 Merge trunk version 204659 into gupc branch.
70 2013-11-04 Gary Funck <gary@intrepid.com>
72 Merge trunk version 204345 into gupc branch.
74 2013-10-31 Gary Funck <gary@intrepid.com>
76 Released GUPC 4.9.0.1 based on version 203902.
77 This release version was committed on 2013-10-21.
78 * DEV-PHASE: Bump to 4.9.0.2.
79 * DATESTAMP: Bump date stamp.
81 2013-10-28 Gary Funck <gary@intrepid.com>
83 Merge trunk version 204119 into gupc branch.
85 2013-10-21 Gary Funck <gary@intrepid.com>
87 Merge trunk version 203886 into gupc branch.
89 2013-10-14 Gary Funck <gary@intrepid.com>
91 Merge trunk version 203514 into gupc branch.
93 2013-10-07 Gary Funck <gary@intrepid.com>
95 Merge trunk version 203240 into gupc branch.
97 2013-10-01 Gary Funck <gary@intrepid.com>
99 Implement pointer-to-shared -> integer conversions.
100 Required per UPC 1.3 Specification.
101 * c/c-typeck.c (build_c_cast): Remove logic that diagnosed
102 PTS->int conversions as an error. Rewrite into a CONVERT_EXPR
103 for later processing by upc_genericize().
105 2013-10-01 Gary Funck <gary@intrepid.com>
107 Implement pointer-to-shared -> integer conversions.
108 Required per UPC 1.3 Specification.
109 * upc/upc-genericize.c (upc_genericize_pts_to_int_cvt): New.
110 (upc_genericize_expr): Call upc_genericize_pts_to_int_cvt().
112 2013-09-30 Gary Funck <gary@intrepid.com>
114 Merge trunk version 203026 into gupc branch.
116 2013-09-23 Gary Funck <gary@intrepid.com>
118 Merge trunk version 202825 into gupc branch.
120 2013-09-18 Gary Funck <gary@intrepid.com>
122 Merge trunk version 202725 into gupc branch.
124 2013-09-16 Gary Funck <gary@intrepid.com>
126 Merge trunk version 202619 into gupc branch.
128 2013-09-09 Gary Funck <gary@intrepid.com>
130 Merge trunk version 202382 into gupc branch.
132 2013-09-02 Gary Funck <gary@intrepid.com>
134 Merge trunk version 202159 into gupc branch.
136 2013-08-26 Gary Funck <gary@intrepid.com>
138 Merge trunk version 202008 into gupc branch.
140 2013-08-19 Gary Funck <gary@intrepid.com>
142 Merge trunk version 201832 into gupc branch.
144 2013-08-05 Gary Funck <gary@intrepid.com>
146 Merge trunk version 201483 into gupc branch.
148 2013-07-29 Gary Funck <gary@intrepid.com>
150 Merge trunk version 201301 into gupc branch.
152 2013-07-22 Gary Funck <gary@intrepid.com>
154 Merge trunk version 201119 into gupc branch.
156 2013-07-15 Gary Funck <gary@intrepid.com>
158 Merge trunk version 200955 into gupc branch.
160 2013-07-08 Gary Funck <gary@intrepid.com>
162 Merge trunk version 200775 into gupc branch.
164 2013-07-01 Gary Funck <gary@intrepid.com>
166 Merge trunk version 200575 into gupc branch.
168 2013-06-24 Gary Funck <gary@intrepid.com>
170 Merge trunk version 200361 into gupc branch.
172 2013-06-19 Gary Funck <gary@intrepid.com>
174 Merge trunk version 200149 into gupc branch.
176 2013-06-19 Gary Funck <gary@intrepid.com>
178 Merge trunk version 200149 into gupc branch.
179 * upc/upc-act.c (upc_create_static_var): New.
180 (upc_build_init_func): Call upc_create_static_var() to
181 create a static variable, __upc_init_func_addr, which
182 is initialized to the address of the UPC
183 shared data initialization function. This change is
184 needed to avoid writing to the output assembly language
186 (upc_build_sync_stmt): Delete unused variable, sync_expr_type.
188 2013-06-03 Gary Funck <gary@intrepid.com>
190 Merge trunk version 199596 into gupc branch.
192 2013-05-27 Gary Funck <gary@intrepid.com>
194 Merge trunk version 199350 into gupc branch.
196 2013-05-20 Gary Funck <gary@intrepid.com>
198 Merge trunk version 199093 into gupc branch.
200 2013-05-14 Gary Funck <gary@intrepid.com>
202 * upc/upc-pts-packed.c (upc_pts_packed_build_cvt):
203 When checking whether the phase of a PTS should be reset,
204 if the source type is an array type, then bypass
205 the check for equal type sizes.
206 * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
208 2013-05-13 Gary Funck <gary@intrepid.com>
210 Merge trunk version 198815 into gupc branch.
212 2013-05-06 Gary Funck <gary@intrepid.com>
214 Merge trunk version 198622 into gupc branch.
216 2013-04-29 Gary Funck <gary@intrepid.com>
218 Merge trunk version 198433 into gupc branch.
220 2013-04-15 Gary Funck <gary@intrepid.com>
222 Merge trunk version 197958 into gupc branch.
224 2013-04-08 Gary Funck <gary@intrepid.com>
226 Merge trunk version 197571 into gupc branch.
228 2013-04-04 Gary Funck <gary@intrepid.com>
230 Per the UPC 1.3 specification, the type of the
231 optional barrier/notify/wait expression is not constrained to
232 'int'. Instead, any type that is assignment compatible
233 with an 'int' type is permitted.
234 * c/c-parser.c (c_parser_upc_sync_statement): Do not check
235 the optional expression type here. Let upc_build_sync_stmt()
237 * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
238 * c/c-typeck.c (c_cvt_expr_for_assign): New. Also, call
239 error_at() in lieu of error() when the source location is known.
240 * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
241 to check/convert the optional synchronization statement
244 2013-04-02 Gary Funck <gary@intrepid.com>
246 Merge trunk version 197340 into gupc branch.
248 2013-04-02 Gary Funck <gary@intrepid.com>
250 Revert revision 178346 (2011-08-30)
251 which changed the prototype of check_qualified_type and related
252 functions so that their parameters were just 'tree' and not
253 'const_tree'. This seemed necessary at the time because of a
254 change to TYPE_BLOCK_FACTOR(), which in turn called function
255 that hashed the type node pointer. The hash functions did
256 not accept "const void *" pointers. Implement a work around
257 that removes this restriction.
258 * c/c-typeck.c: Revert.
260 * tree.h: Revert. Change prototype of upc_block_factor_lookup()
261 to accept a 'const_tree' pointer to a type node.
262 * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
263 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
264 input argument and convert this to 'tree' for use with hash function.
266 2013-04-02 Gary Funck <gary@intrepid.com>
268 Revert revision 178346 (2011-08-30)
269 which changed the prototype of check_qualified_type and related
270 functions so that their parameters were just 'tree' and not
271 'const_tree'. This seemed necessary at the time because of a
272 change to TYPE_BLOCK_FACTOR(), which in turn called a function
273 that hashed the type node pointer. The hash functions did
274 not accept "const void *" pointers. Implement a work around
275 that removes this restriction.
276 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
277 input argument and convert this to 'tree' for use with hash function.
279 2013-03-25 Gary Funck <gary@intrepid.com>
281 Merge trunk version 197029 into gupc branch.
283 2013-03-21 Gary Funck <gary@intrepid.com>
285 Released GUPC 4.8.0.3 based on version 196601.
286 This release version was committed on 2013-03-11.
287 * DATESTAMP: Bump date stamp.
289 2013-03-18 Gary Funck <gary@intrepid.com>
291 Merge trunk version 196771 into gupc branch.
292 * DEV-PHASE: Bump release identifier to 4.9.0-1.
294 2013-03-11 Gary Funck <gary@intrepid.com>
296 Merge trunk version 196592 into gupc branch.
298 2013-03-04 Gary Funck <gary@intrepid.com>
300 Merge trunk version 196422 into gupc branch.
302 2013-02-25 Gary Funck <gary@intrepid.com>
304 Merge trunk version 196253 into gupc branch.
306 2013-02-18 Gary Funck <gary@intrepid.com>
308 Merge trunk version 196115 into gupc branch.
310 2013-02-11 Gary Funck <gary@intrepid.com>
312 Merge trunk version 195937 into gupc branch.
314 2013-02-04 Gary Funck <gary@intrepid.com>
316 Merge trunk version 195707 into gupc branch.
318 2013-01-28 Gary Funck <gary@intrepid.com>
320 Merge trunk version 195502 into gupc branch.
322 2013-01-21 Gary Funck <gary@intrepid.com>
324 Merge trunk version 195330 into gupc branch.
326 2013-01-14 Gary Funck <gary@intrepid.com>
328 Merge trunk version 195164 into gupc branch.
330 2013-01-07 Gary Funck <gary@intrepid.com>
332 Merge trunk version 194962 into gupc branch.
334 2012-12-24 Gary Funck <gary@intrepid.com>
336 Merge trunk version 194709 into gupc branch.
338 2012-12-17 Gary Funck <gary@intrepid.com>
340 Merge trunk version 194552 into gupc branch.
342 2012-12-10 Gary Funck <gary@intrepid.com>
344 Merge trunk version 194351 into gupc branch.
346 2012-12-03 Gary Funck <gary@intrepid.com>
348 Merge trunk version 194076 into gupc branch.
350 2012-11-30 Gary Funck <gary@intrepid.com>
352 Released GUPC 4.8.0.2 based on version 193446.
353 Date of release: 2012-11-12.
354 * DEV-PHASE: Bump release identifier to 4.8.0-3.
355 * DATESTAMP: Bump date stamp.
357 2012-11-26 Gary Funck <gary@intrepid.com>
359 Merge trunk version 193807 into gupc branch.
361 2012-11-20 Gary Funck <gary@intrepid.com>
363 Merge trunk version 193672 into gupc branch.
365 2012-11-19 Gary Funck <gary@intrepid.com>
367 Merge trunk version 193617 into gupc branch.
369 2012-11-15 Gary Funck <gary@intrepid.com>
371 Merge trunk version 193426 into gupc branch.
373 2012-11-12 Gary Funck <gary@intrepid.com>
375 Released GUPC 4.8.0.1 based on version 192948.
376 Date of release: 2012-10-29.
377 * DEV-PHASE: Bump release identifier to 4.8.0-2.
378 * DATESTAMP: Bump date stamp.
380 2012-11-05 Gary Funck <gary@intrepid.com>
382 Merge trunk version 193152 into gupc branch.
384 2012-10-29 Gary Funck <gary@intrepid.com>
386 Merge trunk version 192909 into gupc branch.
388 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
390 Remove unused --upc-pthreads-per-process compile switch.
391 * c-family/c.opt: Remove --upc-pthreads-per-process switch
392 that compiler/runtime do not use.
393 * c-family/c-opts.c (c_common_handle_option): Remove support for
394 --upc-pthreads-per-process switch.
395 * c-family/c-common.c: Ditto.
396 * c-family/c-common.h: Ditto.
398 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
400 Remove unused --upc-pthreads-per-process compile switch.
401 * upc/upc-act.c (upc_handle_option): Ditto.
402 (upc_cpp_builtins): Ditto.
403 * upc/upc-lang.c (upc_init_options): Ditto.
405 2012-10-27 Gary Funck <gary@intrepid.com>
407 * defaults.h: fix typos and formatting in UPC-related entries.
409 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
411 Place shared initialization code into the .text
412 section instead of a separate .upc_init section.
413 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
414 (UPC_INIT_BEGIN_NAME): Delete.
415 (UPC_INIT_END_NAME): Delete.
416 * doc/tm.texi.in: Ditto.
417 * doc/tm.texi: Ditto.
419 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
421 Place shared initialization code into the .text
422 section instead of a separate .upc_init section.
423 * upc/upc-act.c (upc_build_init_func): Remove settings
424 of the section for shared initialization code.
426 2012-10-22 Gary Funck <gary@intrepid.com>
428 Merge trunk version 192673 into gupc branch.
430 2012-10-15 Gary Funck <gary@intrepid.com>
432 Merge trunk version 192449 into gupc branch.
434 2012-10-08 Gary Funck <gary@intrepid.com>
436 Merge trunk version 192198 into gupc branch.
438 2012-10-01 Gary Funck <gary@intrepid.com>
440 Merge trunk version 191931 into gupc branch.
442 2012-09-26 Gary Funck <gary@intrepid.com>
444 Implement support for various UPC version 1.3 specification
445 additions and changes. Deprecate support for upc_local_alloc.
446 Add support for upc_tick (wall-clock timer) library.
447 Add support for collective de-allocation functions:
448 upc_all_free and upc_all_lock_free.
449 Consult libgupc/ChangeLog,
450 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
452 2012-09-26 Gary Funck <gary@intrepid.com>
454 * upc/upc-act.c (upc_cpp_builtins): Pre-define __UPC_TICK__.
456 2012-09-24 Gary Funck <gary@intrepid.com>
458 Merge trunk version 191658 into gupc branch.
460 2012-09-17 Gary Funck <gary@intrepid.com>
462 Merge trunk version 191376 into gupc branch.
464 2012-09-10 Gary Funck <gary@intrepid.com>
466 Merge trunk version 191141 into gupc branch.
468 2012-08-29 Nenad Vukicevic <nenad@intrepid.com>
470 * upc/gupc.texi: Add description for -fupc-pre-include.
472 2012-08-27 Gary Funck <gary@intrepid.com>
474 Merge trunk version 190707 into gupc branch.
475 * tree.h (struct tree_base): Adjust various
476 UPC tree and type flags to refer to the
477 newly introduced u.bits field.
479 2012-08-20 Gary Funck <gary@intrepid.com>
481 Merge trunk version 190524 into gupc branch.
482 Incorporates a fix in genoutput.c (to properly use
483 CONST_CAST) that led to build failures with
484 older versions of g++.
486 2012-08-16 Gary Funck <gary@intrepid.com>
488 Merge trunk version 190437 into gupc branch.
489 Incorporates a fix for a build failure on the PPC
490 due to passing incorrect switches to the assembler.
491 Also, first merged trunk revision that compiles GCC
492 with the C++ compiler in the first stage.
494 2012-08-16 Gary Funck <gary@intrepid.com>
496 * upc/upc-pts-struct.c (upc_pts_struct_is_null_p):
497 Adjust VEC_index() calls to use C++ syntax.
498 This is required as part of the move to compile
499 GCC with the C++ compiler.
501 2012-08-13 Gary Funck <gary@intrepid.com>
503 Merge trunk version 190336 into gupc branch.
505 2012-08-09 Gary Funck <gary@intrepid.com>
507 * c-family/c-common.c (c_fully_fold_internal): Do not fold
508 offsetof-like expressions when they are applied to UPC
511 2012-08-07 Gary Funck <gary@intrepid.com>
513 * upc/upc-genericize.c: Delete un-used include of optabs.h.
514 Fixes a parallel make failure due to un-noticed dependency.
516 2012-08-06 Gary Funck <gary@intrepid.com>
518 Merge trunk version 190173 into gupc branch.
520 2012-08-01 Gary Funck <gary@intrepid.com>
522 Merge trunk version 190063 into gupc branch.
523 Incorporates fix for build failure on IA64.
525 2012-07-30 Gary Funck <gary@intrepid.com>
527 Merge trunk version 189954 into gupc branch.
529 2012-07-27 Gary Funck <gary@intrepid.com>
531 Merge trunk version 189856 into gupc branch.
532 Incorporates fix for bootstrap with a sub-set of language
533 specific source directories present.
534 * optabs.c: Revert to trunk. Rather than defining opcodes
535 as a way of defining get/put runtime library function names,
536 generate them directly in gcc/upc/upc-genericize.c.
538 * genopinit.c: Ditto.
540 2012-07-27 Gary Funck <gary@intrepid.com>
542 * upc/upc-genericize.c (upc_expand_get, upc_expand_put):
543 Rather than referring to UPC-specific opcodes to find
544 the name of the get/put library function name, generate
546 (get_lc_mode_name): New.
548 2012-07-25 Gary Funck <gary@intrepid.com>
550 * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
551 Fix regression: field-by-field comparison of UPC
552 pointer-to-shared (vaddr, thread) only works
553 (with the current logic) for the == and != operators.
555 2012-07-24 Gary Funck <gary@intrepid.com>
557 * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
558 Fix warning about use of const_tree.
560 2012-07-24 Gary Funck <gary@intrepid.com>
562 Per UPC spec. 6.4.2p6, ignore the value of the
563 phase of a pointer-to-shared, when comparing for
565 * upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
566 Use bit-wise comparison only if the UPC pointer-to-shared
567 target type has a block size <= 1 and the representation
568 has vaddr first or the comparison is for equality/inequality.
569 * upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
570 Use (vaddr, thread) comparison only if the UPC pointer-to-shared
571 has a block size <= 1 or the comparison is for equality/inequality.
573 2012-07-23 Gary Funck <gary@intrepid.com>
575 Merge trunk version 189777 into gupc branch.
577 2012-07-16 Gary Funck <gary@intrepid.com>
579 Merge trunk version 189545 into gupc branch.
581 2012-07-12 Gary Funck <gary@intrepid.com>
583 Merge trunk version 189366 into gupc branch.
585 2012-07-05 Gary Funck <gary@intrepid.com>
587 Merge trunk version 189274 into gupc branch.
588 Incorporates graphite build infrastructure changes.
590 2012-07-04 Gary Funck <gary@intrepid.com>
592 Merge trunk version 189080 into gupc branch.
593 * Makefile.in: Adjust for move of C front-end files.
594 * c/Make-lang.in: Ditto.
596 2012-07-04 Gary Funck <gary@intrepid.com>
598 * upc/config-lang.in: Adjust for move of C front-end files.
599 * upc/upc-act.c: Look for c-tree.h and c-objc-common.h in c/.
600 * upc/upc-gasp.c: Ditto.
601 * upc/upc-genericize.c: Ditto.
602 * upc/upc-lang.c: Ditto.
603 * upc/upc-pts-struct.c: Ditto.
605 2012-07-03 Gary Funck <gary@intrepid.com>
607 Merge trunk version 189078 into gupc branch.
609 2012-06-25 Gary Funck <gary@intrepid.com>
611 Merge trunk version 188931 into gupc branch.
613 2012-06-18 Gary Funck <gary@intrepid.com>
615 Merge trunk version 188721 into gupc branch.
617 2012-06-11 Gary Funck <gary@intrepid.com>
619 Merge trunk version 188380 into gupc branch.
621 2012-06-04 Gary Funck <gary@intrepid.com>
623 Merge trunk version 188168 into gupc branch.
625 2012-05-29 Gary Funck <gary@intrepid.com>
627 Merge trunk version 187927 into gupc branch.
629 2012-05-19 Gary Funck <gary@intrepid.com>
631 * upc/upc-act.c (upc_lang_layout_decl): Ignore declarations of
632 an array of shared type declarations if the size of the
633 array is zero. This avoids a segfault when processing
634 the UPC blocking factor.
636 2012-05-18 Gary Funck <gary@intrepid.com>
638 Merge trunk version 187666 into gupc branch.
639 Incorporates fix for ICE in tree vectorization pass
640 when processing strided loads.
642 2012-05-17 Gary Funck <gary@intrepid.com>
644 Merge trunk version 187578 into gupc branch.
646 2012-05-09 Gary Funck <gary@intrepid.com>
648 Merge trunk version 187347 into gupc branch.
649 Incorporates fix for segfault in tree vectorization pass.
651 2012-05-08 Nenad Vukicevic <nenad@intrepid.com>
653 * upc/gupcspec.c (lang_specific_driver): Improve handling of
654 "-x" switches: (a) add "-x upc" switch for C source files if
655 no -x switch was seen before OR "-x none" was seen, (b) add
656 "-x none" for files other then C files if "-x upc" was
657 previously added. Cleanup warnings on unused variables
658 and integer conversion. Print verbose info regardless of the
659 command line being the same.
661 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
663 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
664 Appropriate libraries and include files are added on the
665 command line to make it possible to compile with the driver
668 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
670 * upc/gupc.texi: Simplify the description of the optimization
673 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
675 * upc/Make-lang.in: Remove build of xgupc.
676 * upc/gupcspec.c (get_libgupc_path): Delete.
677 (lang_specific_driver): Remove support for building xgupc.
678 Removed code tried to add -B, -L, -isystem to the command
679 line if xgupc driver is invoked from the development tree.
681 2012-05-04 Gary Funck <gary@intrepid.com>
683 * upc/upc-act.c (upc_num_threads): When THREADS is specified
684 statically, convert the value to a signed size type,
685 so that (for example) the thread affinity test in a
686 upc_forall() statement will work as expected for negative
687 integer index values.
689 2012-04-30 Nenad Vukicevic <nenad@intrepid.com>
691 * upc/Make-lang.in: Add year 2012 to the copyright.
693 2012-04-30 Nenad Vukicevic <nenad@intrepid.com>
695 * upc/gupc.c: Delete. The old GUPC driver.
696 * upc/gupcspec.c: Add. The new GUPC driver tailored
697 after fortran/gfortranspec.c driver. Options "-n", "-inst",
698 and "-inst-functions' are not supported by the new driver.
699 Support for building gupc and xgupc remains the same.
700 * upc/Make-lang.in (xgupc): Changes to compile gupcspec.c
703 * upc/gupc.texi: Remove '-n', '-inst', and '-inst-functions'
706 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
708 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
709 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
710 a function returns a pointer-to-shared in memory instead
712 (rs6000_pass_by_reference): Ditto.
714 2012-04-28 Gary Funck <gary@intrepid.com>
716 * c-decl.c (grokdeclarator): Set 'type' to error node
717 after detecting "shared auto variable" error to avoid
718 downstream complications.
719 * upc/upc-act.c: Fix a couple of spelling errors in comments.
721 2012-04-26 Gary Funck <gary@intrepid.com>
723 * c-family/c-pragma.c (handle_pragma_upc):
724 Fix typo in warning message.
726 2012-04-17 Nenad Vukicevic <nenad@intrepid.com>
728 * upc/gupc.texi: Fix the warning for usage of 'insertcopying'
729 before 'copying'. Minor changes to to copyright years and
732 2012-04-17 Gary Funck <gary@intrepid.com>
734 Merge trunk version 186486 into gupc branch.
736 2012-04-17 Gary Funck <gary@intrepid.com>
738 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
739 value of the pupc mode. Fixes a compile-time warning.
740 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
741 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
742 Improve source formatting.
744 2012-04-16 Gary Funck <gary@intrepid.com>
746 * upc/upc-genericize.c: Adjust copyright.
747 (upc_genericize_fndecl): Adjust call graph
748 union member reference to use the newly introduced
749 'symbol' field in order to refer to 'decl'.
751 2012-04-09 Gary Funck <gary@intrepid.com>
753 Merge trunk version 186243 into gupc branch.
754 Incorporates a powerpc 'ffi' fix.
756 2012-03-16 Gary Funck <gary@intrepid.com>
758 Merge trunk version 185454 into gupc branch.
759 Incorporates a libgcc fix for builds on Darwin.
761 2012-03-13 Gary Funck <gary@intrepid.com>
763 Merge trunk version 185278 into gupc branch.
764 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
765 call build_pointer_type() to apply UPC-specific qualifiers.
766 * top-level/configure.ac: factor the checking for posix hostst
767 out of the libgomp section so that it can also be used by libgupc.
768 * top-level/configure: Re-generate.
769 * DEV-PHASE: bump to 4.8.0-1.
771 2012-03-12 Gary Funck <gary@intrepid.com>
773 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
774 the mode for a pointer for upc-pointer-to-shared types.
776 2012-03-04 Gary Funck <gary@intrepid.com>
778 Merge trunk version 184900 into gupc branch.
780 2012-02-17 Gary Funck <gary@intrepid.com>
782 Released GUPC 4.7.0.2 based on version 183992.
783 * DEV-PHASE: Bump release identifier to 4.7.0-3.
784 * DATESTAMP: Bump date stamp.
786 2012-02-07 Nenad Vukicevic <nenad@intrepid.com>
788 * upc/gupc.texi: Added entries for the directory.
790 2012-02-05 Nenad Vukicevic <nenad@intrepid.com>
792 * upc/gupc-manpage.html: Removed. HTML files are generated from
795 2012-02-05 Nenad Vukicevic <nenad@intrepid.com>
797 * upc/gupc.texi (-x upc): Add files ending with '.c' to the list
798 of files compiled as UPC source.
800 2012-02-04 Nenad Vukicevic <nenad@intrepid.com>
802 * upc/Make-lang.in (doc/gupc.info): Fix dependencies for creating
805 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
807 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
808 code generation (same as #pragma pupc off).
809 (set_pupc_mode): New. Set/restore profiling mode.
810 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
811 (set_pupc_mode): New. Prototype.
812 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
813 profiling code for shared variables initialization routines.
815 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
817 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
818 profiling code for shared variables initialization routines.
820 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
822 * upc/Make-lang.in: Various changes related to generating
823 man/info pages from texi source file.
824 (upc.install-common): Fix for removing the upc command
825 link before install if suffix was applied.
826 (upc.install-pdf): New.
827 (upc.install-html): Change for the build from texi.
828 (upc.install-man): Change for the build from texi.
829 * upc/gupc.1: Removed.
830 * upc/gupc.texi: New. Created texi source for man/info
833 2012-01-31 Gary Funck <gary@intrepid.com>
835 Merge trunk version 183751 into gupc branch.
836 Incorporates fix for bootstrap failure on openSUSE 12.1.
838 2012-01-30 Nenad Vukicevic <nenad@intrepid.com>
840 * upc/Make-lang.in: Fix the --program-suffix configuration
841 option. GUPC executables are now installed with appropriate
842 suffixes and GUPC driver execs 'gcc' with the right suffix.
844 2012-01-24 Nenad Vukicevic <nenad@intrepid.com>
846 * upc/upc-lang.c (upc_init_options): Disable section anchors
849 2012-01-14 Gary Funck <gary@intrepid.com>
851 * upc/upc-genericize.c (upc_genericize_expr): Update input_location
852 while traversing the program tree.
853 (upc_expand_get, upc_expand_put): For profiling, derive
854 the source code location from the incoming 'loc' parameter.
856 2012-01-10 Gary Funck <gary@intrepid.com>
858 Merge trunk version 183072 into gupc branch.
859 Incorporates libcpp __BASE_FILE__ fix.
861 2012-01-09 Gary Funck <gary@intrepid.com>
863 * upc/upc-genericize.c (upc_expand_put): Use is_gimple_reg instead of
864 is_gimple_non_addressable.
866 2012-01-06 Nenad Vukicevic <nenad@intrepid.com>
868 * upc/Make-lang.in: Add appropriate linker flags when linking
871 2012-01-06 Nenad Vukicevic <nenad@intrepid.com>
873 * upc/Make-lang.in: Add appropriate linker flags when linking
876 2011-12-31 Gary Funck <gary@intrepid.com>
878 Fix gupc driver to avoid segfault when processing
879 invalid use of a switch that expects an argument.
880 * upc/gupc.c (get_libgupc_path): Add check for non-NULL value of
881 libgupc_archive before attempting to access libgupc_archive[0].
882 (main): Do not issue error if lib_dir is NULL. Instead, only
883 process lib_dir if it is non-NULL.
885 2011-12-31 Gary Funck <gary@intrepid.com>
887 Improve -fupc-debug support.
888 * upc/upc-genericize.c (upc_expand_get, upc_expand_put,
889 upc_genericize_sync_stmt): Add check for flag_upc_debug.
890 * upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
891 * upc/upc-pts-packed.c (upc_pts_packed_build_cvt): Ditto.
892 * upc/upc-act.c (upc_cpp_builtins): Disable inlining of the
893 runtime if flag_upc_debug is asserted.
895 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
897 * top-level/Makefile.def (flags_to_pass): Added GUPC
898 defines. Fixes the make error when upc is not specified as one
899 of the languages to build.
900 * top-level/Makefile.in: Re-generate.
902 2011-11-22 Gary Funck <gary@intrepid.com>
904 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
905 * dwarf2out.c (gen_compile_unit_die): Check for
906 the "GNU UPC" language string in lieu of "GCC UPC".
907 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
909 2011-11-22 Gary Funck <gary@intrepid.com>
911 * upc/upc-act.c (upc_cpp_builtins): Generate new pre-defined
914 2011-11-18 Gary Funck <gary@intrepid.com>
916 Merge trunk version 181552 into gupc branch.
917 Incorporates libgcc/libunwind fix for IA64.
919 2011-11-19 Gary Funck <gary@intrepid.com>
921 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
922 Add check for UPC when defining the language type value
923 in a traceback entry.
925 2011-11-19 Gary Funck <gary@intrepid.com>
927 * upc/config-lang.in: Remove checks for supported targets.
928 This is now done at a higher level.
930 2011-11-18 Gary Funck <gary@intrepid.com>
932 Merge trunk version 181493 into gupc branch.
933 Incorporates final fix for PR target/49992.
935 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
937 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
938 change that converted relative include paths into absolute
939 ones, as it does not work with older version of make (3.80).
941 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
943 Apply patch for Darwin build - PR49992.
944 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
945 * gcc/configure.ac: Ditto.
946 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
947 * gcc/ada/gcc-interface/Makefile.in: Ditto.
948 * top-level/configure: Re-generate.
949 * gcc/configure: Re-genrate.
951 2011-10-26 Gary Funck <gary@intrepid.com>
953 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
954 "libupc" to "libgupc".
955 * top-level/configure.ac: Implement support for cross-builds, and
956 adjust for rename of libupc to libgupc.
957 * top-level/Makefile.tpl: Ditto.
958 * top-level/Makefile.def: Ditto.
959 * top-level/configure: Re-generate.
960 * top-level/Makefile.in: Re-generate.
961 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
962 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
963 * doc/tm.texi: Re-generate.
964 * tree-pretty-print.c (dump_block_node): Delete unused variable.
965 * gcc.c: Adjust for rename of libupc to libgupc.
966 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
967 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
968 Change "xupc" to "xgupc".
969 * configure.ac: Change "GCC UPC" to "GNU UPC".
970 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
971 so that they are absolute paths. This is needed because
972 the upc-crtstuff builds are in the libgupc library build
973 directories which are not at the same level as libgcc.
974 * config/darwin.h: Adjust for rename of libupc to libgupc.
976 2011-10-26 Gary Funck <gary@intrepid.com>
978 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
979 "libupc" to "libgupc".
980 * upc/gupc.c: Rename from upc-cmd.c and adjust for rename
981 of libupc to libgupc.
982 * upc/upc-lang.c (LANG_HOOKS_NAME): Change "GCC UPC" to "GNU UPC".
983 * upc/config-lang.in: Adjust for rename of libupc to libgupc.
984 * upc/gupc.1: Rename from upc.1. Change "GCC UPC" references
985 to "GNU UPC". Adjust for rename of libupc to libgupc.
987 * upc/gupc-manpage.html: Rename from upc-manpage.html. Re-generate.
988 * upc/Make-lang.in: Change "upc" to "gupc". Change "xupc" to "xgupc".
989 Adjust for rename of libupc to libgupc. Install target symlink from
990 "upc" to "gupc". Install target/version-specific hard links to "gupc".
992 2011-10-20 Gary Funck <gary@intrepid.com>
994 Merge trunk version 180276 into gupc branch.
995 Incorporates fix for PR bootstrap/50709.
997 2011-10-20 Gary Funck <gary@intrepid.com>
999 Merge trunk version 180246 into gupc branch.
1001 2011-10-19 Gary Funck <gary@intrepid.com>
1003 Merge trunk version 180233 into gupc branch.
1004 Incorporates fix for PR debug/49310 (var tracking).
1006 2011-10-17 Gary Funck <gary@intrepid.com>
1008 Fix a regression caused by the previous commit.
1009 * upc/upc-genericize.c (upc_genericize_walk):
1010 Renamed from: upc_genericize_stmt.
1011 (upc_shared_addr): for COMPONENT_REF and INDIRECT_REF
1012 re-walk the tree after simplification, by calling
1013 upc_genericize_walk().
1014 (upc_genericize_array_ref): expand the newly constructed
1015 indirect reference by calling upc_genericize_indirect_ref().
1017 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
1019 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
1020 only four (O0 static/dynamic, O3 static/dynamic).
1021 Detect -fupc-threads-0 as an option for dynamic threads
1022 compile environment.
1024 2011-10-10 Gary Funck <gary@intrepid.com>
1026 * tree.c (check_qualified_type, check_aligned_type):
1027 Call tree_int_cst_equal() to compare UPC blocking factors
1028 if the corresponding tree pointers are not equal.
1029 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
1031 2011-10-10 Gary Funck <gary@intrepid.com>
1033 * upc/upc-genericize.c (upc_simplify_shared_ref): When simplifying
1034 the base address always convert to (shared [] char *).
1035 This ensures that &a[i].field1 ends up with the required
1036 zero block size, for example.
1038 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
1040 Add configuration checks for struct/packed builds so we can
1041 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
1042 * testsuite/lib/target-supports.exp
1043 (check_effective_target_upc_struct_pts): New.
1044 (check_effective_target_upc_packed_pts): New.
1046 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1048 Add to FLAGS the flags needed to disable inlining of
1049 UPC run-time access routines.
1050 * testsuite/lib/target-supports.exp
1051 (add_options_for_upc_library_calls): New.
1053 2011-09-15 Gary Funck <gary@intrepid.com>
1055 Fix ICE involving shared bit field accesses.
1056 * tree.c (build3_stat): Propagate TEEE_SHARED()
1057 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1059 2011-09-13 Gary Funck <gary@intrepid.com>
1061 Merge trunk version 178795 into gupc branch.
1062 Incorporates fix to PR bootstrap/50010 for x86-32.
1064 2011-09-08 Gary Funck <gary@intrepid.com>
1066 Merge trunk version 178557 into gupc branch.
1068 2011-09-07 Gary Funck <gary@intrepid.com>
1070 Ensure that UPC pointer-to-shared type alignment is
1071 propagated to the final type. Revert to long-standing
1072 alignment policy: twice the size of a "C" pointer.
1073 * tree.c (build_pointer_type): Propagate the alignment
1074 of the UPC pointer-to-shared representation type
1075 into the newly built pointer type.
1077 2011-08-30 Gary Funck <gary@intrepid.com>
1079 * tree.h (check_qualified_type): Change 'const_tree'
1080 argument types back to 'tree' to avoid complaints
1081 of assignment drops qualifiers for invocations of the
1082 newly implemented TYPE_BLOCK_FACTOR() macro, which
1083 invokes hash functions with 'tree' pointer values that
1084 are not const qualified.
1085 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1086 * c-typeck.c (comptypes_internal): Ditto.
1088 2011-08-29 Gary Funck <gary@intrepid.com>
1090 Fixes for regressions noted running "make check"
1092 * fold-const.c (fold_unary_loc): Execute UPC-specific
1093 checks for a cast-of-a-cast, only if one of the
1094 operands is a UPC pointer-to-shared value.
1095 * opts.c (print_specific_help): Fix a comparison
1096 in an assert that checks that there are enough
1097 bits reserved for the number of languages defined
1100 2011-08-29 Gary Funck <gary@intrepid.com>
1102 Implement a hash table to record UPC block factors.
1103 * c-family/stub-upc.c (upc_block_factor_insert,
1104 upc_block_factor_lookup): New dummy stub procedures.
1105 * c-family/c-common.c (c_sizeof_or_alignof_type):
1106 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1107 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1108 to copy (hashed) UPC blocking factor.
1109 (set_type_quals): Likewise.
1110 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1111 TYPE_HAS_THREADS_FACTOR().
1112 (type_common.block_factor): Delete.
1113 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1114 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1115 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1116 UPC blocking factors greater than one.
1117 * dwarf2out.c (modified_type_die): Re-implement
1118 logic that records UPC blocking factor in the generated
1119 DWARF2 debugging information.
1120 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1121 TYPE_HAS_THREADS_FACTOR().
1122 * c-decl.c (finish_decl, grokdeclarator):
1123 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1124 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1125 used by UPC, and print UPC-specific information.
1127 2011-08-28 Gary Funck <gary@intrepid.com>
1129 Re-work the type machinery to fully support and to unify support
1130 for the UPC layout qualifier (blocking factor).
1131 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1132 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1133 and update prototype.
1134 * c-family/c-common.c (complete_array_type): call newly
1135 defined c_build_qualified_type_1() instead of
1136 upc_set_block_factor().
1137 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1138 upc_apply_layout_qualifier() and update prototype.
1139 (upc_set_block_factor): Delete prototype.
1140 * c-family/c-common.h (c_build_qualified_type): redefine
1141 as a pre-processor macro that invokes c_build_qualified_type_1()
1142 with a null UPC layout qualifier.
1143 (c_build_qualified_type_1): New. Add layout qualifier argument
1144 to old c_build_qualified_type() prototype.
1145 * tree.c (set_type_quals, check_qualified_type):
1146 Add layout qualifier as argument.
1147 (check_aligned_type): Add check for UPC block factor equality.
1148 (get_qualified_type_1): Rename from get_qualified_type() and
1149 add layout qualifier as argument.
1150 (build_qualified_type_1): Rename from build_qualified_type() and
1151 add layout qualifier as argument.
1152 * tree.h (check_qualified_type): Add layout qualifier as argument
1154 (get_qualified_type): Re-define as a as a pre-processor macro
1155 that invokes get_qualified_type_1() with a null
1156 UPC layout qualifier.
1157 (get_qualified_type_1): Rename from get_qualified_type() and
1158 add layout qualifier as argument.
1159 * cp/tree.c (c_build_qualified_type_1): Rename from
1160 c_build_qualified_type() and add (unused) layout qualifier
1162 * c-decl.c (finish_decl): re-format long error messages.
1163 (grokdeclarator): Re-work the logic so that it calls
1164 upc_grok_layout_qualifier() to handle the UPC layout
1165 qualifier, if present.
1166 * c-typeck.c (qualify_type, common_pointer_type,
1167 build_component_ref): Re-work the logic so that it calls
1168 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1170 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1171 and add layout qualifier argument.
1172 * print_tree.c (print_node): Re-format a long line.
1174 2011-08-26 Gary Funck <gary@intrepid.com>
1176 Merge trunk version 177949 into gupc branch.
1177 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1179 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1180 to add new rliterals column value.
1182 2011-08-26 Gary Funck <gary@intrepid.com>
1184 * convert.c (convert_to_integer): Fix the check for the
1185 difference between two UPC pointers-to-shared values.
1187 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1189 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1190 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1191 correctly check packed bits.
1192 * configure: Re-generate.
1194 2011-08-16 Gary Funck <gary@intrepid.com>
1196 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1197 the barrier id expression is not an integer expression.
1199 2011-08-12 Gary Funck <gary@intrepid.com>
1201 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1203 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1204 Set mode of UPC pointer-to-shared rep. to an
1205 integral mode of size at least as large as the
1206 size of the representation's struct type.
1208 2011-08-12 Gary Funck <gary@intrepid.com>
1210 Rework/simplify the UPC genericize pass.
1211 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1212 upc_build_pointer_type): New.
1213 (upc_set_block_factor): Adjust to new calling sequence.
1214 (upc_build_shared_var_addr): Delete.
1215 * c-family/c-common.c (complete_array_type): Adjust call
1216 to upc_set_block_factor().
1217 * c-family/c-upc.h (upc_apply_layout_qualifier,
1218 upc_build_pointer_type): New.
1219 (upc_build_shared_var_addr): Delete.
1220 (upc_set_block_factor): Adjust to new calling sequence.
1221 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1222 * c-decl.c (grokdeclarator): Call newly defined
1223 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1224 * c-decl.c (grokdeclarator): Split long UPC-related error
1225 messages into two lines.
1226 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1227 directly. Revert that change to trunk. (upc_genericize() will
1228 handle lowering the expressions that take the address of a
1230 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1231 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1232 representation type.
1234 2011-08-10 Gary Funck <gary@intrepid.com>
1236 Implement additional fixes for recent merge with trunk.
1237 * explow.c (promote_mode): Do not attempt to promote
1238 the mode for UPC pointer-to-shared types.
1239 * config/i386/i386.c (function_value_64): Ditto.
1241 2011-08-07 Gary Funck <gary@intrepid.com>
1243 Merge trunk version 177548 into gupc branch.
1244 * config/i386/i386.c (ix86_promote_function_mode):
1245 Do not promote UPC pointers-to-shared to Pmode.
1246 * c-family/c-ommon.c (pointer_int_sum):
1247 Also check the pointer operand, rather than just
1248 its type, when making the decision to derive
1249 the equivalent unshared type.
1250 * tree.c (build2_stat): If the type of the result
1251 passed in as an argument is a UPC shared type,
1252 derive the unshared equivalent when calculating
1253 the result type of the node.
1255 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
1257 * config/darwin.c: Disable var_tracking option
1258 on -O0 as it is supposed to run only when optimization
1259 is applied. See GCC bug 49743.
1261 2011-07-06 Gary Funck <gary@intrepid.com>
1263 Re-implement the pass that lowers trees generated by
1264 the UPC front-end into GENERIC. Previously this was
1265 done within the gimplification framework, but this
1266 required that gimplification be run before inlining
1267 and various other passes, which did not fit in well
1268 with the current design of the middle-end passes.
1269 Now, the lowering is done by a newly defined language
1270 specific genericize hook. With this change, we are
1271 are able to undo some extensions made to the gimplify
1272 logic, and thus can revert several files to trunk.
1273 * c-decl.c: Add a check for UPC deprecated names which
1274 may appear as undefined function names.
1275 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1276 LTI_upc_getaddr): Remove definitions of unused UPC
1277 library function names. These were defined back when
1278 the libfunc interface was used to call these routines.
1279 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1280 in UPC lowering (genericize) pass.
1281 * langhooks.h (gimplify_expr): Revert to trunk's definition.
1282 (instrument_func): Delete this hook. Now handled in
1284 * tree-pass.h: Revert to trunk.
1285 * c-typeck.c (build_unary_op): Adjust reference to
1286 upc_genericize() in a comment.
1287 * gimplify.c (create_tmp_var_raw): Delete logic that
1288 was converting UPC shared types into unshared types
1289 to be used for temporaries. Now handled in upc_genericize().
1290 Replace with an assertion check.
1291 (prepare_gimple_addressable): Revert to trunk's definition.
1292 No longer needed as an externally called function.
1293 (flag_instrument_functions_exclude_p): Re-define as
1294 an externally called function.
1295 (gimplify_function_tree): Delete code that implemented
1296 call to UPC's language specific function instrumentation hook.
1297 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1298 (prepare_gimple_addressable): Delete extern definition;
1299 revert to trunk's definition.
1300 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1301 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1302 * c-family/c-gimplify.c: Revert to trunk.
1303 * cp/cp-gimplify.c: Revert to trunk.
1304 * cp/cp-tree.h: Revert to trunk.
1305 * explow.c: Revert to trunk.
1306 * langhooks.c: Revert to trunk.
1307 * libfuncs.h: Revert to trunk.
1308 * objc/objc-act.c: Revert to trunk.
1310 2011-06-30 Gary Funck <gary@intrepid.com>
1312 * c-family/c.opt: Bring options definitions up-to-date
1313 with respect to changes made in the trunk.
1315 2011-06-29 Gary Funck <gary@intrepid.com>
1317 Merge trunk version 175584 into gupc branch.
1319 2011-06-13 Gary Funck <gary@intrepid.com>
1322 * include/cpplib.h (enum c_lang):
1323 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1324 This keeps all the "C" variants together.
1325 * init.c (lang_defaults): Add an entry for UPC.
1327 2011-06-09 Gary Funck <gary@intrepid.com>
1329 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1330 a 32-bit target, the size expression overflowed, the result was
1331 error_mark_node, and an ICE was triggered on an attempt to evaluate
1332 C_TYPE_VARIABLE_SIZE() on the error node.
1333 (upc_blocksizeof_expr, upc_blocksizeof_type,
1334 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1335 Make similar changes to avoid further processing of error_mark_node.
1337 2011-06-07 Gary Funck <gary@intrepid.com>
1339 * sel-sched.c (move_op): Incorporate the following
1340 patch to eliminate ICE at -O3 on IA64/Altix.
1342 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
1344 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
1345 code_motion_path_driver returned 0 or 1.
1346 (sel_region_finish): Clear h_d_i_d.
1348 2011-06-02 Gary Funck <gary@intrepid.com>
1350 Merge trunk version 174558 into gupc branch.
1352 2011-05-30 Gary Funck <gary@intrepid.com>
1354 * configure.ac: Make the default order of the virtual
1355 address field in a UPC pointer-to-shared to be "first".
1356 This reverts to the previous setting, and is a short term
1357 measure to work around a bug found on the IA64,
1358 where vaddr=last led to incorrect code generation.
1359 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1360 in AC_DEFINE(), to agree with recent changes in files
1361 that reference this define.
1362 configure, config.in: Regenerate.
1364 2011-05-26 Gary Funck <gary@intrepid.com>
1366 * configure.ac: Fix typo when referring to $upc_vaddr_order.
1367 configure: Regenerate.
1368 * ../fixincludes/fixincl.x: Revert to trunk.
1369 This file is auto-generated, and should not be merged.
1371 2011-05-18 Gary Funck <gary@intrepid.com>
1373 Merge trunk version 173845 into gupc branch.
1375 2011-05-17 Gary Funck <gary@intrepid.com>
1377 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1378 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1379 * c-family/c-pragma.c: Remove conditional compilation
1380 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1381 Test 'compiling_upc' when compiling to determine if
1382 the "upc" and "pupc" pragmas should be registered.
1383 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1384 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1385 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1386 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1387 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1388 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1389 Move these target-dependent definitions from config/upc-conf.h
1391 * configure.ac: Improve the logic for UPC-related options.
1392 Delete references to pre-processor definitions that have
1393 been moved to "upc/upc-pts.h".
1394 * configure, config.in: Regenerate.
1395 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1396 to trunk. This substitution variable was used to
1397 configure the representation-specific versions of
1398 the tree rewrites that operate on UPC pointer-to-shared
1400 * c-parser.c (c_parser_upc_forall_statement): Remove
1401 reference to UPC_FORALL_DEPTH_NAME, and call
1402 newly defined upc_rts_forall_depth_var() instead.
1403 * config/upc-config.h: Delete. Various definitions
1404 moved to "upc/upc-rts-names.h", "defaults.h", and
1406 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1407 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1408 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1409 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1410 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1411 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1412 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1413 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1414 New. Document UPC target macros.
1415 doc/tm.texi: Regenerate.
1417 2011-05-07 Gary Funck <gary@intrepid.com>
1419 * ../configure.ac: Disable build of libupc
1420 on non POSIX hosted systems. Use AS_HELP_STRING
1421 to define messages. Remove 'word-pair' as a
1422 possible --with-upc-pts UPC pointer-to-shared
1424 * ../configure: Regenerate.
1425 * configure.ac: Use AS_HELP_STRING to define messages.
1426 Remove 'word-pair' as a possible --with-upc-pts
1427 UPC pointer-to-shared representation.
1428 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1429 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1430 * configure: Regenerate.
1431 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1433 * ChangeLog.upc: Fix some typos.
1435 2011-05-07 Gary Funck <gary@intrepid.com>
1437 * ../maintainer-scripts/gcc_release: Add "upc"
1438 as one of the released languages.
1440 2011-05-06 Gary Funck <gary@intrepid.com>
1442 Eliminate compilation warnings, by fixing
1443 #include's and updating function prototypes.
1444 * c-family/c-cppbuiltin.c: Include c-upc.h.
1445 * optabs.c (gen_libfunc): Change type of 'suffix'
1446 parameter to conform with prototype.
1447 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1448 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1450 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1452 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1453 argument values to cp_gimplify_expr.
1454 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1455 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
1456 pre-processor definitions that are no longer
1457 needed to build the 'upc' command (upc-cmd.c)
1458 because the linker specs. defined in libupc
1459 take care of linking in the needed libraries.
1460 * c-parser.c (c_parser_upc_forall_statement):
1461 initialize affinity_loc to avoid "maybe unused" warning.
1462 (c_parser_upc_sync_statement): Remove un-needed
1463 'ret' variable. Cast return value from
1464 'upc_build_sync_stmt' to 'void' to avoid
1465 compile-time warning.
1466 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1467 integer constant, not a string. Range is restricted
1468 to maximum positive 32-bit integer (2+ billion) to
1469 fit in with the use of 'int' in the front-end's
1470 switch handling logic.
1472 2011-05-06 Gary Funck <gary@intrepid.com>
1474 Upgrade c-family source files to conform with modularity
1475 improvements. Mainly, remove #include of c-tree.h in files
1476 under c-family, and define a new UPC-specific #include file,
1477 c-upc.h, and use it.
1478 * c-family/stub-upc.c: Remove #include of c-tree.h and
1479 upc/upc-act.h. Replace with #include of c-common.h
1481 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1482 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1483 upc_localsizeof_expr, upc_localsizeof_type,
1484 upc_shared_type_p): Delete.
1485 * c-family/c-opts.c: Add #include of c-upc.h
1486 * c-family/c-common.c: Remove #include of c-tree.h and
1487 add #include of c-upc.h.
1488 * c-family/c-upc.h: New. Define API for UPC-specific functions
1489 (mostly implemented in upc/upc-act.c).
1490 * c-family/c-common.h (upc_cpp_builtins,
1491 upc_write_global_declarations): Remove extern definitions.
1492 * c-family/c-pragma.c: Remove #include of c-tree.h.
1493 Add #include of c-upc.h.
1494 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
1496 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
1497 upc/upc-act.c, and define as a macro.
1498 (expand_affinity_test): Remove unused external definition.
1499 (build_upc_unshared_type): Add external definition.
1500 (upc_shared_type_p): Remove external definition.
1501 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1502 * dojump.c: Remove #include of c-tree.h.
1503 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1505 (count_upc_threads_refs, is_multiple_of_upc_threads,
1506 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1507 upc_build_shared_var_addr, upc_build_sync_stmt,
1508 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1509 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1510 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1511 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1512 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1513 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1514 set_upc_consistency_mode, get_upc_consistency_mode,
1515 push_upc_consistency_mode, pop_upc_consistency_mode,
1517 Move external definitions to c-family/c-upc.h.
1518 (upc_blocksizeof_type, upc_localsizeof_type,
1519 upc_elemsizeof_type): Remove external definitions;
1520 these functions were moved to c-parser.c.
1521 * c-decl.c: Add #include of c-upc.h.
1522 * c-typeck.c: Add #include of c-upc.h.
1523 * c-convert.c: Add #include of c-upc.h.
1524 * ChangeLog.upc: Fix typo.
1525 * Makefile.in: Add references to c-family/c-upc.h, everywhere
1526 there is a reference to c-family/c-objc.h.
1527 Remove extraneous reference to upc-act.h.
1528 * c-parser.c: Add #include of c-upc.h.
1529 (upc_blocksizeof_expr, upc_blocksizeof_type,
1530 upc_elemsizeof_expr, upc_elemsizeof_type,
1531 upc_localsizeof_expr, upc_localsizeof_type):
1532 Move from upc/upc-act.c.
1533 * tree.c (build_upc_unshared_type): New.
1534 Move upc_get_unshared_type from upc/upc-act.c and rename
1535 to build_upc_unshared_type.
1536 c-family/c-common.c (pointer_int_sum): refer to renamed
1537 build_upc_unshared_type function.
1538 c-convert.c (convert): Ditto.
1539 convert.c (convert_to_pointer): Ditto.
1540 c-typeck.c (build_unary_op, build_modify_expr,
1541 really_start_incremental_init): Ditto.
1542 gimplify.c (create_tmp_var_raw): Ditto.
1543 tree.c (build1_stat): Ditto.
1544 tree.h (upc_get_unshared_type): Rename to
1545 build_upc_unshared_type.
1547 2011-05-06 Gary Funck <gary@intrepid.com>
1549 Merge trunk version 173471 into gupc branch.
1551 2011-05-05 Gary Funck <gary@intrepid.com>
1553 Make changes that bring the GUPC branch more closely in sync.
1554 with the GCC trunk. Revert any fixes that are not UPC-specific.
1555 Remove gratuitous re-formatting.
1556 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1557 This file should have been removed in a previous merge
1559 * ../configure.ac: Remove Cray Catamount/CNL support.
1560 * ../configure: Regenerate.
1561 * ../config.sub: Remove Cray Catamount/CNL support.
1562 * config.gcc: Remove Cray Catamount/CNL support.
1563 * ../maintainer-scripts/gcc_release: Revert to trunk.
1564 * c-family/c-common.h: Define parse_optimize_options. Its definition
1565 was missed in a previous merge with the trunk.
1566 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1568 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1569 in addition to ARRAY_TYPE.
1570 * c-typeck.c: Remove an extra newline character.
1571 * varasm.c: Revert a fix that improved an error message
1572 when TLS common data is unimplemented.
1573 * varasm.c: Revert a gcc_assert that had been added which
1574 checked for a null DECL_SIZE_UNIT field.
1575 * emultls.c: Revert to trunk. Remove possible fix.
1576 * Makefile.in: Revert extra blank line that is present
1577 in the trunk version.
1578 * Makefile.in: Revert a fix that handled long shell
1579 argument lists for plugin headers.
1580 * config/ia64/ia64.opt: Revert an option setting
1581 that increased the default TLS address range.
1582 * config/ia64/crtbegin.asm: Revert to trunk.
1583 Removes an extra newline character.
1584 * ChangeLog.upc: Spell check.
1586 2011-05-03 Gary Funck <gary@intrepid.com>
1588 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1589 (c_apply_type_quals_to_decl): Ditto.
1590 * c-family/c-common.h: Ditto.
1592 * c-decl.c (merge_decls): Ditto.
1593 * c-typeck.c (qualify_type, default_conversion,
1594 build_component_ref, build_unary_op,
1595 c_build_qualified_type): Ditto.
1596 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1598 2011-04-29 Gary Funck <gary@intrepid.com>
1600 * c-decl.c (finish_decl): Improve error diagnostics.
1601 (grokdeclarator): Ditto.
1602 * c-typeck.c (build_c_cast): Improve error diagnostics.
1603 (convert_for_assignment): Ditto.
1604 (build_binary_op): Ditto.
1605 * c-parser.c (c_parser_upc_forall_statement):
1606 Improve error diagnostics.
1607 * convert.c (convert_to_integer): Improve error diagnostics.
1609 2011-04-24 Gary Funck <gary@intrepid.com>
1611 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1612 occurred if there is an error in the barrier id
1613 expression. Map error_mark_node into NULL.
1615 2011-04-22 Gary Funck <gary@intrepid.com>
1617 Merge trunk version 172873 into gupc branch.
1619 2011-04-19 Gary Funck <gary@intrepid.com>
1621 Merge trunk version 172359 into gupc branch.
1623 2011-04-14 Gary Funck <gary@intrepid.com>
1625 * c-family/c.opt: Add UPC as a valid language for various
1626 switches where it is valid for "C", that were not updated
1627 in previous merges with trunk.
1629 2011-04-13 Gary Funck <gary@intrepid.com>
1631 * c-family/c.opt (fupc-pre-include): New option definition.
1632 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1633 -fno-upc-pre-include is asserted.
1635 2011-04-07 Gary Funck <gary@intrepid.com>
1637 Merge trunk version 172158 into gupc branch.
1638 to bring in the following fix.
1640 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1643 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1644 if old and new states differ.
1646 2011-04-06 Gary Funck <gary@intrepid.com>
1648 Merge trunk version 171966 into gupc branch.
1650 2011-04-01 Gary Funck <gary@intrepid.com>
1652 * tree.h (tree_base): Move UPC flag bits into bit fields
1653 located just before spare bits. Decrement spare bits.
1654 Rename 'shared_flag' -> 'upc_shared_flag',
1655 'relaxed_flag' -> 'upc_relaxed_flag',
1656 'strict_flag' -> 'upc_strict_flag, and adjust macros
1657 that reference them accordingly.
1659 2011-04-01 Gary Funck <gary@intrepid.com>
1661 * c-decl.c (grokdeclarator): Fix formatting of
1662 code that sets UPC block size on scalars.
1664 2011-04-01 Gary Funck <gary@intrepid.com>
1666 * c-decl.c (grokdeclarator): Revert use of white space
1667 to match the trunk (to rationalize diffs).
1668 * c-typeck.c (convert_for_assignment): Ditto.
1669 * tree-ssa.c (useless_type_conversion_p): Ditto.
1671 2011-03-23 Gary Funck <gary@intrepid.com>
1673 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1674 the GCC 4.6 release branch.
1676 2011-03-21 Gary Funck <gary@intrepid.com>
1678 Merge trunk version 171202 into gupc branch.
1680 2011-03-20 Gary Funck <gary@intrepid.com>
1682 * varasm.c: Call error() directly with a format specifier,
1683 rather than using sprintf() to format the message.
1684 This should make it easier to internationalize UPC's error messages.
1686 2011-03-20 Gary Funck <gary@intrepid.com>
1688 * configure.ac: Fix the check for gnu ld when enabling
1689 UPC link script support.
1690 configure: Regenerate (also picks up changes from previous
1693 2011-03-20 Gary Funck <gary@intrepid.com>
1695 Move UPC start files, end files, and linker specs.
1696 into libupc. This reduces the impact on common GCC
1697 configuration files, and ensures that these UPC-specific
1698 components are only built when the UPC language dialect is selected.
1699 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1700 linker specs. Fix typo in -fupc-debug message.
1701 * config/upc-conf.h, config/darwin.h: Move defines for
1702 UPC-related section begins/ends into libupc/config/default/
1704 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1705 UPC-related linker compiler specifications,
1706 accessed via %:include().
1707 * configure.ac, configure: Remove logic related to building
1708 upc-crtbegin/end. Remove config. tests for numa and cpu
1709 affinity (previously used by the 'upc' driver); these
1710 settings are now propagated by target-specific compiler
1711 specs. built by libupc. Regenerate autoconf.
1712 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1713 linker compiler specifications, accessed via %:include().
1714 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1716 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1717 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1718 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1719 config/ia64/linux.h, config/mips/t-iris,
1720 config/mips/iris6.h: Revert to trunk version 167307.
1722 * configure, configure.ac, config.host, Makefile.in:
1723 Revert to trunk version 167307.
1725 2011-02-23 Gary Funck <gary@intrepid.com>
1727 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1728 removed negation on following 'if'.
1730 2011-02-22 Gary Funck <gary@intrepid.com>
1732 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1733 to check for the usage of certain deprecated UPC keywords.
1734 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1735 * c-tree.h (undeclared_variable): Define prototype.
1737 2011-02-12 Gary Funck <gary@intrepid.com>
1739 * c-typeck.c: (build_c_cast, convert_for_assignment)
1740 Diagnose an attempt to convert from an integer to
1741 a pointer-to-shared as an error. Also, fix various
1742 error messages so that they use the preferred term
1743 pointer-to-shared instead of "shared pointer".
1745 2011-02-07 Gary Funck <gary@intrepid.com>
1747 * c-typeck.c: (convert_for_assignment)
1748 Fix typo. in error message.
1750 2011-01-23 Gary Funck <gary@intrepid.com>
1752 * c-typeck.c: (c_build_qualified_type)
1753 derive UPC block size by calling upc_get_block_size(),
1754 to ensure that the element type of an array of an array
1755 is derived correctly.
1757 2010-12-29 Gary Funck <gary@intrepid.com>
1759 Merge trunk version 168314 into gupc branch.
1761 2010-12-15 Gary Funck <gary@intrepid.com>
1763 Merge trunk version 167307 into gupc branch.
1765 2010-10-19 Gary Funck <gary@intrepid.com>
1767 * c-typeck.c: Fix typo in previous fix
1768 which led to a mis-compare for equal block sizes.
1770 2010-10-18 Gary Funck <gary@intrepid.com>
1772 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1773 diagnosed as an error
1774 The conversion from any type (shared or not) to
1775 a shared type is likely either meaningless or an error. This update
1776 makes any conversion to a shared type, an error.
1778 2010-10-18 Gary Funck <gary@intrepid.com>
1780 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1781 generates spurious warning
1782 Add a #define procedure that does the same thing as
1783 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1784 this procedure to diagnose passing an integer value to a
1785 pointer-to-shared as an error.
1787 2010-10-18 Gary Funck <gary@intrepid.com>
1789 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1790 matching routine declaration.
1791 When checking for type compatibility, shared qualified types must
1792 have the same block factor. This check was missing from
1793 comptypes_internal(). This update adds the check for blocking
1796 2010-10-17 Gary Funck <gary@intrepid.com>
1798 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1800 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1802 2010-10-17 Gary Funck <gary@intrepid.com>
1804 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1805 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1806 produces ice with -O3 and -m32.
1807 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1809 2010-10-17 Gary Funck <gary@intrepid.com>
1811 * c-common.c: Diagnose the application of the various "*sizeof"
1812 operations on generic pointer-to-shared as a compilation error.
1814 2010-10-17 Gary Funck <gary@intrepid.com>
1816 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1817 message regarding a function parameter being declared with a shared
1819 The parameter's 'name' value is not defined at this point, and
1820 cannot be used in the error message. This update removes the
1821 reference to 'name', and eliminates the segfault.
1823 2010-10-16 Gary Funck <gary@intrepid.com>
1825 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1826 The gcc/Makefile.in rules for install-plugin had to be re-written to
1827 break up a long list of header files that exceeded the command line
1828 limitation imposed by Irix.
1829 Access functions for TFmode types had to be implemented.
1830 Apparently, this is the mode used for the SGI/MIPS port to represent
1833 2010-10-14 Gary Funck <gary@intrepid.com>
1835 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1836 via typedef chain should not be diagnosed as an error.
1837 If the block size that is given by the typedef is equal to the block
1838 size given explicitly in the variable declaration, then do not
1839 complain. The easiest way to make this check was to create a
1840 temporary type that is a clone of the element type and then set its
1841 block size using the given layout qualifier. Then compare the block
1842 size of the temporary (the declaration) to the block size specified
1843 in the typedef. This complexity is needed, because the '[*]' block
1844 size needs to be calculated, and the '[]' needs to be mapped into a
1847 2010-10-10 Gary Funck <gary@intrepid.com>
1849 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1851 The compiler properly detected the presence of two or more layout
1852 qualifiers as an error, but then hit an assertion check, because the
1853 code that followed the error expected to see a qualifier and not a
1854 layout specifier. The fix is simple: just return immediately after
1855 detecting the error.
1857 2010-10-10 Gary Funck <gary@intrepid.com>
1859 * c-decl.c: Improve error diagnostics for various cases of UPC
1860 shared array type declarations.
1861 Add the check for this error: "In the dynamic translation
1862 environment, THREADS may not appear in declarations of shared arrays
1863 with indefinite block size". Also, fix up a few of the other
1864 related error diagnostics.
1866 2010-10-09 Gary Funck <gary@intrepid.com>
1868 * c-common.c: Fix bug: segfault on incomplete array definition.
1869 This turned out to be a bit complicated. The logic in
1870 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1871 the THREADS identifier in the case where the blocking factor has
1872 been set to indefinite ([]). This can happen when indefinite array
1873 declarations are processed for shared arrays. At that time, the
1874 file scope has been closed and THREADS is no longer in scope. Some
1875 more work is needed on upc_lang_layout_decl(). It has some
1876 duplication, and notably duplicates the two branches of the if
1877 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1878 caller of this routine (layout_decl()).
1879 The method of forcing a layout qualifier of [] in the indefinite
1880 declaration handler is odd a well. The code that just does the
1881 setting of the block factor, needs to moved into its own routine
1882 that doesn't depend upon a declspec for '[]' to be passed in, just
1883 in order to set the blocking factor to some value (in this case, 0).
1884 Also, the logic for how that shared type is constructed is strange.
1885 First the type with 0 blocking factor is set. Then the shared
1886 qualifier is removed from the type, and then added back later. The
1887 intermediate type has a blocking factor set, but it has no shared
1888 qualifier. Fixing this will require some thought. It is tempting
1889 just to make indefinite shared arrays an error, rather than forcing
1890 the dimension to be '1'.
1891 This likely fixes a serious error in the previous update to
1892 upc_lang_layout_decl(), where it didn't have the logic to set
1893 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1894 the previous update would fail on many tests.
1896 2010-10-09 Gary Funck <gary@intrepid.com>
1898 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1899 (decl) is null, which can happen if some layout error occurred
1902 2010-10-09 Gary Funck <gary@intrepid.com>
1904 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1905 "variable-sized" when compiled in dynamic threads.
1906 This long-standing bug is easily fixed. Just check
1907 for the situation that the non-constant sized type is shared and
1908 that it does not have a dimension that references a multiple of
1909 threads. If this criteria is met, then issue a meaningful
1912 2010-10-01 Gary Funck <gary@intrepid.com>
1914 * configure, configure.ac: Update manual page, and bug reporting
1915 URL. Update "man" page to reflect debugging switches.
1916 Also, some general clean up. Change the bug reporting
1917 URL to point to gccupc.org.
1919 2010-09-27 Gary Funck <gary@intrepid.com>
1921 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1922 the UPC forall depth count variable is not found.
1923 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1924 The compiler will generate code that references this variable in
1925 order to implement nested upc_forall semantics. If there is a
1926 compiler build or install problem, this variable may not be found.
1927 In this case, terminate with an internal_error().
1929 2010-09-26 Gary Funck <gary@intrepid.com>
1931 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1932 mis-diagnosed as syntax error.
1933 Fix a failure exhibited by the Berkeley test case,
1934 bug873a.upc, which has the code:
1936 upc_forall (;;;d) {...} The compiler did not properly handle
1937 the empty "condition" clause, and did not recover well when it was
1938 determined that the use of a double value, "d" above, was neither a
1939 pointer-to-shared nor an integer expression. The update implements a
1940 fix for both issues.
1941 See also: gcc/c-parser.c gcc/upc/upc-act.c
1943 2010-09-23 Gary Funck <gary@intrepid.com>
1945 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1946 incorporated into the referencing type.
1947 This was semi-fixed a few times before. This update fixes a few
1948 more places where the layout qualifier wasn't being propagated
1949 through typedef's properly. What made this a bit tricky is shown in
1950 the example cited in the bug report:
1951 typedef shared [5] int A_t; A_t A[5*THREADS];
1952 In the typedef, the blocksize is being applied to a shared *scalar*,
1953 and the code was applying the blocksize only to arrays. This update
1954 handles shared scalars correctly.
1956 2010-09-22 Gary Funck <gary@intrepid.com>
1958 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1959 upc_forall() semantics are not implemented
1960 The checkforall test in the Berkeley harness test suite indicated
1961 that GCC/UPC was not properly implementing nested upc_forall
1962 semantics. Nested upc_forall statements (both statically or
1963 dynamically nested) must implement their affinity clause as if it
1964 were "continue"; thus all steps in the loop must execute without
1965 regard for affinity. To implement these semantics a global depth
1966 counter, __upc_forall_depth, is maintained by the generated code
1967 that implements upc_forall.
1968 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1969 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1970 libupc/include/upc.h libupc/smp/upc_main.c
1972 2010-09-19 Gary Funck <gary@intrepid.com>
1974 * c-decl.c: c-decl.c: zero out the layout specifier, after
1975 processing an array type.
1976 Fix the previous fix, that moved the setting of the type's layout
1977 qualifier to the outside of the array type processing loop. What is
1978 missing from the fix is that the layout_qualifier variable needs to
1979 be cleared after setting the type's blocksize.
1981 2010-09-19 Gary Funck <gary@intrepid.com>
1983 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1984 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1985 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1986 the actual maximum block size. Therefore, the message was correct,
1987 but the underlying value that was being checked was wrong. Change
1988 the values so that they agree with the actual implementation-defined
1991 2010-09-11 Gary Funck <gary@intrepid.com>
1993 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1994 multi-dimensional shared array with dynamic threads.
1995 This declaration caused an internal compiler error when compiled
1996 with dynamic threads:
1997 shared [*] int A[THREADS][16]; The bug was discovered when
1998 compiling the RTED_UPC test suite.
1999 The fix is to process layout qualifiers after the entire array type
2000 has been built. Otherwise, we try to calculate the blocksize on a
2001 shared array type that has not had its "size depends upon the value
2002 of THREADS" flag set.
2003 Also, added a test case.
2004 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2006 2010-07-11 Gary Funck <gary@intrepid.com>
2008 Fix a bug where a statement in c_build_qualified_type()
2009 in the trunk had been inadvertently deleted.
2010 This bug showed up in the IA64 port, because jmpbuf's
2011 on that architecture must be 16 byte aligned, and they were not.
2012 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2014 2010-07-08 Gary Funck <gary@intrepid.com>
2016 Make changes so that other language compilers
2017 will build and bootstrap.
2018 * c-family/c-common.c (compiling_upc, flag_upc,
2019 flag_upc_instrument, flag_upc_instrument_functions,
2020 use_upc_dwarf2_extensions): Move to stub-upc.c and
2022 * c-family/c-common.h (use_upc_dwarf2_extensions,
2023 compiling_upc): Add extern definitions - needed
2024 to compile/build other language front ends.
2025 * c-family/c.opt: Fix the spelling of ObjC.
2026 It had been incorrectly spelled as Objc.
2027 * c-family/c.opt: Add UPC for the various switches
2028 that are valid for both C and ObjC.
2029 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2030 supported options switches when compiling assembly
2032 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2033 flag_upc_instrument, flag_upc_instrument_functions):
2034 Remove these definitions. They have been moved
2035 to c-family/stub-upc.c.
2036 * upc/ChangeLog: Move relevant entries
2038 * c-family/stub-upc.c (compiling_upc, flag_upc,
2039 flag_upc_instrument, flag_upc_instrument_functions,
2040 use_upc_dwarf2_extensions): Moved from c-common.c
2041 * upc/upc-lang.c (compiling_upc, flag_upc,
2042 flag_upc_instrument, flag_upc_instrument_functions,
2043 use_upc_dwarf2_extensions): Moved from c-common.c
2044 * objc/objc-act.c (objc_gimplify_expr): Add additional
2045 parameters to c_gimplify_expr() call, that are used
2046 by upc's tree rewrites.
2047 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2048 * gcc/cp/lex.c (init_reswords): If not compiling
2049 UPC, then mask off the UPC keywords.
2050 * cp/Make-lang.in (C_STUB_OBJS): Use this
2051 make macro to link with c-family/stub-objc.o
2052 and c-family/stub-upc.o.
2053 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2054 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2055 * objc/Make-lang.in: Link with c-family/stub-upc.o
2056 to avoid undefined references.
2057 c-parser.c: Fix line indentation.
2058 * libcpp/include/cpplib.h: Remove CL_UPC from
2059 the list of language kinds accepted by the
2060 C preprocessor. This is not necessary because
2061 UPC is a derivative of C99, and does not need
2062 a different language kind.
2063 * c-fmaily/c-opts.c (c_common_handle_option):
2064 Call set_std_c99() when processing the
2065 "--lang upc" switch, instead of setting the
2066 language kind to CL_UPC.
2067 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2069 2010-07-03 Gary Funck <gary@intrepid.com>
2071 Merge trunk version 161517 into gupc branch.
2072 * gcc/stub-upc.c: Move to gcc/c-family/.
2073 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2074 Add 'unused' attributes to avoid "set, but
2075 not referenced" warnings.
2076 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2079 2010-03-01 Gary Funck <gary@intrepid.com>
2081 Create gupc branch from trunk version 157149.
2083 2011-10-04 Gary Funck <gary@intrepid.com>
2085 Merge trunk version 179421 into gupc branch.
2086 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
2087 argument to the call to check_qualified_type().
2089 2011-09-22 Gary Funck <gary@intrepid.com>
2091 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
2093 (dump_upc_type_quals): New.
2095 2011-09-22 Gary Funck <gary@intrepid.com>
2097 * upc/upc-act.c (upc_get_block_factor): test TYPE_HAS_BLOCK_FACTOR()
2098 before calling TYPE_BLOCK_FACTOR(). This fits better with
2099 recent encoding of block factor values with a hash table.
2101 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
2103 Add to FLAGS the flags needed to disable inlining of
2104 UPC run-time access routines.
2105 * testsuite/lib/target-supports.exp
2106 (add_options_for_upc_library_calls): New.
2108 2011-09-15 Gary Funck <gary@intrepid.com>
2110 Fix ICE involving shared bit field accesses.
2111 * tree.c (build3_stat): Propagate TEEE_SHARED()
2112 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
2114 2011-09-15 Gary Funck <gary@intrepid.com>
2116 Fix ICE involving shared bit field accesses.
2117 * upc/upc-genericize.c (upc_simplify_shared_ref): Improve
2118 "shared bit fields not yet implemented" error message
2119 by adding file/line number location.
2121 2011-09-13 Gary Funck <gary@intrepid.com>
2123 Merge trunk version 178795 into gupc branch.
2124 Incorporates fix to PR bootstrap/50010 for x86-32.
2126 2011-09-13 Gary Funck <gary@intrepid.com>
2128 * upc/upc-tree.def (UPC_FORALL_STMT): Fix spelling error in comments.
2129 * upc/upc-lang.c (upc_init_options): Ditto.
2130 * upc/upc-genericize.c (lookup_unshared_var, upc_shared_addr_rep,
2131 upc_genericize_expr, upc_genericize_compound_expr): Ditto.
2132 * upc/upc-act.c (upc_parse_init, upc_build_pointer_type,
2133 upc_block_factor_insert, upc_pts_is_valid_p): Ditto.
2135 2011-09-08 Gary Funck <gary@intrepid.com>
2137 Merge trunk version 178557 into gupc branch.
2139 2011-09-07 Gary Funck <gary@intrepid.com>
2141 Ensure that UPC pointer-to-shared type alignment is
2142 propagated to the final type. Revert to long-standing
2143 alignment policy: twice the size of a "C" pointer.
2144 * tree.c (build_pointer_type): Propagate the alignment
2145 of the UPC pointer-to-shared representation type
2146 into the newly built pointer type.
2148 2011-09-07 Gary Funck <gary@intrepid.com>
2150 Ensure that UPC pointer-to-shared type alignment is
2151 propagated to the final type. Revert to long-standing
2152 alignment policy: twice the size of a "C" pointer.
2153 * upc/upc-pts-struct.c (upc_pts_struct_init_type): Ensure that
2154 shared pointers have twice the alignment of a pointer.
2155 * upc/upc-act.c (upc_cpp_builtins): Unconditionally emit
2156 the definition of __UPC_PTS_ALIGN__.
2158 2011-09-02 Gary Funck <gary@intrepid.com>
2160 Align UPC pointers-to-shared, only if the target enforces
2162 * upc/upc-pts-struct.c (upc_pts_struct_init_type): Align a
2163 UPC pointer-to-shared type, only if the target requires
2165 * upc/upc-act.c (upc_cpp_builtins): Output pre-defined macro,
2166 __UPC_PTS_ALIGN__, only if the target requires strict alignment.
2168 2011-08-30 Gary Funck <gary@intrepid.com>
2170 * tree.h (check_qualified_type): Change 'const_tree'
2171 argument types back to 'tree' to avoid complaints
2172 of assignment drops qualifiers for invocations of the
2173 newly implemented TYPE_BLOCK_FACTOR() macro, which
2174 invokes hash functions with 'tree' pointer values that
2175 are not const qualified.
2176 * tree.c (check_qualified_type, check_aligned_type): Ditto.
2177 * c-typeck.c (comptypes_internal): Ditto.
2179 2011-08-29 Gary Funck <gary@intrepid.com>
2181 Fixes for regressions noted running "make check"
2183 * fold-const.c (fold_unary_loc): Execute UPC-specific
2184 checks for a cast-of-a-cast, only if one of the
2185 operands is a UPC pointer-to-shared value.
2186 * opts.c (print_specific_help): Fix a comparison
2187 in an assert that checks that there are enough
2188 bits reserved for the number of languages defined
2191 2011-08-29 Gary Funck <gary@intrepid.com>
2193 Implement a hash table to record UPC block factors.
2194 * c-family/stub-upc.c (upc_block_factor_insert,
2195 upc_block_factor_lookup): New dummy stub procedures.
2196 * c-family/c-common.c (c_sizeof_or_alignof_type):
2197 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2198 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
2199 to copy (hashed) UPC blocking factor.
2200 (set_type_quals): Likewise.
2201 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2202 TYPE_HAS_THREADS_FACTOR().
2203 (type_common.block_factor): Delete.
2204 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
2205 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
2206 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
2207 UPC blocking factors greater than one.
2208 * dwarf2out.c (modified_type_die): Re-implement
2209 logic that records UPC blocking factor in the generated
2210 DWARF2 debugging information.
2211 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
2212 TYPE_HAS_THREADS_FACTOR().
2213 * c-decl.c (finish_decl, grokdeclarator):
2214 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2215 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
2216 used by UPC, and print UPC-specific information.
2218 2011-08-29 Gary Funck <gary@intrepid.com>
2220 Implement a hash table to record UPC block factors.
2221 * upc/upc-act.c (upc_block_factor_for_type): New garbage-collected
2223 (upc_lang_init, upc_finish): Move to end of source file.
2224 (upc_lang_init): create upc_block_factor_for_type hash table.
2225 (upc_block_factor_lookup, upc_block_factor_insert): New.
2226 (upc_grok_layout_qualifier, upc_lang_layout_decl, upc_pts_int_sum):
2227 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
2228 (upc_grok_layout_qualifier): convert blocking factor to sizetype
2229 before checking for equality to element type's blocking factor.
2231 2011-08-28 Gary Funck <gary@intrepid.com>
2233 Re-work the type machinery to fully support and to unify support
2234 for the UPC layout qualifier (blocking factor).
2235 * c-family/stub-upc.c (upc_set_block_factor): Delete.
2236 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
2237 and update prototype.
2238 * c-family/c-common.c (complete_array_type): call newly
2239 defined c_build_qualified_type_1() instead of
2240 upc_set_block_factor().
2241 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
2242 upc_apply_layout_qualifier() and update prototype.
2243 (upc_set_block_factor): Delete prototype.
2244 * c-family/c-common.h (c_build_qualified_type): redefine
2245 as a pre-processor macro that invokes c_build_qualified_type_1()
2246 with a null UPC layout qualifier.
2247 (c_build_qualified_type_1): New. Add layout qualifier argument
2248 to old c_build_qualified_type() prototype.
2249 * tree.c (set_type_quals, check_qualified_type):
2250 Add layout qualifier as argument.
2251 (check_aligned_type): Add check for UPC block factor equality.
2252 (get_qualified_type_1): Rename from get_qualified_type() and
2253 add layout qualifier as argument.
2254 (build_qualified_type_1): Rename from build_qualified_type() and
2255 add layout qualifier as argument.
2256 * tree.h (check_qualified_type): Add layout qualifier as argument
2258 (get_qualified_type): Re-define as a as a pre-processor macro
2259 that invokes get_qualified_type_1() with a null
2260 UPC layout qualifier.
2261 (get_qualified_type_1): Rename from get_qualified_type() and
2262 add layout qualifier as argument.
2263 * cp/tree.c (c_build_qualified_type_1): Rename from
2264 c_build_qualified_type() and add (unused) layout qualifier
2266 * c-decl.c (finish_decl): re-format long error messages.
2267 (grokdeclarator): Re-work the logic so that it calls
2268 upc_grok_layout_qualifier() to handle the UPC layout
2269 qualifier, if present.
2270 * c-typeck.c (qualify_type, common_pointer_type,
2271 build_component_ref): Re-work the logic so that it calls
2272 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
2274 (c_build_qualified_type_1): Rename from c_build_qualified_type()
2275 and add layout qualifier argument.
2276 * print_tree.c (print_node): Re-format a long line.
2278 2011-08-28 Gary Funck <gary@intrepid.com>
2280 Re-work the type machinery to fully support and to unify support
2281 for the UPC layout qualifier (blocking factor).
2282 * upc/upc-genericize.c (upc_simplify_shared_ref): Call
2283 c_build_qualified_type_1() instead of upc_set_block_factor()
2284 to assert a zero blocking factor.
2285 * upc/upc-pts-struct.c (upc_pts_struct_init_type): Call
2286 c_build_qualified_type_1() to build predefined shared
2287 qualified types, instead of build_variant_type_copy().
2288 * upc/upc-pts-packed.c (upc_pts_packed_init_type): Call
2289 c_build_qualified_type_1() to build predefined shared
2290 qualified types, instead of build_variant_type_copy().
2291 * upc/upc-act.c (upc_set_block_factor): Delete.
2292 (upc_grok_layout_qualifier): Rename from upc_apply_layout_qualifier().
2293 Rework logic so that it returns a blocking factor rather than
2294 a qualified type. Add 'loc' argument and call error_at().
2295 Add an ELEM_BLOCK_FACTOR argument and Implement logic that merges
2296 the block size of the element type into the result type, and checks
2297 for errors due to an attempt to merge differing blocking factors.
2299 2011-08-26 Gary Funck <gary@intrepid.com>
2301 Merge trunk version 177949 into gupc branch.
2302 * c-family/c-common.h (enum rid): Bump the number of type modifiers
2304 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
2305 to add new rliterals column value.
2307 2011-08-26 Gary Funck <gary@intrepid.com>
2309 * convert.c (convert_to_integer): Fix the check for the
2310 difference between two UPC pointers-to-shared values.
2312 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
2314 * configure.ac: Fix the name for --with-upc-pts-packed-bits
2315 option. Support --with-upc-packed-bits as deprecated. Fix the code to
2316 correctly check packed bits.
2317 * configure: Re-generate.
2319 2011-08-16 Gary Funck <gary@intrepid.com>
2321 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
2322 the barrier id expression is not an integer expression.
2324 2011-08-16 Gary Funck <gary@intrepid.com>
2326 * upc/upc-act.c (upc_decl_init): Do not attempt to expand
2327 an error mark node. Fixes ICE after error diagnostic.
2328 * upc/upc-cmd.c (main): detect missing option argument for
2329 options that require an argument, and print error diagnostic.
2330 (get_print_cmd): Re-direct error output to /dev/null to
2331 avoid issuing duplicate error messages.
2333 2011-08-12 Gary Funck <gary@intrepid.com>
2335 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
2337 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
2338 Set mode of UPC pointer-to-shared rep. to an
2339 integral mode of size at least as large as the
2340 size of the representation's struct type.
2342 2011-08-12 Gary Funck <gary@intrepid.com>
2344 Rework/simplify the UPC genericize pass.
2345 * c-family/stub-upc.c (upc_apply_layout_qualifier,
2346 upc_build_pointer_type): New.
2347 (upc_set_block_factor): Adjust to new calling sequence.
2348 (upc_build_shared_var_addr): Delete.
2349 * c-family/c-common.c (complete_array_type): Adjust call
2350 to upc_set_block_factor().
2351 * c-family/c-upc.h (upc_apply_layout_qualifier,
2352 upc_build_pointer_type): New.
2353 (upc_build_shared_var_addr): Delete.
2354 (upc_set_block_factor): Adjust to new calling sequence.
2355 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
2356 * c-decl.c (grokdeclarator): Call newly defined
2357 upc_apply_layout_qualifier() instead of upc_set_block_factor().
2358 * c-decl.c (grokdeclarator): Split long UPC-related error
2359 messages into two lines.
2360 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
2361 directly. Revert that change to trunk. (upc_genericize() will
2362 handle lowering the expressions that take the address of a
2364 * config/i386/i386.c (ix86_promote_function_mode): For UPC
2365 pointers-to-shared, return the type mode of the UPC pointer-to-shared
2366 representation type.
2368 2011-08-12 Gary Funck <gary@intrepid.com>
2370 Rework/simplify the UPC genericize pass.
2371 * upc/upc-pts.h (upc_pts_ops_t): Remove 'add_offset' field.
2372 * upc/upc-act.h: Cosmetic change.
2373 * upc/config-lang.in (gtypes): Add upc-genericize.[ch] to the list.
2374 * upc/upc-genericize.c (upc_expand_get):
2375 Add WANT_STABLE_VALUE parameter.
2376 (upc_build_shared_var_addr, upc_shared_addr_rep): New.
2377 (uid_tree_map, unshared_vars, uid_tree_map_hash, uid_tree_map_eq,
2378 create_unshared_var, lookup_unshared_var, map_unshared_var,
2379 unshared_var_addr, unshared_var_name,
2380 upc_free_unshared_var_table): Move from upc-act.c.
2381 (upc_expand_get, upc_expand_put): Change their source and/or
2382 destination parameters so that they are no longer addresses
2383 of the objects, but rather references to the objects themselves.
2384 (upc_simplify_shared_ref): Rewrite (simplify/generalize).
2385 (upc_shared_addr_rep): New.
2386 (upc_shared_addr): Adjust call to upc_build_shared_var_addr(),
2387 and re-factor the logic.
2388 (upc_genericize_sync_stmt): Re-format comment.
2389 (upc_genericize_shared_var_ref): Adjust call to upc_expand_get().
2390 (upc_genericize_addr_expr): Re-factor the logic.
2391 (upc_genericize_indirect_ref, upc_genericize_field_ref):
2392 Adjust call to upc_expand_get() and re-factor the logic.
2393 (upc_genericize_modify_expr): Adjust call to upc_expand_put()
2394 and re-factor the logic.
2395 (upc_genericize_expr): Improve/fix comments.
2396 (upc_genericize_finish, upc_genericize_init): New.
2397 * upc/upc-pts-struct.c (upc_pts_struct_build_add_offset): Delete.
2398 (upc_char_pts_type_node): Create new global type node.
2399 (upc_pts_struct_is_null_p): Generalize variable names to
2400 reflect the fact that the vaddr field can be either first/last.
2401 (upc_pts_struct_build_sum): Make corrections to comments.
2402 (upc_pts_struct_build_add_offset): Delete.
2403 * upc/upc-genericize.h (upc_genericize_finish, upc_genericize_init):
2405 * upc/upc-pts-packed.c (upc_pts_packed_build_add_offset): Delete.
2406 (upc_char_pts_type_node): Create new global type node.
2407 * upc/Make-lang.in: Add dependencies to gtype-upc.h
2408 and gt-upc-upc-genericize.h.
2409 * upc/upc-act.c: Adjust includes to reflect moving the functions
2410 that handle the UPC unshared "shadow variables" into
2411 upc-genericize.c. Improve/fix various comments.
2412 * upc/upc-act.c (upc_parse_init): Call upc_genericize_init().
2413 (upc_build_pointer_type): New.
2414 (upc_set_block_factor): Re-purpose. Move the front-end
2415 related error checks into upc_apply_layout_qualifier().
2416 (upc_apply_layout_qualifier): New.
2417 (upc_write_global_declarations): Call upc_genericize_finish().
2419 2011-08-10 Gary Funck <gary@intrepid.com>
2421 Implement additional fixes for recent merge with trunk.
2422 * explow.c (promote_mode): Do not attempt to promote
2423 the mode for UPC pointer-to-shared types.
2424 * config/i386/i386.c (function_value_64): Ditto.
2426 2011-08-07 Gary Funck <gary@intrepid.com>
2428 Merge trunk version 177548 into gupc branch.
2429 * config/i386/i386.c (ix86_promote_function_mode):
2430 Do not promote UPC pointers-to-shared to Pmode.
2431 * c-family/c-ommon.c (pointer_int_sum):
2432 Also check the pointer operand, rather than just
2433 its type, when making the decision to derive
2434 the equivalent unshared type.
2435 * tree.c (build2_stat): If the type of the result
2436 passed in as an argument is a UPC shared type,
2437 derive the unshared equivalent when calculating
2438 the result type of the node.
2440 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
2442 * config/darwin.c: Disable var_tracking option
2443 on -O0 as it is supposed to run only when optimization
2444 is applied. See GCC bug 49743.
2446 2011-07-11 Gary Funck <gary@intrepid.com>
2448 * upc/upc-genericize.c (upc_expand_put): Fix bug, where strict/relaxed
2449 qualification was incorrectly derived from the source operand.
2450 (upc_genericize_fndecl): New.
2451 (upc_gnericize): Call upc_genericize_fndecl() to avoid calling
2452 c_genericize() more than once in the event of nested procedures.
2453 (upc_genericize_real_imag_ref): Rename,
2454 was: upc_genericize_real_image_ref.
2455 (upc_expand_put): call internal_error() with meaningful message
2457 (upc_genericize_real_imag_ref): call internal_error() with
2458 meaningful message in lieu of gcc_unreachable().
2460 2011-07-06 Gary Funck <gary@intrepid.com>
2462 Re-implement the pass that lowers trees generated by
2463 the UPC front-end into GENERIC. Previously this was
2464 done within the gimplification framework, but this
2465 required that gimplification be run before inlining
2466 and various other passes, which did not fit in well
2467 with the current design of the middle-end passes.
2468 Now, the lowering is done by a newly defined language
2469 specific genericize hook. With this change, we are
2470 are able to undo some extensions made to the gimplify
2471 logic, and thus can revert several files to trunk.
2472 * c-decl.c: Add a check for UPC deprecated names which
2473 may appear as undefined function names.
2474 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2475 LTI_upc_getaddr): Remove definitions of unused UPC
2476 library function names. These were defined back when
2477 the libfunc interface was used to call these routines.
2478 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2479 in UPC lowering (genericize) pass.
2480 * langhooks.h (gimplify_expr): Revert to trunk's definition.
2481 (instrument_func): Delete this hook. Now handled in
2483 * tree-pass.h: Revert to trunk.
2484 * c-typeck.c (build_unary_op): Adjust reference to
2485 upc_genericize() in a comment.
2486 * gimplify.c (create_tmp_var_raw): Delete logic that
2487 was converting UPC shared types into unshared types
2488 to be used for temporaries. Now handled in upc_genericize().
2489 Replace with an assertion check.
2490 (prepare_gimple_addressable): Revert to trunk's definition.
2491 No longer needed as an externally called function.
2492 (flag_instrument_functions_exclude_p): Re-define as
2493 an externally called function.
2494 (gimplify_function_tree): Delete code that implemented
2495 call to UPC's language specific function instrumentation hook.
2496 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2497 (prepare_gimple_addressable): Delete extern definition;
2498 revert to trunk's definition.
2499 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2500 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2501 * c-family/c-gimplify.c: Revert to trunk.
2502 * cp/cp-gimplify.c: Revert to trunk.
2503 * cp/cp-tree.h: Revert to trunk.
2504 * explow.c: Revert to trunk.
2505 * langhooks.c: Revert to trunk.
2506 * libfuncs.h: Revert to trunk.
2507 * objc/objc-act.c: Revert to trunk.
2509 2011-07-06 Gary Funck <gary@intrepid.com>
2511 Improve/simplify the logic in upc_genericize.
2512 * upc/upc-genericize.c (upc_create_tmp_var): Delete the
2513 PREFIX argument. Aways use "UPC" as the prefix.
2514 (upc_genericize_compound_expr): Add a WANT_VALUE argument.
2515 (upc_genericize_cond_expr): New.
2516 (upc_genericize_decl_expr): New.
2517 (upc_genericize_stmt): New.
2518 (upc_copy_value_to_tmp_var, upc_expand_get): Adjust call
2519 to upc_create_tmp_var().
2520 (upc_genericize_expr): Change the handling
2521 of the want_value flag passed in the DATA argument.
2522 Always assert this flag after processing EXPR_P.
2523 (upc_genericize_compound_expr): Adjust call
2524 to upc_genericize_compound_expr() and call
2525 upc_genericize_cond_expr() and upc_genericize_decl_expr().
2527 2011-07-06 Gary Funck <gary@intrepid.com>
2529 Re-implement the pass that lowers trees generated by
2530 the UPC front-end into GENERIC. Previously this was
2531 done within the gimplification framework, but this
2532 required that gimplification be run before inlining
2533 and various other passes, which did not fit in well
2534 with the current design of the middle-end passes.
2535 Now, the lowering is done by a newly defined language
2536 specific genericize hook. With this change, we are
2537 are able to undo some extensions made to the gimplify
2538 logic, and thus can revert several files to trunk.
2539 * upc/upc-genericize.c: Rename upc-gimplify.c to upc-genericize.c.
2540 * upc/upc-genericize.h: Rename upc-gimplify.h to upc-genericize.h.
2541 * upc/Make-lang.in: Adjust to refer to upc-genericize.[cho].
2542 * upc/upc-lnag.c: refer to upc-genericize.h.
2543 (LANG_HOOKS_GENERICIZE): define as upc_genericize.
2544 (LANG_HOOKS_GIMPLIFY_EXPR): Delete.
2545 (LANG_HOOKS_INSTRUMENT_FUNC): Delete.
2546 * upc/upc-act.c: Minor code format fix.
2548 2011-06-30 Gary Funck <gary@intrepid.com>
2550 * c-family/c.opt: Bring options definitions up-to-date
2551 with respect to changes made in the trunk.
2553 2011-06-29 Gary Funck <gary@intrepid.com>
2555 Merge trunk version 175584 into gupc branch.
2557 2011-06-29 Gary Funck <gary@intrepid.com>
2559 Merge trunk version 175584 into gupc branch.
2560 * upc/upc-act.c (upc_handle_option): Change reference to
2561 have_named_sections so that it refers to the
2562 targetm_common structure.
2564 2011-06-28 Gary Funck <gary@intrepid.com>
2566 * upc/upc-act.h (upc_write_init_func, upc_free_unshared_var_table):
2567 Remove extern definitions. Now declared as 'static'.
2568 * upc/upc-gimplify.c, upc/upc-lang.c,
2569 upc-pts-struct.c, upc-gasp.c, upc-pts-packed.c,
2570 upc-cmd.c, upc-act.c: Improve/add comments, fix
2571 typos and spelling errors.
2573 2011-06-13 Gary Funck <gary@intrepid.com>
2576 * include/cpplib.h (enum c_lang):
2577 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2578 This keeps all the "C" variants together.
2579 * init.c (lang_defaults): Add an entry for UPC.
2581 2011-06-10 Gary Funck <gary@intrepid.com>
2583 * upc/upc-act.c (upc_set_block_factor): Handle the case where
2584 the UPC blocking factor expression overflowed.
2586 2011-06-09 Gary Funck <gary@intrepid.com>
2588 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2589 a 32-bit target, the size expression overflowed, the result was
2590 error_mark_node, and an ICE was triggered on an attempt to evaluate
2591 C_TYPE_VARIABLE_SIZE() on the error node.
2592 (upc_blocksizeof_expr, upc_blocksizeof_type,
2593 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2594 Make similar changes to avoid further processing of error_mark_node.
2596 2011-06-07 Gary Funck <gary@intrepid.com>
2598 * sel-sched.c (move_op): Incorporate the following
2599 patch to eliminate ICE at -O3 on IA64/Altix.
2601 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
2603 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
2604 code_motion_path_driver returned 0 or 1.
2605 (sel_region_finish): Clear h_d_i_d.
2607 2011-06-02 Gary Funck <gary@intrepid.com>
2609 Merge trunk version 174558 into gupc branch.
2611 2011-06-02 Gary Funck <gary@intrepid.com>
2613 Merge trunk version 174558 into gupc branch.
2614 * upc/upc-lang.c (upc_check_decl_init): Use recently defined
2615 'append_to_statement_list_force' function to add UPC
2616 initialization statements to the UPC initialization
2617 statement list ('upc_init_stmt_list').
2618 (upc_build_init_func): Use recently defined
2619 'append_to_statement_list_force' function to add
2620 statements listed in 'upc_init_stmt_list' onto the
2621 function body constructed to implement initialization
2622 of UPC declarations that require active initialization
2623 at program start up. The previous methods of manipulating
2624 statement lists no longer worked, due to changes in the
2625 the statement list structure.
2627 2011-05-30 Gary Funck <gary@intrepid.com>
2629 * configure.ac: Make the default order of the virtual
2630 address field in a UPC pointer-to-shared to be "first".
2631 This reverts to the previous setting, and is a short term
2632 measure to work around a bug found on the IA64,
2633 where vaddr=last led to incorrect code generation.
2634 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2635 in AC_DEFINE(), to agree with recent changes in files
2636 that reference this define.
2637 configure, config.in: Regenerate.
2639 2011-05-26 Gary Funck <gary@intrepid.com>
2641 * configure.ac: Fix typo when referring to $upc_vaddr_order.
2642 configure: Regenerate.
2643 * ../fixincludes/fixincl.x: Revert to trunk.
2644 This file is auto-generated, and should not be merged.
2646 2011-05-23 Gary Funck <gary@intrepid.com>
2648 * upc/upc-pts-struct.c: Revert to code that aligned the
2649 internal pointer-to-shared representation to
2650 twice the alignment of a pointer. This fixes
2651 an ICE that occurred when building the compiler
2654 2011-05-18 Gary Funck <gary@intrepid.com>
2656 Merge trunk version 173845 into gupc branch.
2658 2011-05-17 Gary Funck <gary@intrepid.com>
2660 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2661 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2662 * c-family/c-pragma.c: Remove conditional compilation
2663 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2664 Test 'compiling_upc' when compiling to determine if
2665 the "upc" and "pupc" pragmas should be registered.
2666 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2667 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2668 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2669 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2670 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2671 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2672 Move these target-dependent definitions from config/upc-conf.h
2674 * configure.ac: Improve the logic for UPC-related options.
2675 Delete references to pre-processor definitions that have
2676 been moved to "upc/upc-pts.h".
2677 * configure, config.in: Regenerate.
2678 * Makefile.in (UPC_PTS_REP): Remove definition and revert
2679 to trunk. This substitution variable was used to
2680 configure the representation-specific versions of
2681 the tree rewrites that operate on UPC pointer-to-shared
2683 * c-parser.c (c_parser_upc_forall_statement): Remove
2684 reference to UPC_FORALL_DEPTH_NAME, and call
2685 newly defined upc_rts_forall_depth_var() instead.
2686 * config/upc-config.h: Delete. Various definitions
2687 moved to "upc/upc-rts-names.h", "defaults.h", and
2689 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2690 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2691 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2692 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2693 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2694 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2695 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2696 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2697 New. Document UPC target macros.
2698 doc/tm.texi: Regenerate.
2700 2011-05-17 Gary Funck <gary@intrepid.com>
2702 * upc/upc-pts.h (upc_pts_build_value, upc_pts_build_add_offset,
2703 upc_pts_build_cond_expr, upc_pts_build_constant,
2704 upc_pts_build_cvt, upc_pts_build_diff, upc_pts_build_sum,
2705 upc_pts_build_threadof, upc_pts_init_type): Remove extern
2707 (upc_pts_ops_t): New. Define handler table that will
2708 implement either the 'packed' or the 'struct' representation
2709 of a UPC pointer-to-shared value.
2710 (upc_pts_packed_ops, upc_pts_struct_ops): New. Define extern that
2711 refers to the packed and the struct UPC pointer-to-shared
2712 representation implementation.
2713 (upc_pts): New. Define handler table that is set up at initialization
2714 to refer to the handlers for the UPC pointer-to-shared
2715 representation (packed/struct) that has been configured.
2716 Add conditional compilation test for HAVE_UPC_PTS_PACKED_REP
2717 and configure the UPC pointer-to-shared definitions that
2718 are specific to the configured UPC pointer-to-shared
2720 * upc/upc-act.h (upc_pts_is_valid_p): Rename extern definition from
2721 is_valid_pts_p to upc_pts_is_valid_p.
2722 * lang-specs.h: Reformat the UPC compilation specs.
2723 to improve readability.
2724 * upc/upc-rts-names.h: New. Define the names of UPC runtime
2725 library functions that implement UPC language statement
2726 semantics. These definitions were moved from config/upc-conf.h
2727 * upc/upc-gimplify.c: Add include of "upc-rts-names.h".
2728 Refer to newly defined pointer manipulation routines
2729 by indirecting through the newly defined "pts" handler table.
2730 Re-format, re-indent.
2731 * upc/upc-lang.c: Add include of "upc-pts.h". Fix a comment.
2732 * upc/config-lang.in: Remove logic that inserted "config/upc-conf.h"
2733 into the target include and file path.
2734 * upc/upc-pts-struct.c: Add include of "upc-rts-names.h".
2735 (upc_pts_struct_ops): Define the pointer manipulation
2736 handler table that implements operations on UPC
2737 pointers-to-shared, represented as a struct.
2738 Re-format and re-indent.
2739 * upc/upc-gasp.c: Add include of "upc-rts-names.h".
2740 Re-format and re-indent.
2741 * upc/upc-pts-packed.c: Add include of "upc-rts-names.h".
2742 (upc_pts_packed_ops): Define the pointer manipulation
2743 handler table that implements operations on UPC
2744 pointers-to-shared, represented as a packed integer.
2745 Re-format and re-indent.
2746 * upc/Make-lang.in: Compile both "upc-pts-packed.c" and
2747 "upc-pts-struct.c". One/other will be selected at
2748 compilation time to implement operations on UPC
2749 on the UPC pointer-to-shared that has been configured.
2750 Add dependencies on "upc-rts-names.h".
2751 * upc/upc-cmd.c: Re-format and re-indent.
2752 * upc/upc-act.c: Add include of "upc-rts-names.h".
2753 (upc_pts): New. Add definition of the handler
2754 table that implements representation specific
2755 operations on trees that refer to UPC pointer-to-shared
2756 objects and types. Re-format and re-indent.
2758 2011-05-07 Gary Funck <gary@intrepid.com>
2760 * ../configure.ac: Disable build of libupc
2761 on non POSIX hosted systems. Use AS_HELP_STRING
2762 to define messages. Remove 'word-pair' as a
2763 possible --with-upc-pts UPC pointer-to-shared
2765 * ../configure: Regenerate.
2766 * configure.ac: Use AS_HELP_STRING to define messages.
2767 Remove 'word-pair' as a possible --with-upc-pts
2768 UPC pointer-to-shared representation.
2769 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2770 (UPC_MAX_BLOCK_SIZE): Correct the default value.
2771 * configure: Regenerate.
2772 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2774 * ChangeLog.upc: Fix some typos.
2776 2011-05-07 Gary Funck <gary@intrepid.com>
2778 * ../maintainer-scripts/gcc_release: Add "upc"
2779 as one of the released languages.
2781 2011-05-06 Gary Funck <gary@intrepid.com>
2783 Eliminate compilation warnings, by fixing
2784 #include's and updating function prototypes.
2785 * c-family/c-cppbuiltin.c: Include c-upc.h.
2786 * optabs.c (gen_libfunc): Change type of 'suffix'
2787 parameter to conform with prototype.
2788 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2789 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2791 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2793 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2794 argument values to cp_gimplify_expr.
2795 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2796 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2797 pre-processor definitions that are no longer
2798 needed to build the 'upc' command (upc-cmd.c)
2799 because the linker specs. defined in libupc
2800 take care of linking in the needed libraries.
2801 * c-parser.c (c_parser_upc_forall_statement):
2802 initialize affinity_loc to avoid "maybe unused" warning.
2803 (c_parser_upc_sync_statement): Remove un-needed
2804 'ret' variable. Cast return value from
2805 'upc_build_sync_stmt' to 'void' to avoid
2806 compile-time warning.
2807 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2808 integer constant, not a string. Range is restricted
2809 to maximum positive 32-bit integer (2+ billion) to
2810 fit in with the use of 'int' in the front-end's
2811 switch handling logic.
2813 2011-05-06 Gary Funck <gary@intrepid.com>
2815 Upgrade c-family source files to conform with modularity
2816 improvements. Mainly, remove #include of c-tree.h in files
2817 under c-family, and define a new UPC-specific #include file,
2818 c-upc.h, and use it.
2819 * c-family/stub-upc.c: Remove #include of c-tree.h and
2820 upc/upc-act.h. Replace with #include of c-common.h
2822 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2823 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2824 upc_localsizeof_expr, upc_localsizeof_type,
2825 upc_shared_type_p): Delete.
2826 * c-family/c-opts.c: Add #include of c-upc.h
2827 * c-family/c-common.c: Remove #include of c-tree.h and
2828 add #include of c-upc.h.
2829 * c-family/c-upc.h: New. Define API for UPC-specific functions
2830 (mostly implemented in upc/upc-act.c).
2831 * c-family/c-common.h (upc_cpp_builtins,
2832 upc_write_global_declarations): Remove extern definitions.
2833 * c-family/c-pragma.c: Remove #include of c-tree.h.
2834 Add #include of c-upc.h.
2835 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2837 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2838 upc/upc-act.c, and define as a macro.
2839 (expand_affinity_test): Remove unused external definition.
2840 (build_upc_unshared_type): Add external definition.
2841 (upc_shared_type_p): Remove external definition.
2842 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2843 * dojump.c: Remove #include of c-tree.h.
2844 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2846 (count_upc_threads_refs, is_multiple_of_upc_threads,
2847 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2848 upc_build_shared_var_addr, upc_build_sync_stmt,
2849 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2850 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2851 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2852 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2853 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2854 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2855 set_upc_consistency_mode, get_upc_consistency_mode,
2856 push_upc_consistency_mode, pop_upc_consistency_mode,
2858 Move external definitions to c-family/c-upc.h.
2859 (upc_blocksizeof_type, upc_localsizeof_type,
2860 upc_elemsizeof_type): Remove external definitions;
2861 these functions were moved to c-parser.c.
2862 * c-decl.c: Add #include of c-upc.h.
2863 * c-typeck.c: Add #include of c-upc.h.
2864 * c-convert.c: Add #include of c-upc.h.
2865 * ChangeLog.upc: Fix typo.
2866 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2867 there is a reference to c-family/c-objc.h.
2868 Remove extraneous reference to upc-act.h.
2869 * c-parser.c: Add #include of c-upc.h.
2870 (upc_blocksizeof_expr, upc_blocksizeof_type,
2871 upc_elemsizeof_expr, upc_elemsizeof_type,
2872 upc_localsizeof_expr, upc_localsizeof_type):
2873 Move from upc/upc-act.c.
2874 * tree.c (build_upc_unshared_type): New.
2875 Move upc_get_unshared_type from upc/upc-act.c and rename
2876 to build_upc_unshared_type.
2877 c-family/c-common.c (pointer_int_sum): refer to renamed
2878 build_upc_unshared_type function.
2879 c-convert.c (convert): Ditto.
2880 convert.c (convert_to_pointer): Ditto.
2881 c-typeck.c (build_unary_op, build_modify_expr,
2882 really_start_incremental_init): Ditto.
2883 gimplify.c (create_tmp_var_raw): Ditto.
2884 tree.c (build1_stat): Ditto.
2885 tree.h (upc_get_unshared_type): Rename to
2886 build_upc_unshared_type.
2888 2011-05-06 Gary Funck <gary@intrepid.com>
2890 Merge trunk version 173471 into gupc branch.
2892 2011-05-06 Gary Funck <gary@intrepid.com>
2894 Eliminate compilation warnings, by fixing
2895 #include's and updating function prototypes.
2896 * upc/upc-gimplify.c: Include bitmap.h.
2897 (upc_gimplify_real_image_ref): Mark various parameters
2898 as unused. This is a stub procedure for now.
2899 * upc/upc-lang.c: Include c-family/c-upc.h.
2901 * upc/upc-cmd.c (no_start_files): Delete unused variable.
2902 The -nostartfiles switch is now handled by the linker spec.
2903 * ChangeLog: Spell check.
2905 2011-05-06 Gary Funck <gary@intrepid.com>
2907 Upgrade c-family source files to conform with modularity
2908 improvements. Mainly, remove #include of c-tree.h in files
2909 under c-family, and define a new UPC-specific #include file,
2910 c-upc.h, and use it.
2911 * upc/upc-act.h (upc_write_global_declarations,
2912 upc_check_decl, upc_build_sync_stmt, upc_affinity_test,
2913 upc_num_threads, upc_diagnose_deprecated_stmt):
2914 Move external definitions to c-family/c-upc.h
2915 (upc_blocksizeof_expr, upc_blocksizeof_type,
2916 upc_elemsizeof_expr, upc_elemsizeof_type,
2917 upc_localsizeof_expr, upc_localsizeof_type):
2918 Remove external definitions; these functions
2919 were moved from upc-act.c to c-parser.c.
2920 * upc/upc-gimplify.c: Add #include of c-family/c-upc.h.
2921 upc-pts-packed.c: Ditto.
2922 upc-pts-struct.c: Ditto.
2923 * upc/config-lang.in: Update gtfiles to refer to c-upc.h
2925 * upc/upc-act.c: Add #include of c-family/c-upc.h.
2926 (upc_blocksize, upc_elemsizeof, upc_localsizeof):
2927 Make external so that it can be called from c-parser.c.
2928 (upc_blocksizeof_expr, upc_blocksizeof_type,
2929 upc_elemsizeof_expr, upc_elemsizeof_type,
2930 upc_localsizeof_expr, upc_localsizeof_type):
2931 Move from upc/upc-act.c to c-parser.c.
2932 (upc_set_block_factor): Fix typo in error message.
2933 (upc_shared_type_p, upc_pts_cvt_op_p): Delete.
2934 Move to tree.h and define as a macro.
2935 (upc_get_unshared_type): Delete. renamed to
2936 build_upc_unshared_type and moved to tree.c.
2937 * upc/upc-gimplify.c (upc_gimplify_lval, upc_gimplify_expr):
2938 refer to renamed build_upc_unshared_type function.
2939 upc-act.c (create_unshared_var): Ditto.
2941 2011-05-05 Gary Funck <gary@intrepid.com>
2943 Make changes that bring the GUPC branch more closely in sync.
2944 with the GCC trunk. Revert any fixes that are not UPC-specific.
2945 Remove gratuitous re-formatting.
2946 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2947 This file should have been removed in a previous merge
2949 * ../configure.ac: Remove Cray Catamount/CNL support.
2950 * ../configure: Regenerate.
2951 * ../config.sub: Remove Cray Catamount/CNL support.
2952 * config.gcc: Remove Cray Catamount/CNL support.
2953 * ../maintainer-scripts/gcc_release: Revert to trunk.
2954 * c-family/c-common.h: Define parse_optimize_options. Its definition
2955 was missed in a previous merge with the trunk.
2956 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2958 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2959 in addition to ARRAY_TYPE.
2960 * c-typeck.c: Remove an extra newline character.
2961 * varasm.c: Revert a fix that improved an error message
2962 when TLS common data is unimplemented.
2963 * varasm.c: Revert a gcc_assert that had been added which
2964 checked for a null DECL_SIZE_UNIT field.
2965 * emultls.c: Revert to trunk. Remove possible fix.
2966 * Makefile.in: Revert extra blank line that is present
2967 in the trunk version.
2968 * Makefile.in: Revert a fix that handled long shell
2969 argument lists for plugin headers.
2970 * config/ia64/ia64.opt: Revert an option setting
2971 that increased the default TLS address range.
2972 * config/ia64/crtbegin.asm: Revert to trunk.
2973 Removes an extra newline character.
2974 * ChangeLog.upc: Spell check.
2976 2011-05-03 Gary Funck <gary@intrepid.com>
2978 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2979 (c_apply_type_quals_to_decl): Ditto.
2980 * c-family/c-common.h: Ditto.
2982 * c-decl.c (merge_decls): Ditto.
2983 * c-typeck.c (qualify_type, default_conversion,
2984 build_component_ref, build_unary_op,
2985 c_build_qualified_type): Ditto.
2986 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2988 2011-05-03 Gary Funck <gary@intrepid.com>
2990 * upc/upc-lang.c: Remove extraneous FIXME/TODO comments.
2991 * upc/upc-pts-packed.c (upc_pts_build_cvt): Ditto.
2992 * upc/upc-act.c (upc_set_block_factor): Ditto.
2994 2011-04-29 Gary Funck <gary@intrepid.com>
2996 * c-decl.c (finish_decl): Improve error diagnostics.
2997 (grokdeclarator): Ditto.
2998 * c-typeck.c (build_c_cast): Improve error diagnostics.
2999 (convert_for_assignment): Ditto.
3000 (build_binary_op): Ditto.
3001 * c-parser.c (c_parser_upc_forall_statement):
3002 Improve error diagnostics.
3003 * convert.c (convert_to_integer): Improve error diagnostics.
3005 2011-04-29 Gary Funck <gary@intrepid.com>
3007 * upc/upc-gimplify.c (upc_expsnd_get): Improve error diagnostics.
3008 (upc_expand_put): Ditto.
3009 (upc_shared_addr): Ditto.
3010 (upc_gimplify_sync_stmt): Ditto.
3011 (upc_gimplify_field_ref): Ditto.
3012 * upc/upc-pts-struct.c (upc_pts_build_diff): Improve error diagnostics.
3013 (upc_pts_build_cvt): Ditto.
3014 * upc/upc-act.c (upc_handle_option): Improve error diagnostics.
3015 (upc_lang_init): Ditto.
3016 (upc_sizeof_type_check): Ditto.
3017 (upc_set_block_factor): Ditto.
3018 (upc_decl_init): Ditto.
3019 (upc_affinity_test): Ditto.
3020 (upc_num_threads): Ditto.
3021 (upc_diagnose_deprecated_stmt): Ditto.
3022 (upc_build_shared_var_addr): Ditto.
3023 (upc_pts_int_sum): Ditto.
3024 (upc_pts_diff): Ditto.
3026 2011-04-28 Gary Funck <gary@intrepid.com>
3028 * upc/upc-act.c (create_unshared_var): call upc_get_unshared_type()
3029 instead of using TYPE_MAIN_VARIANT() to create an equivalent type
3030 that is not a UPC shared type. This is sometimes necessary
3031 when the given shared type is derived from a typedef.
3033 2011-04-24 Gary Funck <gary@intrepid.com>
3035 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
3036 occurred if there is an error in the barrier id
3037 expression. Map error_mark_node into NULL.
3039 2011-04-24 Gary Funck <gary@intrepid.com>
3041 * upc/upc-act.c (upc_handle_option): Fix incorrect error
3042 diagnostic messages when both -fupc-debug and
3043 -fupc-inline-lib are asserted.
3045 2011-04-24 Gary Funck <gary@intrepid.com>
3047 * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "--param"
3048 to the list of switches that accept arguments.
3049 (main): Check for switches that have a following
3050 argument inside the loop that copies arguments and
3051 adds '-x upc' or '-x none' as necessary.
3052 (main): Misc. clean ups and simplifications.
3054 2011-04-22 Gary Funck <gary@intrepid.com>
3056 Merge trunk version 172873 into gupc branch.
3058 2011-04-22 Gary Funck <gary@intrepid.com>
3060 Merge trunk version 172873 into gupc branch.
3061 * upc/upc-act.c (upc_build_init_func): assert DECL_PRESERVE_P()
3062 on init_func() to prevent it from being removed from
3065 2011-04-19 Gary Funck <gary@intrepid.com>
3067 Merge trunk version 172359 into gupc branch.
3069 2011-04-19 Gary Funck <gary@intrepid.com>
3071 Merge trunk version 172359 into gupc branch.
3072 * upc/upc-lang.c (upc_init_ts): New.
3073 (LANG_HOOKS_INIT_TS): use upc_init_ts.
3075 2011-04-19 Gary Funck <gary@intrepid.com>
3077 Eliminate warnings when compiling upc-cmd.c.
3078 * upc/upc-cmd.c (file_exists): Remove.
3079 (arg_copy): Remove const qualifier.
3081 2011-04-14 Gary Funck <gary@intrepid.com>
3083 * c-family/c.opt: Add UPC as a valid language for various
3084 switches where it is valid for "C", that were not updated
3085 in previous merges with trunk.
3087 2011-04-13 Gary Funck <gary@intrepid.com>
3089 * c-family/c.opt (fupc-pre-include): New option definition.
3090 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
3091 -fno-upc-pre-include is asserted.
3093 2011-04-13 Gary Funck <gary@intrepid.com>
3095 * upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "dumpbase"
3096 to the list, and alphabetize.
3098 2011-04-13 Gary Funck <gary@intrepid.com>
3100 * upc/upc-gimplify.c (upc_gimplify_real_image_ref): New.
3101 Currently, a not-yet-implemented stub.
3102 (upc_gimplify_lval): call upc_gimplify_real_image_ref to
3103 rewrite UPC shared REALPART_EXPR and IMAGPART_EXPR lvalues.
3104 This will avoid an ICE when compiling regular "C"
3105 code that refers to those operators.
3107 2011-04-13 Gary Funck <gary@intrepid.com>
3109 * upc/upc-cmd.c: Do not add "-isystem <libupc_path>" if
3110 -fno-upc-pre-include is asserted.
3112 2011-04-07 Gary Funck <gary@intrepid.com>
3114 Merge trunk version 172158 into gupc branch.
3115 to bring in the following fix.
3117 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
3120 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
3121 if old and new states differ.
3123 2011-04-06 Gary Funck <gary@intrepid.com>
3125 Merge trunk version 171966 into gupc branch.
3127 2011-04-01 Gary Funck <gary@intrepid.com>
3129 * tree.h (tree_base): Move UPC flag bits into bit fields
3130 located just before spare bits. Decrement spare bits.
3131 Rename 'shared_flag' -> 'upc_shared_flag',
3132 'relaxed_flag' -> 'upc_relaxed_flag',
3133 'strict_flag' -> 'upc_strict_flag, and adjust macros
3134 that reference them accordingly.
3136 2011-04-01 Gary Funck <gary@intrepid.com>
3138 * c-decl.c (grokdeclarator): Fix formatting of
3139 code that sets UPC block size on scalars.
3141 2011-04-01 Gary Funck <gary@intrepid.com>
3143 * c-decl.c (grokdeclarator): Revert use of white space
3144 to match the trunk (to rationalize diffs).
3145 * c-typeck.c (convert_for_assignment): Ditto.
3146 * tree-ssa.c (useless_type_conversion_p): Ditto.
3148 2011-03-23 Gary Funck <gary@intrepid.com>
3150 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
3151 the GCC 4.6 release branch.
3153 2011-03-22 Gary Funck <gary@intrepid.com>
3155 * upc/upc-cmd.c: Move linker switches into libupc/libupc.spec.
3156 (UPC_LINKER_SCRIPT, LIBNUMA, LIBUPC, LIBUPC_PT) Remove.
3157 (find_ld_script) Remove.
3159 2011-03-21 Gary Funck <gary@intrepid.com>
3161 Merge trunk version 171202 into gupc branch.
3163 2011-03-20 Gary Funck <gary@intrepid.com>
3165 * varasm.c: Call error() directly with a format specifier,
3166 rather than using sprintf() to format the message.
3167 This should make it easier to internationalize UPC's error messages.
3169 2011-03-20 Gary Funck <gary@intrepid.com>
3171 * configure.ac: Fix the check for gnu ld when enabling
3172 UPC link script support.
3173 configure: Regenerate (also picks up changes from previous
3176 2011-03-20 Gary Funck <gary@intrepid.com>
3178 Move UPC start files, end files, and linker specs.
3179 into libupc. This reduces the impact on common GCC
3180 configuration files, and ensures that these UPC-specific
3181 components are only built when the UPC language dialect is selected.
3182 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
3183 linker specs. Fix typo in -fupc-debug message.
3184 * config/upc-conf.h, config/darwin.h: Move defines for
3185 UPC-related section begins/ends into libupc/config/default/
3187 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
3188 UPC-related linker compiler specifications,
3189 accessed via %:include().
3190 * configure.ac, configure: Remove logic related to building
3191 upc-crtbegin/end. Remove config. tests for numa and cpu
3192 affinity (previously used by the 'upc' driver); these
3193 settings are now propagated by target-specific compiler
3194 specs. built by libupc. Regenerate autoconf.
3195 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
3196 linker compiler specifications, accessed via %:include().
3197 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
3199 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
3200 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
3201 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
3202 config/ia64/linux.h, config/mips/t-iris,
3203 config/mips/iris6.h: Revert to trunk version 167307.
3205 * configure, configure.ac, config.host, Makefile.in:
3206 Revert to trunk version 167307.
3208 2011-03-20 Gary Funck <gary@intrepid.com>
3210 * upc/upc-act.c: Call error() directly with a format specifier,
3211 rather than using sprintf() to format the message.
3212 This should make it easier to internationalize UPC's error messages.
3214 2011-03-20 Gary Funck <gary@intrepid.com>
3216 Move UPC start files, end files, and linker specs.
3217 into libupc. This reduces the impact on common GCC
3218 configuration files, and ensures that these UPC-specific
3219 components are only built when the UPC language dialect is selected.
3220 * upc/config-lang.in: Remove setting of 'upc_extra_parts', which
3221 was used to specify which upc-crtbegin and upc-crtend files
3222 need to built. Remove extraneous (commented out)
3223 settings of 'cfiles'. The listed configuration files
3224 have been reverted to trunk, and weren't referenced
3225 via cfiles in any event.
3226 * upc/upc-cmd.c: Remove test for HAVE_UPC_LINK_SCRIPT.
3227 Simply test for the presence of the UPC link script
3228 in the current directory or the libupc directory.
3229 Add -B<path-to-libupc> to the switches passed to 'gcc';
3230 this is needed in order to find the upc-crtbegin
3231 and upc-crtend object files now built in libupc.
3232 Remove test for and inclusion of UPC_LINKER_SWITCHES.
3233 if extra switches are needed for a particular target
3234 (like SGI/Irix), they will be defined by the custom
3235 linker spec. built in libupc. Remove test for
3236 HAVE_UPC_NUMA_SUPPORT; if '-lnuma' is needed, it
3237 will be added to the custom linker specs. built
3239 * upc/upc-crtstuff.c: Move to libupc.
3241 2011-02-23 Gary Funck <gary@intrepid.com>
3243 * c-decl.c (undeclared_variable): fix typo. Inadvertently
3244 removed negation on following 'if'.
3246 2011-02-22 Gary Funck <gary@intrepid.com>
3248 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
3249 to check for the usage of certain deprecated UPC keywords.
3250 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
3251 * c-tree.h (undeclared_variable): Define prototype.
3253 2011-02-22 Gary Funck <gary@intrepid.com>
3255 * upc/upc-act.c (upc_diagnose_deprecated_stmt): New.
3256 upc-act.h (upc_diagnose_deprecated_stmt): Define.
3257 Check usage of deprecated keywords and issue
3260 2011-02-12 Gary Funck <gary@intrepid.com>
3262 * c-typeck.c: (build_c_cast, convert_for_assignment)
3263 Diagnose an attempt to convert from an integer to
3264 a pointer-to-shared as an error. Also, fix various
3265 error messages so that they use the preferred term
3266 pointer-to-shared instead of "shared pointer".
3268 2011-02-08 Gary Funck <gary@intrepid.com>
3270 * upc/upc-pts-struct.c: Fix bug: (pts + int) fails when int is negative
3271 for struct-pts representation
3272 Analysis indicated that for something like (+ ptr -80) this was
3273 being represented as (+ ptr (- 80)) and further, when the
3274 calculations were propagated into the individual operations on the
3275 components of the 'struct' pointer, it would end up with something
3276 like (+ ptr.vaddr (- 80)), and the type of (- 80) would end up as
3277 "long unsigned int" because of the addition to the pointer. This
3278 caused the calculations involving the signed 'int' operand to be
3279 performed incorrectly. This fix insures that the 'int' operand is
3282 2011-02-08 Gary Funck <gary@intrepid.com>
3284 * upc/config-lang.in, upc/lang-specs.h, upc/Makefile.in,
3285 upc/Make-lang.in, upc/upc.1, upc/upc-act.c, upc/upc-act.h,
3286 upc/upc-cmd.c, upc/upc-crtstuff.c, upc/upc-gasp.c,
3287 upc/upc-gasp.h, upc/upc-gimplify.c, upc/upc-gimplify.h,
3288 upc/upc-lang.c, upc/upc-pts.h, upc/upc-pts-packed.c,
3289 upc/upc-pts-struct.c, upc/upc-tree.def, upc/upc-tree.h:
3290 Update copyright notices.
3292 2011-02-07 Gary Funck <gary@intrepid.com>
3294 * c-typeck.c: (convert_for_assignment)
3295 Fix typo. in error message.
3297 2011-01-23 Gary Funck <gary@intrepid.com>
3299 * c-typeck.c: (c_build_qualified_type)
3300 derive UPC block size by calling upc_get_block_size(),
3301 to ensure that the element type of an array of an array
3302 is derived correctly.
3304 2011-01-09 Gary Funck <gary@intrepid.com>
3306 Fix behavior of upc_localsizeof() when called in a dynamic
3307 threads compilation environment. This bug, and the expected
3308 behavior is documented in this bug report:
3309 https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2960.
3310 * upc/_act.c (upc_localsizeof): Re-implement.
3312 2010-12-29 Gary Funck <gary@intrepid.com>
3314 Merge trunk version 168314 into gupc branch.
3316 2010-12-15 Gary Funck <gary@intrepid.com>
3318 Merge trunk version 167307 into gupc branch.
3320 2010-12-15 Gary Funck <gary@intrepid.com>
3322 Merge trunk version 167307 into gupc branch.
3323 * upc/_act.h: (upc_handle_option) add location and struct
3324 cl_option_handlers * parameters.
3325 (upc_finish_file) Remove.
3326 (upc_write_global_declarations) New, replaces upc_finish_file.
3327 * lang-spec.h: Disable multi-file compilation for .upc files.
3328 This fixes an issue where file-scoped static variables were
3329 diagnosed as multiply-defined. Both "C" and "ObjC" also disable
3330 multi-file compilation.
3331 * upc/upc-gimplify.c: (upc_expand_put) Check for INDIRECT_REF_P()
3332 explicitly when deciding whether a UPC shared object is addressable.
3333 is_gimple_addressable() used to do this, but now checks for MEM_REF
3334 which does not apply to UPC shared objects.
3335 (upc_gimplify_lval, upc_gimplify_expr) Delete references to
3336 ALIGN_INDIRECT_REF and MISALIGNED_INDIRECT_REF.
3337 These are no longer defined.
3338 (upc_genericize) Add call to bitmap_obstack_initialize()
3339 and bitmap_obstack_release() around call to gimplify_function_tree().
3340 * upc/upc-lang.c: Add #include of "opts.h" and "options.h".
3341 (flag_upc_debug, flag_upc_inline_lib, flag_upc_instrument,
3342 flag_upc_instrument_functions) Remove. Use definitions
3343 generated by the options file.
3344 (upc_init_options) Use cl_decoded_option struct.
3345 (LANG_HOOKS_WRITE_GLOBALS) Define as upc_write_global_declarations.
3346 (finish_file) Delete.
3347 (upc_init_options) Call control_warning_option() to specify
3348 -Werror=pointer-arith as the default. Remove call to
3349 enable_warning_as_error().
3350 * upc/upc-pts-struct.c: (upc_pts_init_type) Move test that
3351 UPC_PTS_THREAD_SIZE is a multiple of a byte into an "if" statement
3352 rather than an #ifdef; this macro now depends upon a
3353 target size macro which must be evaluated at runtime.
3354 * upc/Make-lang.in: (cc1-dummy) Remove make target.
3355 (cc1upc-checksum.c) Generate directly from object files.
3356 * upc/upc-cmd.c: (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG) Delete
3357 references to these deprecated macro definitions.
3358 (GCC_WORD_SWITCH_TAKES_ARG, GCC_WORD_SWITCH_TAKES_ARG) New.
3359 (all_exec_args) Delete variable.
3360 (exec_args) Re-define as (const char *).
3361 (exec_arg_list) New. Make copy of exec_args to pass to 'exec'.
3362 * upc/upc-act.c: (upc_handle_option) Update argument list to accept
3363 (cl_option_handlers *) argument.
3364 (upc_finish_file) Rename to upc_write_global_declarations.
3365 (upc_write_global_declarations) New.
3367 2010-10-19 Gary Funck <gary@intrepid.com>
3369 * c-typeck.c: Fix typo in previous fix
3370 which led to a mis-compare for equal block sizes.
3372 2010-10-18 Gary Funck <gary@intrepid.com>
3374 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
3375 diagnosed as an error
3376 The conversion from any type (shared or not) to
3377 a shared type is likely either meaningless or an error. This update
3378 makes any conversion to a shared type, an error.
3380 2010-10-18 Gary Funck <gary@intrepid.com>
3382 * c-typeck.c: Fix bug: passing int to shared pointer arg.
3383 generates spurious warning
3384 Add a #define procedure that does the same thing as
3385 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
3386 this procedure to diagnose passing an integer value to a
3387 pointer-to-shared as an error.
3389 2010-10-18 Gary Funck <gary@intrepid.com>
3391 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
3392 matching routine declaration.
3393 When checking for type compatibility, shared qualified types must
3394 have the same block factor. This check was missing from
3395 comptypes_internal(). This update adds the check for blocking
3398 2010-10-17 Gary Funck <gary@intrepid.com>
3400 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
3402 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
3404 2010-10-17 Gary Funck <gary@intrepid.com>
3406 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
3407 45869 - [4.5/4.6 Regression] type mismatch in shift expression
3408 produces ice with -O3 and -m32.
3409 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
3411 2010-10-17 Gary Funck <gary@intrepid.com>
3413 * c-common.c: Diagnose the application of the various "*sizeof"
3414 operations on generic pointer-to-shared as a compilation error.
3416 2010-10-17 Gary Funck <gary@intrepid.com>
3418 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
3419 message regarding a function parameter being declared with a shared
3421 The parameter's 'name' value is not defined at this point, and
3422 cannot be used in the error message. This update removes the
3423 reference to 'name', and eliminates the segfault.
3425 2010-10-17 Gary Funck <gary@intrepid.com>
3427 * upc/upc-act.c: Issue a compilation error on attempts to perform
3428 arithmetic on generic pointer-to-shared values.
3429 (The rest of this update is a small code clean up.)
3431 2010-10-17 Gary Funck <gary@intrepid.com>
3433 * upc/upc-lang.c: For UPC only, issue errors for arithmetic and related
3434 operations on void types.
3435 This update simulates the effect of -Werror=pointer-arith, thus
3436 causing arithmetic on void types, sizeof(void) and so on to be
3437 considered compilation errors. This meets the expectations of some
3438 harness tests and the RTED/CTED test suites. GCC is more
3439 permissive, but since this is for UPC only, we can fairly safely
3440 define this new policy.
3442 2010-10-16 Gary Funck <gary@intrepid.com>
3444 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
3445 The gcc/Makefile.in rules for install-plugin had to be re-written to
3446 break up a long list of header files that exceeded the command line
3447 limitation imposed by Irix.
3448 Access functions for TFmode types had to be implemented.
3449 Apparently, this is the mode used for the SGI/MIPS port to represent
3452 2010-10-16 Gary Funck <gary@intrepid.com>
3454 * upc/upc-act.c: Fix bug: Static initialization of shared
3455 arrays is unsupported -- issue an error message.
3456 Currently, static initialization of a shared array is not
3457 implemented correctly.
3458 We do not plan to fix this for a while, therefore the compiler will
3459 issue an error message indicating that this is an unsupported
3462 2010-10-14 Gary Funck <gary@intrepid.com>
3464 * c-decl.c: Fix bug: Multiple equal blocking factors specified
3465 via typedef chain should not be diagnosed as an error.
3466 If the block size that is given by the typedef is equal to the block
3467 size given explicitly in the variable declaration, then do not
3468 complain. The easiest way to make this check was to create a
3469 temporary type that is a clone of the element type and then set its
3470 block size using the given layout qualifier. Then compare the block
3471 size of the temporary (the declaration) to the block size specified
3472 in the typedef. This complexity is needed, because the '[*]' block
3473 size needs to be calculated, and the '[]' needs to be mapped into a
3476 2010-10-13 Gary Funck <gary@intrepid.com>
3478 * upc/upc-act.c: Fix bug: negative layout qualifiers not diagnosed
3480 The CTED_UPC test c_A_1_3_b.upc, specified a negative blocksize, but
3481 it was not diagnosed as an error. With this fix, negative block
3482 sizes will generate a translation error.
3484 2010-10-10 Gary Funck <gary@intrepid.com>
3486 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
3488 The compiler properly detected the presence of two or more layout
3489 qualifiers as an error, but then hit an assertion check, because the
3490 code that followed the error expected to see a qualifier and not a
3491 layout specifier. The fix is simple: just return immediately after
3492 detecting the error.
3494 2010-10-10 Gary Funck <gary@intrepid.com>
3496 * c-decl.c: Improve error diagnostics for various cases of UPC
3497 shared array type declarations.
3498 Add the check for this error: "In the dynamic translation
3499 environment, THREADS may not appear in declarations of shared arrays
3500 with indefinite block size". Also, fix up a few of the other
3501 related error diagnostics.
3503 2010-10-10 Gary Funck <gary@intrepid.com>
3505 * upc/upc-act.c: Fix bug: ICE: Attempt to take the difference of
3506 shared and non-shared pointers
3507 The compiler detected the error, and then tried to return
3508 error_mark_node. This apparently is not acceptable, as there is an
3509 explicit assertion check to prevent this from happening in
3510 build_binary_op. Return the more user-friendly size_one_node
3513 2010-10-09 Gary Funck <gary@intrepid.com>
3515 * c-common.c: Fix bug: segfault on incomplete array definition.
3516 This turned out to be a bit complicated. The logic in
3517 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
3518 the THREADS identifier in the case where the blocking factor has
3519 been set to indefinite ([]). This can happen when indefinite array
3520 declarations are processed for shared arrays. At that time, the
3521 file scope has been closed and THREADS is no longer in scope. Some
3522 more work is needed on upc_lang_layout_decl(). It has some
3523 duplication, and notably duplicates the two branches of the if
3524 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
3525 caller of this routine (layout_decl()).
3526 The method of forcing a layout qualifier of [] in the indefinite
3527 declaration handler is odd a well. The code that just does the
3528 setting of the block factor, needs to moved into its own routine
3529 that doesn't depend upon a declspec for '[]' to be passed in, just
3530 in order to set the blocking factor to some value (in this case, 0).
3531 Also, the logic for how that shared type is constructed is strange.
3532 First the type with 0 blocking factor is set. Then the shared
3533 qualifier is removed from the type, and then added back later. The
3534 intermediate type has a blocking factor set, but it has no shared
3535 qualifier. Fixing this will require some thought. It is tempting
3536 just to make indefinite shared arrays an error, rather than forcing
3537 the dimension to be '1'.
3538 This likely fixes a serious error in the previous update to
3539 upc_lang_layout_decl(), where it didn't have the logic to set
3540 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
3541 the previous update would fail on many tests.
3543 2010-10-09 Gary Funck <gary@intrepid.com>
3545 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
3546 (decl) is null, which can happen if some layout error occurred
3549 2010-10-09 Gary Funck <gary@intrepid.com>
3551 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
3552 "variable-sized" when compiled in dynamic threads.
3553 This long-standing bug is easily fixed. Just check
3554 for the situation that the non-constant sized type is shared and
3555 that it does not have a dimension that references a multiple of
3556 threads. If this criteria is met, then issue a meaningful
3559 2010-10-09 Gary Funck <gary@intrepid.com>
3561 * upc/upc-act.c: Fix bug: segfault on incomplete array definition.
3562 This turned out to be a bit complicated. The logic in
3563 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
3564 the THREADS identifier in the case where the blocking factor has
3565 been set to indefinite ([]). This can happen when indefinite array
3566 declarations are processed for shared arrays. At that time, the
3567 file scope has been closed and THREADS is no longer in scope. Some
3568 more work is needed on upc_lang_layout_decl(). It has some
3569 duplication, and notably duplicates the two branches of the if
3570 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
3571 caller of this routine (layout_decl()).
3572 The method of forcing a layout qualifier of [] in the indefinite
3573 declaration handler is odd a well. The code that just does the
3574 setting of the block factor, needs to moved into its own routine
3575 that doesn't depend upon a declspec for '[]' to be passed in, just
3576 in order to set the blocking factor to some value (in this case, 0).
3577 Also, the logic for how that shared type is constructed is strange.
3578 First the type with 0 blocking factor is set. Then the shared
3579 qualifier is removed from the type, and then added back later. The
3580 intermediate type has a blocking factor set, but it has no shared
3581 qualifier. Fixing this will require some thought. It is tempting
3582 just to make indefinite shared arrays an error, rather than forcing
3583 the dimension to be '1'.
3584 This likely fixes a serious error in the previous update to
3585 upc_lang_layout_decl(), where it didn't have the logic to set
3586 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
3587 the previous update would fail on many tests.
3588 See also: gcc/c-common.c gcc/upc/upc-act.c
3590 2010-10-01 Gary Funck <gary@intrepid.com>
3592 * configure, configure.ac: Update manual page, and bug reporting
3594 Update "man" page to reflect debugging switches. Also, some general
3595 clean up. Change the bug reporting URL to point to gccupc.org.
3597 2010-10-01 Gary Funck <gary@intrepid.com>
3599 * upc/upc-manpage.html, upc.1: Update manual page, and bug reporting
3601 Update "man" page to reflect debugging switches. Also, some general
3602 clean up. Change the bug reporting URL to point to gccupc.org.
3603 See also: gcc/configure gcc/configure.ac gcc/upc/upc-manpage.html
3606 2010-10-01 Gary Funck <gary@intrepid.com>
3608 * upc/upc-act.c: Do not zap all qualifier bits when constructing a
3609 non-shared result node.
3610 This fix was suggested by Paul H. in the following Berkeley Bugzilla
3611 report: https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2061 The
3612 use of "!" rather than "~" zapped all the type qualifier bits rather
3613 than just those that are related to the "shared" qualifier. This
3614 fix clears only the relevant bits.
3616 2010-09-27 Gary Funck <gary@intrepid.com>
3618 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
3619 the UPC forall depth count variable is not found.
3620 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
3621 The compiler will generate code that references this variable in
3622 order to implement nested upc_forall semantics. If there is a
3623 compiler build or install problem, this variable may not be found.
3624 In this case, terminate with an internal_error().
3626 2010-09-26 Gary Funck <gary@intrepid.com>
3628 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
3629 mis-diagnosed as syntax error.
3630 Fix a failure exhibited by the Berkeley test case,
3631 bug873a.upc, which has the code:
3633 upc_forall (;;;d) {...} The compiler did not properly handle
3634 the empty "condition" clause, and did not recover well when it was
3635 determined that the use of a double value, "d" above, was neither a
3636 pointer-to-shared nor an integer expression. The update implements a
3637 fix for both issues.
3638 See also: gcc/c-parser.c gcc/upc/upc-act.c
3640 2010-09-26 Gary Funck <gary@intrepid.com>
3642 * upc/upc-act.c: Fix bug: upc_forall with empty clauses
3643 mis-diagnosed as syntax error.
3644 A failure was exhibited by the Berkeley test case,
3645 bug873a.upc, which has the code:
3647 upc_forall (;;;d) {...} The compiler did not properly handle
3648 the empty "condition" clause, and did not recover well when it was
3649 determined that the use of a double value, "d" above, was neither a
3650 pointer-to-shared nor an integer expression. The update implements a
3651 fix for both issues.
3652 See also: gcc/c-parser.c gcc/upc/upc-act.c
3654 2010-09-25 Gary Funck <gary@intrepid.com>
3656 * upc/upc-pts-struct.c: Fix an ICE on 32-bit/struct target: failed
3657 gimple check when calculating affinity for upc_forall.
3658 Intrepid test, test10.upc, failed to compile due a mis-match between
3659 the COMPONENT_REF node and the internal 'thread' field. Changed the
3660 code to make the types agree, and added a conversion to sizetype if
3663 2010-09-23 Gary Funck <gary@intrepid.com>
3665 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
3666 incorporated into the referencing type.
3667 This was semi-fixed a few times before. This update fixes a few
3668 more places where the layout qualifier wasn't being propagated
3669 through typedef's properly. What made this a bit tricky is shown in
3670 the example cited in the bug report:
3671 typedef shared [5] int A_t; A_t A[5*THREADS];
3672 In the typedef, the blocksize is being applied to a shared *scalar*,
3673 and the code was applying the blocksize only to arrays. This update
3674 handles shared scalars correctly.
3676 2010-09-23 Gary Funck <gary@intrepid.com>
3678 * upc/upc-act.c: Fix bug: ICE: '[*]' layout factor applied to array
3679 with static threads and size not a multiple of threads.
3680 Add an extra check for an attempt to apply a '[*]' layout qualifier
3681 to a shared array that does not specify a size that is a multiple of
3682 THREADS, when compiled in a static THREADS compilation environment.
3684 2010-09-22 Gary Funck <gary@intrepid.com>
3686 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
3687 upc_forall() semantics are not implemented
3688 The checkforall test in the Berkeley harness test suite indicated
3689 that GCC/UPC was not properly implementing nested upc_forall
3690 semantics. Nested upc_forall statements (both statically or
3691 dynamically nested) must implement their affinity clause as if it
3692 were "continue"; thus all steps in the loop must execute without
3693 regard for affinity. To implement these semantics a global depth
3694 counter, __upc_forall_depth, is maintained by the generated code
3695 that implements upc_forall.
3696 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
3697 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
3698 libupc/include/upc.h libupc/smp/upc_main.c
3700 2010-09-22 Gary Funck <gary@intrepid.com>
3702 * upc/upc-act.c, upc/upc-act.h: Fix bug: Nested upc_forall() semantics
3704 The checkforall test in the Berkeley harness test suite indicated
3705 that GCC/UPC was not properly implementing nested upc_forall
3706 semantics. Nested upc_forall statements (both statically or
3707 dynamically nested) must implement their affinity clause as if it
3708 were "continue"; thus all steps in the loop must execute without
3709 regard for affinity. To implement these semantics a global depth
3710 counter, __upc_forall_depth, is maintained by the generated code
3711 that implements upc_forall.
3712 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
3713 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
3714 libupc/include/upc.h libupc/smp/upc_main.c
3716 2010-09-19 Gary Funck <gary@intrepid.com>
3718 * c-decl.c: c-decl.c: zero out the layout specifier, after
3719 processing an array type.
3720 Fix the previous fix, that moved the setting of the type's layout
3721 qualifier to the outside of the array type processing loop. What is
3722 missing from the fix is that the layout_qualifier variable needs to
3723 be cleared after setting the type's blocksize.
3725 2010-09-19 Gary Funck <gary@intrepid.com>
3727 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
3728 given blocksize is greater than UPC_MAX_BLOCKSIZE.
3729 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
3730 the actual maximum block size. Therefore, the message was correct,
3731 but the underlying value that was being checked was wrong. Change
3732 the values so that they agree with the actual implementation-defined
3735 2010-09-18 Gary Funck <gary@intrepid.com>
3737 * upc/upc-act.c, upc/upc-pts-packed.c, upc/upc-pts-struct.c:
3738 Implement -fupc-debug switch.
3740 2010-09-11 Gary Funck <gary@intrepid.com>
3742 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
3743 multi-dimensional shared array with dynamic threads.
3744 This declaration caused an internal compiler error when compiled
3745 with dynamic threads:
3746 shared [*] int A[THREADS][16]; The bug was discovered when
3747 compiling the RTED_UPC test suite.
3748 The fix is to process layout qualifiers after the entire array type
3749 has been built. Otherwise, we try to calculate the blocksize on a
3750 shared array type that has not had its "size depends upon the value
3751 of THREADS" flag set.
3752 Also, added a test case.
3753 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
3755 2010-07-11 Gary Funck <gary@intrepid.com>
3757 Fix a bug where a statement in c_build_qualified_type()
3758 in the trunk had been inadvertently deleted.
3759 This bug showed up in the IA64 port, because jmpbuf's
3760 on that architecture must be 16 byte aligned, and they were not.
3761 c-typeck.c (c_build_qualified_type): Revive the deleted line.
3763 2010-07-08 Gary Funck <gary@intrepid.com>
3765 Make changes so that other language compilers
3766 will build and bootstrap.
3767 * c-family/c-common.c (compiling_upc, flag_upc,
3768 flag_upc_instrument, flag_upc_instrument_functions,
3769 use_upc_dwarf2_extensions): Move to stub-upc.c and
3771 * c-family/c-common.h (use_upc_dwarf2_extensions,
3772 compiling_upc): Add extern definitions - needed
3773 to compile/build other language front ends.
3774 * c-family/c.opt: Fix the spelling of ObjC.
3775 It had been incorrectly spelled as Objc.
3776 * c-family/c.opt: Add UPC for the various switches
3777 that are valid for both C and ObjC.
3778 * c-fmaily/c-opts.c: Add CL_UPC to the list of
3779 supported options switches when compiling assembly
3781 * lto/lto-lang.c (use_upc_dwarf2_extensions,
3782 flag_upc_instrument, flag_upc_instrument_functions):
3783 Remove these definitions. They have been moved
3784 to c-family/stub-upc.c.
3785 * upc/ChangeLog: Move relevant entries
3787 * c-family/stub-upc.c (compiling_upc, flag_upc,
3788 flag_upc_instrument, flag_upc_instrument_functions,
3789 use_upc_dwarf2_extensions): Moved from c-common.c
3790 * upc/upc-lang.c (compiling_upc, flag_upc,
3791 flag_upc_instrument, flag_upc_instrument_functions,
3792 use_upc_dwarf2_extensions): Moved from c-common.c
3793 * objc/objc-act.c (objc_gimplify_expr): Add additional
3794 parameters to c_gimplify_expr() call, that are used
3795 by upc's tree rewrites.
3796 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
3797 * gcc/cp/lex.c (init_reswords): If not compiling
3798 UPC, then mask off the UPC keywords.
3799 * cp/Make-lang.in (C_STUB_OBJS): Use this
3800 make macro to link with c-family/stub-objc.o
3801 and c-family/stub-upc.o.
3802 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
3803 * java/Make-lang.in (C_STUB_OBJS): Likewise.
3804 * objc/Make-lang.in: Link with c-family/stub-upc.o
3805 to avoid undefined references.
3806 c-parser.c: Fix line indentation.
3807 * libcpp/include/cpplib.h: Remove CL_UPC from
3808 the list of language kinds accepted by the
3809 C preprocessor. This is not necessary because
3810 UPC is a derivative of C99, and does not need
3811 a different language kind.
3812 * c-fmaily/c-opts.c (c_common_handle_option):
3813 Call set_std_c99() when processing the
3814 "--lang upc" switch, instead of setting the
3815 language kind to CL_UPC.
3816 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
3818 2010-07-03 Gary Funck <gary@intrepid.com>
3820 Merge trunk version 161517 into gupc branch.
3821 * gcc/stub-upc.c: Move to gcc/c-family/.
3822 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
3823 Add 'unused' attributes to avoid "set, but
3824 not referenced" warnings.
3825 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
3828 2010-07-03 Gary Funck <gary@intrepid.com>
3830 Merge trunk version 161517 into gupc branch.
3831 * upc/config-lang.in: Update references to files
3832 moved into c-family/.
3833 * upc/Make-lang.in: Likewise.
3834 * upc/upc-act.c: Likewise.
3835 * upc/upc-gasp.c: Likewise.
3836 * upc/upc-gimplify.c: Likewise.
3837 * upc/upc-lang.c: Likewise.
3838 * upc/upc-pts-packed.c: Likewise.
3839 * upc/upc-pts-struct.c: Likewise.
3840 * upc/upc-act.c: (upc_handle_option) add parameters to
3841 effect pass through call to c_common_handle_option.
3842 * upc/upc-act.h: (upc_handle_option) Likewise.
3843 * upc/upc-act.c: (map_unshared_var) used typed ggc allocation.
3844 * upc/upc-act.c: (upc_build_init_func) add call to
3845 to mark_decl_referenced(), to ensure that UPC shared
3846 variable initializer function is not removed from
3847 the call tree graph.
3849 2010-03-01 Gary Funck <gary@intrepid.com>
3851 Create gupc branch from trunk version 157149.