1 2013-11-04 Gary Funck <gary@intrepid.com>
3 Merge trunk version 204345 into gupc branch.
5 2013-10-31 Gary Funck <gary@intrepid.com>
7 Released GUPC 4.9.0.1 based on version 203902.
8 This release version was committed on 2013-10-21.
9 * DEV-PHASE: Bump to 4.9.0.2.
10 * DATESTAMP: Bump date stamp.
12 2013-10-28 Gary Funck <gary@intrepid.com>
14 Merge trunk version 204119 into gupc branch.
16 2013-10-21 Gary Funck <gary@intrepid.com>
18 Merge trunk version 203886 into gupc branch.
20 2013-10-14 Gary Funck <gary@intrepid.com>
22 Merge trunk version 203514 into gupc branch.
24 2013-10-07 Gary Funck <gary@intrepid.com>
26 Merge trunk version 203240 into gupc branch.
28 2013-10-01 Gary Funck <gary@intrepid.com>
30 Implement pointer-to-shared -> integer conversions.
31 Required per UPC 1.3 Specification.
32 c/c-typeck.c (build_c_cast): Remove logic that diagnosed
33 PTS->int conversions as an error. Rewrite into a CONVERT_EXPR
34 for later processing by upc_genericize().
36 2013-09-30 Gary Funck <gary@intrepid.com>
38 Merge trunk version 203026 into gupc branch.
40 2013-09-23 Gary Funck <gary@intrepid.com>
42 Merge trunk version 202825 into gupc branch.
44 2013-09-18 Gary Funck <gary@intrepid.com>
46 Merge trunk version 202725 into gupc branch.
48 2013-09-16 Gary Funck <gary@intrepid.com>
50 Merge trunk version 202619 into gupc branch.
52 2013-09-09 Gary Funck <gary@intrepid.com>
54 Merge trunk version 202382 into gupc branch.
56 2013-09-02 Gary Funck <gary@intrepid.com>
58 Merge trunk version 202159 into gupc branch.
60 2013-08-26 Gary Funck <gary@intrepid.com>
62 Merge trunk version 202008 into gupc branch.
64 2013-08-19 Gary Funck <gary@intrepid.com>
66 Merge trunk version 201832 into gupc branch.
68 2013-08-05 Gary Funck <gary@intrepid.com>
70 Merge trunk version 201483 into gupc branch.
72 2013-07-29 Gary Funck <gary@intrepid.com>
74 Merge trunk version 201301 into gupc branch.
76 2013-07-22 Gary Funck <gary@intrepid.com>
78 Merge trunk version 201119 into gupc branch.
80 2013-07-15 Gary Funck <gary@intrepid.com>
82 Merge trunk version 200955 into gupc branch.
84 2013-07-08 Gary Funck <gary@intrepid.com>
86 Merge trunk version 200775 into gupc branch.
88 2013-07-01 Gary Funck <gary@intrepid.com>
90 Merge trunk version 200575 into gupc branch.
92 2013-06-24 Gary Funck <gary@intrepid.com>
94 Merge trunk version 200361 into gupc branch.
96 2013-06-19 Gary Funck <gary@intrepid.com>
98 Merge trunk version 200149 into gupc branch.
100 2013-06-03 Gary Funck <gary@intrepid.com>
102 Merge trunk version 199596 into gupc branch.
104 2013-05-27 Gary Funck <gary@intrepid.com>
106 Merge trunk version 199350 into gupc branch.
108 2013-05-20 Gary Funck <gary@intrepid.com>
110 Merge trunk version 199093 into gupc branch.
112 2013-05-13 Gary Funck <gary@intrepid.com>
114 Merge trunk version 198815 into gupc branch.
116 2013-05-06 Gary Funck <gary@intrepid.com>
118 Merge trunk version 198622 into gupc branch.
120 2013-04-29 Gary Funck <gary@intrepid.com>
122 Merge trunk version 198433 into gupc branch.
124 2013-04-15 Gary Funck <gary@intrepid.com>
126 Merge trunk version 197958 into gupc branch.
128 2013-04-08 Gary Funck <gary@intrepid.com>
130 Merge trunk version 197571 into gupc branch.
132 2013-04-04 Gary Funck <gary@intrepid.com>
134 Per the UPC 1.3 specification, the type of the
135 optional barrier/notify/wait expression is not constrained to
136 'int'. Instead, any type that is assignment compatible
137 with an 'int' type is permitted.
138 * c/c-parser.c (c_parser_upc_sync_statement): Do not check
139 the optional expression type here. Let upc_build_sync_stmt()
141 * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
142 * c/c-typeck.c (c_cvt_expr_for_assign): New. Also, call
143 error_at() in lieu of error() when the source location is known.
144 * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
145 to check/convert the optional synchronization statement
148 2013-04-02 Gary Funck <gary@intrepid.com>
150 Merge trunk version 197340 into gupc branch.
152 2013-04-02 Gary Funck <gary@intrepid.com>
154 Revert revision 178346 (2011-08-30)
155 which changed the prototype of check_qualified_type and related
156 functions so that their parameters were just 'tree' and not
157 'const_tree'. This seemed necessary at the time because of a
158 change to TYPE_BLOCK_FACTOR(), which in turn called function
159 that hashed the type node pointer. The hash functions did
160 not accept "const void *" pointers. Implement a work around
161 that removes this restriction.
162 * c/c-typeck.c: Revert.
164 * tree.h: Revert. Change prototype of upc_block_factor_lookup()
165 to accept a 'const_tree' pointer to a type node.
166 * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
167 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
168 input argument and convert this to 'tree' for use with hash function.
170 2013-03-25 Gary Funck <gary@intrepid.com>
172 Merge trunk version 197029 into gupc branch.
174 2013-03-21 Gary Funck <gary@intrepid.com>
176 Released GUPC 4.8.0.3 based on version 196601.
177 This release version was committed on 2013-03-11.
178 * DATESTAMP: Bump date stamp.
180 2013-03-18 Gary Funck <gary@intrepid.com>
182 Merge trunk version 196771 into gupc branch.
183 * DEV-PHASE: Bump release identifier to 4.9.0-1.
185 2013-03-11 Gary Funck <gary@intrepid.com>
187 Merge trunk version 196592 into gupc branch.
189 2013-03-04 Gary Funck <gary@intrepid.com>
191 Merge trunk version 196422 into gupc branch.
193 2013-02-25 Gary Funck <gary@intrepid.com>
195 Merge trunk version 196253 into gupc branch.
197 2013-02-18 Gary Funck <gary@intrepid.com>
199 Merge trunk version 196115 into gupc branch.
201 2013-02-11 Gary Funck <gary@intrepid.com>
203 Merge trunk version 195937 into gupc branch.
205 2013-02-04 Gary Funck <gary@intrepid.com>
207 Merge trunk version 195707 into gupc branch.
209 2013-01-28 Gary Funck <gary@intrepid.com>
211 Merge trunk version 195502 into gupc branch.
213 2013-01-21 Gary Funck <gary@intrepid.com>
215 Merge trunk version 195330 into gupc branch.
217 2013-01-14 Gary Funck <gary@intrepid.com>
219 Merge trunk version 195164 into gupc branch.
221 2013-01-07 Gary Funck <gary@intrepid.com>
223 Merge trunk version 194962 into gupc branch.
225 2012-12-24 Gary Funck <gary@intrepid.com>
227 Merge trunk version 194709 into gupc branch.
229 2012-12-17 Gary Funck <gary@intrepid.com>
231 Merge trunk version 194552 into gupc branch.
233 2012-12-10 Gary Funck <gary@intrepid.com>
235 Merge trunk version 194351 into gupc branch.
237 2012-12-03 Gary Funck <gary@intrepid.com>
239 Merge trunk version 194076 into gupc branch.
241 2012-11-30 Gary Funck <gary@intrepid.com>
243 Released GUPC 4.8.0.2 based on version 193446.
244 Date of release: 2012-11-12.
245 * DEV-PHASE: Bump release identifier to 4.8.0-3.
246 * DATESTAMP: Bump date stamp.
248 2012-11-26 Gary Funck <gary@intrepid.com>
250 Merge trunk version 193807 into gupc branch.
252 2012-11-20 Gary Funck <gary@intrepid.com>
254 Merge trunk version 193672 into gupc branch.
256 2012-11-19 Gary Funck <gary@intrepid.com>
258 Merge trunk version 193617 into gupc branch.
260 2012-11-15 Gary Funck <gary@intrepid.com>
262 Merge trunk version 193426 into gupc branch.
264 2012-11-12 Gary Funck <gary@intrepid.com>
266 Released GUPC 4.8.0.1 based on version 192948.
267 Date of release: 2012-10-29.
268 * DEV-PHASE: Bump release identifier to 4.8.0-2.
269 * DATESTAMP: Bump date stamp.
271 2012-11-05 Gary Funck <gary@intrepid.com>
273 Merge trunk version 193152 into gupc branch.
275 2012-10-29 Gary Funck <gary@intrepid.com>
277 Merge trunk version 192909 into gupc branch.
279 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
281 Remove unused --upc-pthreads-per-process compile switch.
282 * c-family/c.opt: Remove --upc-pthreads-per-process switch
283 that compiler/runtime do not use.
284 * c-family/c-opts.c (c_common_handle_option): Remove support for
285 --upc-pthreads-per-process switch.
286 * c-family/c-common.c: Ditto.
287 * c-family/c-common.h: Ditto.
289 2012-10-27 Gary Funck <gary@intrepid.com>
291 * defaults.h: fix typos and formatting in UPC-related entries.
293 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
295 Place shared initialization code into the .text
296 section instead of a separate .upc_init section.
297 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
298 (UPC_INIT_BEGIN_NAME): Delete.
299 (UPC_INIT_END_NAME): Delete.
300 * doc/tm.texi.in: Ditto.
301 * doc/tm.texi: Ditto.
303 2012-10-22 Gary Funck <gary@intrepid.com>
305 Merge trunk version 192673 into gupc branch.
307 2012-10-15 Gary Funck <gary@intrepid.com>
309 Merge trunk version 192449 into gupc branch.
311 2012-10-08 Gary Funck <gary@intrepid.com>
313 Merge trunk version 192198 into gupc branch.
315 2012-10-01 Gary Funck <gary@intrepid.com>
317 Merge trunk version 191931 into gupc branch.
319 2012-09-26 Gary Funck <gary@intrepid.com>
321 Implement support for various UPC version 1.3 specification
322 additions and changes. Deprecate support for upc_local_alloc.
323 Add support for upc_tick (wall-clock timer) library.
324 Add support for collective de-allocation functions:
325 upc_all_free and upc_all_lock_free.
326 Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
327 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
329 2012-09-24 Gary Funck <gary@intrepid.com>
331 Merge trunk version 191658 into gupc branch.
333 2012-09-17 Gary Funck <gary@intrepid.com>
335 Merge trunk version 191376 into gupc branch.
337 2012-09-10 Gary Funck <gary@intrepid.com>
339 Merge trunk version 191141 into gupc branch.
341 2012-08-27 Gary Funck <gary@intrepid.com>
343 Merge trunk version 190707 into gupc branch.
344 * tree.h (struct tree_base): Adjust various
345 UPC tree and type flags to refer to the
346 newly introduced u.bits field.
348 2012-08-20 Gary Funck <gary@intrepid.com>
350 Merge trunk version 190524 into gupc branch.
351 Incorporates a fix in genoutput.c (to properly use
352 CONST_CAST) that led to build failures with
353 older versions of g++.
355 2012-08-16 Gary Funck <gary@intrepid.com>
357 Merge trunk version 190437 into gupc branch.
358 Incorporates a fix for a build failure on the PPC
359 due to passing incorrect switches to the assembler.
360 Also, first merged trunk revision that compiles GCC
361 with the C++ compiler in the first stage.
363 2012-08-13 Gary Funck <gary@intrepid.com>
365 Merge trunk version 190336 into gupc branch.
367 2012-08-09 Gary Funck <gary@intrepid.com>
369 * c-family/c-common.c (c_fully_fold_internal): Do not fold
370 offsetof-like expressions when they are applied to UPC
373 2012-08-06 Gary Funck <gary@intrepid.com>
375 Merge trunk version 190173 into gupc branch.
377 2012-08-01 Gary Funck <gary@intrepid.com>
379 Merge trunk version 190063 into gupc branch.
380 Incorporates fix for build failure on IA64.
382 2012-07-30 Gary Funck <gary@intrepid.com>
384 Merge trunk version 189954 into gupc branch.
386 2012-07-27 Gary Funck <gary@intrepid.com>
388 Merge trunk version 189856 into gupc branch.
389 Incorporates fix for bootstrap with a sub-set of language
390 specific source directories present.
391 * optabs.c: Revert to trunk. Rather than defining opcodes
392 as a way of defining get/put runtime library function names,
393 generate them directly in gcc/upc/upc-genericize.c.
395 * genopinit.c: Ditto.
397 2012-07-23 Gary Funck <gary@intrepid.com>
399 Merge trunk version 189777 into gupc branch.
401 2012-07-16 Gary Funck <gary@intrepid.com>
403 Merge trunk version 189545 into gupc branch.
405 2012-07-12 Gary Funck <gary@intrepid.com>
407 Merge trunk version 189366 into gupc branch.
409 2012-07-05 Gary Funck <gary@intrepid.com>
411 Merge trunk version 189274 into gupc branch.
412 Incorporates graphite build infrastructure changes.
414 2012-07-04 Gary Funck <gary@intrepid.com>
416 Merge trunk version 189080 into gupc branch.
417 * Makefile.in: Adjust for move of C front-end files.
418 * c/Make-lang.in: Ditto.
420 2012-07-03 Gary Funck <gary@intrepid.com>
422 Merge trunk version 189078 into gupc branch.
424 2012-06-25 Gary Funck <gary@intrepid.com>
426 Merge trunk version 188931 into gupc branch.
428 2012-06-18 Gary Funck <gary@intrepid.com>
430 Merge trunk version 188721 into gupc branch.
432 2012-06-11 Gary Funck <gary@intrepid.com>
434 Merge trunk version 188380 into gupc branch.
436 2012-06-04 Gary Funck <gary@intrepid.com>
438 Merge trunk version 188168 into gupc branch.
440 2012-05-29 Gary Funck <gary@intrepid.com>
442 Merge trunk version 187927 into gupc branch.
444 2012-05-18 Gary Funck <gary@intrepid.com>
446 Merge trunk version 187666 into gupc branch.
447 Incorporates fix for ICE in tree vectorization pass
448 when processing strided loads.
450 2012-05-17 Gary Funck <gary@intrepid.com>
452 Merge trunk version 187578 into gupc branch.
454 2012-05-09 Gary Funck <gary@intrepid.com>
456 Merge trunk version 187347 into gupc branch.
457 Incorporates fix for segfault in tree vectorization pass.
459 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
461 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
462 Appropriate libraries and include files are added on the
463 command line to make it possible to compile with the driver
466 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
468 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
469 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
470 a function returns a pointer-to-shared in memory instead
472 (rs6000_pass_by_reference): Ditto.
474 2012-04-28 Gary Funck <gary@intrepid.com>
476 * c-decl.c (grokdeclarator): Set 'type' to error node
477 after detecting "shared auto variable" error to avoid
478 downstream complications.
479 * upc-act.c: Fix a couple of spelling errors in comments.
481 2012-04-26 Gary Funck <gary@intrepid.com>
483 * c-family/c-pragma.c (handle_pragma_upc):
484 Fix typo in warning message.
486 2012-04-17 Gary Funck <gary@intrepid.com>
488 Merge trunk version 186486 into gupc branch.
490 2012-04-17 Gary Funck <gary@intrepid.com>
492 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
493 value of the pupc mode. Fixes a compile-time warning.
494 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
495 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
496 Improve source formatting.
498 2012-04-09 Gary Funck <gary@intrepid.com>
500 Merge trunk version 186243 into gupc branch.
501 Incorporates a powerpc 'ffi' fix.
503 2012-03-16 Gary Funck <gary@intrepid.com>
505 Merge trunk version 185454 into gupc branch.
506 Incorporates a libgcc fix for builds on Darwin.
508 2012-03-13 Gary Funck <gary@intrepid.com>
510 Merge trunk version 185278 into gupc branch.
511 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
512 call build_pointer_type() to apply UPC-specific qualifiers.
513 * top-level/configure.ac: factor the checking for posix hostst
514 out of the libgomp section so that it can also be used by libgupc.
515 * top-level/configure: Re-generate.
516 * DEV-PHASE: bump to 4.8.0-1.
518 2012-03-12 Gary Funck <gary@intrepid.com>
520 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
521 the mode for a pointer for upc-pointer-to-shared types.
523 2012-03-04 Gary Funck <gary@intrepid.com>
525 Merge trunk version 184900 into gupc branch.
527 2012-02-17 Gary Funck <gary@intrepid.com>
529 Released GUPC 4.7.0.2 based on version 183992.
530 * DEV-PHASE: Bump release identifier to 4.7.0-3.
531 * DATESTAMP: Bump date stamp.
533 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
535 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
536 code generation (same as #pragma pupc off).
537 (set_pupc_mode): New. Set/restore profiling mode.
538 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
539 (set_pupc_mode): New. Prototype.
540 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
541 profiling code for shared variables initialization routines.
543 2012-01-31 Gary Funck <gary@intrepid.com>
545 Merge trunk version 183751 into gupc branch.
546 Incorporates fix for bootstrap failure on openSUSE 12.1.
548 2012-01-10 Gary Funck <gary@intrepid.com>
550 Merge trunk version 183072 into gupc branch.
551 Incorporates libcpp __BASE_FILE__ fix.
553 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
555 * top-level/Makefile.def (flags_to_pass): Added GUPC
556 defines. Fixes the make error when upc is not specified as one
557 of the languages to build.
558 * top-level/Makefile.in: Re-generate.
560 2011-11-22 Gary Funck <gary@intrepid.com>
562 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
563 * dwarf2out.c (gen_compile_unit_die): Check for
564 the "GNU UPC" language string in lieu of "GCC UPC".
565 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
567 2011-11-18 Gary Funck <gary@intrepid.com>
569 Merge trunk version 181552 into gupc branch.
570 Incorporates libgcc/libunwind fix for IA64.
572 2011-11-19 Gary Funck <gary@intrepid.com>
574 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
575 Add check for UPC when defining the language type value
576 in a traceback entry.
578 2011-11-18 Gary Funck <gary@intrepid.com>
580 Merge trunk version 181493 into gupc branch.
581 Incorporates final fix for PR target/49992.
583 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
585 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
586 change that converted relative include paths into absolute
587 ones, as it does not work with older version of make (3.80).
589 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
591 Apply patch for Darwin build - PR49992.
592 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
593 * gcc/configure.ac: Ditto.
594 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
595 * gcc/ada/gcc-interface/Makefile.in: Ditto.
596 * top-level/configure: Re-generate.
597 * gcc/configure: Re-genrate.
599 2011-10-26 Gary Funck <gary@intrepid.com>
601 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
602 "libupc" to "libgupc".
603 * top-level/configure.ac: Implement support for cross-builds, and
604 adjust for rename of libupc to libgupc.
605 * top-level/Makefile.tpl: Ditto.
606 * top-level/Makefile.def: Ditto.
607 * top-level/configure: Re-generate.
608 * top-level/Makefile.in: Re-generate.
609 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
610 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
611 * doc/tm.texi: Re-generate.
612 * tree-pretty-print.c (dump_block_node): Delete unused variable.
613 * gcc.c: Adjust for rename of libupc to libgupc.
614 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
615 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
616 Change "xupc" to "xgupc".
617 * configure.ac: Change "GCC UPC" to "GNU UPC".
618 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
619 so that they are absolute paths. This is needed because
620 the upc-crtstuff builds are in the libgupc library build
621 directories which are not at the same level as libgcc.
622 * config/darwin.h: Adjust for rename of libupc to libgupc.
624 2011-10-20 Gary Funck <gary@intrepid.com>
626 Merge trunk version 180276 into gupc branch.
627 Incorporates fix for PR bootstrap/50709.
629 2011-10-20 Gary Funck <gary@intrepid.com>
631 Merge trunk version 180246 into gupc branch.
633 2011-10-19 Gary Funck <gary@intrepid.com>
635 Merge trunk version 180233 into gupc branch.
636 Incorporates fix for PR debug/49310 (var tracking).
638 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
640 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
641 only four (O0 static/dynamic, O3 static/dynamic).
642 Detect -fupc-threads-0 as an option for dynamic threads
645 2011-10-10 Gary Funck <gary@intrepid.com>
647 * tree.c (check_qualified_type, check_aligned_type):
648 Call tree_int_cst_equal() to compare UPC blocking factors
649 if the corresponding tree pointers are not equal.
650 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
652 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
654 Add configuration checks for struct/packed builds so we can
655 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
656 * testsuite/lib/target-supports.exp
657 (check_effective_target_upc_struct_pts): New.
658 (check_effective_target_upc_packed_pts): New.
660 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
662 Add to FLAGS the flags needed to disable inlining of
663 UPC run-time access routines.
664 * testsuite/lib/target-supports.exp
665 (add_options_for_upc_library_calls): New.
667 2011-09-15 Gary Funck <gary@intrepid.com>
669 Fix ICE involving shared bit field accesses.
670 * tree.c (build3_stat): Propagate TEEE_SHARED()
671 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
673 2011-09-13 Gary Funck <gary@intrepid.com>
675 Merge trunk version 178795 into gupc branch.
676 Incorporates fix to PR bootstrap/50010 for x86-32.
678 2011-09-08 Gary Funck <gary@intrepid.com>
680 Merge trunk version 178557 into gupc branch.
682 2011-09-07 Gary Funck <gary@intrepid.com>
684 Ensure that UPC pointer-to-shared type alignment is
685 propagated to the final type. Revert to long-standing
686 alignment policy: twice the size of a "C" pointer.
687 * tree.c (build_pointer_type): Propagate the alignment
688 of the UPC pointer-to-shared representation type
689 into the newly built pointer type.
691 2011-08-30 Gary Funck <gary@intrepid.com>
693 * tree.h (check_qualified_type): Change 'const_tree'
694 argument types back to 'tree' to avoid complaints
695 of assignment drops qualifiers for invocations of the
696 newly implemented TYPE_BLOCK_FACTOR() macro, which
697 invokes hash functions with 'tree' pointer values that
698 are not const qualified.
699 * tree.c (check_qualified_type, check_aligned_type): Ditto.
700 * c-typeck.c (comptypes_internal): Ditto.
702 2011-08-29 Gary Funck <gary@intrepid.com>
704 Fixes for regressions noted running "make check"
706 * fold-const.c (fold_unary_loc): Execute UPC-specific
707 checks for a cast-of-a-cast, only if one of the
708 operands is a UPC pointer-to-shared value.
709 * opts.c (print_specific_help): Fix a comparison
710 in an assert that checks that there are enough
711 bits reserved for the number of languages defined
714 2011-08-29 Gary Funck <gary@intrepid.com>
716 Implement a hash table to record UPC block factors.
717 * c-family/stub-upc.c (upc_block_factor_insert,
718 upc_block_factor_lookup): New dummy stub procedures.
719 * c-family/c-common.c (c_sizeof_or_alignof_type):
720 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
721 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
722 to copy (hashed) UPC blocking factor.
723 (set_type_quals): Likewise.
724 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
725 TYPE_HAS_THREADS_FACTOR().
726 (type_common.block_factor): Delete.
727 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
728 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
729 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
730 UPC blocking factors greater than one.
731 * dwarf2out.c (modified_type_die): Re-implement
732 logic that records UPC blocking factor in the generated
733 DWARF2 debugging information.
734 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
735 TYPE_HAS_THREADS_FACTOR().
736 * c-decl.c (finish_decl, grokdeclarator):
737 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
738 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
739 used by UPC, and print UPC-specific information.
741 2011-08-28 Gary Funck <gary@intrepid.com>
743 Re-work the type machinery to fully support and to unify support
744 for the UPC layout qualifier (blocking factor).
745 * c-family/stub-upc.c (upc_set_block_factor): Delete.
746 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
747 and update prototype.
748 * c-family/c-common.c (complete_array_type): call newly
749 defined c_build_qualified_type_1() instead of
750 upc_set_block_factor().
751 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
752 upc_apply_layout_qualifier() and update prototype.
753 (upc_set_block_factor): Delete prototype.
754 * c-family/c-common.h (c_build_qualified_type): redefine
755 as a pre-processor macro that invokes c_build_qualified_type_1()
756 with a null UPC layout qualifier.
757 (c_build_qualified_type_1): New. Add layout qualifier argument
758 to old c_build_qualified_type() prototype.
759 * tree.c (set_type_quals, check_qualified_type):
760 Add layout qualifier as argument.
761 (check_aligned_type): Add check for UPC block factor equality.
762 (get_qualified_type_1): Rename from get_qualified_type() and
763 add layout qualifier as argument.
764 (build_qualified_type_1): Rename from build_qualified_type() and
765 add layout qualifier as argument.
766 * tree.h (check_qualified_type): Add layout qualifier as argument
768 (get_qualified_type): Re-define as a as a pre-processor macro
769 that invokes get_qualified_type_1() with a null
770 UPC layout qualifier.
771 (get_qualified_type_1): Rename from get_qualified_type() and
772 add layout qualifier as argument.
773 * cp/tree.c (c_build_qualified_type_1): Rename from
774 c_build_qualified_type() and add (unused) layout qualifier
776 * c-decl.c (finish_decl): re-format long error messages.
777 (grokdeclarator): Re-work the logic so that it calls
778 upc_grok_layout_qualifier() to handle the UPC layout
779 qualifier, if present.
780 * c-typeck.c (qualify_type, common_pointer_type,
781 build_component_ref): Re-work the logic so that it calls
782 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
784 (c_build_qualified_type_1): Rename from c_build_qualified_type()
785 and add layout qualifier argument.
786 * print_tree.c (print_node): Re-format a long line.
788 2011-08-26 Gary Funck <gary@intrepid.com>
790 Merge trunk version 177949 into gupc branch.
791 * c-family/c-common.h (enum rid): Bump the number of type modifiers
793 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
794 to add new rliterals column value.
796 2011-08-26 Gary Funck <gary@intrepid.com>
798 * convert.c (convert_to_integer): Fix the check for the
799 difference between two UPC pointers-to-shared values.
801 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
803 * configure.ac: Fix the name for --with-upc-pts-packed-bits
804 option. Support --with-upc-packed-bits as deprecated. Fix the code to
805 correctly check packed bits.
806 * configure: Re-generate.
808 2011-08-16 Gary Funck <gary@intrepid.com>
810 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
811 the barrier id expression is not an integer expression.
813 2011-08-12 Gary Funck <gary@intrepid.com>
815 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
817 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
818 Set mode of UPC pointer-to-shared rep. to an
819 integral mode of size at least as large as the
820 size of the representation's struct type.
822 2011-08-12 Gary Funck <gary@intrepid.com>
824 Rework/simplify the UPC genericize pass.
825 * c-family/stub-upc.c (upc_apply_layout_qualifier,
826 upc_build_pointer_type): New.
827 (upc_set_block_factor): Adjust to new calling sequence.
828 (upc_build_shared_var_addr): Delete.
829 * c-family/c-common.c (complete_array_type): Adjust call
830 to upc_set_block_factor().
831 * c-family/c-upc.h (upc_apply_layout_qualifier,
832 upc_build_pointer_type): New.
833 (upc_build_shared_var_addr): Delete.
834 (upc_set_block_factor): Adjust to new calling sequence.
835 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
836 * c-decl.c (grokdeclarator): Call newly defined
837 upc_apply_layout_qualifier() instead of upc_set_block_factor().
838 * c-decl.c (grokdeclarator): Split long UPC-related error
839 messages into two lines.
840 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
841 directly. Revert that change to trunk. (upc_genericize() will
842 handle lowering the expressions that take the address of a
844 * config/i386/i386.c (ix86_promote_function_mode): For UPC
845 pointers-to-shared, return the type mode of the UPC pointer-to-shared
848 2011-08-10 Gary Funck <gary@intrepid.com>
850 Implement additional fixes for recent merge with trunk.
851 * explow.c (promote_mode): Do not attempt to promote
852 the mode for UPC pointer-to-shared types.
853 * config/i386/i386.c (function_value_64): Ditto.
855 2011-08-07 Gary Funck <gary@intrepid.com>
857 Merge trunk version 177548 into gupc branch.
858 * config/i386/i386.c (ix86_promote_function_mode):
859 Do not promote UPC pointers-to-shared to Pmode.
860 * c-family/c-ommon.c (pointer_int_sum):
861 Also check the pointer operand, rather than just
862 its type, when making the decision to derive
863 the equivalent unshared type.
864 * tree.c (build2_stat): If the type of the result
865 passed in as an argument is a UPC shared type,
866 derive the unshared equivalent when calculating
867 the result type of the node.
869 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
871 * config/darwin.c: Disable var_tracking option
872 on -O0 as it is supposed to run only when optimization
873 is applied. See GCC bug 49743.
875 2011-07-06 Gary Funck <gary@intrepid.com>
877 Re-implement the pass that lowers trees generated by
878 the UPC front-end into GENERIC. Previously this was
879 done within the gimplification framework, but this
880 required that gimplification be run before inlining
881 and various other passes, which did not fit in well
882 with the current design of the middle-end passes.
883 Now, the lowering is done by a newly defined language
884 specific genericize hook. With this change, we are
885 are able to undo some extensions made to the gimplify
886 logic, and thus can revert several files to trunk.
888 * c-decl.c: Add a check for UPC deprecated names which
889 may appear as undefined function names.
890 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
891 LTI_upc_getaddr): Remove definitions of unused UPC
892 library function names. These were defined back when
893 the libfunc interface was used to call these routines.
894 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
895 in UPC lowering (genericize) pass.
896 * langhooks.h (gimplify_expr): Revert to trunk's definition.
897 (instrument_func): Delete this hook. Now handled in
899 * tree-pass.h: Revert to trunk.
900 * c-typeck.c (build_unary_op): Adjust reference to
901 upc_genericize() in a comment.
902 * gimplify.c (create_tmp_var_raw): Delete logic that
903 was converting UPC shared types into unshared types
904 to be used for temporaries. Now handled in upc_genericize().
905 Replace with an assertion check.
906 (prepare_gimple_addressable): Revert to trunk's definition.
907 No longer needed as an externally called function.
908 (flag_instrument_functions_exclude_p): Re-define as
909 an externally called function.
910 (gimplify_function_tree): Delete code that implemented
911 call to UPC's language specific function instrumentation hook.
912 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
913 (prepare_gimple_addressable): Delete extern definition;
914 revert to trunk's definition.
915 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
916 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
917 * c-family/c-gimplify.c: Revert to trunk.
918 * cp/cp-gimplify.c: Revert to trunk.
919 * cp/cp-tree.h: Revert to trunk.
920 * explow.c: Revert to trunk.
921 * langhooks.c: Revert to trunk.
922 * libfuncs.h: Revert to trunk.
923 * objc/objc-act.c: Revert to trunk.
925 2011-06-30 Gary Funck <gary@intrepid.com>
927 * c-family/c.opt: Bring options definitions up-to-date
928 with respect to changes made in the trunk.
930 2011-06-29 Gary Funck <gary@intrepid.com>
932 Merge trunk version 175584 into gupc branch.
934 2011-06-13 Gary Funck <gary@intrepid.com>
937 * include/cpplib.h (enum c_lang):
938 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
939 This keeps all the "C" variants together.
940 * init.c (lang_defaults): Add an entry for UPC.
942 2011-06-09 Gary Funck <gary@intrepid.com>
944 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
945 a 32-bit target, the size expression overflowed, the result was
946 error_mark_node, and an ICE was triggered on an attempt to evaluate
947 C_TYPE_VARIABLE_SIZE() on the error node.
948 (upc_blocksizeof_expr, upc_blocksizeof_type,
949 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
950 Make similar changes to avoid further processing of error_mark_node.
952 2011-06-07 Gary Funck <gary@intrepid.com>
954 * sel-sched.c (move_op): Incorporate the following
955 patch to eliminate ICE at -O3 on IA64/Altix.
957 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
959 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
960 code_motion_path_driver returned 0 or 1.
961 (sel_region_finish): Clear h_d_i_d.
963 2011-06-02 Gary Funck <gary@intrepid.com>
965 Merge trunk version 174558 into gupc branch.
967 2011-05-30 Gary Funck <gary@intrepid.com>
969 * configure.ac: Make the default order of the virtual
970 address field in a UPC pointer-to-shared to be "first".
971 This reverts to the previous setting, and is a short term
972 measure to work around a bug found on the IA64,
973 where vaddr=last led to incorrect code generation.
974 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
975 in AC_DEFINE(), to agree with recent changes in files
976 that reference this define.
977 configure, config.in: Regenerate.
979 2011-05-26 Gary Funck <gary@intrepid.com>
981 * configure.ac: Fix typo when referring to $upc_vaddr_order.
982 configure: Regenerate.
984 * ../fixincludes/fixincl.x: Revert to trunk.
985 This file is auto-generated, and should not be merged.
987 2011-05-18 Gary Funck <gary@intrepid.com>
989 Merge trunk version 173845 into gupc branch.
991 2011-05-17 Gary Funck <gary@intrepid.com>
993 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
994 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
996 * c-family/c-pragma.c: Remove conditional compilation
997 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
998 Test 'compiling_upc' when compiling to determine if
999 the "upc" and "pupc" pragmas should be registered.
1001 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1002 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1003 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1004 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1005 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1006 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1007 Move these target-dependent definitions from config/upc-conf.h
1010 * configure.ac: Improve the logic for UPC-related options.
1011 Delete references to pre-processor definitions that have
1012 been moved to "upc/upc-pts.h".
1014 * configure, config.in: Regenerate.
1016 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1017 to trunk. This substitution variable was used to
1018 configure the representation-specific versions of
1019 the tree rewrites that operate on UPC pointer-to-shared
1022 * c-parser.c (c_parser_upc_forall_statement): Remove
1023 reference to UPC_FORALL_DEPTH_NAME, and call
1024 newly defined upc_rts_forall_depth_var() instead.
1026 * config/upc-config.h: Delete. Various definitions
1027 moved to "upc/upc-rts-names.h", "defaults.h", and
1030 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1031 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1032 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1033 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1034 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1035 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1036 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1037 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1038 New. Document UPC target macros.
1039 doc/tm.texi: Regenerate.
1041 2011-05-07 Gary Funck <gary@intrepid.com>
1043 * ../configure.ac: Disable build of libupc
1044 on non POSIX hosted systems. Use AS_HELP_STRING
1045 to define messages. Remove 'word-pair' as a
1046 possible --with-upc-pts UPC pointer-to-shared
1049 * ../configure: Regenerate.
1051 * configure.ac: Use AS_HELP_STRING to define messages.
1052 Remove 'word-pair' as a possible --with-upc-pts
1053 UPC pointer-to-shared representation.
1054 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1055 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1057 * configure: Regenerate.
1059 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1062 * ChangeLog.upc: Fix some typos.
1064 2011-05-07 Gary Funck <gary@intrepid.com>
1066 * ../maintainer-scripts/gcc_release: Add "upc"
1067 as one of the released languages.
1069 2011-05-06 Gary Funck <gary@intrepid.com>
1071 Eliminate compilation warnings, by fixing
1072 #include's and updating function prototypes.
1074 * c-family/c-cppbuiltin.c: Include c-upc.h.
1076 * optabs.c (gen_libfunc): Change type of 'suffix'
1077 parameter to conform with prototype.
1079 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1080 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1083 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1086 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1087 argument values to cp_gimplify_expr.
1089 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1090 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
1091 pre-processor definitions that are no longer
1092 needed to build the 'upc' command (upc-cmd.c)
1093 because the linker specs. defined in libupc
1094 take care of linking in the needed libraries.
1096 * c-parser.c (c_parser_upc_forall_statement):
1097 initialize affinity_loc to avoid "maybe unused" warning.
1098 (c_parser_upc_sync_statement): Remove un-needed
1099 'ret' variable. Cast return value from
1100 'upc_build_sync_stmt' to 'void' to avoid
1101 compile-time warning.
1103 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1104 integer constant, not a string. Range is restricted
1105 to maximum positive 32-bit integer (2+ billion) to
1106 fit in with the use of 'int' in the front-end's
1107 switch handling logic.
1109 2011-05-06 Gary Funck <gary@intrepid.com>
1111 Upgrade c-family source files to conform with modularity
1112 improvements. Mainly, remove #include of c-tree.h in files
1113 under c-family, and define a new UPC-specific #include file,
1114 c-upc.h, and use it.
1116 * c-family/stub-upc.c: Remove #include of c-tree.h and
1117 upc/upc-act.h. Replace with #include of c-common.h
1119 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1120 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1121 upc_localsizeof_expr, upc_localsizeof_type,
1122 upc_shared_type_p): Delete.
1124 * c-family/c-opts.c: Add #include of c-upc.h
1126 * c-family/c-common.c: Remove #include of c-tree.h and
1127 add #include of c-upc.h.
1129 * c-family/c-upc.h: New. Define API for UPC-specific functions
1130 (mostly implemented in upc/upc-act.c).
1132 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
1133 Remove extern definitions.
1135 * c-family/c-pragma.c: Remove #include of c-tree.h.
1136 Add #include of c-upc.h.
1138 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
1140 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
1141 upc/upc-act.c, and define as a macro.
1142 (expand_affinity_test): Remove unused external definition.
1143 (build_upc_unshared_type): Add external definition.
1144 (upc_shared_type_p): Remove external definition.
1146 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1148 * dojump.c: Remove #include of c-tree.h.
1150 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1152 (count_upc_threads_refs, is_multiple_of_upc_threads,
1153 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1154 upc_build_shared_var_addr, upc_build_sync_stmt,
1155 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1156 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1157 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1158 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1159 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1160 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1161 set_upc_consistency_mode, get_upc_consistency_mode,
1162 push_upc_consistency_mode, pop_upc_consistency_mode,
1164 Move external definitions to c-family/c-upc.h.
1165 (upc_blocksizeof_type, upc_localsizeof_type,
1166 upc_elemsizeof_type): Remove external definitions;
1167 these functions were moved to c-parser.c.
1169 * c-decl.c: Add #include of c-upc.h.
1171 * c-typeck.c: Add #include of c-upc.h.
1173 * c-convert.c: Add #include of c-upc.h.
1175 * ChangeLog.upc: Fix typo.
1177 * Makefile.in: Add references to c-family/c-upc.h, everywhere
1178 there is a reference to c-family/c-objc.h.
1179 Remove extraneous reference to upc-act.h.
1181 * c-parser.c: Add #include of c-upc.h.
1182 (upc_blocksizeof_expr, upc_blocksizeof_type,
1183 upc_elemsizeof_expr, upc_elemsizeof_type,
1184 upc_localsizeof_expr, upc_localsizeof_type):
1185 Move from upc/upc-act.c.
1187 * tree.c (build_upc_unshared_type): New.
1188 Move upc_get_unshared_type from upc/upc-act.c and rename
1189 to build_upc_unshared_type.
1190 c-family/c-common.c (pointer_int_sum): refer to renamed
1191 build_upc_unshared_type function.
1192 c-convert.c (convert): Ditto.
1193 convert.c (convert_to_pointer): Ditto.
1194 c-typeck.c (build_unary_op, build_modify_expr,
1195 really_start_incremental_init): Ditto.
1196 gimplify.c (create_tmp_var_raw): Ditto.
1197 tree.c (build1_stat): Ditto.
1198 tree.h (upc_get_unshared_type): Rename to
1199 build_upc_unshared_type.
1201 2011-05-06 Gary Funck <gary@intrepid.com>
1203 Merge trunk version 173471 into gupc branch.
1205 2011-05-05 Gary Funck <gary@intrepid.com>
1207 Make changes that bring the GUPC branch more closely in sync.
1208 with the GCC trunk. Revert any fixes that are not UPC-specific.
1209 Remove gratuitous re-formatting.
1211 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1212 This file should have been removed in a previous merge
1214 * ../configure.ac: Remove Cray Catamount/CNL support.
1215 * ../configure: Regenerate.
1216 * ../config.sub: Remove Cray Catamount/CNL support.
1217 * config.gcc: Remove Cray Catamount/CNL support.
1218 * ../maintainer-scripts/gcc_release: Revert to trunk.
1219 * c-family/c-common.h: Define parse_optimize_options. Its definition
1220 was missed in a previous merge with the trunk.
1221 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1223 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1224 in addition to ARRAY_TYPE.
1225 * c-typeck.c: Remove an extra newline character.
1226 * varasm.c: Revert a fix that improved an error message
1227 when TLS common data is unimplemented.
1228 * varasm.c: Revert a gcc_assert that had been added which
1229 checked for a null DECL_SIZE_UNIT field.
1230 * emultls.c: Revert to trunk. Remove possible fix.
1231 * Makefile.in: Revert extra blank line that is present
1232 in the trunk version.
1233 * Makefile.in: Revert a fix that handled long shell
1234 argument lists for plugin headers.
1235 * config/ia64/ia64.opt: Revert an option setting
1236 that increased the default TLS address range.
1237 * config/ia64/crtbegin.asm: Revert to trunk.
1238 Removes an extra newline character.
1239 * ChangeLog.upc: Spell check.
1241 2011-05-03 Gary Funck <gary@intrepid.com>
1243 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1244 (c_apply_type_quals_to_decl): Ditto.
1245 * c-family/c-common.h: Ditto.
1247 * c-decl.c (merge_decls): Ditto.
1248 * c-typeck.c (qualify_type, default_conversion,
1249 build_component_ref, build_unary_op,
1250 c_build_qualified_type): Ditto.
1251 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1253 2011-04-29 Gary Funck <gary@intrepid.com>
1255 * c-decl.c (finish_decl): Improve error diagnostics.
1256 (grokdeclarator): Ditto.
1258 * c-typeck.c (build_c_cast): Improve error diagnostics.
1259 (convert_for_assignment): Ditto.
1260 (build_binary_op): Ditto.
1262 * c-parser.c (c_parser_upc_forall_statement):
1263 Improve error diagnostics.
1265 * convert.c (convert_to_integer): Improve error diagnostics.
1267 2011-04-24 Gary Funck <gary@intrepid.com>
1269 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1270 occurred if there is an error in the barrier id
1271 expression. Map error_mark_node into NULL.
1273 2011-04-22 Gary Funck <gary@intrepid.com>
1275 Merge trunk version 172873 into gupc branch.
1277 2011-04-19 Gary Funck <gary@intrepid.com>
1279 Merge trunk version 172359 into gupc branch.
1281 2011-04-14 Gary Funck <gary@intrepid.com>
1283 * c-family/c.opt: Add UPC as a valid language for various
1284 switches where it is valid for "C", that were not updated
1285 in previous merges with trunk.
1287 2011-04-13 Gary Funck <gary@intrepid.com>
1289 * c-family/c.opt (fupc-pre-include): New option definition.
1290 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1291 -fno-upc-pre-include is asserted.
1293 2011-04-07 Gary Funck <gary@intrepid.com>
1295 Merge trunk version 172158 into gupc branch.
1296 to bring in the following fix.
1298 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1301 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1302 if old and new states differ.
1304 2011-04-06 Gary Funck <gary@intrepid.com>
1306 Merge trunk version 171966 into gupc branch.
1308 2011-04-01 Gary Funck <gary@intrepid.com>
1310 * tree.h (tree_base): Move UPC flag bits into bit fields
1311 located just before spare bits. Decrement spare bits.
1312 Rename 'shared_flag' -> 'upc_shared_flag',
1313 'relaxed_flag' -> 'upc_relaxed_flag',
1314 'strict_flag' -> 'upc_strict_flag, and adjust macros
1315 that reference them accordingly.
1317 2011-04-01 Gary Funck <gary@intrepid.com>
1319 * c-decl.c (grokdeclarator): Fix formatting of
1320 code that sets UPC block size on scalars.
1322 2011-04-01 Gary Funck <gary@intrepid.com>
1324 * c-decl.c (grokdeclarator): Revert use of white space
1325 to match the trunk (to rationalize diffs).
1326 * c-typeck.c (convert_for_assignment): Ditto.
1327 * tree-ssa.c (useless_type_conversion_p): Ditto.
1329 2011-03-23 Gary Funck <gary@intrepid.com>
1331 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1332 the GCC 4.6 release branch.
1334 2011-03-21 Gary Funck <gary@intrepid.com>
1336 Merge trunk version 171202 into gupc branch.
1338 2011-03-20 Gary Funck <gary@intrepid.com>
1340 * varasm.c: Call error() directly with a format specifier,
1341 rather than using sprintf() to format the message.
1342 This should make it easier to internationalize UPC's error messages.
1344 2011-03-20 Gary Funck <gary@intrepid.com>
1346 * configure.ac: Fix the check for gnu ld when enabling
1347 UPC link script support.
1348 configure: Regenerate (also picks up changes from previous
1351 2011-03-20 Gary Funck <gary@intrepid.com>
1353 Move UPC start files, end files, and linker specs.
1354 into libupc. This reduces the impact on common GCC
1355 configuration files, and ensures that these UPC-specific
1356 components are only built when the UPC language dialect is selected.
1360 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1361 linker specs. Fix typo in -fupc-debug message.
1363 * config/upc-conf.h, config/darwin.h: Move defines for
1364 UPC-related section begins/ends into libupc/config/default/
1367 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1368 UPC-related linker compiler specifications,
1369 accessed via %:include().
1371 * configure.ac, configure: Remove logic related to building
1372 upc-crtbegin/end. Remove config. tests for numa and cpu
1373 affinity (previously used by the 'upc' driver); these
1374 settings are now propagated by target-specific compiler
1375 specs. built by libupc. Regenerate autoconf.
1377 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1378 linker compiler specifications, accessed via %:include().
1379 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1382 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1384 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1385 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1386 config/ia64/linux.h, config/mips/t-iris,
1387 config/mips/iris6.h: Revert to trunk version 167307.
1390 * configure, configure.ac, config.host, Makefile.in:
1391 Revert to trunk version 167307.
1393 2011-02-23 Gary Funck <gary@intrepid.com>
1395 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1396 removed negation on following 'if'.
1398 2011-02-22 Gary Funck <gary@intrepid.com>
1400 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1401 to check for the usage of certain deprecated UPC keywords.
1402 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1403 * c-tree.h (undeclared_variable): Define prototype.
1405 2011-02-12 Gary Funck <gary@intrepid.com>
1407 * c-typeck.c: (build_c_cast, convert_for_assignment)
1408 Diagnose an attempt to convert from an integer to
1409 a pointer-to-shared as an error. Also, fix various
1410 error messages so that they use the preferred term
1411 pointer-to-shared instead of "shared pointer".
1413 2011-02-07 Gary Funck <gary@intrepid.com>
1415 * c-typeck.c: (convert_for_assignment)
1416 Fix typo. in error message.
1418 2011-01-23 Gary Funck <gary@intrepid.com>
1420 * c-typeck.c: (c_build_qualified_type)
1421 derive UPC block size by calling upc_get_block_size(),
1422 to ensure that the element type of an array of an array
1423 is derived correctly.
1425 2010-12-29 Gary Funck <gary@intrepid.com>
1427 Merge trunk version 168314 into gupc branch.
1429 2010-12-15 Gary Funck <gary@intrepid.com>
1431 Merge trunk version 167307 into gupc branch.
1433 2010-10-19 Gary Funck <gary@intrepid.com>
1435 * c-typeck.c: Fix typo in previous fix
1436 which led to a mis-compare for equal block sizes.
1438 2010-10-18 Gary Funck <gary@intrepid.com>
1440 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1441 diagnosed as an error
1443 The conversion from any type (shared or not) to
1444 a shared type is likely either meaningless or an error. This update
1445 makes any conversion to a shared type, an error.
1447 2010-10-18 Gary Funck <gary@intrepid.com>
1449 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1450 generates spurious warning
1452 Add a #define procedure that does the same thing as
1453 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1454 this procedure to diagnose passing an integer value to a
1455 pointer-to-shared as an error.
1457 2010-10-18 Gary Funck <gary@intrepid.com>
1459 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1460 matching routine declaration.
1462 When checking for type compatibility, shared qualified types must
1463 have the same block factor. This check was missing from
1464 comptypes_internal(). This update adds the check for blocking
1467 2010-10-17 Gary Funck <gary@intrepid.com>
1469 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1472 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1474 2010-10-17 Gary Funck <gary@intrepid.com>
1476 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1477 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1478 produces ice with -O3 and -m32.
1480 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1482 2010-10-17 Gary Funck <gary@intrepid.com>
1484 * c-common.c: Diagnose the application of the various "*sizeof"
1485 operations on generic pointer-to-shared as a compilation error.
1487 2010-10-17 Gary Funck <gary@intrepid.com>
1489 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1490 message regarding a function parameter being declared with a shared
1493 The parameter's 'name' value is not defined at this point, and
1494 cannot be used in the error message. This update removes the
1495 reference to 'name', and eliminates the segfault.
1497 2010-10-16 Gary Funck <gary@intrepid.com>
1499 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1501 The gcc/Makefile.in rules for install-plugin had to be re-written to
1502 break up a long list of header files that exceeded the command line
1503 limitation imposed by Irix.
1505 Access functions for TFmode types had to be implemented.
1506 Apparently, this is the mode used for the SGI/MIPS port to represent
1509 2010-10-14 Gary Funck <gary@intrepid.com>
1511 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1512 via typedef chain should not be diagnosed as an error.
1514 If the block size that is given by the typedef is equal to the block
1515 size given explicitly in the variable declaration, then do not
1516 complain. The easiest way to make this check was to create a
1517 temporary type that is a clone of the element type and then set its
1518 block size using the given layout qualifier. Then compare the block
1519 size of the temporary (the declaration) to the block size specified
1520 in the typedef. This complexity is needed, because the '[*]' block
1521 size needs to be calculated, and the '[]' needs to be mapped into a
1524 2010-10-10 Gary Funck <gary@intrepid.com>
1526 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1529 The compiler properly detected the presence of two or more layout
1530 qualifiers as an error, but then hit an assertion check, because the
1531 code that followed the error expected to see a qualifier and not a
1532 layout specifier. The fix is simple: just return immediately after
1533 detecting the error.
1535 2010-10-10 Gary Funck <gary@intrepid.com>
1537 * c-decl.c: Improve error diagnostics for various cases of UPC
1538 shared array type declarations.
1540 Add the check for this error: "In the dynamic translation
1541 environment, THREADS may not appear in declarations of shared arrays
1542 with indefinite block size". Also, fix up a few of the other
1543 related error diagnostics.
1545 2010-10-09 Gary Funck <gary@intrepid.com>
1547 * c-common.c: Fix bug: segfault on incomplete array definition.
1549 This turned out to be a bit complicated. The logic in
1550 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1551 the THREADS identifier in the case where the blocking factor has
1552 been set to indefinite ([]). This can happen when indefinite array
1553 declarations are processed for shared arrays. At that time, the
1554 file scope has been closed and THREADS is no longer in scope. Some
1555 more work is needed on upc_lang_layout_decl(). It has some
1556 duplication, and notably duplicates the two branches of the if
1557 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1558 caller of this routine (layout_decl()).
1560 The method of forcing a layout qualifier of [] in the indefinite
1561 declaration handler is odd a well. The code that just does the
1562 setting of the block factor, needs to moved into its own routine
1563 that doesn't depend upon a declspec for '[]' to be passed in, just
1564 in order to set the blocking factor to some value (in this case, 0).
1565 Also, the logic for how that shared type is constructed is strange.
1566 First the type with 0 blocking factor is set. Then the shared
1567 qualifier is removed from the type, and then added back later. The
1568 intermediate type has a blocking factor set, but it has no shared
1569 qualifier. Fixing this will require some thought. It is tempting
1570 just to make indefinite shared arrays an error, rather than forcing
1571 the dimension to be '1'.
1573 This likely fixes a serious error in the previous update to
1574 upc_lang_layout_decl(), where it didn't have the logic to set
1575 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1576 the previous update would fail on many tests.
1578 2010-10-09 Gary Funck <gary@intrepid.com>
1580 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1581 (decl) is null, which can happen if some layout error occurred
1584 2010-10-09 Gary Funck <gary@intrepid.com>
1586 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1587 "variable-sized" when compiled in dynamic threads.
1589 This long-standing bug is easily fixed. Just check
1590 for the situation that the non-constant sized type is shared and
1591 that it does not have a dimension that references a multiple of
1592 threads. If this criteria is met, then issue a meaningful
1595 2010-10-01 Gary Funck <gary@intrepid.com>
1597 * configure, configure.ac: Update manual page, and bug reporting
1600 Update "man" page to reflect debugging switches. Also, some general
1601 clean up. Change the bug reporting URL to point to gccupc.org.
1603 2010-09-27 Gary Funck <gary@intrepid.com>
1605 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1606 the UPC forall depth count variable is not found.
1608 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1609 The compiler will generate code that references this variable in
1610 order to implement nested upc_forall semantics. If there is a
1611 compiler build or install problem, this variable may not be found.
1612 In this case, terminate with an internal_error().
1614 2010-09-26 Gary Funck <gary@intrepid.com>
1616 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1617 mis-diagnosed as syntax error.
1619 Fix a failure exhibited by the Berkeley test case,
1620 bug873a.upc, which has the code:
1622 upc_forall (;;;d) {...} The compiler did not properly handle
1623 the empty "condition" clause, and did not recover well when it was
1624 determined that the use of a double value, "d" above, was neither a
1625 pointer-to-shared nor an integer expression. The update implements a
1626 fix for both issues.
1628 See also: gcc/c-parser.c gcc/upc/upc-act.c
1630 2010-09-23 Gary Funck <gary@intrepid.com>
1632 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1633 incorporated into the referencing type.
1635 This was semi-fixed a few times before. This update fixes a few
1636 more places where the layout qualifier wasn't being propagated
1637 through typedef's properly. What made this a bit tricky is shown in
1638 the example cited in the bug report:
1640 typedef shared [5] int A_t; A_t A[5*THREADS];
1642 In the typedef, the blocksize is being applied to a shared *scalar*,
1643 and the code was applying the blocksize only to arrays. This update
1644 handles shared scalars correctly.
1646 2010-09-22 Gary Funck <gary@intrepid.com>
1648 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1649 upc_forall() semantics are not implemented
1651 The checkforall test in the Berkeley harness test suite indicated
1652 that GCC/UPC was not properly implementing nested upc_forall
1653 semantics. Nested upc_forall statements (both statically or
1654 dynamically nested) must implement their affinity clause as if it
1655 were "continue"; thus all steps in the loop must execute without
1656 regard for affinity. To implement these semantics a global depth
1657 counter, __upc_forall_depth, is maintained by the generated code
1658 that implements upc_forall.
1660 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1661 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1662 libupc/include/upc.h libupc/smp/upc_main.c
1664 2010-09-19 Gary Funck <gary@intrepid.com>
1666 * c-decl.c: c-decl.c: zero out the layout specifier, after
1667 processing an array type.
1669 Fix the previous fix, that moved the setting of the type's layout
1670 qualifier to the outside of the array type processing loop. What is
1671 missing from the fix is that the layout_qualifier variable needs to
1672 be cleared after setting the type's blocksize.
1674 2010-09-19 Gary Funck <gary@intrepid.com>
1676 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1677 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1679 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1680 the actual maximum block size. Therefore, the message was correct,
1681 but the underlying value that was being checked was wrong. Change
1682 the values so that they agree with the actual implementation-defined
1685 2010-09-11 Gary Funck <gary@intrepid.com>
1687 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1688 multi-dimensional shared array with dynamic threads.
1690 This declaration caused an internal compiler error when compiled
1691 with dynamic threads:
1692 shared [*] int A[THREADS][16]; The bug was discovered when
1693 compiling the RTED_UPC test suite.
1695 The fix is to process layout qualifiers after the entire array type
1696 has been built. Otherwise, we try to calculate the blocksize on a
1697 shared array type that has not had its "size depends upon the value
1698 of THREADS" flag set.
1700 Also, added a test case.
1702 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1704 2010-07-11 Gary Funck <gary@intrepid.com>
1706 Fix a bug where a statement in c_build_qualified_type()
1707 in the trunk had been inadvertently deleted.
1708 This bug showed up in the IA64 port, because jmpbuf's
1709 on that architecture must be 16 byte aligned, and they were not.
1710 c-typeck.c (c_build_qualified_type): Revive the deleted line.
1712 2010-07-08 Gary Funck <gary@intrepid.com>
1714 Make changes so that other language compilers
1715 will build and bootstrap.
1716 * c-family/c-common.c (compiling_upc, flag_upc,
1717 flag_upc_instrument, flag_upc_instrument_functions,
1718 use_upc_dwarf2_extensions): Move to stub-upc.c and
1720 * c-family/c-common.h (use_upc_dwarf2_extensions,
1721 compiling_upc): Add extern definitions - needed
1722 to compile/build other language front ends.
1723 * c-family/c.opt: Fix the spelling of ObjC.
1724 It had been incorrectly spelled as Objc.
1725 * c-family/c.opt: Add UPC for the various switches
1726 that are valid for both C and ObjC.
1727 * c-fmaily/c-opts.c: Add CL_UPC to the list of
1728 supported options switches when compiling assembly
1730 * lto/lto-lang.c (use_upc_dwarf2_extensions,
1731 flag_upc_instrument, flag_upc_instrument_functions):
1732 Remove these definitions. They have been moved
1733 to c-family/stub-upc.c.
1734 * upc/ChangeLog: Move relevant entries
1736 * c-family/stub-upc.c (compiling_upc, flag_upc,
1737 flag_upc_instrument, flag_upc_instrument_functions,
1738 use_upc_dwarf2_extensions): Moved from c-common.c
1739 * upc/upc-lang.c (compiling_upc, flag_upc,
1740 flag_upc_instrument, flag_upc_instrument_functions,
1741 use_upc_dwarf2_extensions): Moved from c-common.c
1742 * objc/objc-act.c (objc_gimplify_expr): Add additional
1743 parameters to c_gimplify_expr() call, that are used
1744 by upc's tree rewrites.
1745 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1746 * gcc/cp/lex.c (init_reswords): If not compiling
1747 UPC, then mask off the UPC keywords.
1748 * cp/Make-lang.in (C_STUB_OBJS): Use this
1749 make macro to link with c-family/stub-objc.o
1750 and c-family/stub-upc.o.
1751 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1752 * java/Make-lang.in (C_STUB_OBJS): Likewise.
1753 * objc/Make-lang.in: Link with c-family/stub-upc.o
1754 to avoid undefined references.
1755 c-parser.c: Fix line indentation.
1756 * libcpp/include/cpplib.h: Remove CL_UPC from
1757 the list of language kinds accepted by the
1758 C preprocessor. This is not necessary because
1759 UPC is a derivative of C99, and does not need
1760 a different language kind.
1761 * c-fmaily/c-opts.c (c_common_handle_option):
1762 Call set_std_c99() when processing the
1763 "--lang upc" switch, instead of setting the
1764 language kind to CL_UPC.
1765 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1767 2010-07-03 Gary Funck <gary@intrepid.com>
1769 Merge trunk version 161517 into gupc branch.
1770 * gcc/stub-upc.c: Move to gcc/c-family/.
1771 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1772 Add 'unused' attributes to avoid "set, but
1773 not referenced" warnings.
1774 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1777 2010-03-01 Gary Funck <gary@intrepid.com>
1779 Create gupc branch from trunk version 157149.
1780 2011-10-04 Gary Funck <gary@intrepid.com>
1782 Merge trunk version 179421 into gupc branch.
1784 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1785 argument to the call to check_qualified_type().
1787 2011-09-22 Gary Funck <gary@intrepid.com>
1789 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1791 (dump_upc_type_quals): New.
1793 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1795 Add to FLAGS the flags needed to disable inlining of
1796 UPC run-time access routines.
1797 * testsuite/lib/target-supports.exp
1798 (add_options_for_upc_library_calls): New.
1800 2011-09-15 Gary Funck <gary@intrepid.com>
1802 Fix ICE involving shared bit field accesses.
1803 * tree.c (build3_stat): Propagate TEEE_SHARED()
1804 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1806 2011-09-13 Gary Funck <gary@intrepid.com>
1808 Merge trunk version 178795 into gupc branch.
1809 Incorporates fix to PR bootstrap/50010 for x86-32.
1811 2011-09-08 Gary Funck <gary@intrepid.com>
1813 Merge trunk version 178557 into gupc branch.
1815 2011-09-07 Gary Funck <gary@intrepid.com>
1817 Ensure that UPC pointer-to-shared type alignment is
1818 propagated to the final type. Revert to long-standing
1819 alignment policy: twice the size of a "C" pointer.
1820 * tree.c (build_pointer_type): Propagate the alignment
1821 of the UPC pointer-to-shared representation type
1822 into the newly built pointer type.
1824 2011-08-30 Gary Funck <gary@intrepid.com>
1826 * tree.h (check_qualified_type): Change 'const_tree'
1827 argument types back to 'tree' to avoid complaints
1828 of assignment drops qualifiers for invocations of the
1829 newly implemented TYPE_BLOCK_FACTOR() macro, which
1830 invokes hash functions with 'tree' pointer values that
1831 are not const qualified.
1832 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1833 * c-typeck.c (comptypes_internal): Ditto.
1835 2011-08-29 Gary Funck <gary@intrepid.com>
1837 Fixes for regressions noted running "make check"
1839 * fold-const.c (fold_unary_loc): Execute UPC-specific
1840 checks for a cast-of-a-cast, only if one of the
1841 operands is a UPC pointer-to-shared value.
1842 * opts.c (print_specific_help): Fix a comparison
1843 in an assert that checks that there are enough
1844 bits reserved for the number of languages defined
1847 2011-08-29 Gary Funck <gary@intrepid.com>
1849 Implement a hash table to record UPC block factors.
1850 * c-family/stub-upc.c (upc_block_factor_insert,
1851 upc_block_factor_lookup): New dummy stub procedures.
1852 * c-family/c-common.c (c_sizeof_or_alignof_type):
1853 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1854 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1855 to copy (hashed) UPC blocking factor.
1856 (set_type_quals): Likewise.
1857 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1858 TYPE_HAS_THREADS_FACTOR().
1859 (type_common.block_factor): Delete.
1860 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1861 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1862 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1863 UPC blocking factors greater than one.
1864 * dwarf2out.c (modified_type_die): Re-implement
1865 logic that records UPC blocking factor in the generated
1866 DWARF2 debugging information.
1867 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1868 TYPE_HAS_THREADS_FACTOR().
1869 * c-decl.c (finish_decl, grokdeclarator):
1870 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1871 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1872 used by UPC, and print UPC-specific information.
1874 2011-08-28 Gary Funck <gary@intrepid.com>
1876 Re-work the type machinery to fully support and to unify support
1877 for the UPC layout qualifier (blocking factor).
1878 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1879 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1880 and update prototype.
1881 * c-family/c-common.c (complete_array_type): call newly
1882 defined c_build_qualified_type_1() instead of
1883 upc_set_block_factor().
1884 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1885 upc_apply_layout_qualifier() and update prototype.
1886 (upc_set_block_factor): Delete prototype.
1887 * c-family/c-common.h (c_build_qualified_type): redefine
1888 as a pre-processor macro that invokes c_build_qualified_type_1()
1889 with a null UPC layout qualifier.
1890 (c_build_qualified_type_1): New. Add layout qualifier argument
1891 to old c_build_qualified_type() prototype.
1892 * tree.c (set_type_quals, check_qualified_type):
1893 Add layout qualifier as argument.
1894 (check_aligned_type): Add check for UPC block factor equality.
1895 (get_qualified_type_1): Rename from get_qualified_type() and
1896 add layout qualifier as argument.
1897 (build_qualified_type_1): Rename from build_qualified_type() and
1898 add layout qualifier as argument.
1899 * tree.h (check_qualified_type): Add layout qualifier as argument
1901 (get_qualified_type): Re-define as a as a pre-processor macro
1902 that invokes get_qualified_type_1() with a null
1903 UPC layout qualifier.
1904 (get_qualified_type_1): Rename from get_qualified_type() and
1905 add layout qualifier as argument.
1906 * cp/tree.c (c_build_qualified_type_1): Rename from
1907 c_build_qualified_type() and add (unused) layout qualifier
1909 * c-decl.c (finish_decl): re-format long error messages.
1910 (grokdeclarator): Re-work the logic so that it calls
1911 upc_grok_layout_qualifier() to handle the UPC layout
1912 qualifier, if present.
1913 * c-typeck.c (qualify_type, common_pointer_type,
1914 build_component_ref): Re-work the logic so that it calls
1915 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1917 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1918 and add layout qualifier argument.
1919 * print_tree.c (print_node): Re-format a long line.
1921 2011-08-26 Gary Funck <gary@intrepid.com>
1923 Merge trunk version 177949 into gupc branch.
1924 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1926 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1927 to add new rliterals column value.
1929 2011-08-26 Gary Funck <gary@intrepid.com>
1931 * convert.c (convert_to_integer): Fix the check for the
1932 difference between two UPC pointers-to-shared values.
1934 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1936 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1937 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1938 correctly check packed bits.
1939 * configure: Re-generate.
1941 2011-08-16 Gary Funck <gary@intrepid.com>
1943 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1944 the barrier id expression is not an integer expression.
1946 2011-08-12 Gary Funck <gary@intrepid.com>
1948 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1950 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1951 Set mode of UPC pointer-to-shared rep. to an
1952 integral mode of size at least as large as the
1953 size of the representation's struct type.
1955 2011-08-12 Gary Funck <gary@intrepid.com>
1957 Rework/simplify the UPC genericize pass.
1958 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1959 upc_build_pointer_type): New.
1960 (upc_set_block_factor): Adjust to new calling sequence.
1961 (upc_build_shared_var_addr): Delete.
1962 * c-family/c-common.c (complete_array_type): Adjust call
1963 to upc_set_block_factor().
1964 * c-family/c-upc.h (upc_apply_layout_qualifier,
1965 upc_build_pointer_type): New.
1966 (upc_build_shared_var_addr): Delete.
1967 (upc_set_block_factor): Adjust to new calling sequence.
1968 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1969 * c-decl.c (grokdeclarator): Call newly defined
1970 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1971 * c-decl.c (grokdeclarator): Split long UPC-related error
1972 messages into two lines.
1973 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1974 directly. Revert that change to trunk. (upc_genericize() will
1975 handle lowering the expressions that take the address of a
1977 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1978 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1979 representation type.
1981 2011-08-10 Gary Funck <gary@intrepid.com>
1983 Implement additional fixes for recent merge with trunk.
1984 * explow.c (promote_mode): Do not attempt to promote
1985 the mode for UPC pointer-to-shared types.
1986 * config/i386/i386.c (function_value_64): Ditto.
1988 2011-08-07 Gary Funck <gary@intrepid.com>
1990 Merge trunk version 177548 into gupc branch.
1991 * config/i386/i386.c (ix86_promote_function_mode):
1992 Do not promote UPC pointers-to-shared to Pmode.
1993 * c-family/c-ommon.c (pointer_int_sum):
1994 Also check the pointer operand, rather than just
1995 its type, when making the decision to derive
1996 the equivalent unshared type.
1997 * tree.c (build2_stat): If the type of the result
1998 passed in as an argument is a UPC shared type,
1999 derive the unshared equivalent when calculating
2000 the result type of the node.
2002 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
2004 * config/darwin.c: Disable var_tracking option
2005 on -O0 as it is supposed to run only when optimization
2006 is applied. See GCC bug 49743.
2008 2011-07-06 Gary Funck <gary@intrepid.com>
2010 Re-implement the pass that lowers trees generated by
2011 the UPC front-end into GENERIC. Previously this was
2012 done within the gimplification framework, but this
2013 required that gimplification be run before inlining
2014 and various other passes, which did not fit in well
2015 with the current design of the middle-end passes.
2016 Now, the lowering is done by a newly defined language
2017 specific genericize hook. With this change, we are
2018 are able to undo some extensions made to the gimplify
2019 logic, and thus can revert several files to trunk.
2021 * c-decl.c: Add a check for UPC deprecated names which
2022 may appear as undefined function names.
2023 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2024 LTI_upc_getaddr): Remove definitions of unused UPC
2025 library function names. These were defined back when
2026 the libfunc interface was used to call these routines.
2027 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2028 in UPC lowering (genericize) pass.
2029 * langhooks.h (gimplify_expr): Revert to trunk's definition.
2030 (instrument_func): Delete this hook. Now handled in
2032 * tree-pass.h: Revert to trunk.
2033 * c-typeck.c (build_unary_op): Adjust reference to
2034 upc_genericize() in a comment.
2035 * gimplify.c (create_tmp_var_raw): Delete logic that
2036 was converting UPC shared types into unshared types
2037 to be used for temporaries. Now handled in upc_genericize().
2038 Replace with an assertion check.
2039 (prepare_gimple_addressable): Revert to trunk's definition.
2040 No longer needed as an externally called function.
2041 (flag_instrument_functions_exclude_p): Re-define as
2042 an externally called function.
2043 (gimplify_function_tree): Delete code that implemented
2044 call to UPC's language specific function instrumentation hook.
2045 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2046 (prepare_gimple_addressable): Delete extern definition;
2047 revert to trunk's definition.
2048 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2049 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2050 * c-family/c-gimplify.c: Revert to trunk.
2051 * cp/cp-gimplify.c: Revert to trunk.
2052 * cp/cp-tree.h: Revert to trunk.
2053 * explow.c: Revert to trunk.
2054 * langhooks.c: Revert to trunk.
2055 * libfuncs.h: Revert to trunk.
2056 * objc/objc-act.c: Revert to trunk.
2058 2011-06-30 Gary Funck <gary@intrepid.com>
2060 * c-family/c.opt: Bring options definitions up-to-date
2061 with respect to changes made in the trunk.
2063 2011-06-29 Gary Funck <gary@intrepid.com>
2065 Merge trunk version 175584 into gupc branch.
2067 2011-06-13 Gary Funck <gary@intrepid.com>
2070 * include/cpplib.h (enum c_lang):
2071 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2072 This keeps all the "C" variants together.
2073 * init.c (lang_defaults): Add an entry for UPC.
2075 2011-06-09 Gary Funck <gary@intrepid.com>
2077 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2078 a 32-bit target, the size expression overflowed, the result was
2079 error_mark_node, and an ICE was triggered on an attempt to evaluate
2080 C_TYPE_VARIABLE_SIZE() on the error node.
2081 (upc_blocksizeof_expr, upc_blocksizeof_type,
2082 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2083 Make similar changes to avoid further processing of error_mark_node.
2085 2011-06-07 Gary Funck <gary@intrepid.com>
2087 * sel-sched.c (move_op): Incorporate the following
2088 patch to eliminate ICE at -O3 on IA64/Altix.
2090 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
2092 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
2093 code_motion_path_driver returned 0 or 1.
2094 (sel_region_finish): Clear h_d_i_d.
2096 2011-06-02 Gary Funck <gary@intrepid.com>
2098 Merge trunk version 174558 into gupc branch.
2100 2011-05-30 Gary Funck <gary@intrepid.com>
2102 * configure.ac: Make the default order of the virtual
2103 address field in a UPC pointer-to-shared to be "first".
2104 This reverts to the previous setting, and is a short term
2105 measure to work around a bug found on the IA64,
2106 where vaddr=last led to incorrect code generation.
2107 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2108 in AC_DEFINE(), to agree with recent changes in files
2109 that reference this define.
2110 configure, config.in: Regenerate.
2112 2011-05-26 Gary Funck <gary@intrepid.com>
2114 * configure.ac: Fix typo when referring to $upc_vaddr_order.
2115 configure: Regenerate.
2117 * ../fixincludes/fixincl.x: Revert to trunk.
2118 This file is auto-generated, and should not be merged.
2120 2011-05-18 Gary Funck <gary@intrepid.com>
2122 Merge trunk version 173845 into gupc branch.
2124 2011-05-17 Gary Funck <gary@intrepid.com>
2126 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2127 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2129 * c-family/c-pragma.c: Remove conditional compilation
2130 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2131 Test 'compiling_upc' when compiling to determine if
2132 the "upc" and "pupc" pragmas should be registered.
2134 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2135 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2136 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2137 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2138 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2139 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2140 Move these target-dependent definitions from config/upc-conf.h
2143 * configure.ac: Improve the logic for UPC-related options.
2144 Delete references to pre-processor definitions that have
2145 been moved to "upc/upc-pts.h".
2147 * configure, config.in: Regenerate.
2149 * Makefile.in (UPC_PTS_REP): Remove definition and revert
2150 to trunk. This substitution variable was used to
2151 configure the representation-specific versions of
2152 the tree rewrites that operate on UPC pointer-to-shared
2155 * c-parser.c (c_parser_upc_forall_statement): Remove
2156 reference to UPC_FORALL_DEPTH_NAME, and call
2157 newly defined upc_rts_forall_depth_var() instead.
2159 * config/upc-config.h: Delete. Various definitions
2160 moved to "upc/upc-rts-names.h", "defaults.h", and
2163 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2164 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2165 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2166 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2167 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2168 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2169 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2170 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2171 New. Document UPC target macros.
2172 doc/tm.texi: Regenerate.
2174 2011-05-07 Gary Funck <gary@intrepid.com>
2176 * ../configure.ac: Disable build of libupc
2177 on non POSIX hosted systems. Use AS_HELP_STRING
2178 to define messages. Remove 'word-pair' as a
2179 possible --with-upc-pts UPC pointer-to-shared
2182 * ../configure: Regenerate.
2184 * configure.ac: Use AS_HELP_STRING to define messages.
2185 Remove 'word-pair' as a possible --with-upc-pts
2186 UPC pointer-to-shared representation.
2187 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2188 (UPC_MAX_BLOCK_SIZE): Correct the default value.
2190 * configure: Regenerate.
2192 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2195 * ChangeLog.upc: Fix some typos.
2197 2011-05-07 Gary Funck <gary@intrepid.com>
2199 * ../maintainer-scripts/gcc_release: Add "upc"
2200 as one of the released languages.
2202 2011-05-06 Gary Funck <gary@intrepid.com>
2204 Eliminate compilation warnings, by fixing
2205 #include's and updating function prototypes.
2207 * c-family/c-cppbuiltin.c: Include c-upc.h.
2209 * optabs.c (gen_libfunc): Change type of 'suffix'
2210 parameter to conform with prototype.
2212 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2213 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2216 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2219 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2220 argument values to cp_gimplify_expr.
2222 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2223 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2224 pre-processor definitions that are no longer
2225 needed to build the 'upc' command (upc-cmd.c)
2226 because the linker specs. defined in libupc
2227 take care of linking in the needed libraries.
2229 * c-parser.c (c_parser_upc_forall_statement):
2230 initialize affinity_loc to avoid "maybe unused" warning.
2231 (c_parser_upc_sync_statement): Remove un-needed
2232 'ret' variable. Cast return value from
2233 'upc_build_sync_stmt' to 'void' to avoid
2234 compile-time warning.
2236 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2237 integer constant, not a string. Range is restricted
2238 to maximum positive 32-bit integer (2+ billion) to
2239 fit in with the use of 'int' in the front-end's
2240 switch handling logic.
2242 2011-05-06 Gary Funck <gary@intrepid.com>
2244 Upgrade c-family source files to conform with modularity
2245 improvements. Mainly, remove #include of c-tree.h in files
2246 under c-family, and define a new UPC-specific #include file,
2247 c-upc.h, and use it.
2249 * c-family/stub-upc.c: Remove #include of c-tree.h and
2250 upc/upc-act.h. Replace with #include of c-common.h
2252 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2253 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2254 upc_localsizeof_expr, upc_localsizeof_type,
2255 upc_shared_type_p): Delete.
2257 * c-family/c-opts.c: Add #include of c-upc.h
2259 * c-family/c-common.c: Remove #include of c-tree.h and
2260 add #include of c-upc.h.
2262 * c-family/c-upc.h: New. Define API for UPC-specific functions
2263 (mostly implemented in upc/upc-act.c).
2265 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2266 Remove extern definitions.
2268 * c-family/c-pragma.c: Remove #include of c-tree.h.
2269 Add #include of c-upc.h.
2271 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2273 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2274 upc/upc-act.c, and define as a macro.
2275 (expand_affinity_test): Remove unused external definition.
2276 (build_upc_unshared_type): Add external definition.
2277 (upc_shared_type_p): Remove external definition.
2279 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2281 * dojump.c: Remove #include of c-tree.h.
2283 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2285 (count_upc_threads_refs, is_multiple_of_upc_threads,
2286 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2287 upc_build_shared_var_addr, upc_build_sync_stmt,
2288 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2289 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2290 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2291 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2292 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2293 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2294 set_upc_consistency_mode, get_upc_consistency_mode,
2295 push_upc_consistency_mode, pop_upc_consistency_mode,
2297 Move external definitions to c-family/c-upc.h.
2298 (upc_blocksizeof_type, upc_localsizeof_type,
2299 upc_elemsizeof_type): Remove external definitions;
2300 these functions were moved to c-parser.c.
2302 * c-decl.c: Add #include of c-upc.h.
2304 * c-typeck.c: Add #include of c-upc.h.
2306 * c-convert.c: Add #include of c-upc.h.
2308 * ChangeLog.upc: Fix typo.
2310 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2311 there is a reference to c-family/c-objc.h.
2312 Remove extraneous reference to upc-act.h.
2314 * c-parser.c: Add #include of c-upc.h.
2315 (upc_blocksizeof_expr, upc_blocksizeof_type,
2316 upc_elemsizeof_expr, upc_elemsizeof_type,
2317 upc_localsizeof_expr, upc_localsizeof_type):
2318 Move from upc/upc-act.c.
2320 * tree.c (build_upc_unshared_type): New.
2321 Move upc_get_unshared_type from upc/upc-act.c and rename
2322 to build_upc_unshared_type.
2323 c-family/c-common.c (pointer_int_sum): refer to renamed
2324 build_upc_unshared_type function.
2325 c-convert.c (convert): Ditto.
2326 convert.c (convert_to_pointer): Ditto.
2327 c-typeck.c (build_unary_op, build_modify_expr,
2328 really_start_incremental_init): Ditto.
2329 gimplify.c (create_tmp_var_raw): Ditto.
2330 tree.c (build1_stat): Ditto.
2331 tree.h (upc_get_unshared_type): Rename to
2332 build_upc_unshared_type.
2334 2011-05-06 Gary Funck <gary@intrepid.com>
2336 Merge trunk version 173471 into gupc branch.
2338 2011-05-05 Gary Funck <gary@intrepid.com>
2340 Make changes that bring the GUPC branch more closely in sync.
2341 with the GCC trunk. Revert any fixes that are not UPC-specific.
2342 Remove gratuitous re-formatting.
2344 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2345 This file should have been removed in a previous merge
2347 * ../configure.ac: Remove Cray Catamount/CNL support.
2348 * ../configure: Regenerate.
2349 * ../config.sub: Remove Cray Catamount/CNL support.
2350 * config.gcc: Remove Cray Catamount/CNL support.
2351 * ../maintainer-scripts/gcc_release: Revert to trunk.
2352 * c-family/c-common.h: Define parse_optimize_options. Its definition
2353 was missed in a previous merge with the trunk.
2354 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2356 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2357 in addition to ARRAY_TYPE.
2358 * c-typeck.c: Remove an extra newline character.
2359 * varasm.c: Revert a fix that improved an error message
2360 when TLS common data is unimplemented.
2361 * varasm.c: Revert a gcc_assert that had been added which
2362 checked for a null DECL_SIZE_UNIT field.
2363 * emultls.c: Revert to trunk. Remove possible fix.
2364 * Makefile.in: Revert extra blank line that is present
2365 in the trunk version.
2366 * Makefile.in: Revert a fix that handled long shell
2367 argument lists for plugin headers.
2368 * config/ia64/ia64.opt: Revert an option setting
2369 that increased the default TLS address range.
2370 * config/ia64/crtbegin.asm: Revert to trunk.
2371 Removes an extra newline character.
2372 * ChangeLog.upc: Spell check.
2374 2011-05-03 Gary Funck <gary@intrepid.com>
2376 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2377 (c_apply_type_quals_to_decl): Ditto.
2378 * c-family/c-common.h: Ditto.
2380 * c-decl.c (merge_decls): Ditto.
2381 * c-typeck.c (qualify_type, default_conversion,
2382 build_component_ref, build_unary_op,
2383 c_build_qualified_type): Ditto.
2384 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2386 2011-04-29 Gary Funck <gary@intrepid.com>
2388 * c-decl.c (finish_decl): Improve error diagnostics.
2389 (grokdeclarator): Ditto.
2391 * c-typeck.c (build_c_cast): Improve error diagnostics.
2392 (convert_for_assignment): Ditto.
2393 (build_binary_op): Ditto.
2395 * c-parser.c (c_parser_upc_forall_statement):
2396 Improve error diagnostics.
2398 * convert.c (convert_to_integer): Improve error diagnostics.
2400 2011-04-24 Gary Funck <gary@intrepid.com>
2402 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2403 occurred if there is an error in the barrier id
2404 expression. Map error_mark_node into NULL.
2406 2011-04-22 Gary Funck <gary@intrepid.com>
2408 Merge trunk version 172873 into gupc branch.
2410 2011-04-19 Gary Funck <gary@intrepid.com>
2412 Merge trunk version 172359 into gupc branch.
2414 2011-04-14 Gary Funck <gary@intrepid.com>
2416 * c-family/c.opt: Add UPC as a valid language for various
2417 switches where it is valid for "C", that were not updated
2418 in previous merges with trunk.
2420 2011-04-13 Gary Funck <gary@intrepid.com>
2422 * c-family/c.opt (fupc-pre-include): New option definition.
2423 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2424 -fno-upc-pre-include is asserted.
2426 2011-04-07 Gary Funck <gary@intrepid.com>
2428 Merge trunk version 172158 into gupc branch.
2429 to bring in the following fix.
2431 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2434 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2435 if old and new states differ.
2437 2011-04-06 Gary Funck <gary@intrepid.com>
2439 Merge trunk version 171966 into gupc branch.
2441 2011-04-01 Gary Funck <gary@intrepid.com>
2443 * tree.h (tree_base): Move UPC flag bits into bit fields
2444 located just before spare bits. Decrement spare bits.
2445 Rename 'shared_flag' -> 'upc_shared_flag',
2446 'relaxed_flag' -> 'upc_relaxed_flag',
2447 'strict_flag' -> 'upc_strict_flag, and adjust macros
2448 that reference them accordingly.
2450 2011-04-01 Gary Funck <gary@intrepid.com>
2452 * c-decl.c (grokdeclarator): Fix formatting of
2453 code that sets UPC block size on scalars.
2455 2011-04-01 Gary Funck <gary@intrepid.com>
2457 * c-decl.c (grokdeclarator): Revert use of white space
2458 to match the trunk (to rationalize diffs).
2459 * c-typeck.c (convert_for_assignment): Ditto.
2460 * tree-ssa.c (useless_type_conversion_p): Ditto.
2462 2011-03-23 Gary Funck <gary@intrepid.com>
2464 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2465 the GCC 4.6 release branch.
2467 2011-03-21 Gary Funck <gary@intrepid.com>
2469 Merge trunk version 171202 into gupc branch.
2471 2011-03-20 Gary Funck <gary@intrepid.com>
2473 * varasm.c: Call error() directly with a format specifier,
2474 rather than using sprintf() to format the message.
2475 This should make it easier to internationalize UPC's error messages.
2477 2011-03-20 Gary Funck <gary@intrepid.com>
2479 * configure.ac: Fix the check for gnu ld when enabling
2480 UPC link script support.
2481 configure: Regenerate (also picks up changes from previous
2484 2011-03-20 Gary Funck <gary@intrepid.com>
2486 Move UPC start files, end files, and linker specs.
2487 into libupc. This reduces the impact on common GCC
2488 configuration files, and ensures that these UPC-specific
2489 components are only built when the UPC language dialect is selected.
2492 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2493 linker specs. Fix typo in -fupc-debug message.
2495 * config/upc-conf.h, config/darwin.h: Move defines for
2496 UPC-related section begins/ends into libupc/config/default/
2499 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2500 UPC-related linker compiler specifications,
2501 accessed via %:include().
2503 * configure.ac, configure: Remove logic related to building
2504 upc-crtbegin/end. Remove config. tests for numa and cpu
2505 affinity (previously used by the 'upc' driver); these
2506 settings are now propagated by target-specific compiler
2507 specs. built by libupc. Regenerate autoconf.
2509 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2510 linker compiler specifications, accessed via %:include().
2511 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2514 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2516 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2517 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2518 config/ia64/linux.h, config/mips/t-iris,
2519 config/mips/iris6.h: Revert to trunk version 167307.
2522 * configure, configure.ac, config.host, Makefile.in:
2523 Revert to trunk version 167307.
2525 2011-02-23 Gary Funck <gary@intrepid.com>
2527 * c-decl.c (undeclared_variable): fix typo. Inadvertently
2528 removed negation on following 'if'.
2530 2011-02-22 Gary Funck <gary@intrepid.com>
2532 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2533 to check for the usage of certain deprecated UPC keywords.
2534 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2535 * c-tree.h (undeclared_variable): Define prototype.
2537 2011-02-12 Gary Funck <gary@intrepid.com>
2539 * c-typeck.c: (build_c_cast, convert_for_assignment)
2540 Diagnose an attempt to convert from an integer to
2541 a pointer-to-shared as an error. Also, fix various
2542 error messages so that they use the preferred term
2543 pointer-to-shared instead of "shared pointer".
2545 2011-02-07 Gary Funck <gary@intrepid.com>
2547 * c-typeck.c: (convert_for_assignment)
2548 Fix typo. in error message.
2550 2011-01-23 Gary Funck <gary@intrepid.com>
2552 * c-typeck.c: (c_build_qualified_type)
2553 derive UPC block size by calling upc_get_block_size(),
2554 to ensure that the element type of an array of an array
2555 is derived correctly.
2557 2010-12-29 Gary Funck <gary@intrepid.com>
2559 Merge trunk version 168314 into gupc branch.
2561 2010-12-15 Gary Funck <gary@intrepid.com>
2563 Merge trunk version 167307 into gupc branch.
2565 2010-10-19 Gary Funck <gary@intrepid.com>
2567 * c-typeck.c: Fix typo in previous fix
2568 which led to a mis-compare for equal block sizes.
2570 2010-10-18 Gary Funck <gary@intrepid.com>
2572 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2573 diagnosed as an error
2575 The conversion from any type (shared or not) to
2576 a shared type is likely either meaningless or an error. This update
2577 makes any conversion to a shared type, an error.
2579 2010-10-18 Gary Funck <gary@intrepid.com>
2581 * c-typeck.c: Fix bug: passing int to shared pointer arg.
2582 generates spurious warning
2584 Add a #define procedure that does the same thing as
2585 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
2586 this procedure to diagnose passing an integer value to a
2587 pointer-to-shared as an error.
2589 2010-10-18 Gary Funck <gary@intrepid.com>
2591 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2592 matching routine declaration.
2594 When checking for type compatibility, shared qualified types must
2595 have the same block factor. This check was missing from
2596 comptypes_internal(). This update adds the check for blocking
2599 2010-10-17 Gary Funck <gary@intrepid.com>
2601 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2604 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2606 2010-10-17 Gary Funck <gary@intrepid.com>
2608 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2609 45869 - [4.5/4.6 Regression] type mismatch in shift expression
2610 produces ice with -O3 and -m32.
2612 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2614 2010-10-17 Gary Funck <gary@intrepid.com>
2616 * c-common.c: Diagnose the application of the various "*sizeof"
2617 operations on generic pointer-to-shared as a compilation error.
2619 2010-10-17 Gary Funck <gary@intrepid.com>
2621 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2622 message regarding a function parameter being declared with a shared
2625 The parameter's 'name' value is not defined at this point, and
2626 cannot be used in the error message. This update removes the
2627 reference to 'name', and eliminates the segfault.
2629 2010-10-16 Gary Funck <gary@intrepid.com>
2631 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2633 The gcc/Makefile.in rules for install-plugin had to be re-written to
2634 break up a long list of header files that exceeded the command line
2635 limitation imposed by Irix.
2637 Access functions for TFmode types had to be implemented.
2638 Apparently, this is the mode used for the SGI/MIPS port to represent
2641 2010-10-14 Gary Funck <gary@intrepid.com>
2643 * c-decl.c: Fix bug: Multiple equal blocking factors specified
2644 via typedef chain should not be diagnosed as an error.
2646 If the block size that is given by the typedef is equal to the block
2647 size given explicitly in the variable declaration, then do not
2648 complain. The easiest way to make this check was to create a
2649 temporary type that is a clone of the element type and then set its
2650 block size using the given layout qualifier. Then compare the block
2651 size of the temporary (the declaration) to the block size specified
2652 in the typedef. This complexity is needed, because the '[*]' block
2653 size needs to be calculated, and the '[]' needs to be mapped into a
2656 2010-10-10 Gary Funck <gary@intrepid.com>
2658 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2661 The compiler properly detected the presence of two or more layout
2662 qualifiers as an error, but then hit an assertion check, because the
2663 code that followed the error expected to see a qualifier and not a
2664 layout specifier. The fix is simple: just return immediately after
2665 detecting the error.
2667 2010-10-10 Gary Funck <gary@intrepid.com>
2669 * c-decl.c: Improve error diagnostics for various cases of UPC
2670 shared array type declarations.
2672 Add the check for this error: "In the dynamic translation
2673 environment, THREADS may not appear in declarations of shared arrays
2674 with indefinite block size". Also, fix up a few of the other
2675 related error diagnostics.
2677 2010-10-09 Gary Funck <gary@intrepid.com>
2679 * c-common.c: Fix bug: segfault on incomplete array definition.
2681 This turned out to be a bit complicated. The logic in
2682 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2683 the THREADS identifier in the case where the blocking factor has
2684 been set to indefinite ([]). This can happen when indefinite array
2685 declarations are processed for shared arrays. At that time, the
2686 file scope has been closed and THREADS is no longer in scope. Some
2687 more work is needed on upc_lang_layout_decl(). It has some
2688 duplication, and notably duplicates the two branches of the if
2689 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2690 caller of this routine (layout_decl()).
2692 The method of forcing a layout qualifier of [] in the indefinite
2693 declaration handler is odd a well. The code that just does the
2694 setting of the block factor, needs to moved into its own routine
2695 that doesn't depend upon a declspec for '[]' to be passed in, just
2696 in order to set the blocking factor to some value (in this case, 0).
2697 Also, the logic for how that shared type is constructed is strange.
2698 First the type with 0 blocking factor is set. Then the shared
2699 qualifier is removed from the type, and then added back later. The
2700 intermediate type has a blocking factor set, but it has no shared
2701 qualifier. Fixing this will require some thought. It is tempting
2702 just to make indefinite shared arrays an error, rather than forcing
2703 the dimension to be '1'.
2705 This likely fixes a serious error in the previous update to
2706 upc_lang_layout_decl(), where it didn't have the logic to set
2707 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2708 the previous update would fail on many tests.
2710 2010-10-09 Gary Funck <gary@intrepid.com>
2712 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2713 (decl) is null, which can happen if some layout error occurred
2716 2010-10-09 Gary Funck <gary@intrepid.com>
2718 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2719 "variable-sized" when compiled in dynamic threads.
2721 This long-standing bug is easily fixed. Just check
2722 for the situation that the non-constant sized type is shared and
2723 that it does not have a dimension that references a multiple of
2724 threads. If this criteria is met, then issue a meaningful
2727 2010-10-01 Gary Funck <gary@intrepid.com>
2729 * configure, configure.ac: Update manual page, and bug reporting
2732 Update "man" page to reflect debugging switches. Also, some general
2733 clean up. Change the bug reporting URL to point to gccupc.org.
2735 2010-09-27 Gary Funck <gary@intrepid.com>
2737 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2738 the UPC forall depth count variable is not found.
2740 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2741 The compiler will generate code that references this variable in
2742 order to implement nested upc_forall semantics. If there is a
2743 compiler build or install problem, this variable may not be found.
2744 In this case, terminate with an internal_error().
2746 2010-09-26 Gary Funck <gary@intrepid.com>
2748 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2749 mis-diagnosed as syntax error.
2751 Fix a failure exhibited by the Berkeley test case,
2752 bug873a.upc, which has the code:
2754 upc_forall (;;;d) {...} The compiler did not properly handle
2755 the empty "condition" clause, and did not recover well when it was
2756 determined that the use of a double value, "d" above, was neither a
2757 pointer-to-shared nor an integer expression. The update implements a
2758 fix for both issues.
2760 See also: gcc/c-parser.c gcc/upc/upc-act.c
2762 2010-09-23 Gary Funck <gary@intrepid.com>
2764 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2765 incorporated into the referencing type.
2767 This was semi-fixed a few times before. This update fixes a few
2768 more places where the layout qualifier wasn't being propagated
2769 through typedef's properly. What made this a bit tricky is shown in
2770 the example cited in the bug report:
2772 typedef shared [5] int A_t; A_t A[5*THREADS];
2774 In the typedef, the blocksize is being applied to a shared *scalar*,
2775 and the code was applying the blocksize only to arrays. This update
2776 handles shared scalars correctly.
2778 2010-09-22 Gary Funck <gary@intrepid.com>
2780 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2781 upc_forall() semantics are not implemented
2783 The checkforall test in the Berkeley harness test suite indicated
2784 that GCC/UPC was not properly implementing nested upc_forall
2785 semantics. Nested upc_forall statements (both statically or
2786 dynamically nested) must implement their affinity clause as if it
2787 were "continue"; thus all steps in the loop must execute without
2788 regard for affinity. To implement these semantics a global depth
2789 counter, __upc_forall_depth, is maintained by the generated code
2790 that implements upc_forall.
2792 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2793 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2794 libupc/include/upc.h libupc/smp/upc_main.c
2796 2010-09-19 Gary Funck <gary@intrepid.com>
2798 * c-decl.c: c-decl.c: zero out the layout specifier, after
2799 processing an array type.
2801 Fix the previous fix, that moved the setting of the type's layout
2802 qualifier to the outside of the array type processing loop. What is
2803 missing from the fix is that the layout_qualifier variable needs to
2804 be cleared after setting the type's blocksize.
2806 2010-09-19 Gary Funck <gary@intrepid.com>
2808 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2809 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2811 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2812 the actual maximum block size. Therefore, the message was correct,
2813 but the underlying value that was being checked was wrong. Change
2814 the values so that they agree with the actual implementation-defined
2817 2010-09-11 Gary Funck <gary@intrepid.com>
2819 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2820 multi-dimensional shared array with dynamic threads.
2822 This declaration caused an internal compiler error when compiled
2823 with dynamic threads:
2824 shared [*] int A[THREADS][16]; The bug was discovered when
2825 compiling the RTED_UPC test suite.
2827 The fix is to process layout qualifiers after the entire array type
2828 has been built. Otherwise, we try to calculate the blocksize on a
2829 shared array type that has not had its "size depends upon the value
2830 of THREADS" flag set.
2832 Also, added a test case.
2834 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2836 2010-07-11 Gary Funck <gary@intrepid.com>
2838 Fix a bug where a statement in c_build_qualified_type()
2839 in the trunk had been inadvertently deleted.
2840 This bug showed up in the IA64 port, because jmpbuf's
2841 on that architecture must be 16 byte aligned, and they were not.
2842 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2844 2010-07-08 Gary Funck <gary@intrepid.com>
2846 Make changes so that other language compilers
2847 will build and bootstrap.
2848 * c-family/c-common.c (compiling_upc, flag_upc,
2849 flag_upc_instrument, flag_upc_instrument_functions,
2850 use_upc_dwarf2_extensions): Move to stub-upc.c and
2852 * c-family/c-common.h (use_upc_dwarf2_extensions,
2853 compiling_upc): Add extern definitions - needed
2854 to compile/build other language front ends.
2855 * c-family/c.opt: Fix the spelling of ObjC.
2856 It had been incorrectly spelled as Objc.
2857 * c-family/c.opt: Add UPC for the various switches
2858 that are valid for both C and ObjC.
2859 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2860 supported options switches when compiling assembly
2862 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2863 flag_upc_instrument, flag_upc_instrument_functions):
2864 Remove these definitions. They have been moved
2865 to c-family/stub-upc.c.
2866 * upc/ChangeLog: Move relevant entries
2868 * c-family/stub-upc.c (compiling_upc, flag_upc,
2869 flag_upc_instrument, flag_upc_instrument_functions,
2870 use_upc_dwarf2_extensions): Moved from c-common.c
2871 * upc/upc-lang.c (compiling_upc, flag_upc,
2872 flag_upc_instrument, flag_upc_instrument_functions,
2873 use_upc_dwarf2_extensions): Moved from c-common.c
2874 * objc/objc-act.c (objc_gimplify_expr): Add additional
2875 parameters to c_gimplify_expr() call, that are used
2876 by upc's tree rewrites.
2877 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2878 * gcc/cp/lex.c (init_reswords): If not compiling
2879 UPC, then mask off the UPC keywords.
2880 * cp/Make-lang.in (C_STUB_OBJS): Use this
2881 make macro to link with c-family/stub-objc.o
2882 and c-family/stub-upc.o.
2883 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2884 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2885 * objc/Make-lang.in: Link with c-family/stub-upc.o
2886 to avoid undefined references.
2887 c-parser.c: Fix line indentation.
2888 * libcpp/include/cpplib.h: Remove CL_UPC from
2889 the list of language kinds accepted by the
2890 C preprocessor. This is not necessary because
2891 UPC is a derivative of C99, and does not need
2892 a different language kind.
2893 * c-fmaily/c-opts.c (c_common_handle_option):
2894 Call set_std_c99() when processing the
2895 "--lang upc" switch, instead of setting the
2896 language kind to CL_UPC.
2897 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2899 2010-07-03 Gary Funck <gary@intrepid.com>
2901 Merge trunk version 161517 into gupc branch.
2902 * gcc/stub-upc.c: Move to gcc/c-family/.
2903 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2904 Add 'unused' attributes to avoid "set, but
2905 not referenced" warnings.
2906 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2909 2010-03-01 Gary Funck <gary@intrepid.com>
2911 Create gupc branch from trunk version 157149.