1 2013-09-18 Gary Funck <gary@intrepid.com>
3 Merge trunk version 202725 into gupc branch.
5 2013-09-16 Gary Funck <gary@intrepid.com>
7 Merge trunk version 202619 into gupc branch.
9 2013-09-09 Gary Funck <gary@intrepid.com>
11 Merge trunk version 202382 into gupc branch.
13 2013-09-02 Gary Funck <gary@intrepid.com>
15 Merge trunk version 202159 into gupc branch.
17 2013-08-26 Gary Funck <gary@intrepid.com>
19 Merge trunk version 202008 into gupc branch.
21 2013-08-19 Gary Funck <gary@intrepid.com>
23 Merge trunk version 201832 into gupc branch.
25 2013-08-05 Gary Funck <gary@intrepid.com>
27 Merge trunk version 201483 into gupc branch.
29 2013-07-29 Gary Funck <gary@intrepid.com>
31 Merge trunk version 201301 into gupc branch.
33 2013-07-22 Gary Funck <gary@intrepid.com>
35 Merge trunk version 201119 into gupc branch.
37 2013-07-15 Gary Funck <gary@intrepid.com>
39 Merge trunk version 200955 into gupc branch.
41 2013-07-08 Gary Funck <gary@intrepid.com>
43 Merge trunk version 200775 into gupc branch.
45 2013-07-01 Gary Funck <gary@intrepid.com>
47 Merge trunk version 200575 into gupc branch.
49 2013-06-24 Gary Funck <gary@intrepid.com>
51 Merge trunk version 200361 into gupc branch.
53 2013-06-19 Gary Funck <gary@intrepid.com>
55 Merge trunk version 200149 into gupc branch.
57 2013-06-03 Gary Funck <gary@intrepid.com>
59 Merge trunk version 199596 into gupc branch.
61 2013-05-27 Gary Funck <gary@intrepid.com>
63 Merge trunk version 199350 into gupc branch.
65 2013-05-20 Gary Funck <gary@intrepid.com>
67 Merge trunk version 199093 into gupc branch.
69 2013-05-13 Gary Funck <gary@intrepid.com>
71 Merge trunk version 198815 into gupc branch.
73 2013-05-06 Gary Funck <gary@intrepid.com>
75 Merge trunk version 198622 into gupc branch.
77 2013-04-29 Gary Funck <gary@intrepid.com>
79 Merge trunk version 198433 into gupc branch.
81 2013-04-15 Gary Funck <gary@intrepid.com>
83 Merge trunk version 197958 into gupc branch.
85 2013-04-08 Gary Funck <gary@intrepid.com>
87 Merge trunk version 197571 into gupc branch.
89 2013-04-04 Gary Funck <gary@intrepid.com>
91 Per the UPC 1.3 specification, the type of the
92 optional barrier/notify/wait expression is not constrained to
93 'int'. Instead, any type that is assignment compatible
94 with an 'int' type is permitted.
95 * c/c-parser.c (c_parser_upc_sync_statement): Do not check
96 the optional expression type here. Let upc_build_sync_stmt()
98 * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
99 * c/c-typeck.c (c_cvt_expr_for_assign): New. Also, call
100 error_at() in lieu of error() when the source location is known.
101 * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
102 to check/convert the optional synchronization statement
105 2013-04-02 Gary Funck <gary@intrepid.com>
107 Merge trunk version 197340 into gupc branch.
109 2013-04-02 Gary Funck <gary@intrepid.com>
111 Revert revision 178346 (2011-08-30)
112 which changed the prototype of check_qualified_type and related
113 functions so that their parameters were just 'tree' and not
114 'const_tree'. This seemed necessary at the time because of a
115 change to TYPE_BLOCK_FACTOR(), which in turn called function
116 that hashed the type node pointer. The hash functions did
117 not accept "const void *" pointers. Implement a work around
118 that removes this restriction.
119 * c/c-typeck.c: Revert.
121 * tree.h: Revert. Change prototype of upc_block_factor_lookup()
122 to accept a 'const_tree' pointer to a type node.
123 * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
124 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
125 input argument and convert this to 'tree' for use with hash function.
127 2013-03-25 Gary Funck <gary@intrepid.com>
129 Merge trunk version 197029 into gupc branch.
131 2013-03-21 Gary Funck <gary@intrepid.com>
133 Released GUPC 4.8.0.3 based on version 196601.
134 This release version was committed on 2013-03-11.
135 * DATESTAMP: Bump date stamp.
137 2013-03-18 Gary Funck <gary@intrepid.com>
139 Merge trunk version 196771 into gupc branch.
140 * DEV-PHASE: Bump release identifier to 4.9.0-1.
142 2013-03-11 Gary Funck <gary@intrepid.com>
144 Merge trunk version 196592 into gupc branch.
146 2013-03-04 Gary Funck <gary@intrepid.com>
148 Merge trunk version 196422 into gupc branch.
150 2013-02-25 Gary Funck <gary@intrepid.com>
152 Merge trunk version 196253 into gupc branch.
154 2013-02-18 Gary Funck <gary@intrepid.com>
156 Merge trunk version 196115 into gupc branch.
158 2013-02-11 Gary Funck <gary@intrepid.com>
160 Merge trunk version 195937 into gupc branch.
162 2013-02-04 Gary Funck <gary@intrepid.com>
164 Merge trunk version 195707 into gupc branch.
166 2013-01-28 Gary Funck <gary@intrepid.com>
168 Merge trunk version 195502 into gupc branch.
170 2013-01-21 Gary Funck <gary@intrepid.com>
172 Merge trunk version 195330 into gupc branch.
174 2013-01-14 Gary Funck <gary@intrepid.com>
176 Merge trunk version 195164 into gupc branch.
178 2013-01-07 Gary Funck <gary@intrepid.com>
180 Merge trunk version 194962 into gupc branch.
182 2012-12-24 Gary Funck <gary@intrepid.com>
184 Merge trunk version 194709 into gupc branch.
186 2012-12-17 Gary Funck <gary@intrepid.com>
188 Merge trunk version 194552 into gupc branch.
190 2012-12-10 Gary Funck <gary@intrepid.com>
192 Merge trunk version 194351 into gupc branch.
194 2012-12-03 Gary Funck <gary@intrepid.com>
196 Merge trunk version 194076 into gupc branch.
198 2012-11-30 Gary Funck <gary@intrepid.com>
200 Released GUPC 4.8.0.2 based on version 193446.
201 Date of release: 2012-11-12.
202 * DEV-PHASE: Bump release identifier to 4.8.0-3.
203 * DATESTAMP: Bump date stamp.
205 2012-11-26 Gary Funck <gary@intrepid.com>
207 Merge trunk version 193807 into gupc branch.
209 2012-11-20 Gary Funck <gary@intrepid.com>
211 Merge trunk version 193672 into gupc branch.
213 2012-11-19 Gary Funck <gary@intrepid.com>
215 Merge trunk version 193617 into gupc branch.
217 2012-11-15 Gary Funck <gary@intrepid.com>
219 Merge trunk version 193426 into gupc branch.
221 2012-11-12 Gary Funck <gary@intrepid.com>
223 Released GUPC 4.8.0.1 based on version 192948.
224 Date of release: 2012-10-29.
225 * DEV-PHASE: Bump release identifier to 4.8.0-2.
226 * DATESTAMP: Bump date stamp.
228 2012-11-05 Gary Funck <gary@intrepid.com>
230 Merge trunk version 193152 into gupc branch.
232 2012-10-29 Gary Funck <gary@intrepid.com>
234 Merge trunk version 192909 into gupc branch.
236 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
238 Remove unused --upc-pthreads-per-process compile switch.
239 * c-family/c.opt: Remove --upc-pthreads-per-process switch
240 that compiler/runtime do not use.
241 * c-family/c-opts.c (c_common_handle_option): Remove support for
242 --upc-pthreads-per-process switch.
243 * c-family/c-common.c: Ditto.
244 * c-family/c-common.h: Ditto.
246 2012-10-27 Gary Funck <gary@intrepid.com>
248 * defaults.h: fix typos and formatting in UPC-related entries.
250 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
252 Place shared initialization code into the .text
253 section instead of a separate .upc_init section.
254 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
255 (UPC_INIT_BEGIN_NAME): Delete.
256 (UPC_INIT_END_NAME): Delete.
257 * doc/tm.texi.in: Ditto.
258 * doc/tm.texi: Ditto.
260 2012-10-22 Gary Funck <gary@intrepid.com>
262 Merge trunk version 192673 into gupc branch.
264 2012-10-15 Gary Funck <gary@intrepid.com>
266 Merge trunk version 192449 into gupc branch.
268 2012-10-08 Gary Funck <gary@intrepid.com>
270 Merge trunk version 192198 into gupc branch.
272 2012-10-01 Gary Funck <gary@intrepid.com>
274 Merge trunk version 191931 into gupc branch.
276 2012-09-26 Gary Funck <gary@intrepid.com>
278 Implement support for various UPC version 1.3 specification
279 additions and changes. Deprecate support for upc_local_alloc.
280 Add support for upc_tick (wall-clock timer) library.
281 Add support for collective de-allocation functions:
282 upc_all_free and upc_all_lock_free.
283 Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
284 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
286 2012-09-24 Gary Funck <gary@intrepid.com>
288 Merge trunk version 191658 into gupc branch.
290 2012-09-17 Gary Funck <gary@intrepid.com>
292 Merge trunk version 191376 into gupc branch.
294 2012-09-10 Gary Funck <gary@intrepid.com>
296 Merge trunk version 191141 into gupc branch.
298 2012-08-27 Gary Funck <gary@intrepid.com>
300 Merge trunk version 190707 into gupc branch.
301 * tree.h (struct tree_base): Adjust various
302 UPC tree and type flags to refer to the
303 newly introduced u.bits field.
305 2012-08-20 Gary Funck <gary@intrepid.com>
307 Merge trunk version 190524 into gupc branch.
308 Incorporates a fix in genoutput.c (to properly use
309 CONST_CAST) that led to build failures with
310 older versions of g++.
312 2012-08-16 Gary Funck <gary@intrepid.com>
314 Merge trunk version 190437 into gupc branch.
315 Incorporates a fix for a build failure on the PPC
316 due to passing incorrect switches to the assembler.
317 Also, first merged trunk revision that compiles GCC
318 with the C++ compiler in the first stage.
320 2012-08-13 Gary Funck <gary@intrepid.com>
322 Merge trunk version 190336 into gupc branch.
324 2012-08-09 Gary Funck <gary@intrepid.com>
326 * c-family/c-common.c (c_fully_fold_internal): Do not fold
327 offsetof-like expressions when they are applied to UPC
330 2012-08-06 Gary Funck <gary@intrepid.com>
332 Merge trunk version 190173 into gupc branch.
334 2012-08-01 Gary Funck <gary@intrepid.com>
336 Merge trunk version 190063 into gupc branch.
337 Incorporates fix for build failure on IA64.
339 2012-07-30 Gary Funck <gary@intrepid.com>
341 Merge trunk version 189954 into gupc branch.
343 2012-07-27 Gary Funck <gary@intrepid.com>
345 Merge trunk version 189856 into gupc branch.
346 Incorporates fix for bootstrap with a sub-set of language
347 specific source directories present.
348 * optabs.c: Revert to trunk. Rather than defining opcodes
349 as a way of defining get/put runtime library function names,
350 generate them directly in gcc/upc/upc-genericize.c.
352 * genopinit.c: Ditto.
354 2012-07-23 Gary Funck <gary@intrepid.com>
356 Merge trunk version 189777 into gupc branch.
358 2012-07-16 Gary Funck <gary@intrepid.com>
360 Merge trunk version 189545 into gupc branch.
362 2012-07-12 Gary Funck <gary@intrepid.com>
364 Merge trunk version 189366 into gupc branch.
366 2012-07-05 Gary Funck <gary@intrepid.com>
368 Merge trunk version 189274 into gupc branch.
369 Incorporates graphite build infrastructure changes.
371 2012-07-04 Gary Funck <gary@intrepid.com>
373 Merge trunk version 189080 into gupc branch.
374 * Makefile.in: Adjust for move of C front-end files.
375 * c/Make-lang.in: Ditto.
377 2012-07-03 Gary Funck <gary@intrepid.com>
379 Merge trunk version 189078 into gupc branch.
381 2012-06-25 Gary Funck <gary@intrepid.com>
383 Merge trunk version 188931 into gupc branch.
385 2012-06-18 Gary Funck <gary@intrepid.com>
387 Merge trunk version 188721 into gupc branch.
389 2012-06-11 Gary Funck <gary@intrepid.com>
391 Merge trunk version 188380 into gupc branch.
393 2012-06-04 Gary Funck <gary@intrepid.com>
395 Merge trunk version 188168 into gupc branch.
397 2012-05-29 Gary Funck <gary@intrepid.com>
399 Merge trunk version 187927 into gupc branch.
401 2012-05-18 Gary Funck <gary@intrepid.com>
403 Merge trunk version 187666 into gupc branch.
404 Incorporates fix for ICE in tree vectorization pass
405 when processing strided loads.
407 2012-05-17 Gary Funck <gary@intrepid.com>
409 Merge trunk version 187578 into gupc branch.
411 2012-05-09 Gary Funck <gary@intrepid.com>
413 Merge trunk version 187347 into gupc branch.
414 Incorporates fix for segfault in tree vectorization pass.
416 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
418 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
419 Appropriate libraries and include files are added on the
420 command line to make it possible to compile with the driver
423 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
425 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
426 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
427 a function returns a pointer-to-shared in memory instead
429 (rs6000_pass_by_reference): Ditto.
431 2012-04-28 Gary Funck <gary@intrepid.com>
433 * c-decl.c (grokdeclarator): Set 'type' to error node
434 after detecting "shared auto variable" error to avoid
435 downstream complications.
436 * upc-act.c: Fix a couple of spelling errors in comments.
438 2012-04-26 Gary Funck <gary@intrepid.com>
440 * c-family/c-pragma.c (handle_pragma_upc):
441 Fix typo in warning message.
443 2012-04-17 Gary Funck <gary@intrepid.com>
445 Merge trunk version 186486 into gupc branch.
447 2012-04-17 Gary Funck <gary@intrepid.com>
449 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
450 value of the pupc mode. Fixes a compile-time warning.
451 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
452 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
453 Improve source formatting.
455 2012-04-09 Gary Funck <gary@intrepid.com>
457 Merge trunk version 186243 into gupc branch.
458 Incorporates a powerpc 'ffi' fix.
460 2012-03-16 Gary Funck <gary@intrepid.com>
462 Merge trunk version 185454 into gupc branch.
463 Incorporates a libgcc fix for builds on Darwin.
465 2012-03-13 Gary Funck <gary@intrepid.com>
467 Merge trunk version 185278 into gupc branch.
468 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
469 call build_pointer_type() to apply UPC-specific qualifiers.
470 * top-level/configure.ac: factor the checking for posix hostst
471 out of the libgomp section so that it can also be used by libgupc.
472 * top-level/configure: Re-generate.
473 * DEV-PHASE: bump to 4.8.0-1.
475 2012-03-12 Gary Funck <gary@intrepid.com>
477 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
478 the mode for a pointer for upc-pointer-to-shared types.
480 2012-03-04 Gary Funck <gary@intrepid.com>
482 Merge trunk version 184900 into gupc branch.
484 2012-02-17 Gary Funck <gary@intrepid.com>
486 Released GUPC 4.7.0.2 based on version 183992.
487 * DEV-PHASE: Bump release identifier to 4.7.0-3.
488 * DATESTAMP: Bump date stamp.
490 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
492 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
493 code generation (same as #pragma pupc off).
494 (set_pupc_mode): New. Set/restore profiling mode.
495 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
496 (set_pupc_mode): New. Prototype.
497 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
498 profiling code for shared variables initialization routines.
500 2012-01-31 Gary Funck <gary@intrepid.com>
502 Merge trunk version 183751 into gupc branch.
503 Incorporates fix for bootstrap failure on openSUSE 12.1.
505 2012-01-10 Gary Funck <gary@intrepid.com>
507 Merge trunk version 183072 into gupc branch.
508 Incorporates libcpp __BASE_FILE__ fix.
510 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
512 * top-level/Makefile.def (flags_to_pass): Added GUPC
513 defines. Fixes the make error when upc is not specified as one
514 of the languages to build.
515 * top-level/Makefile.in: Re-generate.
517 2011-11-22 Gary Funck <gary@intrepid.com>
519 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
520 * dwarf2out.c (gen_compile_unit_die): Check for
521 the "GNU UPC" language string in lieu of "GCC UPC".
522 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
524 2011-11-18 Gary Funck <gary@intrepid.com>
526 Merge trunk version 181552 into gupc branch.
527 Incorporates libgcc/libunwind fix for IA64.
529 2011-11-19 Gary Funck <gary@intrepid.com>
531 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
532 Add check for UPC when defining the language type value
533 in a traceback entry.
535 2011-11-18 Gary Funck <gary@intrepid.com>
537 Merge trunk version 181493 into gupc branch.
538 Incorporates final fix for PR target/49992.
540 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
542 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
543 change that converted relative include paths into absolute
544 ones, as it does not work with older version of make (3.80).
546 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
548 Apply patch for Darwin build - PR49992.
549 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
550 * gcc/configure.ac: Ditto.
551 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
552 * gcc/ada/gcc-interface/Makefile.in: Ditto.
553 * top-level/configure: Re-generate.
554 * gcc/configure: Re-genrate.
556 2011-10-26 Gary Funck <gary@intrepid.com>
558 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
559 "libupc" to "libgupc".
560 * top-level/configure.ac: Implement support for cross-builds, and
561 adjust for rename of libupc to libgupc.
562 * top-level/Makefile.tpl: Ditto.
563 * top-level/Makefile.def: Ditto.
564 * top-level/configure: Re-generate.
565 * top-level/Makefile.in: Re-generate.
566 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
567 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
568 * doc/tm.texi: Re-generate.
569 * tree-pretty-print.c (dump_block_node): Delete unused variable.
570 * gcc.c: Adjust for rename of libupc to libgupc.
571 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
572 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
573 Change "xupc" to "xgupc".
574 * configure.ac: Change "GCC UPC" to "GNU UPC".
575 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
576 so that they are absolute paths. This is needed because
577 the upc-crtstuff builds are in the libgupc library build
578 directories which are not at the same level as libgcc.
579 * config/darwin.h: Adjust for rename of libupc to libgupc.
581 2011-10-20 Gary Funck <gary@intrepid.com>
583 Merge trunk version 180276 into gupc branch.
584 Incorporates fix for PR bootstrap/50709.
586 2011-10-20 Gary Funck <gary@intrepid.com>
588 Merge trunk version 180246 into gupc branch.
590 2011-10-19 Gary Funck <gary@intrepid.com>
592 Merge trunk version 180233 into gupc branch.
593 Incorporates fix for PR debug/49310 (var tracking).
595 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
597 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
598 only four (O0 static/dynamic, O3 static/dynamic).
599 Detect -fupc-threads-0 as an option for dynamic threads
602 2011-10-10 Gary Funck <gary@intrepid.com>
604 * tree.c (check_qualified_type, check_aligned_type):
605 Call tree_int_cst_equal() to compare UPC blocking factors
606 if the corresponding tree pointers are not equal.
607 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
609 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
611 Add configuration checks for struct/packed builds so we can
612 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
613 * testsuite/lib/target-supports.exp
614 (check_effective_target_upc_struct_pts): New.
615 (check_effective_target_upc_packed_pts): New.
617 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
619 Add to FLAGS the flags needed to disable inlining of
620 UPC run-time access routines.
621 * testsuite/lib/target-supports.exp
622 (add_options_for_upc_library_calls): New.
624 2011-09-15 Gary Funck <gary@intrepid.com>
626 Fix ICE involving shared bit field accesses.
627 * tree.c (build3_stat): Propagate TEEE_SHARED()
628 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
630 2011-09-13 Gary Funck <gary@intrepid.com>
632 Merge trunk version 178795 into gupc branch.
633 Incorporates fix to PR bootstrap/50010 for x86-32.
635 2011-09-08 Gary Funck <gary@intrepid.com>
637 Merge trunk version 178557 into gupc branch.
639 2011-09-07 Gary Funck <gary@intrepid.com>
641 Ensure that UPC pointer-to-shared type alignment is
642 propagated to the final type. Revert to long-standing
643 alignment policy: twice the size of a "C" pointer.
644 * tree.c (build_pointer_type): Propagate the alignment
645 of the UPC pointer-to-shared representation type
646 into the newly built pointer type.
648 2011-08-30 Gary Funck <gary@intrepid.com>
650 * tree.h (check_qualified_type): Change 'const_tree'
651 argument types back to 'tree' to avoid complaints
652 of assignment drops qualifiers for invocations of the
653 newly implemented TYPE_BLOCK_FACTOR() macro, which
654 invokes hash functions with 'tree' pointer values that
655 are not const qualified.
656 * tree.c (check_qualified_type, check_aligned_type): Ditto.
657 * c-typeck.c (comptypes_internal): Ditto.
659 2011-08-29 Gary Funck <gary@intrepid.com>
661 Fixes for regressions noted running "make check"
663 * fold-const.c (fold_unary_loc): Execute UPC-specific
664 checks for a cast-of-a-cast, only if one of the
665 operands is a UPC pointer-to-shared value.
666 * opts.c (print_specific_help): Fix a comparison
667 in an assert that checks that there are enough
668 bits reserved for the number of languages defined
671 2011-08-29 Gary Funck <gary@intrepid.com>
673 Implement a hash table to record UPC block factors.
674 * c-family/stub-upc.c (upc_block_factor_insert,
675 upc_block_factor_lookup): New dummy stub procedures.
676 * c-family/c-common.c (c_sizeof_or_alignof_type):
677 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
678 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
679 to copy (hashed) UPC blocking factor.
680 (set_type_quals): Likewise.
681 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
682 TYPE_HAS_THREADS_FACTOR().
683 (type_common.block_factor): Delete.
684 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
685 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
686 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
687 UPC blocking factors greater than one.
688 * dwarf2out.c (modified_type_die): Re-implement
689 logic that records UPC blocking factor in the generated
690 DWARF2 debugging information.
691 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
692 TYPE_HAS_THREADS_FACTOR().
693 * c-decl.c (finish_decl, grokdeclarator):
694 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
695 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
696 used by UPC, and print UPC-specific information.
698 2011-08-28 Gary Funck <gary@intrepid.com>
700 Re-work the type machinery to fully support and to unify support
701 for the UPC layout qualifier (blocking factor).
702 * c-family/stub-upc.c (upc_set_block_factor): Delete.
703 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
704 and update prototype.
705 * c-family/c-common.c (complete_array_type): call newly
706 defined c_build_qualified_type_1() instead of
707 upc_set_block_factor().
708 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
709 upc_apply_layout_qualifier() and update prototype.
710 (upc_set_block_factor): Delete prototype.
711 * c-family/c-common.h (c_build_qualified_type): redefine
712 as a pre-processor macro that invokes c_build_qualified_type_1()
713 with a null UPC layout qualifier.
714 (c_build_qualified_type_1): New. Add layout qualifier argument
715 to old c_build_qualified_type() prototype.
716 * tree.c (set_type_quals, check_qualified_type):
717 Add layout qualifier as argument.
718 (check_aligned_type): Add check for UPC block factor equality.
719 (get_qualified_type_1): Rename from get_qualified_type() and
720 add layout qualifier as argument.
721 (build_qualified_type_1): Rename from build_qualified_type() and
722 add layout qualifier as argument.
723 * tree.h (check_qualified_type): Add layout qualifier as argument
725 (get_qualified_type): Re-define as a as a pre-processor macro
726 that invokes get_qualified_type_1() with a null
727 UPC layout qualifier.
728 (get_qualified_type_1): Rename from get_qualified_type() and
729 add layout qualifier as argument.
730 * cp/tree.c (c_build_qualified_type_1): Rename from
731 c_build_qualified_type() and add (unused) layout qualifier
733 * c-decl.c (finish_decl): re-format long error messages.
734 (grokdeclarator): Re-work the logic so that it calls
735 upc_grok_layout_qualifier() to handle the UPC layout
736 qualifier, if present.
737 * c-typeck.c (qualify_type, common_pointer_type,
738 build_component_ref): Re-work the logic so that it calls
739 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
741 (c_build_qualified_type_1): Rename from c_build_qualified_type()
742 and add layout qualifier argument.
743 * print_tree.c (print_node): Re-format a long line.
745 2011-08-26 Gary Funck <gary@intrepid.com>
747 Merge trunk version 177949 into gupc branch.
748 * c-family/c-common.h (enum rid): Bump the number of type modifiers
750 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
751 to add new rliterals column value.
753 2011-08-26 Gary Funck <gary@intrepid.com>
755 * convert.c (convert_to_integer): Fix the check for the
756 difference between two UPC pointers-to-shared values.
758 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
760 * configure.ac: Fix the name for --with-upc-pts-packed-bits
761 option. Support --with-upc-packed-bits as deprecated. Fix the code to
762 correctly check packed bits.
763 * configure: Re-generate.
765 2011-08-16 Gary Funck <gary@intrepid.com>
767 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
768 the barrier id expression is not an integer expression.
770 2011-08-12 Gary Funck <gary@intrepid.com>
772 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
774 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
775 Set mode of UPC pointer-to-shared rep. to an
776 integral mode of size at least as large as the
777 size of the representation's struct type.
779 2011-08-12 Gary Funck <gary@intrepid.com>
781 Rework/simplify the UPC genericize pass.
782 * c-family/stub-upc.c (upc_apply_layout_qualifier,
783 upc_build_pointer_type): New.
784 (upc_set_block_factor): Adjust to new calling sequence.
785 (upc_build_shared_var_addr): Delete.
786 * c-family/c-common.c (complete_array_type): Adjust call
787 to upc_set_block_factor().
788 * c-family/c-upc.h (upc_apply_layout_qualifier,
789 upc_build_pointer_type): New.
790 (upc_build_shared_var_addr): Delete.
791 (upc_set_block_factor): Adjust to new calling sequence.
792 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
793 * c-decl.c (grokdeclarator): Call newly defined
794 upc_apply_layout_qualifier() instead of upc_set_block_factor().
795 * c-decl.c (grokdeclarator): Split long UPC-related error
796 messages into two lines.
797 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
798 directly. Revert that change to trunk. (upc_genericize() will
799 handle lowering the expressions that take the address of a
801 * config/i386/i386.c (ix86_promote_function_mode): For UPC
802 pointers-to-shared, return the type mode of the UPC pointer-to-shared
805 2011-08-10 Gary Funck <gary@intrepid.com>
807 Implement additional fixes for recent merge with trunk.
808 * explow.c (promote_mode): Do not attempt to promote
809 the mode for UPC pointer-to-shared types.
810 * config/i386/i386.c (function_value_64): Ditto.
812 2011-08-07 Gary Funck <gary@intrepid.com>
814 Merge trunk version 177548 into gupc branch.
815 * config/i386/i386.c (ix86_promote_function_mode):
816 Do not promote UPC pointers-to-shared to Pmode.
817 * c-family/c-ommon.c (pointer_int_sum):
818 Also check the pointer operand, rather than just
819 its type, when making the decision to derive
820 the equivalent unshared type.
821 * tree.c (build2_stat): If the type of the result
822 passed in as an argument is a UPC shared type,
823 derive the unshared equivalent when calculating
824 the result type of the node.
826 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
828 * config/darwin.c: Disable var_tracking option
829 on -O0 as it is supposed to run only when optimization
830 is applied. See GCC bug 49743.
832 2011-07-06 Gary Funck <gary@intrepid.com>
834 Re-implement the pass that lowers trees generated by
835 the UPC front-end into GENERIC. Previously this was
836 done within the gimplification framework, but this
837 required that gimplification be run before inlining
838 and various other passes, which did not fit in well
839 with the current design of the middle-end passes.
840 Now, the lowering is done by a newly defined language
841 specific genericize hook. With this change, we are
842 are able to undo some extensions made to the gimplify
843 logic, and thus can revert several files to trunk.
845 * c-decl.c: Add a check for UPC deprecated names which
846 may appear as undefined function names.
847 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
848 LTI_upc_getaddr): Remove definitions of unused UPC
849 library function names. These were defined back when
850 the libfunc interface was used to call these routines.
851 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
852 in UPC lowering (genericize) pass.
853 * langhooks.h (gimplify_expr): Revert to trunk's definition.
854 (instrument_func): Delete this hook. Now handled in
856 * tree-pass.h: Revert to trunk.
857 * c-typeck.c (build_unary_op): Adjust reference to
858 upc_genericize() in a comment.
859 * gimplify.c (create_tmp_var_raw): Delete logic that
860 was converting UPC shared types into unshared types
861 to be used for temporaries. Now handled in upc_genericize().
862 Replace with an assertion check.
863 (prepare_gimple_addressable): Revert to trunk's definition.
864 No longer needed as an externally called function.
865 (flag_instrument_functions_exclude_p): Re-define as
866 an externally called function.
867 (gimplify_function_tree): Delete code that implemented
868 call to UPC's language specific function instrumentation hook.
869 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
870 (prepare_gimple_addressable): Delete extern definition;
871 revert to trunk's definition.
872 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
873 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
874 * c-family/c-gimplify.c: Revert to trunk.
875 * cp/cp-gimplify.c: Revert to trunk.
876 * cp/cp-tree.h: Revert to trunk.
877 * explow.c: Revert to trunk.
878 * langhooks.c: Revert to trunk.
879 * libfuncs.h: Revert to trunk.
880 * objc/objc-act.c: Revert to trunk.
882 2011-06-30 Gary Funck <gary@intrepid.com>
884 * c-family/c.opt: Bring options definitions up-to-date
885 with respect to changes made in the trunk.
887 2011-06-29 Gary Funck <gary@intrepid.com>
889 Merge trunk version 175584 into gupc branch.
891 2011-06-13 Gary Funck <gary@intrepid.com>
894 * include/cpplib.h (enum c_lang):
895 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
896 This keeps all the "C" variants together.
897 * init.c (lang_defaults): Add an entry for UPC.
899 2011-06-09 Gary Funck <gary@intrepid.com>
901 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
902 a 32-bit target, the size expression overflowed, the result was
903 error_mark_node, and an ICE was triggered on an attempt to evaluate
904 C_TYPE_VARIABLE_SIZE() on the error node.
905 (upc_blocksizeof_expr, upc_blocksizeof_type,
906 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
907 Make similar changes to avoid further processing of error_mark_node.
909 2011-06-07 Gary Funck <gary@intrepid.com>
911 * sel-sched.c (move_op): Incorporate the following
912 patch to eliminate ICE at -O3 on IA64/Altix.
914 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
916 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
917 code_motion_path_driver returned 0 or 1.
918 (sel_region_finish): Clear h_d_i_d.
920 2011-06-02 Gary Funck <gary@intrepid.com>
922 Merge trunk version 174558 into gupc branch.
924 2011-05-30 Gary Funck <gary@intrepid.com>
926 * configure.ac: Make the default order of the virtual
927 address field in a UPC pointer-to-shared to be "first".
928 This reverts to the previous setting, and is a short term
929 measure to work around a bug found on the IA64,
930 where vaddr=last led to incorrect code generation.
931 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
932 in AC_DEFINE(), to agree with recent changes in files
933 that reference this define.
934 configure, config.in: Regenerate.
936 2011-05-26 Gary Funck <gary@intrepid.com>
938 * configure.ac: Fix typo when referring to $upc_vaddr_order.
939 configure: Regenerate.
941 * ../fixincludes/fixincl.x: Revert to trunk.
942 This file is auto-generated, and should not be merged.
944 2011-05-18 Gary Funck <gary@intrepid.com>
946 Merge trunk version 173845 into gupc branch.
948 2011-05-17 Gary Funck <gary@intrepid.com>
950 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
951 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
953 * c-family/c-pragma.c: Remove conditional compilation
954 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
955 Test 'compiling_upc' when compiling to determine if
956 the "upc" and "pupc" pragmas should be registered.
958 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
959 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
960 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
961 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
962 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
963 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
964 Move these target-dependent definitions from config/upc-conf.h
967 * configure.ac: Improve the logic for UPC-related options.
968 Delete references to pre-processor definitions that have
969 been moved to "upc/upc-pts.h".
971 * configure, config.in: Regenerate.
973 * Makefile.in (UPC_PTS_REP): Remove definition and revert
974 to trunk. This substitution variable was used to
975 configure the representation-specific versions of
976 the tree rewrites that operate on UPC pointer-to-shared
979 * c-parser.c (c_parser_upc_forall_statement): Remove
980 reference to UPC_FORALL_DEPTH_NAME, and call
981 newly defined upc_rts_forall_depth_var() instead.
983 * config/upc-config.h: Delete. Various definitions
984 moved to "upc/upc-rts-names.h", "defaults.h", and
987 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
988 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
989 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
990 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
991 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
992 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
993 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
994 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
995 New. Document UPC target macros.
996 doc/tm.texi: Regenerate.
998 2011-05-07 Gary Funck <gary@intrepid.com>
1000 * ../configure.ac: Disable build of libupc
1001 on non POSIX hosted systems. Use AS_HELP_STRING
1002 to define messages. Remove 'word-pair' as a
1003 possible --with-upc-pts UPC pointer-to-shared
1006 * ../configure: Regenerate.
1008 * configure.ac: Use AS_HELP_STRING to define messages.
1009 Remove 'word-pair' as a possible --with-upc-pts
1010 UPC pointer-to-shared representation.
1011 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1012 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1014 * configure: Regenerate.
1016 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1019 * ChangeLog.upc: Fix some typos.
1021 2011-05-07 Gary Funck <gary@intrepid.com>
1023 * ../maintainer-scripts/gcc_release: Add "upc"
1024 as one of the released languages.
1026 2011-05-06 Gary Funck <gary@intrepid.com>
1028 Eliminate compilation warnings, by fixing
1029 #include's and updating function prototypes.
1031 * c-family/c-cppbuiltin.c: Include c-upc.h.
1033 * optabs.c (gen_libfunc): Change type of 'suffix'
1034 parameter to conform with prototype.
1036 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1037 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1040 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1043 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1044 argument values to cp_gimplify_expr.
1046 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1047 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
1048 pre-processor definitions that are no longer
1049 needed to build the 'upc' command (upc-cmd.c)
1050 because the linker specs. defined in libupc
1051 take care of linking in the needed libraries.
1053 * c-parser.c (c_parser_upc_forall_statement):
1054 initialize affinity_loc to avoid "maybe unused" warning.
1055 (c_parser_upc_sync_statement): Remove un-needed
1056 'ret' variable. Cast return value from
1057 'upc_build_sync_stmt' to 'void' to avoid
1058 compile-time warning.
1060 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1061 integer constant, not a string. Range is restricted
1062 to maximum positive 32-bit integer (2+ billion) to
1063 fit in with the use of 'int' in the front-end's
1064 switch handling logic.
1066 2011-05-06 Gary Funck <gary@intrepid.com>
1068 Upgrade c-family source files to conform with modularity
1069 improvements. Mainly, remove #include of c-tree.h in files
1070 under c-family, and define a new UPC-specific #include file,
1071 c-upc.h, and use it.
1073 * c-family/stub-upc.c: Remove #include of c-tree.h and
1074 upc/upc-act.h. Replace with #include of c-common.h
1076 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1077 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1078 upc_localsizeof_expr, upc_localsizeof_type,
1079 upc_shared_type_p): Delete.
1081 * c-family/c-opts.c: Add #include of c-upc.h
1083 * c-family/c-common.c: Remove #include of c-tree.h and
1084 add #include of c-upc.h.
1086 * c-family/c-upc.h: New. Define API for UPC-specific functions
1087 (mostly implemented in upc/upc-act.c).
1089 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
1090 Remove extern definitions.
1092 * c-family/c-pragma.c: Remove #include of c-tree.h.
1093 Add #include of c-upc.h.
1095 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
1097 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
1098 upc/upc-act.c, and define as a macro.
1099 (expand_affinity_test): Remove unused external definition.
1100 (build_upc_unshared_type): Add external definition.
1101 (upc_shared_type_p): Remove external definition.
1103 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1105 * dojump.c: Remove #include of c-tree.h.
1107 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1109 (count_upc_threads_refs, is_multiple_of_upc_threads,
1110 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1111 upc_build_shared_var_addr, upc_build_sync_stmt,
1112 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1113 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1114 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1115 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1116 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1117 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1118 set_upc_consistency_mode, get_upc_consistency_mode,
1119 push_upc_consistency_mode, pop_upc_consistency_mode,
1121 Move external definitions to c-family/c-upc.h.
1122 (upc_blocksizeof_type, upc_localsizeof_type,
1123 upc_elemsizeof_type): Remove external definitions;
1124 these functions were moved to c-parser.c.
1126 * c-decl.c: Add #include of c-upc.h.
1128 * c-typeck.c: Add #include of c-upc.h.
1130 * c-convert.c: Add #include of c-upc.h.
1132 * ChangeLog.upc: Fix typo.
1134 * Makefile.in: Add references to c-family/c-upc.h, everywhere
1135 there is a reference to c-family/c-objc.h.
1136 Remove extraneous reference to upc-act.h.
1138 * c-parser.c: Add #include of c-upc.h.
1139 (upc_blocksizeof_expr, upc_blocksizeof_type,
1140 upc_elemsizeof_expr, upc_elemsizeof_type,
1141 upc_localsizeof_expr, upc_localsizeof_type):
1142 Move from upc/upc-act.c.
1144 * tree.c (build_upc_unshared_type): New.
1145 Move upc_get_unshared_type from upc/upc-act.c and rename
1146 to build_upc_unshared_type.
1147 c-family/c-common.c (pointer_int_sum): refer to renamed
1148 build_upc_unshared_type function.
1149 c-convert.c (convert): Ditto.
1150 convert.c (convert_to_pointer): Ditto.
1151 c-typeck.c (build_unary_op, build_modify_expr,
1152 really_start_incremental_init): Ditto.
1153 gimplify.c (create_tmp_var_raw): Ditto.
1154 tree.c (build1_stat): Ditto.
1155 tree.h (upc_get_unshared_type): Rename to
1156 build_upc_unshared_type.
1158 2011-05-06 Gary Funck <gary@intrepid.com>
1160 Merge trunk version 173471 into gupc branch.
1162 2011-05-05 Gary Funck <gary@intrepid.com>
1164 Make changes that bring the GUPC branch more closely in sync.
1165 with the GCC trunk. Revert any fixes that are not UPC-specific.
1166 Remove gratuitous re-formatting.
1168 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1169 This file should have been removed in a previous merge
1171 * ../configure.ac: Remove Cray Catamount/CNL support.
1172 * ../configure: Regenerate.
1173 * ../config.sub: Remove Cray Catamount/CNL support.
1174 * config.gcc: Remove Cray Catamount/CNL support.
1175 * ../maintainer-scripts/gcc_release: Revert to trunk.
1176 * c-family/c-common.h: Define parse_optimize_options. Its definition
1177 was missed in a previous merge with the trunk.
1178 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1180 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1181 in addition to ARRAY_TYPE.
1182 * c-typeck.c: Remove an extra newline character.
1183 * varasm.c: Revert a fix that improved an error message
1184 when TLS common data is unimplemented.
1185 * varasm.c: Revert a gcc_assert that had been added which
1186 checked for a null DECL_SIZE_UNIT field.
1187 * emultls.c: Revert to trunk. Remove possible fix.
1188 * Makefile.in: Revert extra blank line that is present
1189 in the trunk version.
1190 * Makefile.in: Revert a fix that handled long shell
1191 argument lists for plugin headers.
1192 * config/ia64/ia64.opt: Revert an option setting
1193 that increased the default TLS address range.
1194 * config/ia64/crtbegin.asm: Revert to trunk.
1195 Removes an extra newline character.
1196 * ChangeLog.upc: Spell check.
1198 2011-05-03 Gary Funck <gary@intrepid.com>
1200 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1201 (c_apply_type_quals_to_decl): Ditto.
1202 * c-family/c-common.h: Ditto.
1204 * c-decl.c (merge_decls): Ditto.
1205 * c-typeck.c (qualify_type, default_conversion,
1206 build_component_ref, build_unary_op,
1207 c_build_qualified_type): Ditto.
1208 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1210 2011-04-29 Gary Funck <gary@intrepid.com>
1212 * c-decl.c (finish_decl): Improve error diagnostics.
1213 (grokdeclarator): Ditto.
1215 * c-typeck.c (build_c_cast): Improve error diagnostics.
1216 (convert_for_assignment): Ditto.
1217 (build_binary_op): Ditto.
1219 * c-parser.c (c_parser_upc_forall_statement):
1220 Improve error diagnostics.
1222 * convert.c (convert_to_integer): Improve error diagnostics.
1224 2011-04-24 Gary Funck <gary@intrepid.com>
1226 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1227 occurred if there is an error in the barrier id
1228 expression. Map error_mark_node into NULL.
1230 2011-04-22 Gary Funck <gary@intrepid.com>
1232 Merge trunk version 172873 into gupc branch.
1234 2011-04-19 Gary Funck <gary@intrepid.com>
1236 Merge trunk version 172359 into gupc branch.
1238 2011-04-14 Gary Funck <gary@intrepid.com>
1240 * c-family/c.opt: Add UPC as a valid language for various
1241 switches where it is valid for "C", that were not updated
1242 in previous merges with trunk.
1244 2011-04-13 Gary Funck <gary@intrepid.com>
1246 * c-family/c.opt (fupc-pre-include): New option definition.
1247 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1248 -fno-upc-pre-include is asserted.
1250 2011-04-07 Gary Funck <gary@intrepid.com>
1252 Merge trunk version 172158 into gupc branch.
1253 to bring in the following fix.
1255 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1258 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1259 if old and new states differ.
1261 2011-04-06 Gary Funck <gary@intrepid.com>
1263 Merge trunk version 171966 into gupc branch.
1265 2011-04-01 Gary Funck <gary@intrepid.com>
1267 * tree.h (tree_base): Move UPC flag bits into bit fields
1268 located just before spare bits. Decrement spare bits.
1269 Rename 'shared_flag' -> 'upc_shared_flag',
1270 'relaxed_flag' -> 'upc_relaxed_flag',
1271 'strict_flag' -> 'upc_strict_flag, and adjust macros
1272 that reference them accordingly.
1274 2011-04-01 Gary Funck <gary@intrepid.com>
1276 * c-decl.c (grokdeclarator): Fix formatting of
1277 code that sets UPC block size on scalars.
1279 2011-04-01 Gary Funck <gary@intrepid.com>
1281 * c-decl.c (grokdeclarator): Revert use of white space
1282 to match the trunk (to rationalize diffs).
1283 * c-typeck.c (convert_for_assignment): Ditto.
1284 * tree-ssa.c (useless_type_conversion_p): Ditto.
1286 2011-03-23 Gary Funck <gary@intrepid.com>
1288 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1289 the GCC 4.6 release branch.
1291 2011-03-21 Gary Funck <gary@intrepid.com>
1293 Merge trunk version 171202 into gupc branch.
1295 2011-03-20 Gary Funck <gary@intrepid.com>
1297 * varasm.c: Call error() directly with a format specifier,
1298 rather than using sprintf() to format the message.
1299 This should make it easier to internationalize UPC's error messages.
1301 2011-03-20 Gary Funck <gary@intrepid.com>
1303 * configure.ac: Fix the check for gnu ld when enabling
1304 UPC link script support.
1305 configure: Regenerate (also picks up changes from previous
1308 2011-03-20 Gary Funck <gary@intrepid.com>
1310 Move UPC start files, end files, and linker specs.
1311 into libupc. This reduces the impact on common GCC
1312 configuration files, and ensures that these UPC-specific
1313 components are only built when the UPC language dialect is selected.
1317 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1318 linker specs. Fix typo in -fupc-debug message.
1320 * config/upc-conf.h, config/darwin.h: Move defines for
1321 UPC-related section begins/ends into libupc/config/default/
1324 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1325 UPC-related linker compiler specifications,
1326 accessed via %:include().
1328 * configure.ac, configure: Remove logic related to building
1329 upc-crtbegin/end. Remove config. tests for numa and cpu
1330 affinity (previously used by the 'upc' driver); these
1331 settings are now propagated by target-specific compiler
1332 specs. built by libupc. Regenerate autoconf.
1334 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1335 linker compiler specifications, accessed via %:include().
1336 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1339 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1341 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1342 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1343 config/ia64/linux.h, config/mips/t-iris,
1344 config/mips/iris6.h: Revert to trunk version 167307.
1347 * configure, configure.ac, config.host, Makefile.in:
1348 Revert to trunk version 167307.
1350 2011-02-23 Gary Funck <gary@intrepid.com>
1352 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1353 removed negation on following 'if'.
1355 2011-02-22 Gary Funck <gary@intrepid.com>
1357 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1358 to check for the usage of certain deprecated UPC keywords.
1359 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1360 * c-tree.h (undeclared_variable): Define prototype.
1362 2011-02-12 Gary Funck <gary@intrepid.com>
1364 * c-typeck.c: (build_c_cast, convert_for_assignment)
1365 Diagnose an attempt to convert from an integer to
1366 a pointer-to-shared as an error. Also, fix various
1367 error messages so that they use the preferred term
1368 pointer-to-shared instead of "shared pointer".
1370 2011-02-07 Gary Funck <gary@intrepid.com>
1372 * c-typeck.c: (convert_for_assignment)
1373 Fix typo. in error message.
1375 2011-01-23 Gary Funck <gary@intrepid.com>
1377 * c-typeck.c: (c_build_qualified_type)
1378 derive UPC block size by calling upc_get_block_size(),
1379 to ensure that the element type of an array of an array
1380 is derived correctly.
1382 2010-12-29 Gary Funck <gary@intrepid.com>
1384 Merge trunk version 168314 into gupc branch.
1386 2010-12-15 Gary Funck <gary@intrepid.com>
1388 Merge trunk version 167307 into gupc branch.
1390 2010-10-19 Gary Funck <gary@intrepid.com>
1392 * c-typeck.c: Fix typo in previous fix
1393 which led to a mis-compare for equal block sizes.
1395 2010-10-18 Gary Funck <gary@intrepid.com>
1397 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1398 diagnosed as an error
1400 The conversion from any type (shared or not) to
1401 a shared type is likely either meaningless or an error. This update
1402 makes any conversion to a shared type, an error.
1404 2010-10-18 Gary Funck <gary@intrepid.com>
1406 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1407 generates spurious warning
1409 Add a #define procedure that does the same thing as
1410 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1411 this procedure to diagnose passing an integer value to a
1412 pointer-to-shared as an error.
1414 2010-10-18 Gary Funck <gary@intrepid.com>
1416 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1417 matching routine declaration.
1419 When checking for type compatibility, shared qualified types must
1420 have the same block factor. This check was missing from
1421 comptypes_internal(). This update adds the check for blocking
1424 2010-10-17 Gary Funck <gary@intrepid.com>
1426 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1429 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1431 2010-10-17 Gary Funck <gary@intrepid.com>
1433 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1434 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1435 produces ice with -O3 and -m32.
1437 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1439 2010-10-17 Gary Funck <gary@intrepid.com>
1441 * c-common.c: Diagnose the application of the various "*sizeof"
1442 operations on generic pointer-to-shared as a compilation error.
1444 2010-10-17 Gary Funck <gary@intrepid.com>
1446 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1447 message regarding a function parameter being declared with a shared
1450 The parameter's 'name' value is not defined at this point, and
1451 cannot be used in the error message. This update removes the
1452 reference to 'name', and eliminates the segfault.
1454 2010-10-16 Gary Funck <gary@intrepid.com>
1456 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1458 The gcc/Makefile.in rules for install-plugin had to be re-written to
1459 break up a long list of header files that exceeded the command line
1460 limitation imposed by Irix.
1462 Access functions for TFmode types had to be implemented.
1463 Apparently, this is the mode used for the SGI/MIPS port to represent
1466 2010-10-14 Gary Funck <gary@intrepid.com>
1468 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1469 via typedef chain should not be diagnosed as an error.
1471 If the block size that is given by the typedef is equal to the block
1472 size given explicitly in the variable declaration, then do not
1473 complain. The easiest way to make this check was to create a
1474 temporary type that is a clone of the element type and then set its
1475 block size using the given layout qualifier. Then compare the block
1476 size of the temporary (the declaration) to the block size specified
1477 in the typedef. This complexity is needed, because the '[*]' block
1478 size needs to be calculated, and the '[]' needs to be mapped into a
1481 2010-10-10 Gary Funck <gary@intrepid.com>
1483 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1486 The compiler properly detected the presence of two or more layout
1487 qualifiers as an error, but then hit an assertion check, because the
1488 code that followed the error expected to see a qualifier and not a
1489 layout specifier. The fix is simple: just return immediately after
1490 detecting the error.
1492 2010-10-10 Gary Funck <gary@intrepid.com>
1494 * c-decl.c: Improve error diagnostics for various cases of UPC
1495 shared array type declarations.
1497 Add the check for this error: "In the dynamic translation
1498 environment, THREADS may not appear in declarations of shared arrays
1499 with indefinite block size". Also, fix up a few of the other
1500 related error diagnostics.
1502 2010-10-09 Gary Funck <gary@intrepid.com>
1504 * c-common.c: Fix bug: segfault on incomplete array definition.
1506 This turned out to be a bit complicated. The logic in
1507 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1508 the THREADS identifier in the case where the blocking factor has
1509 been set to indefinite ([]). This can happen when indefinite array
1510 declarations are processed for shared arrays. At that time, the
1511 file scope has been closed and THREADS is no longer in scope. Some
1512 more work is needed on upc_lang_layout_decl(). It has some
1513 duplication, and notably duplicates the two branches of the if
1514 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1515 caller of this routine (layout_decl()).
1517 The method of forcing a layout qualifier of [] in the indefinite
1518 declaration handler is odd a well. The code that just does the
1519 setting of the block factor, needs to moved into its own routine
1520 that doesn't depend upon a declspec for '[]' to be passed in, just
1521 in order to set the blocking factor to some value (in this case, 0).
1522 Also, the logic for how that shared type is constructed is strange.
1523 First the type with 0 blocking factor is set. Then the shared
1524 qualifier is removed from the type, and then added back later. The
1525 intermediate type has a blocking factor set, but it has no shared
1526 qualifier. Fixing this will require some thought. It is tempting
1527 just to make indefinite shared arrays an error, rather than forcing
1528 the dimension to be '1'.
1530 This likely fixes a serious error in the previous update to
1531 upc_lang_layout_decl(), where it didn't have the logic to set
1532 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1533 the previous update would fail on many tests.
1535 2010-10-09 Gary Funck <gary@intrepid.com>
1537 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1538 (decl) is null, which can happen if some layout error occurred
1541 2010-10-09 Gary Funck <gary@intrepid.com>
1543 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1544 "variable-sized" when compiled in dynamic threads.
1546 This long-standing bug is easily fixed. Just check
1547 for the situation that the non-constant sized type is shared and
1548 that it does not have a dimension that references a multiple of
1549 threads. If this criteria is met, then issue a meaningful
1552 2010-10-01 Gary Funck <gary@intrepid.com>
1554 * configure, configure.ac: Update manual page, and bug reporting
1557 Update "man" page to reflect debugging switches. Also, some general
1558 clean up. Change the bug reporting URL to point to gccupc.org.
1560 2010-09-27 Gary Funck <gary@intrepid.com>
1562 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1563 the UPC forall depth count variable is not found.
1565 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1566 The compiler will generate code that references this variable in
1567 order to implement nested upc_forall semantics. If there is a
1568 compiler build or install problem, this variable may not be found.
1569 In this case, terminate with an internal_error().
1571 2010-09-26 Gary Funck <gary@intrepid.com>
1573 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1574 mis-diagnosed as syntax error.
1576 Fix a failure exhibited by the Berkeley test case,
1577 bug873a.upc, which has the code:
1579 upc_forall (;;;d) {...} The compiler did not properly handle
1580 the empty "condition" clause, and did not recover well when it was
1581 determined that the use of a double value, "d" above, was neither a
1582 pointer-to-shared nor an integer expression. The update implements a
1583 fix for both issues.
1585 See also: gcc/c-parser.c gcc/upc/upc-act.c
1587 2010-09-23 Gary Funck <gary@intrepid.com>
1589 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1590 incorporated into the referencing type.
1592 This was semi-fixed a few times before. This update fixes a few
1593 more places where the layout qualifier wasn't being propagated
1594 through typedef's properly. What made this a bit tricky is shown in
1595 the example cited in the bug report:
1597 typedef shared [5] int A_t; A_t A[5*THREADS];
1599 In the typedef, the blocksize is being applied to a shared *scalar*,
1600 and the code was applying the blocksize only to arrays. This update
1601 handles shared scalars correctly.
1603 2010-09-22 Gary Funck <gary@intrepid.com>
1605 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1606 upc_forall() semantics are not implemented
1608 The checkforall test in the Berkeley harness test suite indicated
1609 that GCC/UPC was not properly implementing nested upc_forall
1610 semantics. Nested upc_forall statements (both statically or
1611 dynamically nested) must implement their affinity clause as if it
1612 were "continue"; thus all steps in the loop must execute without
1613 regard for affinity. To implement these semantics a global depth
1614 counter, __upc_forall_depth, is maintained by the generated code
1615 that implements upc_forall.
1617 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1618 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1619 libupc/include/upc.h libupc/smp/upc_main.c
1621 2010-09-19 Gary Funck <gary@intrepid.com>
1623 * c-decl.c: c-decl.c: zero out the layout specifier, after
1624 processing an array type.
1626 Fix the previous fix, that moved the setting of the type's layout
1627 qualifier to the outside of the array type processing loop. What is
1628 missing from the fix is that the layout_qualifier variable needs to
1629 be cleared after setting the type's blocksize.
1631 2010-09-19 Gary Funck <gary@intrepid.com>
1633 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1634 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1636 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1637 the actual maximum block size. Therefore, the message was correct,
1638 but the underlying value that was being checked was wrong. Change
1639 the values so that they agree with the actual implementation-defined
1642 2010-09-11 Gary Funck <gary@intrepid.com>
1644 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1645 multi-dimensional shared array with dynamic threads.
1647 This declaration caused an internal compiler error when compiled
1648 with dynamic threads:
1649 shared [*] int A[THREADS][16]; The bug was discovered when
1650 compiling the RTED_UPC test suite.
1652 The fix is to process layout qualifiers after the entire array type
1653 has been built. Otherwise, we try to calculate the blocksize on a
1654 shared array type that has not had its "size depends upon the value
1655 of THREADS" flag set.
1657 Also, added a test case.
1659 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1661 2010-07-11 Gary Funck <gary@intrepid.com>
1663 Fix a bug where a statement in c_build_qualified_type()
1664 in the trunk had been inadvertently deleted.
1665 This bug showed up in the IA64 port, because jmpbuf's
1666 on that architecture must be 16 byte aligned, and they were not.
1667 c-typeck.c (c_build_qualified_type): Revive the deleted line.
1669 2010-07-08 Gary Funck <gary@intrepid.com>
1671 Make changes so that other language compilers
1672 will build and bootstrap.
1673 * c-family/c-common.c (compiling_upc, flag_upc,
1674 flag_upc_instrument, flag_upc_instrument_functions,
1675 use_upc_dwarf2_extensions): Move to stub-upc.c and
1677 * c-family/c-common.h (use_upc_dwarf2_extensions,
1678 compiling_upc): Add extern definitions - needed
1679 to compile/build other language front ends.
1680 * c-family/c.opt: Fix the spelling of ObjC.
1681 It had been incorrectly spelled as Objc.
1682 * c-family/c.opt: Add UPC for the various switches
1683 that are valid for both C and ObjC.
1684 * c-fmaily/c-opts.c: Add CL_UPC to the list of
1685 supported options switches when compiling assembly
1687 * lto/lto-lang.c (use_upc_dwarf2_extensions,
1688 flag_upc_instrument, flag_upc_instrument_functions):
1689 Remove these definitions. They have been moved
1690 to c-family/stub-upc.c.
1691 * upc/ChangeLog: Move relevant entries
1693 * c-family/stub-upc.c (compiling_upc, flag_upc,
1694 flag_upc_instrument, flag_upc_instrument_functions,
1695 use_upc_dwarf2_extensions): Moved from c-common.c
1696 * upc/upc-lang.c (compiling_upc, flag_upc,
1697 flag_upc_instrument, flag_upc_instrument_functions,
1698 use_upc_dwarf2_extensions): Moved from c-common.c
1699 * objc/objc-act.c (objc_gimplify_expr): Add additional
1700 parameters to c_gimplify_expr() call, that are used
1701 by upc's tree rewrites.
1702 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1703 * gcc/cp/lex.c (init_reswords): If not compiling
1704 UPC, then mask off the UPC keywords.
1705 * cp/Make-lang.in (C_STUB_OBJS): Use this
1706 make macro to link with c-family/stub-objc.o
1707 and c-family/stub-upc.o.
1708 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1709 * java/Make-lang.in (C_STUB_OBJS): Likewise.
1710 * objc/Make-lang.in: Link with c-family/stub-upc.o
1711 to avoid undefined references.
1712 c-parser.c: Fix line indentation.
1713 * libcpp/include/cpplib.h: Remove CL_UPC from
1714 the list of language kinds accepted by the
1715 C preprocessor. This is not necessary because
1716 UPC is a derivative of C99, and does not need
1717 a different language kind.
1718 * c-fmaily/c-opts.c (c_common_handle_option):
1719 Call set_std_c99() when processing the
1720 "--lang upc" switch, instead of setting the
1721 language kind to CL_UPC.
1722 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1724 2010-07-03 Gary Funck <gary@intrepid.com>
1726 Merge trunk version 161517 into gupc branch.
1727 * gcc/stub-upc.c: Move to gcc/c-family/.
1728 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1729 Add 'unused' attributes to avoid "set, but
1730 not referenced" warnings.
1731 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1734 2010-03-01 Gary Funck <gary@intrepid.com>
1736 Create gupc branch from trunk version 157149.
1737 2011-10-04 Gary Funck <gary@intrepid.com>
1739 Merge trunk version 179421 into gupc branch.
1741 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1742 argument to the call to check_qualified_type().
1744 2011-09-22 Gary Funck <gary@intrepid.com>
1746 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1748 (dump_upc_type_quals): New.
1750 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1752 Add to FLAGS the flags needed to disable inlining of
1753 UPC run-time access routines.
1754 * testsuite/lib/target-supports.exp
1755 (add_options_for_upc_library_calls): New.
1757 2011-09-15 Gary Funck <gary@intrepid.com>
1759 Fix ICE involving shared bit field accesses.
1760 * tree.c (build3_stat): Propagate TEEE_SHARED()
1761 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1763 2011-09-13 Gary Funck <gary@intrepid.com>
1765 Merge trunk version 178795 into gupc branch.
1766 Incorporates fix to PR bootstrap/50010 for x86-32.
1768 2011-09-08 Gary Funck <gary@intrepid.com>
1770 Merge trunk version 178557 into gupc branch.
1772 2011-09-07 Gary Funck <gary@intrepid.com>
1774 Ensure that UPC pointer-to-shared type alignment is
1775 propagated to the final type. Revert to long-standing
1776 alignment policy: twice the size of a "C" pointer.
1777 * tree.c (build_pointer_type): Propagate the alignment
1778 of the UPC pointer-to-shared representation type
1779 into the newly built pointer type.
1781 2011-08-30 Gary Funck <gary@intrepid.com>
1783 * tree.h (check_qualified_type): Change 'const_tree'
1784 argument types back to 'tree' to avoid complaints
1785 of assignment drops qualifiers for invocations of the
1786 newly implemented TYPE_BLOCK_FACTOR() macro, which
1787 invokes hash functions with 'tree' pointer values that
1788 are not const qualified.
1789 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1790 * c-typeck.c (comptypes_internal): Ditto.
1792 2011-08-29 Gary Funck <gary@intrepid.com>
1794 Fixes for regressions noted running "make check"
1796 * fold-const.c (fold_unary_loc): Execute UPC-specific
1797 checks for a cast-of-a-cast, only if one of the
1798 operands is a UPC pointer-to-shared value.
1799 * opts.c (print_specific_help): Fix a comparison
1800 in an assert that checks that there are enough
1801 bits reserved for the number of languages defined
1804 2011-08-29 Gary Funck <gary@intrepid.com>
1806 Implement a hash table to record UPC block factors.
1807 * c-family/stub-upc.c (upc_block_factor_insert,
1808 upc_block_factor_lookup): New dummy stub procedures.
1809 * c-family/c-common.c (c_sizeof_or_alignof_type):
1810 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1811 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1812 to copy (hashed) UPC blocking factor.
1813 (set_type_quals): Likewise.
1814 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1815 TYPE_HAS_THREADS_FACTOR().
1816 (type_common.block_factor): Delete.
1817 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1818 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1819 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1820 UPC blocking factors greater than one.
1821 * dwarf2out.c (modified_type_die): Re-implement
1822 logic that records UPC blocking factor in the generated
1823 DWARF2 debugging information.
1824 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1825 TYPE_HAS_THREADS_FACTOR().
1826 * c-decl.c (finish_decl, grokdeclarator):
1827 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1828 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1829 used by UPC, and print UPC-specific information.
1831 2011-08-28 Gary Funck <gary@intrepid.com>
1833 Re-work the type machinery to fully support and to unify support
1834 for the UPC layout qualifier (blocking factor).
1835 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1836 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1837 and update prototype.
1838 * c-family/c-common.c (complete_array_type): call newly
1839 defined c_build_qualified_type_1() instead of
1840 upc_set_block_factor().
1841 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1842 upc_apply_layout_qualifier() and update prototype.
1843 (upc_set_block_factor): Delete prototype.
1844 * c-family/c-common.h (c_build_qualified_type): redefine
1845 as a pre-processor macro that invokes c_build_qualified_type_1()
1846 with a null UPC layout qualifier.
1847 (c_build_qualified_type_1): New. Add layout qualifier argument
1848 to old c_build_qualified_type() prototype.
1849 * tree.c (set_type_quals, check_qualified_type):
1850 Add layout qualifier as argument.
1851 (check_aligned_type): Add check for UPC block factor equality.
1852 (get_qualified_type_1): Rename from get_qualified_type() and
1853 add layout qualifier as argument.
1854 (build_qualified_type_1): Rename from build_qualified_type() and
1855 add layout qualifier as argument.
1856 * tree.h (check_qualified_type): Add layout qualifier as argument
1858 (get_qualified_type): Re-define as a as a pre-processor macro
1859 that invokes get_qualified_type_1() with a null
1860 UPC layout qualifier.
1861 (get_qualified_type_1): Rename from get_qualified_type() and
1862 add layout qualifier as argument.
1863 * cp/tree.c (c_build_qualified_type_1): Rename from
1864 c_build_qualified_type() and add (unused) layout qualifier
1866 * c-decl.c (finish_decl): re-format long error messages.
1867 (grokdeclarator): Re-work the logic so that it calls
1868 upc_grok_layout_qualifier() to handle the UPC layout
1869 qualifier, if present.
1870 * c-typeck.c (qualify_type, common_pointer_type,
1871 build_component_ref): Re-work the logic so that it calls
1872 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1874 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1875 and add layout qualifier argument.
1876 * print_tree.c (print_node): Re-format a long line.
1878 2011-08-26 Gary Funck <gary@intrepid.com>
1880 Merge trunk version 177949 into gupc branch.
1881 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1883 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1884 to add new rliterals column value.
1886 2011-08-26 Gary Funck <gary@intrepid.com>
1888 * convert.c (convert_to_integer): Fix the check for the
1889 difference between two UPC pointers-to-shared values.
1891 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1893 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1894 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1895 correctly check packed bits.
1896 * configure: Re-generate.
1898 2011-08-16 Gary Funck <gary@intrepid.com>
1900 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1901 the barrier id expression is not an integer expression.
1903 2011-08-12 Gary Funck <gary@intrepid.com>
1905 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1907 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1908 Set mode of UPC pointer-to-shared rep. to an
1909 integral mode of size at least as large as the
1910 size of the representation's struct type.
1912 2011-08-12 Gary Funck <gary@intrepid.com>
1914 Rework/simplify the UPC genericize pass.
1915 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1916 upc_build_pointer_type): New.
1917 (upc_set_block_factor): Adjust to new calling sequence.
1918 (upc_build_shared_var_addr): Delete.
1919 * c-family/c-common.c (complete_array_type): Adjust call
1920 to upc_set_block_factor().
1921 * c-family/c-upc.h (upc_apply_layout_qualifier,
1922 upc_build_pointer_type): New.
1923 (upc_build_shared_var_addr): Delete.
1924 (upc_set_block_factor): Adjust to new calling sequence.
1925 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1926 * c-decl.c (grokdeclarator): Call newly defined
1927 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1928 * c-decl.c (grokdeclarator): Split long UPC-related error
1929 messages into two lines.
1930 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1931 directly. Revert that change to trunk. (upc_genericize() will
1932 handle lowering the expressions that take the address of a
1934 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1935 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1936 representation type.
1938 2011-08-10 Gary Funck <gary@intrepid.com>
1940 Implement additional fixes for recent merge with trunk.
1941 * explow.c (promote_mode): Do not attempt to promote
1942 the mode for UPC pointer-to-shared types.
1943 * config/i386/i386.c (function_value_64): Ditto.
1945 2011-08-07 Gary Funck <gary@intrepid.com>
1947 Merge trunk version 177548 into gupc branch.
1948 * config/i386/i386.c (ix86_promote_function_mode):
1949 Do not promote UPC pointers-to-shared to Pmode.
1950 * c-family/c-ommon.c (pointer_int_sum):
1951 Also check the pointer operand, rather than just
1952 its type, when making the decision to derive
1953 the equivalent unshared type.
1954 * tree.c (build2_stat): If the type of the result
1955 passed in as an argument is a UPC shared type,
1956 derive the unshared equivalent when calculating
1957 the result type of the node.
1959 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
1961 * config/darwin.c: Disable var_tracking option
1962 on -O0 as it is supposed to run only when optimization
1963 is applied. See GCC bug 49743.
1965 2011-07-06 Gary Funck <gary@intrepid.com>
1967 Re-implement the pass that lowers trees generated by
1968 the UPC front-end into GENERIC. Previously this was
1969 done within the gimplification framework, but this
1970 required that gimplification be run before inlining
1971 and various other passes, which did not fit in well
1972 with the current design of the middle-end passes.
1973 Now, the lowering is done by a newly defined language
1974 specific genericize hook. With this change, we are
1975 are able to undo some extensions made to the gimplify
1976 logic, and thus can revert several files to trunk.
1978 * c-decl.c: Add a check for UPC deprecated names which
1979 may appear as undefined function names.
1980 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1981 LTI_upc_getaddr): Remove definitions of unused UPC
1982 library function names. These were defined back when
1983 the libfunc interface was used to call these routines.
1984 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1985 in UPC lowering (genericize) pass.
1986 * langhooks.h (gimplify_expr): Revert to trunk's definition.
1987 (instrument_func): Delete this hook. Now handled in
1989 * tree-pass.h: Revert to trunk.
1990 * c-typeck.c (build_unary_op): Adjust reference to
1991 upc_genericize() in a comment.
1992 * gimplify.c (create_tmp_var_raw): Delete logic that
1993 was converting UPC shared types into unshared types
1994 to be used for temporaries. Now handled in upc_genericize().
1995 Replace with an assertion check.
1996 (prepare_gimple_addressable): Revert to trunk's definition.
1997 No longer needed as an externally called function.
1998 (flag_instrument_functions_exclude_p): Re-define as
1999 an externally called function.
2000 (gimplify_function_tree): Delete code that implemented
2001 call to UPC's language specific function instrumentation hook.
2002 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2003 (prepare_gimple_addressable): Delete extern definition;
2004 revert to trunk's definition.
2005 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2006 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2007 * c-family/c-gimplify.c: Revert to trunk.
2008 * cp/cp-gimplify.c: Revert to trunk.
2009 * cp/cp-tree.h: Revert to trunk.
2010 * explow.c: Revert to trunk.
2011 * langhooks.c: Revert to trunk.
2012 * libfuncs.h: Revert to trunk.
2013 * objc/objc-act.c: Revert to trunk.
2015 2011-06-30 Gary Funck <gary@intrepid.com>
2017 * c-family/c.opt: Bring options definitions up-to-date
2018 with respect to changes made in the trunk.
2020 2011-06-29 Gary Funck <gary@intrepid.com>
2022 Merge trunk version 175584 into gupc branch.
2024 2011-06-13 Gary Funck <gary@intrepid.com>
2027 * include/cpplib.h (enum c_lang):
2028 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2029 This keeps all the "C" variants together.
2030 * init.c (lang_defaults): Add an entry for UPC.
2032 2011-06-09 Gary Funck <gary@intrepid.com>
2034 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2035 a 32-bit target, the size expression overflowed, the result was
2036 error_mark_node, and an ICE was triggered on an attempt to evaluate
2037 C_TYPE_VARIABLE_SIZE() on the error node.
2038 (upc_blocksizeof_expr, upc_blocksizeof_type,
2039 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2040 Make similar changes to avoid further processing of error_mark_node.
2042 2011-06-07 Gary Funck <gary@intrepid.com>
2044 * sel-sched.c (move_op): Incorporate the following
2045 patch to eliminate ICE at -O3 on IA64/Altix.
2047 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
2049 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
2050 code_motion_path_driver returned 0 or 1.
2051 (sel_region_finish): Clear h_d_i_d.
2053 2011-06-02 Gary Funck <gary@intrepid.com>
2055 Merge trunk version 174558 into gupc branch.
2057 2011-05-30 Gary Funck <gary@intrepid.com>
2059 * configure.ac: Make the default order of the virtual
2060 address field in a UPC pointer-to-shared to be "first".
2061 This reverts to the previous setting, and is a short term
2062 measure to work around a bug found on the IA64,
2063 where vaddr=last led to incorrect code generation.
2064 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2065 in AC_DEFINE(), to agree with recent changes in files
2066 that reference this define.
2067 configure, config.in: Regenerate.
2069 2011-05-26 Gary Funck <gary@intrepid.com>
2071 * configure.ac: Fix typo when referring to $upc_vaddr_order.
2072 configure: Regenerate.
2074 * ../fixincludes/fixincl.x: Revert to trunk.
2075 This file is auto-generated, and should not be merged.
2077 2011-05-18 Gary Funck <gary@intrepid.com>
2079 Merge trunk version 173845 into gupc branch.
2081 2011-05-17 Gary Funck <gary@intrepid.com>
2083 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2084 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2086 * c-family/c-pragma.c: Remove conditional compilation
2087 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2088 Test 'compiling_upc' when compiling to determine if
2089 the "upc" and "pupc" pragmas should be registered.
2091 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2092 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2093 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2094 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2095 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2096 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2097 Move these target-dependent definitions from config/upc-conf.h
2100 * configure.ac: Improve the logic for UPC-related options.
2101 Delete references to pre-processor definitions that have
2102 been moved to "upc/upc-pts.h".
2104 * configure, config.in: Regenerate.
2106 * Makefile.in (UPC_PTS_REP): Remove definition and revert
2107 to trunk. This substitution variable was used to
2108 configure the representation-specific versions of
2109 the tree rewrites that operate on UPC pointer-to-shared
2112 * c-parser.c (c_parser_upc_forall_statement): Remove
2113 reference to UPC_FORALL_DEPTH_NAME, and call
2114 newly defined upc_rts_forall_depth_var() instead.
2116 * config/upc-config.h: Delete. Various definitions
2117 moved to "upc/upc-rts-names.h", "defaults.h", and
2120 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2121 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2122 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2123 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2124 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2125 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2126 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2127 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2128 New. Document UPC target macros.
2129 doc/tm.texi: Regenerate.
2131 2011-05-07 Gary Funck <gary@intrepid.com>
2133 * ../configure.ac: Disable build of libupc
2134 on non POSIX hosted systems. Use AS_HELP_STRING
2135 to define messages. Remove 'word-pair' as a
2136 possible --with-upc-pts UPC pointer-to-shared
2139 * ../configure: Regenerate.
2141 * configure.ac: Use AS_HELP_STRING to define messages.
2142 Remove 'word-pair' as a possible --with-upc-pts
2143 UPC pointer-to-shared representation.
2144 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2145 (UPC_MAX_BLOCK_SIZE): Correct the default value.
2147 * configure: Regenerate.
2149 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2152 * ChangeLog.upc: Fix some typos.
2154 2011-05-07 Gary Funck <gary@intrepid.com>
2156 * ../maintainer-scripts/gcc_release: Add "upc"
2157 as one of the released languages.
2159 2011-05-06 Gary Funck <gary@intrepid.com>
2161 Eliminate compilation warnings, by fixing
2162 #include's and updating function prototypes.
2164 * c-family/c-cppbuiltin.c: Include c-upc.h.
2166 * optabs.c (gen_libfunc): Change type of 'suffix'
2167 parameter to conform with prototype.
2169 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2170 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2173 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2176 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2177 argument values to cp_gimplify_expr.
2179 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2180 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2181 pre-processor definitions that are no longer
2182 needed to build the 'upc' command (upc-cmd.c)
2183 because the linker specs. defined in libupc
2184 take care of linking in the needed libraries.
2186 * c-parser.c (c_parser_upc_forall_statement):
2187 initialize affinity_loc to avoid "maybe unused" warning.
2188 (c_parser_upc_sync_statement): Remove un-needed
2189 'ret' variable. Cast return value from
2190 'upc_build_sync_stmt' to 'void' to avoid
2191 compile-time warning.
2193 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2194 integer constant, not a string. Range is restricted
2195 to maximum positive 32-bit integer (2+ billion) to
2196 fit in with the use of 'int' in the front-end's
2197 switch handling logic.
2199 2011-05-06 Gary Funck <gary@intrepid.com>
2201 Upgrade c-family source files to conform with modularity
2202 improvements. Mainly, remove #include of c-tree.h in files
2203 under c-family, and define a new UPC-specific #include file,
2204 c-upc.h, and use it.
2206 * c-family/stub-upc.c: Remove #include of c-tree.h and
2207 upc/upc-act.h. Replace with #include of c-common.h
2209 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2210 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2211 upc_localsizeof_expr, upc_localsizeof_type,
2212 upc_shared_type_p): Delete.
2214 * c-family/c-opts.c: Add #include of c-upc.h
2216 * c-family/c-common.c: Remove #include of c-tree.h and
2217 add #include of c-upc.h.
2219 * c-family/c-upc.h: New. Define API for UPC-specific functions
2220 (mostly implemented in upc/upc-act.c).
2222 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2223 Remove extern definitions.
2225 * c-family/c-pragma.c: Remove #include of c-tree.h.
2226 Add #include of c-upc.h.
2228 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2230 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2231 upc/upc-act.c, and define as a macro.
2232 (expand_affinity_test): Remove unused external definition.
2233 (build_upc_unshared_type): Add external definition.
2234 (upc_shared_type_p): Remove external definition.
2236 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2238 * dojump.c: Remove #include of c-tree.h.
2240 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2242 (count_upc_threads_refs, is_multiple_of_upc_threads,
2243 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2244 upc_build_shared_var_addr, upc_build_sync_stmt,
2245 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2246 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2247 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2248 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2249 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2250 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2251 set_upc_consistency_mode, get_upc_consistency_mode,
2252 push_upc_consistency_mode, pop_upc_consistency_mode,
2254 Move external definitions to c-family/c-upc.h.
2255 (upc_blocksizeof_type, upc_localsizeof_type,
2256 upc_elemsizeof_type): Remove external definitions;
2257 these functions were moved to c-parser.c.
2259 * c-decl.c: Add #include of c-upc.h.
2261 * c-typeck.c: Add #include of c-upc.h.
2263 * c-convert.c: Add #include of c-upc.h.
2265 * ChangeLog.upc: Fix typo.
2267 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2268 there is a reference to c-family/c-objc.h.
2269 Remove extraneous reference to upc-act.h.
2271 * c-parser.c: Add #include of c-upc.h.
2272 (upc_blocksizeof_expr, upc_blocksizeof_type,
2273 upc_elemsizeof_expr, upc_elemsizeof_type,
2274 upc_localsizeof_expr, upc_localsizeof_type):
2275 Move from upc/upc-act.c.
2277 * tree.c (build_upc_unshared_type): New.
2278 Move upc_get_unshared_type from upc/upc-act.c and rename
2279 to build_upc_unshared_type.
2280 c-family/c-common.c (pointer_int_sum): refer to renamed
2281 build_upc_unshared_type function.
2282 c-convert.c (convert): Ditto.
2283 convert.c (convert_to_pointer): Ditto.
2284 c-typeck.c (build_unary_op, build_modify_expr,
2285 really_start_incremental_init): Ditto.
2286 gimplify.c (create_tmp_var_raw): Ditto.
2287 tree.c (build1_stat): Ditto.
2288 tree.h (upc_get_unshared_type): Rename to
2289 build_upc_unshared_type.
2291 2011-05-06 Gary Funck <gary@intrepid.com>
2293 Merge trunk version 173471 into gupc branch.
2295 2011-05-05 Gary Funck <gary@intrepid.com>
2297 Make changes that bring the GUPC branch more closely in sync.
2298 with the GCC trunk. Revert any fixes that are not UPC-specific.
2299 Remove gratuitous re-formatting.
2301 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2302 This file should have been removed in a previous merge
2304 * ../configure.ac: Remove Cray Catamount/CNL support.
2305 * ../configure: Regenerate.
2306 * ../config.sub: Remove Cray Catamount/CNL support.
2307 * config.gcc: Remove Cray Catamount/CNL support.
2308 * ../maintainer-scripts/gcc_release: Revert to trunk.
2309 * c-family/c-common.h: Define parse_optimize_options. Its definition
2310 was missed in a previous merge with the trunk.
2311 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2313 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2314 in addition to ARRAY_TYPE.
2315 * c-typeck.c: Remove an extra newline character.
2316 * varasm.c: Revert a fix that improved an error message
2317 when TLS common data is unimplemented.
2318 * varasm.c: Revert a gcc_assert that had been added which
2319 checked for a null DECL_SIZE_UNIT field.
2320 * emultls.c: Revert to trunk. Remove possible fix.
2321 * Makefile.in: Revert extra blank line that is present
2322 in the trunk version.
2323 * Makefile.in: Revert a fix that handled long shell
2324 argument lists for plugin headers.
2325 * config/ia64/ia64.opt: Revert an option setting
2326 that increased the default TLS address range.
2327 * config/ia64/crtbegin.asm: Revert to trunk.
2328 Removes an extra newline character.
2329 * ChangeLog.upc: Spell check.
2331 2011-05-03 Gary Funck <gary@intrepid.com>
2333 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2334 (c_apply_type_quals_to_decl): Ditto.
2335 * c-family/c-common.h: Ditto.
2337 * c-decl.c (merge_decls): Ditto.
2338 * c-typeck.c (qualify_type, default_conversion,
2339 build_component_ref, build_unary_op,
2340 c_build_qualified_type): Ditto.
2341 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2343 2011-04-29 Gary Funck <gary@intrepid.com>
2345 * c-decl.c (finish_decl): Improve error diagnostics.
2346 (grokdeclarator): Ditto.
2348 * c-typeck.c (build_c_cast): Improve error diagnostics.
2349 (convert_for_assignment): Ditto.
2350 (build_binary_op): Ditto.
2352 * c-parser.c (c_parser_upc_forall_statement):
2353 Improve error diagnostics.
2355 * convert.c (convert_to_integer): Improve error diagnostics.
2357 2011-04-24 Gary Funck <gary@intrepid.com>
2359 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2360 occurred if there is an error in the barrier id
2361 expression. Map error_mark_node into NULL.
2363 2011-04-22 Gary Funck <gary@intrepid.com>
2365 Merge trunk version 172873 into gupc branch.
2367 2011-04-19 Gary Funck <gary@intrepid.com>
2369 Merge trunk version 172359 into gupc branch.
2371 2011-04-14 Gary Funck <gary@intrepid.com>
2373 * c-family/c.opt: Add UPC as a valid language for various
2374 switches where it is valid for "C", that were not updated
2375 in previous merges with trunk.
2377 2011-04-13 Gary Funck <gary@intrepid.com>
2379 * c-family/c.opt (fupc-pre-include): New option definition.
2380 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2381 -fno-upc-pre-include is asserted.
2383 2011-04-07 Gary Funck <gary@intrepid.com>
2385 Merge trunk version 172158 into gupc branch.
2386 to bring in the following fix.
2388 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2391 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2392 if old and new states differ.
2394 2011-04-06 Gary Funck <gary@intrepid.com>
2396 Merge trunk version 171966 into gupc branch.
2398 2011-04-01 Gary Funck <gary@intrepid.com>
2400 * tree.h (tree_base): Move UPC flag bits into bit fields
2401 located just before spare bits. Decrement spare bits.
2402 Rename 'shared_flag' -> 'upc_shared_flag',
2403 'relaxed_flag' -> 'upc_relaxed_flag',
2404 'strict_flag' -> 'upc_strict_flag, and adjust macros
2405 that reference them accordingly.
2407 2011-04-01 Gary Funck <gary@intrepid.com>
2409 * c-decl.c (grokdeclarator): Fix formatting of
2410 code that sets UPC block size on scalars.
2412 2011-04-01 Gary Funck <gary@intrepid.com>
2414 * c-decl.c (grokdeclarator): Revert use of white space
2415 to match the trunk (to rationalize diffs).
2416 * c-typeck.c (convert_for_assignment): Ditto.
2417 * tree-ssa.c (useless_type_conversion_p): Ditto.
2419 2011-03-23 Gary Funck <gary@intrepid.com>
2421 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2422 the GCC 4.6 release branch.
2424 2011-03-21 Gary Funck <gary@intrepid.com>
2426 Merge trunk version 171202 into gupc branch.
2428 2011-03-20 Gary Funck <gary@intrepid.com>
2430 * varasm.c: Call error() directly with a format specifier,
2431 rather than using sprintf() to format the message.
2432 This should make it easier to internationalize UPC's error messages.
2434 2011-03-20 Gary Funck <gary@intrepid.com>
2436 * configure.ac: Fix the check for gnu ld when enabling
2437 UPC link script support.
2438 configure: Regenerate (also picks up changes from previous
2441 2011-03-20 Gary Funck <gary@intrepid.com>
2443 Move UPC start files, end files, and linker specs.
2444 into libupc. This reduces the impact on common GCC
2445 configuration files, and ensures that these UPC-specific
2446 components are only built when the UPC language dialect is selected.
2449 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2450 linker specs. Fix typo in -fupc-debug message.
2452 * config/upc-conf.h, config/darwin.h: Move defines for
2453 UPC-related section begins/ends into libupc/config/default/
2456 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2457 UPC-related linker compiler specifications,
2458 accessed via %:include().
2460 * configure.ac, configure: Remove logic related to building
2461 upc-crtbegin/end. Remove config. tests for numa and cpu
2462 affinity (previously used by the 'upc' driver); these
2463 settings are now propagated by target-specific compiler
2464 specs. built by libupc. Regenerate autoconf.
2466 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2467 linker compiler specifications, accessed via %:include().
2468 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2471 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2473 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2474 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2475 config/ia64/linux.h, config/mips/t-iris,
2476 config/mips/iris6.h: Revert to trunk version 167307.
2479 * configure, configure.ac, config.host, Makefile.in:
2480 Revert to trunk version 167307.
2482 2011-02-23 Gary Funck <gary@intrepid.com>
2484 * c-decl.c (undeclared_variable): fix typo. Inadvertently
2485 removed negation on following 'if'.
2487 2011-02-22 Gary Funck <gary@intrepid.com>
2489 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2490 to check for the usage of certain deprecated UPC keywords.
2491 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2492 * c-tree.h (undeclared_variable): Define prototype.
2494 2011-02-12 Gary Funck <gary@intrepid.com>
2496 * c-typeck.c: (build_c_cast, convert_for_assignment)
2497 Diagnose an attempt to convert from an integer to
2498 a pointer-to-shared as an error. Also, fix various
2499 error messages so that they use the preferred term
2500 pointer-to-shared instead of "shared pointer".
2502 2011-02-07 Gary Funck <gary@intrepid.com>
2504 * c-typeck.c: (convert_for_assignment)
2505 Fix typo. in error message.
2507 2011-01-23 Gary Funck <gary@intrepid.com>
2509 * c-typeck.c: (c_build_qualified_type)
2510 derive UPC block size by calling upc_get_block_size(),
2511 to ensure that the element type of an array of an array
2512 is derived correctly.
2514 2010-12-29 Gary Funck <gary@intrepid.com>
2516 Merge trunk version 168314 into gupc branch.
2518 2010-12-15 Gary Funck <gary@intrepid.com>
2520 Merge trunk version 167307 into gupc branch.
2522 2010-10-19 Gary Funck <gary@intrepid.com>
2524 * c-typeck.c: Fix typo in previous fix
2525 which led to a mis-compare for equal block sizes.
2527 2010-10-18 Gary Funck <gary@intrepid.com>
2529 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2530 diagnosed as an error
2532 The conversion from any type (shared or not) to
2533 a shared type is likely either meaningless or an error. This update
2534 makes any conversion to a shared type, an error.
2536 2010-10-18 Gary Funck <gary@intrepid.com>
2538 * c-typeck.c: Fix bug: passing int to shared pointer arg.
2539 generates spurious warning
2541 Add a #define procedure that does the same thing as
2542 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
2543 this procedure to diagnose passing an integer value to a
2544 pointer-to-shared as an error.
2546 2010-10-18 Gary Funck <gary@intrepid.com>
2548 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2549 matching routine declaration.
2551 When checking for type compatibility, shared qualified types must
2552 have the same block factor. This check was missing from
2553 comptypes_internal(). This update adds the check for blocking
2556 2010-10-17 Gary Funck <gary@intrepid.com>
2558 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2561 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2563 2010-10-17 Gary Funck <gary@intrepid.com>
2565 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2566 45869 - [4.5/4.6 Regression] type mismatch in shift expression
2567 produces ice with -O3 and -m32.
2569 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2571 2010-10-17 Gary Funck <gary@intrepid.com>
2573 * c-common.c: Diagnose the application of the various "*sizeof"
2574 operations on generic pointer-to-shared as a compilation error.
2576 2010-10-17 Gary Funck <gary@intrepid.com>
2578 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2579 message regarding a function parameter being declared with a shared
2582 The parameter's 'name' value is not defined at this point, and
2583 cannot be used in the error message. This update removes the
2584 reference to 'name', and eliminates the segfault.
2586 2010-10-16 Gary Funck <gary@intrepid.com>
2588 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2590 The gcc/Makefile.in rules for install-plugin had to be re-written to
2591 break up a long list of header files that exceeded the command line
2592 limitation imposed by Irix.
2594 Access functions for TFmode types had to be implemented.
2595 Apparently, this is the mode used for the SGI/MIPS port to represent
2598 2010-10-14 Gary Funck <gary@intrepid.com>
2600 * c-decl.c: Fix bug: Multiple equal blocking factors specified
2601 via typedef chain should not be diagnosed as an error.
2603 If the block size that is given by the typedef is equal to the block
2604 size given explicitly in the variable declaration, then do not
2605 complain. The easiest way to make this check was to create a
2606 temporary type that is a clone of the element type and then set its
2607 block size using the given layout qualifier. Then compare the block
2608 size of the temporary (the declaration) to the block size specified
2609 in the typedef. This complexity is needed, because the '[*]' block
2610 size needs to be calculated, and the '[]' needs to be mapped into a
2613 2010-10-10 Gary Funck <gary@intrepid.com>
2615 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2618 The compiler properly detected the presence of two or more layout
2619 qualifiers as an error, but then hit an assertion check, because the
2620 code that followed the error expected to see a qualifier and not a
2621 layout specifier. The fix is simple: just return immediately after
2622 detecting the error.
2624 2010-10-10 Gary Funck <gary@intrepid.com>
2626 * c-decl.c: Improve error diagnostics for various cases of UPC
2627 shared array type declarations.
2629 Add the check for this error: "In the dynamic translation
2630 environment, THREADS may not appear in declarations of shared arrays
2631 with indefinite block size". Also, fix up a few of the other
2632 related error diagnostics.
2634 2010-10-09 Gary Funck <gary@intrepid.com>
2636 * c-common.c: Fix bug: segfault on incomplete array definition.
2638 This turned out to be a bit complicated. The logic in
2639 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2640 the THREADS identifier in the case where the blocking factor has
2641 been set to indefinite ([]). This can happen when indefinite array
2642 declarations are processed for shared arrays. At that time, the
2643 file scope has been closed and THREADS is no longer in scope. Some
2644 more work is needed on upc_lang_layout_decl(). It has some
2645 duplication, and notably duplicates the two branches of the if
2646 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2647 caller of this routine (layout_decl()).
2649 The method of forcing a layout qualifier of [] in the indefinite
2650 declaration handler is odd a well. The code that just does the
2651 setting of the block factor, needs to moved into its own routine
2652 that doesn't depend upon a declspec for '[]' to be passed in, just
2653 in order to set the blocking factor to some value (in this case, 0).
2654 Also, the logic for how that shared type is constructed is strange.
2655 First the type with 0 blocking factor is set. Then the shared
2656 qualifier is removed from the type, and then added back later. The
2657 intermediate type has a blocking factor set, but it has no shared
2658 qualifier. Fixing this will require some thought. It is tempting
2659 just to make indefinite shared arrays an error, rather than forcing
2660 the dimension to be '1'.
2662 This likely fixes a serious error in the previous update to
2663 upc_lang_layout_decl(), where it didn't have the logic to set
2664 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2665 the previous update would fail on many tests.
2667 2010-10-09 Gary Funck <gary@intrepid.com>
2669 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2670 (decl) is null, which can happen if some layout error occurred
2673 2010-10-09 Gary Funck <gary@intrepid.com>
2675 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2676 "variable-sized" when compiled in dynamic threads.
2678 This long-standing bug is easily fixed. Just check
2679 for the situation that the non-constant sized type is shared and
2680 that it does not have a dimension that references a multiple of
2681 threads. If this criteria is met, then issue a meaningful
2684 2010-10-01 Gary Funck <gary@intrepid.com>
2686 * configure, configure.ac: Update manual page, and bug reporting
2689 Update "man" page to reflect debugging switches. Also, some general
2690 clean up. Change the bug reporting URL to point to gccupc.org.
2692 2010-09-27 Gary Funck <gary@intrepid.com>
2694 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2695 the UPC forall depth count variable is not found.
2697 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2698 The compiler will generate code that references this variable in
2699 order to implement nested upc_forall semantics. If there is a
2700 compiler build or install problem, this variable may not be found.
2701 In this case, terminate with an internal_error().
2703 2010-09-26 Gary Funck <gary@intrepid.com>
2705 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2706 mis-diagnosed as syntax error.
2708 Fix a failure exhibited by the Berkeley test case,
2709 bug873a.upc, which has the code:
2711 upc_forall (;;;d) {...} The compiler did not properly handle
2712 the empty "condition" clause, and did not recover well when it was
2713 determined that the use of a double value, "d" above, was neither a
2714 pointer-to-shared nor an integer expression. The update implements a
2715 fix for both issues.
2717 See also: gcc/c-parser.c gcc/upc/upc-act.c
2719 2010-09-23 Gary Funck <gary@intrepid.com>
2721 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2722 incorporated into the referencing type.
2724 This was semi-fixed a few times before. This update fixes a few
2725 more places where the layout qualifier wasn't being propagated
2726 through typedef's properly. What made this a bit tricky is shown in
2727 the example cited in the bug report:
2729 typedef shared [5] int A_t; A_t A[5*THREADS];
2731 In the typedef, the blocksize is being applied to a shared *scalar*,
2732 and the code was applying the blocksize only to arrays. This update
2733 handles shared scalars correctly.
2735 2010-09-22 Gary Funck <gary@intrepid.com>
2737 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2738 upc_forall() semantics are not implemented
2740 The checkforall test in the Berkeley harness test suite indicated
2741 that GCC/UPC was not properly implementing nested upc_forall
2742 semantics. Nested upc_forall statements (both statically or
2743 dynamically nested) must implement their affinity clause as if it
2744 were "continue"; thus all steps in the loop must execute without
2745 regard for affinity. To implement these semantics a global depth
2746 counter, __upc_forall_depth, is maintained by the generated code
2747 that implements upc_forall.
2749 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2750 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2751 libupc/include/upc.h libupc/smp/upc_main.c
2753 2010-09-19 Gary Funck <gary@intrepid.com>
2755 * c-decl.c: c-decl.c: zero out the layout specifier, after
2756 processing an array type.
2758 Fix the previous fix, that moved the setting of the type's layout
2759 qualifier to the outside of the array type processing loop. What is
2760 missing from the fix is that the layout_qualifier variable needs to
2761 be cleared after setting the type's blocksize.
2763 2010-09-19 Gary Funck <gary@intrepid.com>
2765 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2766 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2768 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2769 the actual maximum block size. Therefore, the message was correct,
2770 but the underlying value that was being checked was wrong. Change
2771 the values so that they agree with the actual implementation-defined
2774 2010-09-11 Gary Funck <gary@intrepid.com>
2776 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2777 multi-dimensional shared array with dynamic threads.
2779 This declaration caused an internal compiler error when compiled
2780 with dynamic threads:
2781 shared [*] int A[THREADS][16]; The bug was discovered when
2782 compiling the RTED_UPC test suite.
2784 The fix is to process layout qualifiers after the entire array type
2785 has been built. Otherwise, we try to calculate the blocksize on a
2786 shared array type that has not had its "size depends upon the value
2787 of THREADS" flag set.
2789 Also, added a test case.
2791 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2793 2010-07-11 Gary Funck <gary@intrepid.com>
2795 Fix a bug where a statement in c_build_qualified_type()
2796 in the trunk had been inadvertently deleted.
2797 This bug showed up in the IA64 port, because jmpbuf's
2798 on that architecture must be 16 byte aligned, and they were not.
2799 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2801 2010-07-08 Gary Funck <gary@intrepid.com>
2803 Make changes so that other language compilers
2804 will build and bootstrap.
2805 * c-family/c-common.c (compiling_upc, flag_upc,
2806 flag_upc_instrument, flag_upc_instrument_functions,
2807 use_upc_dwarf2_extensions): Move to stub-upc.c and
2809 * c-family/c-common.h (use_upc_dwarf2_extensions,
2810 compiling_upc): Add extern definitions - needed
2811 to compile/build other language front ends.
2812 * c-family/c.opt: Fix the spelling of ObjC.
2813 It had been incorrectly spelled as Objc.
2814 * c-family/c.opt: Add UPC for the various switches
2815 that are valid for both C and ObjC.
2816 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2817 supported options switches when compiling assembly
2819 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2820 flag_upc_instrument, flag_upc_instrument_functions):
2821 Remove these definitions. They have been moved
2822 to c-family/stub-upc.c.
2823 * upc/ChangeLog: Move relevant entries
2825 * c-family/stub-upc.c (compiling_upc, flag_upc,
2826 flag_upc_instrument, flag_upc_instrument_functions,
2827 use_upc_dwarf2_extensions): Moved from c-common.c
2828 * upc/upc-lang.c (compiling_upc, flag_upc,
2829 flag_upc_instrument, flag_upc_instrument_functions,
2830 use_upc_dwarf2_extensions): Moved from c-common.c
2831 * objc/objc-act.c (objc_gimplify_expr): Add additional
2832 parameters to c_gimplify_expr() call, that are used
2833 by upc's tree rewrites.
2834 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2835 * gcc/cp/lex.c (init_reswords): If not compiling
2836 UPC, then mask off the UPC keywords.
2837 * cp/Make-lang.in (C_STUB_OBJS): Use this
2838 make macro to link with c-family/stub-objc.o
2839 and c-family/stub-upc.o.
2840 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2841 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2842 * objc/Make-lang.in: Link with c-family/stub-upc.o
2843 to avoid undefined references.
2844 c-parser.c: Fix line indentation.
2845 * libcpp/include/cpplib.h: Remove CL_UPC from
2846 the list of language kinds accepted by the
2847 C preprocessor. This is not necessary because
2848 UPC is a derivative of C99, and does not need
2849 a different language kind.
2850 * c-fmaily/c-opts.c (c_common_handle_option):
2851 Call set_std_c99() when processing the
2852 "--lang upc" switch, instead of setting the
2853 language kind to CL_UPC.
2854 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2856 2010-07-03 Gary Funck <gary@intrepid.com>
2858 Merge trunk version 161517 into gupc branch.
2859 * gcc/stub-upc.c: Move to gcc/c-family/.
2860 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2861 Add 'unused' attributes to avoid "set, but
2862 not referenced" warnings.
2863 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2866 2010-03-01 Gary Funck <gary@intrepid.com>
2868 Create gupc branch from trunk version 157149.