1 2013-11-18 Gary Funck <gary@intrepid.com>
3 Merge trunk version 204942 into gupc branch.
5 2013-11-15 Gary Funck <gary@intrepid.com>
7 Merge trunk version 204894 into gupc branch.
9 2013-11-15 Gary Funck <gary@intrepid.com>
11 Merge trunk version 204659 into gupc branch.
13 2013-11-04 Gary Funck <gary@intrepid.com>
15 Merge trunk version 204345 into gupc branch.
17 2013-10-31 Gary Funck <gary@intrepid.com>
19 Released GUPC 4.9.0.1 based on version 203902.
20 This release version was committed on 2013-10-21.
21 * DEV-PHASE: Bump to 4.9.0.2.
22 * DATESTAMP: Bump date stamp.
24 2013-10-28 Gary Funck <gary@intrepid.com>
26 Merge trunk version 204119 into gupc branch.
28 2013-10-21 Gary Funck <gary@intrepid.com>
30 Merge trunk version 203886 into gupc branch.
32 2013-10-14 Gary Funck <gary@intrepid.com>
34 Merge trunk version 203514 into gupc branch.
36 2013-10-07 Gary Funck <gary@intrepid.com>
38 Merge trunk version 203240 into gupc branch.
40 2013-10-01 Gary Funck <gary@intrepid.com>
42 Implement pointer-to-shared -> integer conversions.
43 Required per UPC 1.3 Specification.
44 c/c-typeck.c (build_c_cast): Remove logic that diagnosed
45 PTS->int conversions as an error. Rewrite into a CONVERT_EXPR
46 for later processing by upc_genericize().
48 2013-09-30 Gary Funck <gary@intrepid.com>
50 Merge trunk version 203026 into gupc branch.
52 2013-09-23 Gary Funck <gary@intrepid.com>
54 Merge trunk version 202825 into gupc branch.
56 2013-09-18 Gary Funck <gary@intrepid.com>
58 Merge trunk version 202725 into gupc branch.
60 2013-09-16 Gary Funck <gary@intrepid.com>
62 Merge trunk version 202619 into gupc branch.
64 2013-09-09 Gary Funck <gary@intrepid.com>
66 Merge trunk version 202382 into gupc branch.
68 2013-09-02 Gary Funck <gary@intrepid.com>
70 Merge trunk version 202159 into gupc branch.
72 2013-08-26 Gary Funck <gary@intrepid.com>
74 Merge trunk version 202008 into gupc branch.
76 2013-08-19 Gary Funck <gary@intrepid.com>
78 Merge trunk version 201832 into gupc branch.
80 2013-08-05 Gary Funck <gary@intrepid.com>
82 Merge trunk version 201483 into gupc branch.
84 2013-07-29 Gary Funck <gary@intrepid.com>
86 Merge trunk version 201301 into gupc branch.
88 2013-07-22 Gary Funck <gary@intrepid.com>
90 Merge trunk version 201119 into gupc branch.
92 2013-07-15 Gary Funck <gary@intrepid.com>
94 Merge trunk version 200955 into gupc branch.
96 2013-07-08 Gary Funck <gary@intrepid.com>
98 Merge trunk version 200775 into gupc branch.
100 2013-07-01 Gary Funck <gary@intrepid.com>
102 Merge trunk version 200575 into gupc branch.
104 2013-06-24 Gary Funck <gary@intrepid.com>
106 Merge trunk version 200361 into gupc branch.
108 2013-06-19 Gary Funck <gary@intrepid.com>
110 Merge trunk version 200149 into gupc branch.
112 2013-06-03 Gary Funck <gary@intrepid.com>
114 Merge trunk version 199596 into gupc branch.
116 2013-05-27 Gary Funck <gary@intrepid.com>
118 Merge trunk version 199350 into gupc branch.
120 2013-05-20 Gary Funck <gary@intrepid.com>
122 Merge trunk version 199093 into gupc branch.
124 2013-05-13 Gary Funck <gary@intrepid.com>
126 Merge trunk version 198815 into gupc branch.
128 2013-05-06 Gary Funck <gary@intrepid.com>
130 Merge trunk version 198622 into gupc branch.
132 2013-04-29 Gary Funck <gary@intrepid.com>
134 Merge trunk version 198433 into gupc branch.
136 2013-04-15 Gary Funck <gary@intrepid.com>
138 Merge trunk version 197958 into gupc branch.
140 2013-04-08 Gary Funck <gary@intrepid.com>
142 Merge trunk version 197571 into gupc branch.
144 2013-04-04 Gary Funck <gary@intrepid.com>
146 Per the UPC 1.3 specification, the type of the
147 optional barrier/notify/wait expression is not constrained to
148 'int'. Instead, any type that is assignment compatible
149 with an 'int' type is permitted.
150 * c/c-parser.c (c_parser_upc_sync_statement): Do not check
151 the optional expression type here. Let upc_build_sync_stmt()
153 * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
154 * c/c-typeck.c (c_cvt_expr_for_assign): New. Also, call
155 error_at() in lieu of error() when the source location is known.
156 * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
157 to check/convert the optional synchronization statement
160 2013-04-02 Gary Funck <gary@intrepid.com>
162 Merge trunk version 197340 into gupc branch.
164 2013-04-02 Gary Funck <gary@intrepid.com>
166 Revert revision 178346 (2011-08-30)
167 which changed the prototype of check_qualified_type and related
168 functions so that their parameters were just 'tree' and not
169 'const_tree'. This seemed necessary at the time because of a
170 change to TYPE_BLOCK_FACTOR(), which in turn called function
171 that hashed the type node pointer. The hash functions did
172 not accept "const void *" pointers. Implement a work around
173 that removes this restriction.
174 * c/c-typeck.c: Revert.
176 * tree.h: Revert. Change prototype of upc_block_factor_lookup()
177 to accept a 'const_tree' pointer to a type node.
178 * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
179 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
180 input argument and convert this to 'tree' for use with hash function.
182 2013-03-25 Gary Funck <gary@intrepid.com>
184 Merge trunk version 197029 into gupc branch.
186 2013-03-21 Gary Funck <gary@intrepid.com>
188 Released GUPC 4.8.0.3 based on version 196601.
189 This release version was committed on 2013-03-11.
190 * DATESTAMP: Bump date stamp.
192 2013-03-18 Gary Funck <gary@intrepid.com>
194 Merge trunk version 196771 into gupc branch.
195 * DEV-PHASE: Bump release identifier to 4.9.0-1.
197 2013-03-11 Gary Funck <gary@intrepid.com>
199 Merge trunk version 196592 into gupc branch.
201 2013-03-04 Gary Funck <gary@intrepid.com>
203 Merge trunk version 196422 into gupc branch.
205 2013-02-25 Gary Funck <gary@intrepid.com>
207 Merge trunk version 196253 into gupc branch.
209 2013-02-18 Gary Funck <gary@intrepid.com>
211 Merge trunk version 196115 into gupc branch.
213 2013-02-11 Gary Funck <gary@intrepid.com>
215 Merge trunk version 195937 into gupc branch.
217 2013-02-04 Gary Funck <gary@intrepid.com>
219 Merge trunk version 195707 into gupc branch.
221 2013-01-28 Gary Funck <gary@intrepid.com>
223 Merge trunk version 195502 into gupc branch.
225 2013-01-21 Gary Funck <gary@intrepid.com>
227 Merge trunk version 195330 into gupc branch.
229 2013-01-14 Gary Funck <gary@intrepid.com>
231 Merge trunk version 195164 into gupc branch.
233 2013-01-07 Gary Funck <gary@intrepid.com>
235 Merge trunk version 194962 into gupc branch.
237 2012-12-24 Gary Funck <gary@intrepid.com>
239 Merge trunk version 194709 into gupc branch.
241 2012-12-17 Gary Funck <gary@intrepid.com>
243 Merge trunk version 194552 into gupc branch.
245 2012-12-10 Gary Funck <gary@intrepid.com>
247 Merge trunk version 194351 into gupc branch.
249 2012-12-03 Gary Funck <gary@intrepid.com>
251 Merge trunk version 194076 into gupc branch.
253 2012-11-30 Gary Funck <gary@intrepid.com>
255 Released GUPC 4.8.0.2 based on version 193446.
256 Date of release: 2012-11-12.
257 * DEV-PHASE: Bump release identifier to 4.8.0-3.
258 * DATESTAMP: Bump date stamp.
260 2012-11-26 Gary Funck <gary@intrepid.com>
262 Merge trunk version 193807 into gupc branch.
264 2012-11-20 Gary Funck <gary@intrepid.com>
266 Merge trunk version 193672 into gupc branch.
268 2012-11-19 Gary Funck <gary@intrepid.com>
270 Merge trunk version 193617 into gupc branch.
272 2012-11-15 Gary Funck <gary@intrepid.com>
274 Merge trunk version 193426 into gupc branch.
276 2012-11-12 Gary Funck <gary@intrepid.com>
278 Released GUPC 4.8.0.1 based on version 192948.
279 Date of release: 2012-10-29.
280 * DEV-PHASE: Bump release identifier to 4.8.0-2.
281 * DATESTAMP: Bump date stamp.
283 2012-11-05 Gary Funck <gary@intrepid.com>
285 Merge trunk version 193152 into gupc branch.
287 2012-10-29 Gary Funck <gary@intrepid.com>
289 Merge trunk version 192909 into gupc branch.
291 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
293 Remove unused --upc-pthreads-per-process compile switch.
294 * c-family/c.opt: Remove --upc-pthreads-per-process switch
295 that compiler/runtime do not use.
296 * c-family/c-opts.c (c_common_handle_option): Remove support for
297 --upc-pthreads-per-process switch.
298 * c-family/c-common.c: Ditto.
299 * c-family/c-common.h: Ditto.
301 2012-10-27 Gary Funck <gary@intrepid.com>
303 * defaults.h: fix typos and formatting in UPC-related entries.
305 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
307 Place shared initialization code into the .text
308 section instead of a separate .upc_init section.
309 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
310 (UPC_INIT_BEGIN_NAME): Delete.
311 (UPC_INIT_END_NAME): Delete.
312 * doc/tm.texi.in: Ditto.
313 * doc/tm.texi: Ditto.
315 2012-10-22 Gary Funck <gary@intrepid.com>
317 Merge trunk version 192673 into gupc branch.
319 2012-10-15 Gary Funck <gary@intrepid.com>
321 Merge trunk version 192449 into gupc branch.
323 2012-10-08 Gary Funck <gary@intrepid.com>
325 Merge trunk version 192198 into gupc branch.
327 2012-10-01 Gary Funck <gary@intrepid.com>
329 Merge trunk version 191931 into gupc branch.
331 2012-09-26 Gary Funck <gary@intrepid.com>
333 Implement support for various UPC version 1.3 specification
334 additions and changes. Deprecate support for upc_local_alloc.
335 Add support for upc_tick (wall-clock timer) library.
336 Add support for collective de-allocation functions:
337 upc_all_free and upc_all_lock_free.
338 Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
339 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
341 2012-09-24 Gary Funck <gary@intrepid.com>
343 Merge trunk version 191658 into gupc branch.
345 2012-09-17 Gary Funck <gary@intrepid.com>
347 Merge trunk version 191376 into gupc branch.
349 2012-09-10 Gary Funck <gary@intrepid.com>
351 Merge trunk version 191141 into gupc branch.
353 2012-08-27 Gary Funck <gary@intrepid.com>
355 Merge trunk version 190707 into gupc branch.
356 * tree.h (struct tree_base): Adjust various
357 UPC tree and type flags to refer to the
358 newly introduced u.bits field.
360 2012-08-20 Gary Funck <gary@intrepid.com>
362 Merge trunk version 190524 into gupc branch.
363 Incorporates a fix in genoutput.c (to properly use
364 CONST_CAST) that led to build failures with
365 older versions of g++.
367 2012-08-16 Gary Funck <gary@intrepid.com>
369 Merge trunk version 190437 into gupc branch.
370 Incorporates a fix for a build failure on the PPC
371 due to passing incorrect switches to the assembler.
372 Also, first merged trunk revision that compiles GCC
373 with the C++ compiler in the first stage.
375 2012-08-13 Gary Funck <gary@intrepid.com>
377 Merge trunk version 190336 into gupc branch.
379 2012-08-09 Gary Funck <gary@intrepid.com>
381 * c-family/c-common.c (c_fully_fold_internal): Do not fold
382 offsetof-like expressions when they are applied to UPC
385 2012-08-06 Gary Funck <gary@intrepid.com>
387 Merge trunk version 190173 into gupc branch.
389 2012-08-01 Gary Funck <gary@intrepid.com>
391 Merge trunk version 190063 into gupc branch.
392 Incorporates fix for build failure on IA64.
394 2012-07-30 Gary Funck <gary@intrepid.com>
396 Merge trunk version 189954 into gupc branch.
398 2012-07-27 Gary Funck <gary@intrepid.com>
400 Merge trunk version 189856 into gupc branch.
401 Incorporates fix for bootstrap with a sub-set of language
402 specific source directories present.
403 * optabs.c: Revert to trunk. Rather than defining opcodes
404 as a way of defining get/put runtime library function names,
405 generate them directly in gcc/upc/upc-genericize.c.
407 * genopinit.c: Ditto.
409 2012-07-23 Gary Funck <gary@intrepid.com>
411 Merge trunk version 189777 into gupc branch.
413 2012-07-16 Gary Funck <gary@intrepid.com>
415 Merge trunk version 189545 into gupc branch.
417 2012-07-12 Gary Funck <gary@intrepid.com>
419 Merge trunk version 189366 into gupc branch.
421 2012-07-05 Gary Funck <gary@intrepid.com>
423 Merge trunk version 189274 into gupc branch.
424 Incorporates graphite build infrastructure changes.
426 2012-07-04 Gary Funck <gary@intrepid.com>
428 Merge trunk version 189080 into gupc branch.
429 * Makefile.in: Adjust for move of C front-end files.
430 * c/Make-lang.in: Ditto.
432 2012-07-03 Gary Funck <gary@intrepid.com>
434 Merge trunk version 189078 into gupc branch.
436 2012-06-25 Gary Funck <gary@intrepid.com>
438 Merge trunk version 188931 into gupc branch.
440 2012-06-18 Gary Funck <gary@intrepid.com>
442 Merge trunk version 188721 into gupc branch.
444 2012-06-11 Gary Funck <gary@intrepid.com>
446 Merge trunk version 188380 into gupc branch.
448 2012-06-04 Gary Funck <gary@intrepid.com>
450 Merge trunk version 188168 into gupc branch.
452 2012-05-29 Gary Funck <gary@intrepid.com>
454 Merge trunk version 187927 into gupc branch.
456 2012-05-18 Gary Funck <gary@intrepid.com>
458 Merge trunk version 187666 into gupc branch.
459 Incorporates fix for ICE in tree vectorization pass
460 when processing strided loads.
462 2012-05-17 Gary Funck <gary@intrepid.com>
464 Merge trunk version 187578 into gupc branch.
466 2012-05-09 Gary Funck <gary@intrepid.com>
468 Merge trunk version 187347 into gupc branch.
469 Incorporates fix for segfault in tree vectorization pass.
471 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
473 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
474 Appropriate libraries and include files are added on the
475 command line to make it possible to compile with the driver
478 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
480 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
481 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
482 a function returns a pointer-to-shared in memory instead
484 (rs6000_pass_by_reference): Ditto.
486 2012-04-28 Gary Funck <gary@intrepid.com>
488 * c-decl.c (grokdeclarator): Set 'type' to error node
489 after detecting "shared auto variable" error to avoid
490 downstream complications.
491 * upc-act.c: Fix a couple of spelling errors in comments.
493 2012-04-26 Gary Funck <gary@intrepid.com>
495 * c-family/c-pragma.c (handle_pragma_upc):
496 Fix typo in warning message.
498 2012-04-17 Gary Funck <gary@intrepid.com>
500 Merge trunk version 186486 into gupc branch.
502 2012-04-17 Gary Funck <gary@intrepid.com>
504 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
505 value of the pupc mode. Fixes a compile-time warning.
506 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
507 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
508 Improve source formatting.
510 2012-04-09 Gary Funck <gary@intrepid.com>
512 Merge trunk version 186243 into gupc branch.
513 Incorporates a powerpc 'ffi' fix.
515 2012-03-16 Gary Funck <gary@intrepid.com>
517 Merge trunk version 185454 into gupc branch.
518 Incorporates a libgcc fix for builds on Darwin.
520 2012-03-13 Gary Funck <gary@intrepid.com>
522 Merge trunk version 185278 into gupc branch.
523 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
524 call build_pointer_type() to apply UPC-specific qualifiers.
525 * top-level/configure.ac: factor the checking for posix hostst
526 out of the libgomp section so that it can also be used by libgupc.
527 * top-level/configure: Re-generate.
528 * DEV-PHASE: bump to 4.8.0-1.
530 2012-03-12 Gary Funck <gary@intrepid.com>
532 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
533 the mode for a pointer for upc-pointer-to-shared types.
535 2012-03-04 Gary Funck <gary@intrepid.com>
537 Merge trunk version 184900 into gupc branch.
539 2012-02-17 Gary Funck <gary@intrepid.com>
541 Released GUPC 4.7.0.2 based on version 183992.
542 * DEV-PHASE: Bump release identifier to 4.7.0-3.
543 * DATESTAMP: Bump date stamp.
545 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
547 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
548 code generation (same as #pragma pupc off).
549 (set_pupc_mode): New. Set/restore profiling mode.
550 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
551 (set_pupc_mode): New. Prototype.
552 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
553 profiling code for shared variables initialization routines.
555 2012-01-31 Gary Funck <gary@intrepid.com>
557 Merge trunk version 183751 into gupc branch.
558 Incorporates fix for bootstrap failure on openSUSE 12.1.
560 2012-01-10 Gary Funck <gary@intrepid.com>
562 Merge trunk version 183072 into gupc branch.
563 Incorporates libcpp __BASE_FILE__ fix.
565 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
567 * top-level/Makefile.def (flags_to_pass): Added GUPC
568 defines. Fixes the make error when upc is not specified as one
569 of the languages to build.
570 * top-level/Makefile.in: Re-generate.
572 2011-11-22 Gary Funck <gary@intrepid.com>
574 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
575 * dwarf2out.c (gen_compile_unit_die): Check for
576 the "GNU UPC" language string in lieu of "GCC UPC".
577 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
579 2011-11-18 Gary Funck <gary@intrepid.com>
581 Merge trunk version 181552 into gupc branch.
582 Incorporates libgcc/libunwind fix for IA64.
584 2011-11-19 Gary Funck <gary@intrepid.com>
586 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
587 Add check for UPC when defining the language type value
588 in a traceback entry.
590 2011-11-18 Gary Funck <gary@intrepid.com>
592 Merge trunk version 181493 into gupc branch.
593 Incorporates final fix for PR target/49992.
595 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
597 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
598 change that converted relative include paths into absolute
599 ones, as it does not work with older version of make (3.80).
601 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
603 Apply patch for Darwin build - PR49992.
604 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
605 * gcc/configure.ac: Ditto.
606 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
607 * gcc/ada/gcc-interface/Makefile.in: Ditto.
608 * top-level/configure: Re-generate.
609 * gcc/configure: Re-genrate.
611 2011-10-26 Gary Funck <gary@intrepid.com>
613 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
614 "libupc" to "libgupc".
615 * top-level/configure.ac: Implement support for cross-builds, and
616 adjust for rename of libupc to libgupc.
617 * top-level/Makefile.tpl: Ditto.
618 * top-level/Makefile.def: Ditto.
619 * top-level/configure: Re-generate.
620 * top-level/Makefile.in: Re-generate.
621 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
622 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
623 * doc/tm.texi: Re-generate.
624 * tree-pretty-print.c (dump_block_node): Delete unused variable.
625 * gcc.c: Adjust for rename of libupc to libgupc.
626 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
627 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
628 Change "xupc" to "xgupc".
629 * configure.ac: Change "GCC UPC" to "GNU UPC".
630 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
631 so that they are absolute paths. This is needed because
632 the upc-crtstuff builds are in the libgupc library build
633 directories which are not at the same level as libgcc.
634 * config/darwin.h: Adjust for rename of libupc to libgupc.
636 2011-10-20 Gary Funck <gary@intrepid.com>
638 Merge trunk version 180276 into gupc branch.
639 Incorporates fix for PR bootstrap/50709.
641 2011-10-20 Gary Funck <gary@intrepid.com>
643 Merge trunk version 180246 into gupc branch.
645 2011-10-19 Gary Funck <gary@intrepid.com>
647 Merge trunk version 180233 into gupc branch.
648 Incorporates fix for PR debug/49310 (var tracking).
650 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
652 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
653 only four (O0 static/dynamic, O3 static/dynamic).
654 Detect -fupc-threads-0 as an option for dynamic threads
657 2011-10-10 Gary Funck <gary@intrepid.com>
659 * tree.c (check_qualified_type, check_aligned_type):
660 Call tree_int_cst_equal() to compare UPC blocking factors
661 if the corresponding tree pointers are not equal.
662 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
664 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
666 Add configuration checks for struct/packed builds so we can
667 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
668 * testsuite/lib/target-supports.exp
669 (check_effective_target_upc_struct_pts): New.
670 (check_effective_target_upc_packed_pts): New.
672 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
674 Add to FLAGS the flags needed to disable inlining of
675 UPC run-time access routines.
676 * testsuite/lib/target-supports.exp
677 (add_options_for_upc_library_calls): New.
679 2011-09-15 Gary Funck <gary@intrepid.com>
681 Fix ICE involving shared bit field accesses.
682 * tree.c (build3_stat): Propagate TEEE_SHARED()
683 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
685 2011-09-13 Gary Funck <gary@intrepid.com>
687 Merge trunk version 178795 into gupc branch.
688 Incorporates fix to PR bootstrap/50010 for x86-32.
690 2011-09-08 Gary Funck <gary@intrepid.com>
692 Merge trunk version 178557 into gupc branch.
694 2011-09-07 Gary Funck <gary@intrepid.com>
696 Ensure that UPC pointer-to-shared type alignment is
697 propagated to the final type. Revert to long-standing
698 alignment policy: twice the size of a "C" pointer.
699 * tree.c (build_pointer_type): Propagate the alignment
700 of the UPC pointer-to-shared representation type
701 into the newly built pointer type.
703 2011-08-30 Gary Funck <gary@intrepid.com>
705 * tree.h (check_qualified_type): Change 'const_tree'
706 argument types back to 'tree' to avoid complaints
707 of assignment drops qualifiers for invocations of the
708 newly implemented TYPE_BLOCK_FACTOR() macro, which
709 invokes hash functions with 'tree' pointer values that
710 are not const qualified.
711 * tree.c (check_qualified_type, check_aligned_type): Ditto.
712 * c-typeck.c (comptypes_internal): Ditto.
714 2011-08-29 Gary Funck <gary@intrepid.com>
716 Fixes for regressions noted running "make check"
718 * fold-const.c (fold_unary_loc): Execute UPC-specific
719 checks for a cast-of-a-cast, only if one of the
720 operands is a UPC pointer-to-shared value.
721 * opts.c (print_specific_help): Fix a comparison
722 in an assert that checks that there are enough
723 bits reserved for the number of languages defined
726 2011-08-29 Gary Funck <gary@intrepid.com>
728 Implement a hash table to record UPC block factors.
729 * c-family/stub-upc.c (upc_block_factor_insert,
730 upc_block_factor_lookup): New dummy stub procedures.
731 * c-family/c-common.c (c_sizeof_or_alignof_type):
732 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
733 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
734 to copy (hashed) UPC blocking factor.
735 (set_type_quals): Likewise.
736 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
737 TYPE_HAS_THREADS_FACTOR().
738 (type_common.block_factor): Delete.
739 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
740 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
741 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
742 UPC blocking factors greater than one.
743 * dwarf2out.c (modified_type_die): Re-implement
744 logic that records UPC blocking factor in the generated
745 DWARF2 debugging information.
746 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
747 TYPE_HAS_THREADS_FACTOR().
748 * c-decl.c (finish_decl, grokdeclarator):
749 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
750 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
751 used by UPC, and print UPC-specific information.
753 2011-08-28 Gary Funck <gary@intrepid.com>
755 Re-work the type machinery to fully support and to unify support
756 for the UPC layout qualifier (blocking factor).
757 * c-family/stub-upc.c (upc_set_block_factor): Delete.
758 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
759 and update prototype.
760 * c-family/c-common.c (complete_array_type): call newly
761 defined c_build_qualified_type_1() instead of
762 upc_set_block_factor().
763 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
764 upc_apply_layout_qualifier() and update prototype.
765 (upc_set_block_factor): Delete prototype.
766 * c-family/c-common.h (c_build_qualified_type): redefine
767 as a pre-processor macro that invokes c_build_qualified_type_1()
768 with a null UPC layout qualifier.
769 (c_build_qualified_type_1): New. Add layout qualifier argument
770 to old c_build_qualified_type() prototype.
771 * tree.c (set_type_quals, check_qualified_type):
772 Add layout qualifier as argument.
773 (check_aligned_type): Add check for UPC block factor equality.
774 (get_qualified_type_1): Rename from get_qualified_type() and
775 add layout qualifier as argument.
776 (build_qualified_type_1): Rename from build_qualified_type() and
777 add layout qualifier as argument.
778 * tree.h (check_qualified_type): Add layout qualifier as argument
780 (get_qualified_type): Re-define as a as a pre-processor macro
781 that invokes get_qualified_type_1() with a null
782 UPC layout qualifier.
783 (get_qualified_type_1): Rename from get_qualified_type() and
784 add layout qualifier as argument.
785 * cp/tree.c (c_build_qualified_type_1): Rename from
786 c_build_qualified_type() and add (unused) layout qualifier
788 * c-decl.c (finish_decl): re-format long error messages.
789 (grokdeclarator): Re-work the logic so that it calls
790 upc_grok_layout_qualifier() to handle the UPC layout
791 qualifier, if present.
792 * c-typeck.c (qualify_type, common_pointer_type,
793 build_component_ref): Re-work the logic so that it calls
794 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
796 (c_build_qualified_type_1): Rename from c_build_qualified_type()
797 and add layout qualifier argument.
798 * print_tree.c (print_node): Re-format a long line.
800 2011-08-26 Gary Funck <gary@intrepid.com>
802 Merge trunk version 177949 into gupc branch.
803 * c-family/c-common.h (enum rid): Bump the number of type modifiers
805 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
806 to add new rliterals column value.
808 2011-08-26 Gary Funck <gary@intrepid.com>
810 * convert.c (convert_to_integer): Fix the check for the
811 difference between two UPC pointers-to-shared values.
813 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
815 * configure.ac: Fix the name for --with-upc-pts-packed-bits
816 option. Support --with-upc-packed-bits as deprecated. Fix the code to
817 correctly check packed bits.
818 * configure: Re-generate.
820 2011-08-16 Gary Funck <gary@intrepid.com>
822 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
823 the barrier id expression is not an integer expression.
825 2011-08-12 Gary Funck <gary@intrepid.com>
827 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
829 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
830 Set mode of UPC pointer-to-shared rep. to an
831 integral mode of size at least as large as the
832 size of the representation's struct type.
834 2011-08-12 Gary Funck <gary@intrepid.com>
836 Rework/simplify the UPC genericize pass.
837 * c-family/stub-upc.c (upc_apply_layout_qualifier,
838 upc_build_pointer_type): New.
839 (upc_set_block_factor): Adjust to new calling sequence.
840 (upc_build_shared_var_addr): Delete.
841 * c-family/c-common.c (complete_array_type): Adjust call
842 to upc_set_block_factor().
843 * c-family/c-upc.h (upc_apply_layout_qualifier,
844 upc_build_pointer_type): New.
845 (upc_build_shared_var_addr): Delete.
846 (upc_set_block_factor): Adjust to new calling sequence.
847 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
848 * c-decl.c (grokdeclarator): Call newly defined
849 upc_apply_layout_qualifier() instead of upc_set_block_factor().
850 * c-decl.c (grokdeclarator): Split long UPC-related error
851 messages into two lines.
852 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
853 directly. Revert that change to trunk. (upc_genericize() will
854 handle lowering the expressions that take the address of a
856 * config/i386/i386.c (ix86_promote_function_mode): For UPC
857 pointers-to-shared, return the type mode of the UPC pointer-to-shared
860 2011-08-10 Gary Funck <gary@intrepid.com>
862 Implement additional fixes for recent merge with trunk.
863 * explow.c (promote_mode): Do not attempt to promote
864 the mode for UPC pointer-to-shared types.
865 * config/i386/i386.c (function_value_64): Ditto.
867 2011-08-07 Gary Funck <gary@intrepid.com>
869 Merge trunk version 177548 into gupc branch.
870 * config/i386/i386.c (ix86_promote_function_mode):
871 Do not promote UPC pointers-to-shared to Pmode.
872 * c-family/c-ommon.c (pointer_int_sum):
873 Also check the pointer operand, rather than just
874 its type, when making the decision to derive
875 the equivalent unshared type.
876 * tree.c (build2_stat): If the type of the result
877 passed in as an argument is a UPC shared type,
878 derive the unshared equivalent when calculating
879 the result type of the node.
881 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
883 * config/darwin.c: Disable var_tracking option
884 on -O0 as it is supposed to run only when optimization
885 is applied. See GCC bug 49743.
887 2011-07-06 Gary Funck <gary@intrepid.com>
889 Re-implement the pass that lowers trees generated by
890 the UPC front-end into GENERIC. Previously this was
891 done within the gimplification framework, but this
892 required that gimplification be run before inlining
893 and various other passes, which did not fit in well
894 with the current design of the middle-end passes.
895 Now, the lowering is done by a newly defined language
896 specific genericize hook. With this change, we are
897 are able to undo some extensions made to the gimplify
898 logic, and thus can revert several files to trunk.
900 * c-decl.c: Add a check for UPC deprecated names which
901 may appear as undefined function names.
902 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
903 LTI_upc_getaddr): Remove definitions of unused UPC
904 library function names. These were defined back when
905 the libfunc interface was used to call these routines.
906 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
907 in UPC lowering (genericize) pass.
908 * langhooks.h (gimplify_expr): Revert to trunk's definition.
909 (instrument_func): Delete this hook. Now handled in
911 * tree-pass.h: Revert to trunk.
912 * c-typeck.c (build_unary_op): Adjust reference to
913 upc_genericize() in a comment.
914 * gimplify.c (create_tmp_var_raw): Delete logic that
915 was converting UPC shared types into unshared types
916 to be used for temporaries. Now handled in upc_genericize().
917 Replace with an assertion check.
918 (prepare_gimple_addressable): Revert to trunk's definition.
919 No longer needed as an externally called function.
920 (flag_instrument_functions_exclude_p): Re-define as
921 an externally called function.
922 (gimplify_function_tree): Delete code that implemented
923 call to UPC's language specific function instrumentation hook.
924 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
925 (prepare_gimple_addressable): Delete extern definition;
926 revert to trunk's definition.
927 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
928 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
929 * c-family/c-gimplify.c: Revert to trunk.
930 * cp/cp-gimplify.c: Revert to trunk.
931 * cp/cp-tree.h: Revert to trunk.
932 * explow.c: Revert to trunk.
933 * langhooks.c: Revert to trunk.
934 * libfuncs.h: Revert to trunk.
935 * objc/objc-act.c: Revert to trunk.
937 2011-06-30 Gary Funck <gary@intrepid.com>
939 * c-family/c.opt: Bring options definitions up-to-date
940 with respect to changes made in the trunk.
942 2011-06-29 Gary Funck <gary@intrepid.com>
944 Merge trunk version 175584 into gupc branch.
946 2011-06-13 Gary Funck <gary@intrepid.com>
949 * include/cpplib.h (enum c_lang):
950 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
951 This keeps all the "C" variants together.
952 * init.c (lang_defaults): Add an entry for UPC.
954 2011-06-09 Gary Funck <gary@intrepid.com>
956 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
957 a 32-bit target, the size expression overflowed, the result was
958 error_mark_node, and an ICE was triggered on an attempt to evaluate
959 C_TYPE_VARIABLE_SIZE() on the error node.
960 (upc_blocksizeof_expr, upc_blocksizeof_type,
961 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
962 Make similar changes to avoid further processing of error_mark_node.
964 2011-06-07 Gary Funck <gary@intrepid.com>
966 * sel-sched.c (move_op): Incorporate the following
967 patch to eliminate ICE at -O3 on IA64/Altix.
969 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
971 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
972 code_motion_path_driver returned 0 or 1.
973 (sel_region_finish): Clear h_d_i_d.
975 2011-06-02 Gary Funck <gary@intrepid.com>
977 Merge trunk version 174558 into gupc branch.
979 2011-05-30 Gary Funck <gary@intrepid.com>
981 * configure.ac: Make the default order of the virtual
982 address field in a UPC pointer-to-shared to be "first".
983 This reverts to the previous setting, and is a short term
984 measure to work around a bug found on the IA64,
985 where vaddr=last led to incorrect code generation.
986 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
987 in AC_DEFINE(), to agree with recent changes in files
988 that reference this define.
989 configure, config.in: Regenerate.
991 2011-05-26 Gary Funck <gary@intrepid.com>
993 * configure.ac: Fix typo when referring to $upc_vaddr_order.
994 configure: Regenerate.
996 * ../fixincludes/fixincl.x: Revert to trunk.
997 This file is auto-generated, and should not be merged.
999 2011-05-18 Gary Funck <gary@intrepid.com>
1001 Merge trunk version 173845 into gupc branch.
1003 2011-05-17 Gary Funck <gary@intrepid.com>
1005 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1006 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1008 * c-family/c-pragma.c: Remove conditional compilation
1009 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1010 Test 'compiling_upc' when compiling to determine if
1011 the "upc" and "pupc" pragmas should be registered.
1013 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1014 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1015 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1016 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1017 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1018 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1019 Move these target-dependent definitions from config/upc-conf.h
1022 * configure.ac: Improve the logic for UPC-related options.
1023 Delete references to pre-processor definitions that have
1024 been moved to "upc/upc-pts.h".
1026 * configure, config.in: Regenerate.
1028 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1029 to trunk. This substitution variable was used to
1030 configure the representation-specific versions of
1031 the tree rewrites that operate on UPC pointer-to-shared
1034 * c-parser.c (c_parser_upc_forall_statement): Remove
1035 reference to UPC_FORALL_DEPTH_NAME, and call
1036 newly defined upc_rts_forall_depth_var() instead.
1038 * config/upc-config.h: Delete. Various definitions
1039 moved to "upc/upc-rts-names.h", "defaults.h", and
1042 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1043 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1044 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1045 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1046 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1047 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1048 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1049 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1050 New. Document UPC target macros.
1051 doc/tm.texi: Regenerate.
1053 2011-05-07 Gary Funck <gary@intrepid.com>
1055 * ../configure.ac: Disable build of libupc
1056 on non POSIX hosted systems. Use AS_HELP_STRING
1057 to define messages. Remove 'word-pair' as a
1058 possible --with-upc-pts UPC pointer-to-shared
1061 * ../configure: Regenerate.
1063 * configure.ac: Use AS_HELP_STRING to define messages.
1064 Remove 'word-pair' as a possible --with-upc-pts
1065 UPC pointer-to-shared representation.
1066 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1067 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1069 * configure: Regenerate.
1071 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1074 * ChangeLog.upc: Fix some typos.
1076 2011-05-07 Gary Funck <gary@intrepid.com>
1078 * ../maintainer-scripts/gcc_release: Add "upc"
1079 as one of the released languages.
1081 2011-05-06 Gary Funck <gary@intrepid.com>
1083 Eliminate compilation warnings, by fixing
1084 #include's and updating function prototypes.
1086 * c-family/c-cppbuiltin.c: Include c-upc.h.
1088 * optabs.c (gen_libfunc): Change type of 'suffix'
1089 parameter to conform with prototype.
1091 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1092 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1095 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1098 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1099 argument values to cp_gimplify_expr.
1101 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1102 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
1103 pre-processor definitions that are no longer
1104 needed to build the 'upc' command (upc-cmd.c)
1105 because the linker specs. defined in libupc
1106 take care of linking in the needed libraries.
1108 * c-parser.c (c_parser_upc_forall_statement):
1109 initialize affinity_loc to avoid "maybe unused" warning.
1110 (c_parser_upc_sync_statement): Remove un-needed
1111 'ret' variable. Cast return value from
1112 'upc_build_sync_stmt' to 'void' to avoid
1113 compile-time warning.
1115 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1116 integer constant, not a string. Range is restricted
1117 to maximum positive 32-bit integer (2+ billion) to
1118 fit in with the use of 'int' in the front-end's
1119 switch handling logic.
1121 2011-05-06 Gary Funck <gary@intrepid.com>
1123 Upgrade c-family source files to conform with modularity
1124 improvements. Mainly, remove #include of c-tree.h in files
1125 under c-family, and define a new UPC-specific #include file,
1126 c-upc.h, and use it.
1128 * c-family/stub-upc.c: Remove #include of c-tree.h and
1129 upc/upc-act.h. Replace with #include of c-common.h
1131 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1132 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1133 upc_localsizeof_expr, upc_localsizeof_type,
1134 upc_shared_type_p): Delete.
1136 * c-family/c-opts.c: Add #include of c-upc.h
1138 * c-family/c-common.c: Remove #include of c-tree.h and
1139 add #include of c-upc.h.
1141 * c-family/c-upc.h: New. Define API for UPC-specific functions
1142 (mostly implemented in upc/upc-act.c).
1144 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
1145 Remove extern definitions.
1147 * c-family/c-pragma.c: Remove #include of c-tree.h.
1148 Add #include of c-upc.h.
1150 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
1152 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
1153 upc/upc-act.c, and define as a macro.
1154 (expand_affinity_test): Remove unused external definition.
1155 (build_upc_unshared_type): Add external definition.
1156 (upc_shared_type_p): Remove external definition.
1158 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1160 * dojump.c: Remove #include of c-tree.h.
1162 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1164 (count_upc_threads_refs, is_multiple_of_upc_threads,
1165 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1166 upc_build_shared_var_addr, upc_build_sync_stmt,
1167 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1168 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1169 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1170 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1171 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1172 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1173 set_upc_consistency_mode, get_upc_consistency_mode,
1174 push_upc_consistency_mode, pop_upc_consistency_mode,
1176 Move external definitions to c-family/c-upc.h.
1177 (upc_blocksizeof_type, upc_localsizeof_type,
1178 upc_elemsizeof_type): Remove external definitions;
1179 these functions were moved to c-parser.c.
1181 * c-decl.c: Add #include of c-upc.h.
1183 * c-typeck.c: Add #include of c-upc.h.
1185 * c-convert.c: Add #include of c-upc.h.
1187 * ChangeLog.upc: Fix typo.
1189 * Makefile.in: Add references to c-family/c-upc.h, everywhere
1190 there is a reference to c-family/c-objc.h.
1191 Remove extraneous reference to upc-act.h.
1193 * c-parser.c: Add #include of c-upc.h.
1194 (upc_blocksizeof_expr, upc_blocksizeof_type,
1195 upc_elemsizeof_expr, upc_elemsizeof_type,
1196 upc_localsizeof_expr, upc_localsizeof_type):
1197 Move from upc/upc-act.c.
1199 * tree.c (build_upc_unshared_type): New.
1200 Move upc_get_unshared_type from upc/upc-act.c and rename
1201 to build_upc_unshared_type.
1202 c-family/c-common.c (pointer_int_sum): refer to renamed
1203 build_upc_unshared_type function.
1204 c-convert.c (convert): Ditto.
1205 convert.c (convert_to_pointer): Ditto.
1206 c-typeck.c (build_unary_op, build_modify_expr,
1207 really_start_incremental_init): Ditto.
1208 gimplify.c (create_tmp_var_raw): Ditto.
1209 tree.c (build1_stat): Ditto.
1210 tree.h (upc_get_unshared_type): Rename to
1211 build_upc_unshared_type.
1213 2011-05-06 Gary Funck <gary@intrepid.com>
1215 Merge trunk version 173471 into gupc branch.
1217 2011-05-05 Gary Funck <gary@intrepid.com>
1219 Make changes that bring the GUPC branch more closely in sync.
1220 with the GCC trunk. Revert any fixes that are not UPC-specific.
1221 Remove gratuitous re-formatting.
1223 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1224 This file should have been removed in a previous merge
1226 * ../configure.ac: Remove Cray Catamount/CNL support.
1227 * ../configure: Regenerate.
1228 * ../config.sub: Remove Cray Catamount/CNL support.
1229 * config.gcc: Remove Cray Catamount/CNL support.
1230 * ../maintainer-scripts/gcc_release: Revert to trunk.
1231 * c-family/c-common.h: Define parse_optimize_options. Its definition
1232 was missed in a previous merge with the trunk.
1233 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1235 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1236 in addition to ARRAY_TYPE.
1237 * c-typeck.c: Remove an extra newline character.
1238 * varasm.c: Revert a fix that improved an error message
1239 when TLS common data is unimplemented.
1240 * varasm.c: Revert a gcc_assert that had been added which
1241 checked for a null DECL_SIZE_UNIT field.
1242 * emultls.c: Revert to trunk. Remove possible fix.
1243 * Makefile.in: Revert extra blank line that is present
1244 in the trunk version.
1245 * Makefile.in: Revert a fix that handled long shell
1246 argument lists for plugin headers.
1247 * config/ia64/ia64.opt: Revert an option setting
1248 that increased the default TLS address range.
1249 * config/ia64/crtbegin.asm: Revert to trunk.
1250 Removes an extra newline character.
1251 * ChangeLog.upc: Spell check.
1253 2011-05-03 Gary Funck <gary@intrepid.com>
1255 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1256 (c_apply_type_quals_to_decl): Ditto.
1257 * c-family/c-common.h: Ditto.
1259 * c-decl.c (merge_decls): Ditto.
1260 * c-typeck.c (qualify_type, default_conversion,
1261 build_component_ref, build_unary_op,
1262 c_build_qualified_type): Ditto.
1263 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1265 2011-04-29 Gary Funck <gary@intrepid.com>
1267 * c-decl.c (finish_decl): Improve error diagnostics.
1268 (grokdeclarator): Ditto.
1270 * c-typeck.c (build_c_cast): Improve error diagnostics.
1271 (convert_for_assignment): Ditto.
1272 (build_binary_op): Ditto.
1274 * c-parser.c (c_parser_upc_forall_statement):
1275 Improve error diagnostics.
1277 * convert.c (convert_to_integer): Improve error diagnostics.
1279 2011-04-24 Gary Funck <gary@intrepid.com>
1281 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1282 occurred if there is an error in the barrier id
1283 expression. Map error_mark_node into NULL.
1285 2011-04-22 Gary Funck <gary@intrepid.com>
1287 Merge trunk version 172873 into gupc branch.
1289 2011-04-19 Gary Funck <gary@intrepid.com>
1291 Merge trunk version 172359 into gupc branch.
1293 2011-04-14 Gary Funck <gary@intrepid.com>
1295 * c-family/c.opt: Add UPC as a valid language for various
1296 switches where it is valid for "C", that were not updated
1297 in previous merges with trunk.
1299 2011-04-13 Gary Funck <gary@intrepid.com>
1301 * c-family/c.opt (fupc-pre-include): New option definition.
1302 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1303 -fno-upc-pre-include is asserted.
1305 2011-04-07 Gary Funck <gary@intrepid.com>
1307 Merge trunk version 172158 into gupc branch.
1308 to bring in the following fix.
1310 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1313 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1314 if old and new states differ.
1316 2011-04-06 Gary Funck <gary@intrepid.com>
1318 Merge trunk version 171966 into gupc branch.
1320 2011-04-01 Gary Funck <gary@intrepid.com>
1322 * tree.h (tree_base): Move UPC flag bits into bit fields
1323 located just before spare bits. Decrement spare bits.
1324 Rename 'shared_flag' -> 'upc_shared_flag',
1325 'relaxed_flag' -> 'upc_relaxed_flag',
1326 'strict_flag' -> 'upc_strict_flag, and adjust macros
1327 that reference them accordingly.
1329 2011-04-01 Gary Funck <gary@intrepid.com>
1331 * c-decl.c (grokdeclarator): Fix formatting of
1332 code that sets UPC block size on scalars.
1334 2011-04-01 Gary Funck <gary@intrepid.com>
1336 * c-decl.c (grokdeclarator): Revert use of white space
1337 to match the trunk (to rationalize diffs).
1338 * c-typeck.c (convert_for_assignment): Ditto.
1339 * tree-ssa.c (useless_type_conversion_p): Ditto.
1341 2011-03-23 Gary Funck <gary@intrepid.com>
1343 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1344 the GCC 4.6 release branch.
1346 2011-03-21 Gary Funck <gary@intrepid.com>
1348 Merge trunk version 171202 into gupc branch.
1350 2011-03-20 Gary Funck <gary@intrepid.com>
1352 * varasm.c: Call error() directly with a format specifier,
1353 rather than using sprintf() to format the message.
1354 This should make it easier to internationalize UPC's error messages.
1356 2011-03-20 Gary Funck <gary@intrepid.com>
1358 * configure.ac: Fix the check for gnu ld when enabling
1359 UPC link script support.
1360 configure: Regenerate (also picks up changes from previous
1363 2011-03-20 Gary Funck <gary@intrepid.com>
1365 Move UPC start files, end files, and linker specs.
1366 into libupc. This reduces the impact on common GCC
1367 configuration files, and ensures that these UPC-specific
1368 components are only built when the UPC language dialect is selected.
1372 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1373 linker specs. Fix typo in -fupc-debug message.
1375 * config/upc-conf.h, config/darwin.h: Move defines for
1376 UPC-related section begins/ends into libupc/config/default/
1379 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1380 UPC-related linker compiler specifications,
1381 accessed via %:include().
1383 * configure.ac, configure: Remove logic related to building
1384 upc-crtbegin/end. Remove config. tests for numa and cpu
1385 affinity (previously used by the 'upc' driver); these
1386 settings are now propagated by target-specific compiler
1387 specs. built by libupc. Regenerate autoconf.
1389 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1390 linker compiler specifications, accessed via %:include().
1391 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1394 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1396 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1397 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1398 config/ia64/linux.h, config/mips/t-iris,
1399 config/mips/iris6.h: Revert to trunk version 167307.
1402 * configure, configure.ac, config.host, Makefile.in:
1403 Revert to trunk version 167307.
1405 2011-02-23 Gary Funck <gary@intrepid.com>
1407 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1408 removed negation on following 'if'.
1410 2011-02-22 Gary Funck <gary@intrepid.com>
1412 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1413 to check for the usage of certain deprecated UPC keywords.
1414 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1415 * c-tree.h (undeclared_variable): Define prototype.
1417 2011-02-12 Gary Funck <gary@intrepid.com>
1419 * c-typeck.c: (build_c_cast, convert_for_assignment)
1420 Diagnose an attempt to convert from an integer to
1421 a pointer-to-shared as an error. Also, fix various
1422 error messages so that they use the preferred term
1423 pointer-to-shared instead of "shared pointer".
1425 2011-02-07 Gary Funck <gary@intrepid.com>
1427 * c-typeck.c: (convert_for_assignment)
1428 Fix typo. in error message.
1430 2011-01-23 Gary Funck <gary@intrepid.com>
1432 * c-typeck.c: (c_build_qualified_type)
1433 derive UPC block size by calling upc_get_block_size(),
1434 to ensure that the element type of an array of an array
1435 is derived correctly.
1437 2010-12-29 Gary Funck <gary@intrepid.com>
1439 Merge trunk version 168314 into gupc branch.
1441 2010-12-15 Gary Funck <gary@intrepid.com>
1443 Merge trunk version 167307 into gupc branch.
1445 2010-10-19 Gary Funck <gary@intrepid.com>
1447 * c-typeck.c: Fix typo in previous fix
1448 which led to a mis-compare for equal block sizes.
1450 2010-10-18 Gary Funck <gary@intrepid.com>
1452 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1453 diagnosed as an error
1455 The conversion from any type (shared or not) to
1456 a shared type is likely either meaningless or an error. This update
1457 makes any conversion to a shared type, an error.
1459 2010-10-18 Gary Funck <gary@intrepid.com>
1461 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1462 generates spurious warning
1464 Add a #define procedure that does the same thing as
1465 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1466 this procedure to diagnose passing an integer value to a
1467 pointer-to-shared as an error.
1469 2010-10-18 Gary Funck <gary@intrepid.com>
1471 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1472 matching routine declaration.
1474 When checking for type compatibility, shared qualified types must
1475 have the same block factor. This check was missing from
1476 comptypes_internal(). This update adds the check for blocking
1479 2010-10-17 Gary Funck <gary@intrepid.com>
1481 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1484 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1486 2010-10-17 Gary Funck <gary@intrepid.com>
1488 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1489 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1490 produces ice with -O3 and -m32.
1492 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1494 2010-10-17 Gary Funck <gary@intrepid.com>
1496 * c-common.c: Diagnose the application of the various "*sizeof"
1497 operations on generic pointer-to-shared as a compilation error.
1499 2010-10-17 Gary Funck <gary@intrepid.com>
1501 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1502 message regarding a function parameter being declared with a shared
1505 The parameter's 'name' value is not defined at this point, and
1506 cannot be used in the error message. This update removes the
1507 reference to 'name', and eliminates the segfault.
1509 2010-10-16 Gary Funck <gary@intrepid.com>
1511 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1513 The gcc/Makefile.in rules for install-plugin had to be re-written to
1514 break up a long list of header files that exceeded the command line
1515 limitation imposed by Irix.
1517 Access functions for TFmode types had to be implemented.
1518 Apparently, this is the mode used for the SGI/MIPS port to represent
1521 2010-10-14 Gary Funck <gary@intrepid.com>
1523 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1524 via typedef chain should not be diagnosed as an error.
1526 If the block size that is given by the typedef is equal to the block
1527 size given explicitly in the variable declaration, then do not
1528 complain. The easiest way to make this check was to create a
1529 temporary type that is a clone of the element type and then set its
1530 block size using the given layout qualifier. Then compare the block
1531 size of the temporary (the declaration) to the block size specified
1532 in the typedef. This complexity is needed, because the '[*]' block
1533 size needs to be calculated, and the '[]' needs to be mapped into a
1536 2010-10-10 Gary Funck <gary@intrepid.com>
1538 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1541 The compiler properly detected the presence of two or more layout
1542 qualifiers as an error, but then hit an assertion check, because the
1543 code that followed the error expected to see a qualifier and not a
1544 layout specifier. The fix is simple: just return immediately after
1545 detecting the error.
1547 2010-10-10 Gary Funck <gary@intrepid.com>
1549 * c-decl.c: Improve error diagnostics for various cases of UPC
1550 shared array type declarations.
1552 Add the check for this error: "In the dynamic translation
1553 environment, THREADS may not appear in declarations of shared arrays
1554 with indefinite block size". Also, fix up a few of the other
1555 related error diagnostics.
1557 2010-10-09 Gary Funck <gary@intrepid.com>
1559 * c-common.c: Fix bug: segfault on incomplete array definition.
1561 This turned out to be a bit complicated. The logic in
1562 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1563 the THREADS identifier in the case where the blocking factor has
1564 been set to indefinite ([]). This can happen when indefinite array
1565 declarations are processed for shared arrays. At that time, the
1566 file scope has been closed and THREADS is no longer in scope. Some
1567 more work is needed on upc_lang_layout_decl(). It has some
1568 duplication, and notably duplicates the two branches of the if
1569 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1570 caller of this routine (layout_decl()).
1572 The method of forcing a layout qualifier of [] in the indefinite
1573 declaration handler is odd a well. The code that just does the
1574 setting of the block factor, needs to moved into its own routine
1575 that doesn't depend upon a declspec for '[]' to be passed in, just
1576 in order to set the blocking factor to some value (in this case, 0).
1577 Also, the logic for how that shared type is constructed is strange.
1578 First the type with 0 blocking factor is set. Then the shared
1579 qualifier is removed from the type, and then added back later. The
1580 intermediate type has a blocking factor set, but it has no shared
1581 qualifier. Fixing this will require some thought. It is tempting
1582 just to make indefinite shared arrays an error, rather than forcing
1583 the dimension to be '1'.
1585 This likely fixes a serious error in the previous update to
1586 upc_lang_layout_decl(), where it didn't have the logic to set
1587 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1588 the previous update would fail on many tests.
1590 2010-10-09 Gary Funck <gary@intrepid.com>
1592 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1593 (decl) is null, which can happen if some layout error occurred
1596 2010-10-09 Gary Funck <gary@intrepid.com>
1598 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1599 "variable-sized" when compiled in dynamic threads.
1601 This long-standing bug is easily fixed. Just check
1602 for the situation that the non-constant sized type is shared and
1603 that it does not have a dimension that references a multiple of
1604 threads. If this criteria is met, then issue a meaningful
1607 2010-10-01 Gary Funck <gary@intrepid.com>
1609 * configure, configure.ac: Update manual page, and bug reporting
1612 Update "man" page to reflect debugging switches. Also, some general
1613 clean up. Change the bug reporting URL to point to gccupc.org.
1615 2010-09-27 Gary Funck <gary@intrepid.com>
1617 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1618 the UPC forall depth count variable is not found.
1620 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1621 The compiler will generate code that references this variable in
1622 order to implement nested upc_forall semantics. If there is a
1623 compiler build or install problem, this variable may not be found.
1624 In this case, terminate with an internal_error().
1626 2010-09-26 Gary Funck <gary@intrepid.com>
1628 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1629 mis-diagnosed as syntax error.
1631 Fix a failure exhibited by the Berkeley test case,
1632 bug873a.upc, which has the code:
1634 upc_forall (;;;d) {...} The compiler did not properly handle
1635 the empty "condition" clause, and did not recover well when it was
1636 determined that the use of a double value, "d" above, was neither a
1637 pointer-to-shared nor an integer expression. The update implements a
1638 fix for both issues.
1640 See also: gcc/c-parser.c gcc/upc/upc-act.c
1642 2010-09-23 Gary Funck <gary@intrepid.com>
1644 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1645 incorporated into the referencing type.
1647 This was semi-fixed a few times before. This update fixes a few
1648 more places where the layout qualifier wasn't being propagated
1649 through typedef's properly. What made this a bit tricky is shown in
1650 the example cited in the bug report:
1652 typedef shared [5] int A_t; A_t A[5*THREADS];
1654 In the typedef, the blocksize is being applied to a shared *scalar*,
1655 and the code was applying the blocksize only to arrays. This update
1656 handles shared scalars correctly.
1658 2010-09-22 Gary Funck <gary@intrepid.com>
1660 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1661 upc_forall() semantics are not implemented
1663 The checkforall test in the Berkeley harness test suite indicated
1664 that GCC/UPC was not properly implementing nested upc_forall
1665 semantics. Nested upc_forall statements (both statically or
1666 dynamically nested) must implement their affinity clause as if it
1667 were "continue"; thus all steps in the loop must execute without
1668 regard for affinity. To implement these semantics a global depth
1669 counter, __upc_forall_depth, is maintained by the generated code
1670 that implements upc_forall.
1672 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1673 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1674 libupc/include/upc.h libupc/smp/upc_main.c
1676 2010-09-19 Gary Funck <gary@intrepid.com>
1678 * c-decl.c: c-decl.c: zero out the layout specifier, after
1679 processing an array type.
1681 Fix the previous fix, that moved the setting of the type's layout
1682 qualifier to the outside of the array type processing loop. What is
1683 missing from the fix is that the layout_qualifier variable needs to
1684 be cleared after setting the type's blocksize.
1686 2010-09-19 Gary Funck <gary@intrepid.com>
1688 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1689 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1691 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1692 the actual maximum block size. Therefore, the message was correct,
1693 but the underlying value that was being checked was wrong. Change
1694 the values so that they agree with the actual implementation-defined
1697 2010-09-11 Gary Funck <gary@intrepid.com>
1699 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1700 multi-dimensional shared array with dynamic threads.
1702 This declaration caused an internal compiler error when compiled
1703 with dynamic threads:
1704 shared [*] int A[THREADS][16]; The bug was discovered when
1705 compiling the RTED_UPC test suite.
1707 The fix is to process layout qualifiers after the entire array type
1708 has been built. Otherwise, we try to calculate the blocksize on a
1709 shared array type that has not had its "size depends upon the value
1710 of THREADS" flag set.
1712 Also, added a test case.
1714 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1716 2010-07-11 Gary Funck <gary@intrepid.com>
1718 Fix a bug where a statement in c_build_qualified_type()
1719 in the trunk had been inadvertently deleted.
1720 This bug showed up in the IA64 port, because jmpbuf's
1721 on that architecture must be 16 byte aligned, and they were not.
1722 c-typeck.c (c_build_qualified_type): Revive the deleted line.
1724 2010-07-08 Gary Funck <gary@intrepid.com>
1726 Make changes so that other language compilers
1727 will build and bootstrap.
1728 * c-family/c-common.c (compiling_upc, flag_upc,
1729 flag_upc_instrument, flag_upc_instrument_functions,
1730 use_upc_dwarf2_extensions): Move to stub-upc.c and
1732 * c-family/c-common.h (use_upc_dwarf2_extensions,
1733 compiling_upc): Add extern definitions - needed
1734 to compile/build other language front ends.
1735 * c-family/c.opt: Fix the spelling of ObjC.
1736 It had been incorrectly spelled as Objc.
1737 * c-family/c.opt: Add UPC for the various switches
1738 that are valid for both C and ObjC.
1739 * c-fmaily/c-opts.c: Add CL_UPC to the list of
1740 supported options switches when compiling assembly
1742 * lto/lto-lang.c (use_upc_dwarf2_extensions,
1743 flag_upc_instrument, flag_upc_instrument_functions):
1744 Remove these definitions. They have been moved
1745 to c-family/stub-upc.c.
1746 * upc/ChangeLog: Move relevant entries
1748 * c-family/stub-upc.c (compiling_upc, flag_upc,
1749 flag_upc_instrument, flag_upc_instrument_functions,
1750 use_upc_dwarf2_extensions): Moved from c-common.c
1751 * upc/upc-lang.c (compiling_upc, flag_upc,
1752 flag_upc_instrument, flag_upc_instrument_functions,
1753 use_upc_dwarf2_extensions): Moved from c-common.c
1754 * objc/objc-act.c (objc_gimplify_expr): Add additional
1755 parameters to c_gimplify_expr() call, that are used
1756 by upc's tree rewrites.
1757 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1758 * gcc/cp/lex.c (init_reswords): If not compiling
1759 UPC, then mask off the UPC keywords.
1760 * cp/Make-lang.in (C_STUB_OBJS): Use this
1761 make macro to link with c-family/stub-objc.o
1762 and c-family/stub-upc.o.
1763 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1764 * java/Make-lang.in (C_STUB_OBJS): Likewise.
1765 * objc/Make-lang.in: Link with c-family/stub-upc.o
1766 to avoid undefined references.
1767 c-parser.c: Fix line indentation.
1768 * libcpp/include/cpplib.h: Remove CL_UPC from
1769 the list of language kinds accepted by the
1770 C preprocessor. This is not necessary because
1771 UPC is a derivative of C99, and does not need
1772 a different language kind.
1773 * c-fmaily/c-opts.c (c_common_handle_option):
1774 Call set_std_c99() when processing the
1775 "--lang upc" switch, instead of setting the
1776 language kind to CL_UPC.
1777 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1779 2010-07-03 Gary Funck <gary@intrepid.com>
1781 Merge trunk version 161517 into gupc branch.
1782 * gcc/stub-upc.c: Move to gcc/c-family/.
1783 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1784 Add 'unused' attributes to avoid "set, but
1785 not referenced" warnings.
1786 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1789 2010-03-01 Gary Funck <gary@intrepid.com>
1791 Create gupc branch from trunk version 157149.
1792 2011-10-04 Gary Funck <gary@intrepid.com>
1794 Merge trunk version 179421 into gupc branch.
1796 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1797 argument to the call to check_qualified_type().
1799 2011-09-22 Gary Funck <gary@intrepid.com>
1801 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1803 (dump_upc_type_quals): New.
1805 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1807 Add to FLAGS the flags needed to disable inlining of
1808 UPC run-time access routines.
1809 * testsuite/lib/target-supports.exp
1810 (add_options_for_upc_library_calls): New.
1812 2011-09-15 Gary Funck <gary@intrepid.com>
1814 Fix ICE involving shared bit field accesses.
1815 * tree.c (build3_stat): Propagate TEEE_SHARED()
1816 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1818 2011-09-13 Gary Funck <gary@intrepid.com>
1820 Merge trunk version 178795 into gupc branch.
1821 Incorporates fix to PR bootstrap/50010 for x86-32.
1823 2011-09-08 Gary Funck <gary@intrepid.com>
1825 Merge trunk version 178557 into gupc branch.
1827 2011-09-07 Gary Funck <gary@intrepid.com>
1829 Ensure that UPC pointer-to-shared type alignment is
1830 propagated to the final type. Revert to long-standing
1831 alignment policy: twice the size of a "C" pointer.
1832 * tree.c (build_pointer_type): Propagate the alignment
1833 of the UPC pointer-to-shared representation type
1834 into the newly built pointer type.
1836 2011-08-30 Gary Funck <gary@intrepid.com>
1838 * tree.h (check_qualified_type): Change 'const_tree'
1839 argument types back to 'tree' to avoid complaints
1840 of assignment drops qualifiers for invocations of the
1841 newly implemented TYPE_BLOCK_FACTOR() macro, which
1842 invokes hash functions with 'tree' pointer values that
1843 are not const qualified.
1844 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1845 * c-typeck.c (comptypes_internal): Ditto.
1847 2011-08-29 Gary Funck <gary@intrepid.com>
1849 Fixes for regressions noted running "make check"
1851 * fold-const.c (fold_unary_loc): Execute UPC-specific
1852 checks for a cast-of-a-cast, only if one of the
1853 operands is a UPC pointer-to-shared value.
1854 * opts.c (print_specific_help): Fix a comparison
1855 in an assert that checks that there are enough
1856 bits reserved for the number of languages defined
1859 2011-08-29 Gary Funck <gary@intrepid.com>
1861 Implement a hash table to record UPC block factors.
1862 * c-family/stub-upc.c (upc_block_factor_insert,
1863 upc_block_factor_lookup): New dummy stub procedures.
1864 * c-family/c-common.c (c_sizeof_or_alignof_type):
1865 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1866 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1867 to copy (hashed) UPC blocking factor.
1868 (set_type_quals): Likewise.
1869 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1870 TYPE_HAS_THREADS_FACTOR().
1871 (type_common.block_factor): Delete.
1872 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1873 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1874 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1875 UPC blocking factors greater than one.
1876 * dwarf2out.c (modified_type_die): Re-implement
1877 logic that records UPC blocking factor in the generated
1878 DWARF2 debugging information.
1879 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1880 TYPE_HAS_THREADS_FACTOR().
1881 * c-decl.c (finish_decl, grokdeclarator):
1882 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1883 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1884 used by UPC, and print UPC-specific information.
1886 2011-08-28 Gary Funck <gary@intrepid.com>
1888 Re-work the type machinery to fully support and to unify support
1889 for the UPC layout qualifier (blocking factor).
1890 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1891 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1892 and update prototype.
1893 * c-family/c-common.c (complete_array_type): call newly
1894 defined c_build_qualified_type_1() instead of
1895 upc_set_block_factor().
1896 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1897 upc_apply_layout_qualifier() and update prototype.
1898 (upc_set_block_factor): Delete prototype.
1899 * c-family/c-common.h (c_build_qualified_type): redefine
1900 as a pre-processor macro that invokes c_build_qualified_type_1()
1901 with a null UPC layout qualifier.
1902 (c_build_qualified_type_1): New. Add layout qualifier argument
1903 to old c_build_qualified_type() prototype.
1904 * tree.c (set_type_quals, check_qualified_type):
1905 Add layout qualifier as argument.
1906 (check_aligned_type): Add check for UPC block factor equality.
1907 (get_qualified_type_1): Rename from get_qualified_type() and
1908 add layout qualifier as argument.
1909 (build_qualified_type_1): Rename from build_qualified_type() and
1910 add layout qualifier as argument.
1911 * tree.h (check_qualified_type): Add layout qualifier as argument
1913 (get_qualified_type): Re-define as a as a pre-processor macro
1914 that invokes get_qualified_type_1() with a null
1915 UPC layout qualifier.
1916 (get_qualified_type_1): Rename from get_qualified_type() and
1917 add layout qualifier as argument.
1918 * cp/tree.c (c_build_qualified_type_1): Rename from
1919 c_build_qualified_type() and add (unused) layout qualifier
1921 * c-decl.c (finish_decl): re-format long error messages.
1922 (grokdeclarator): Re-work the logic so that it calls
1923 upc_grok_layout_qualifier() to handle the UPC layout
1924 qualifier, if present.
1925 * c-typeck.c (qualify_type, common_pointer_type,
1926 build_component_ref): Re-work the logic so that it calls
1927 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1929 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1930 and add layout qualifier argument.
1931 * print_tree.c (print_node): Re-format a long line.
1933 2011-08-26 Gary Funck <gary@intrepid.com>
1935 Merge trunk version 177949 into gupc branch.
1936 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1938 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1939 to add new rliterals column value.
1941 2011-08-26 Gary Funck <gary@intrepid.com>
1943 * convert.c (convert_to_integer): Fix the check for the
1944 difference between two UPC pointers-to-shared values.
1946 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1948 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1949 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1950 correctly check packed bits.
1951 * configure: Re-generate.
1953 2011-08-16 Gary Funck <gary@intrepid.com>
1955 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1956 the barrier id expression is not an integer expression.
1958 2011-08-12 Gary Funck <gary@intrepid.com>
1960 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1962 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1963 Set mode of UPC pointer-to-shared rep. to an
1964 integral mode of size at least as large as the
1965 size of the representation's struct type.
1967 2011-08-12 Gary Funck <gary@intrepid.com>
1969 Rework/simplify the UPC genericize pass.
1970 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1971 upc_build_pointer_type): New.
1972 (upc_set_block_factor): Adjust to new calling sequence.
1973 (upc_build_shared_var_addr): Delete.
1974 * c-family/c-common.c (complete_array_type): Adjust call
1975 to upc_set_block_factor().
1976 * c-family/c-upc.h (upc_apply_layout_qualifier,
1977 upc_build_pointer_type): New.
1978 (upc_build_shared_var_addr): Delete.
1979 (upc_set_block_factor): Adjust to new calling sequence.
1980 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1981 * c-decl.c (grokdeclarator): Call newly defined
1982 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1983 * c-decl.c (grokdeclarator): Split long UPC-related error
1984 messages into two lines.
1985 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1986 directly. Revert that change to trunk. (upc_genericize() will
1987 handle lowering the expressions that take the address of a
1989 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1990 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1991 representation type.
1993 2011-08-10 Gary Funck <gary@intrepid.com>
1995 Implement additional fixes for recent merge with trunk.
1996 * explow.c (promote_mode): Do not attempt to promote
1997 the mode for UPC pointer-to-shared types.
1998 * config/i386/i386.c (function_value_64): Ditto.
2000 2011-08-07 Gary Funck <gary@intrepid.com>
2002 Merge trunk version 177548 into gupc branch.
2003 * config/i386/i386.c (ix86_promote_function_mode):
2004 Do not promote UPC pointers-to-shared to Pmode.
2005 * c-family/c-ommon.c (pointer_int_sum):
2006 Also check the pointer operand, rather than just
2007 its type, when making the decision to derive
2008 the equivalent unshared type.
2009 * tree.c (build2_stat): If the type of the result
2010 passed in as an argument is a UPC shared type,
2011 derive the unshared equivalent when calculating
2012 the result type of the node.
2014 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
2016 * config/darwin.c: Disable var_tracking option
2017 on -O0 as it is supposed to run only when optimization
2018 is applied. See GCC bug 49743.
2020 2011-07-06 Gary Funck <gary@intrepid.com>
2022 Re-implement the pass that lowers trees generated by
2023 the UPC front-end into GENERIC. Previously this was
2024 done within the gimplification framework, but this
2025 required that gimplification be run before inlining
2026 and various other passes, which did not fit in well
2027 with the current design of the middle-end passes.
2028 Now, the lowering is done by a newly defined language
2029 specific genericize hook. With this change, we are
2030 are able to undo some extensions made to the gimplify
2031 logic, and thus can revert several files to trunk.
2033 * c-decl.c: Add a check for UPC deprecated names which
2034 may appear as undefined function names.
2035 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2036 LTI_upc_getaddr): Remove definitions of unused UPC
2037 library function names. These were defined back when
2038 the libfunc interface was used to call these routines.
2039 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2040 in UPC lowering (genericize) pass.
2041 * langhooks.h (gimplify_expr): Revert to trunk's definition.
2042 (instrument_func): Delete this hook. Now handled in
2044 * tree-pass.h: Revert to trunk.
2045 * c-typeck.c (build_unary_op): Adjust reference to
2046 upc_genericize() in a comment.
2047 * gimplify.c (create_tmp_var_raw): Delete logic that
2048 was converting UPC shared types into unshared types
2049 to be used for temporaries. Now handled in upc_genericize().
2050 Replace with an assertion check.
2051 (prepare_gimple_addressable): Revert to trunk's definition.
2052 No longer needed as an externally called function.
2053 (flag_instrument_functions_exclude_p): Re-define as
2054 an externally called function.
2055 (gimplify_function_tree): Delete code that implemented
2056 call to UPC's language specific function instrumentation hook.
2057 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2058 (prepare_gimple_addressable): Delete extern definition;
2059 revert to trunk's definition.
2060 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2061 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2062 * c-family/c-gimplify.c: Revert to trunk.
2063 * cp/cp-gimplify.c: Revert to trunk.
2064 * cp/cp-tree.h: Revert to trunk.
2065 * explow.c: Revert to trunk.
2066 * langhooks.c: Revert to trunk.
2067 * libfuncs.h: Revert to trunk.
2068 * objc/objc-act.c: Revert to trunk.
2070 2011-06-30 Gary Funck <gary@intrepid.com>
2072 * c-family/c.opt: Bring options definitions up-to-date
2073 with respect to changes made in the trunk.
2075 2011-06-29 Gary Funck <gary@intrepid.com>
2077 Merge trunk version 175584 into gupc branch.
2079 2011-06-13 Gary Funck <gary@intrepid.com>
2082 * include/cpplib.h (enum c_lang):
2083 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2084 This keeps all the "C" variants together.
2085 * init.c (lang_defaults): Add an entry for UPC.
2087 2011-06-09 Gary Funck <gary@intrepid.com>
2089 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2090 a 32-bit target, the size expression overflowed, the result was
2091 error_mark_node, and an ICE was triggered on an attempt to evaluate
2092 C_TYPE_VARIABLE_SIZE() on the error node.
2093 (upc_blocksizeof_expr, upc_blocksizeof_type,
2094 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2095 Make similar changes to avoid further processing of error_mark_node.
2097 2011-06-07 Gary Funck <gary@intrepid.com>
2099 * sel-sched.c (move_op): Incorporate the following
2100 patch to eliminate ICE at -O3 on IA64/Altix.
2102 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
2104 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
2105 code_motion_path_driver returned 0 or 1.
2106 (sel_region_finish): Clear h_d_i_d.
2108 2011-06-02 Gary Funck <gary@intrepid.com>
2110 Merge trunk version 174558 into gupc branch.
2112 2011-05-30 Gary Funck <gary@intrepid.com>
2114 * configure.ac: Make the default order of the virtual
2115 address field in a UPC pointer-to-shared to be "first".
2116 This reverts to the previous setting, and is a short term
2117 measure to work around a bug found on the IA64,
2118 where vaddr=last led to incorrect code generation.
2119 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2120 in AC_DEFINE(), to agree with recent changes in files
2121 that reference this define.
2122 configure, config.in: Regenerate.
2124 2011-05-26 Gary Funck <gary@intrepid.com>
2126 * configure.ac: Fix typo when referring to $upc_vaddr_order.
2127 configure: Regenerate.
2129 * ../fixincludes/fixincl.x: Revert to trunk.
2130 This file is auto-generated, and should not be merged.
2132 2011-05-18 Gary Funck <gary@intrepid.com>
2134 Merge trunk version 173845 into gupc branch.
2136 2011-05-17 Gary Funck <gary@intrepid.com>
2138 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2139 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2141 * c-family/c-pragma.c: Remove conditional compilation
2142 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2143 Test 'compiling_upc' when compiling to determine if
2144 the "upc" and "pupc" pragmas should be registered.
2146 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2147 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2148 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2149 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2150 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2151 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2152 Move these target-dependent definitions from config/upc-conf.h
2155 * configure.ac: Improve the logic for UPC-related options.
2156 Delete references to pre-processor definitions that have
2157 been moved to "upc/upc-pts.h".
2159 * configure, config.in: Regenerate.
2161 * Makefile.in (UPC_PTS_REP): Remove definition and revert
2162 to trunk. This substitution variable was used to
2163 configure the representation-specific versions of
2164 the tree rewrites that operate on UPC pointer-to-shared
2167 * c-parser.c (c_parser_upc_forall_statement): Remove
2168 reference to UPC_FORALL_DEPTH_NAME, and call
2169 newly defined upc_rts_forall_depth_var() instead.
2171 * config/upc-config.h: Delete. Various definitions
2172 moved to "upc/upc-rts-names.h", "defaults.h", and
2175 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2176 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2177 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2178 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2179 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2180 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2181 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2182 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2183 New. Document UPC target macros.
2184 doc/tm.texi: Regenerate.
2186 2011-05-07 Gary Funck <gary@intrepid.com>
2188 * ../configure.ac: Disable build of libupc
2189 on non POSIX hosted systems. Use AS_HELP_STRING
2190 to define messages. Remove 'word-pair' as a
2191 possible --with-upc-pts UPC pointer-to-shared
2194 * ../configure: Regenerate.
2196 * configure.ac: Use AS_HELP_STRING to define messages.
2197 Remove 'word-pair' as a possible --with-upc-pts
2198 UPC pointer-to-shared representation.
2199 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2200 (UPC_MAX_BLOCK_SIZE): Correct the default value.
2202 * configure: Regenerate.
2204 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2207 * ChangeLog.upc: Fix some typos.
2209 2011-05-07 Gary Funck <gary@intrepid.com>
2211 * ../maintainer-scripts/gcc_release: Add "upc"
2212 as one of the released languages.
2214 2011-05-06 Gary Funck <gary@intrepid.com>
2216 Eliminate compilation warnings, by fixing
2217 #include's and updating function prototypes.
2219 * c-family/c-cppbuiltin.c: Include c-upc.h.
2221 * optabs.c (gen_libfunc): Change type of 'suffix'
2222 parameter to conform with prototype.
2224 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2225 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2228 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2231 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2232 argument values to cp_gimplify_expr.
2234 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2235 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2236 pre-processor definitions that are no longer
2237 needed to build the 'upc' command (upc-cmd.c)
2238 because the linker specs. defined in libupc
2239 take care of linking in the needed libraries.
2241 * c-parser.c (c_parser_upc_forall_statement):
2242 initialize affinity_loc to avoid "maybe unused" warning.
2243 (c_parser_upc_sync_statement): Remove un-needed
2244 'ret' variable. Cast return value from
2245 'upc_build_sync_stmt' to 'void' to avoid
2246 compile-time warning.
2248 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2249 integer constant, not a string. Range is restricted
2250 to maximum positive 32-bit integer (2+ billion) to
2251 fit in with the use of 'int' in the front-end's
2252 switch handling logic.
2254 2011-05-06 Gary Funck <gary@intrepid.com>
2256 Upgrade c-family source files to conform with modularity
2257 improvements. Mainly, remove #include of c-tree.h in files
2258 under c-family, and define a new UPC-specific #include file,
2259 c-upc.h, and use it.
2261 * c-family/stub-upc.c: Remove #include of c-tree.h and
2262 upc/upc-act.h. Replace with #include of c-common.h
2264 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2265 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2266 upc_localsizeof_expr, upc_localsizeof_type,
2267 upc_shared_type_p): Delete.
2269 * c-family/c-opts.c: Add #include of c-upc.h
2271 * c-family/c-common.c: Remove #include of c-tree.h and
2272 add #include of c-upc.h.
2274 * c-family/c-upc.h: New. Define API for UPC-specific functions
2275 (mostly implemented in upc/upc-act.c).
2277 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2278 Remove extern definitions.
2280 * c-family/c-pragma.c: Remove #include of c-tree.h.
2281 Add #include of c-upc.h.
2283 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2285 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2286 upc/upc-act.c, and define as a macro.
2287 (expand_affinity_test): Remove unused external definition.
2288 (build_upc_unshared_type): Add external definition.
2289 (upc_shared_type_p): Remove external definition.
2291 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2293 * dojump.c: Remove #include of c-tree.h.
2295 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2297 (count_upc_threads_refs, is_multiple_of_upc_threads,
2298 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2299 upc_build_shared_var_addr, upc_build_sync_stmt,
2300 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2301 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2302 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2303 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2304 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2305 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2306 set_upc_consistency_mode, get_upc_consistency_mode,
2307 push_upc_consistency_mode, pop_upc_consistency_mode,
2309 Move external definitions to c-family/c-upc.h.
2310 (upc_blocksizeof_type, upc_localsizeof_type,
2311 upc_elemsizeof_type): Remove external definitions;
2312 these functions were moved to c-parser.c.
2314 * c-decl.c: Add #include of c-upc.h.
2316 * c-typeck.c: Add #include of c-upc.h.
2318 * c-convert.c: Add #include of c-upc.h.
2320 * ChangeLog.upc: Fix typo.
2322 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2323 there is a reference to c-family/c-objc.h.
2324 Remove extraneous reference to upc-act.h.
2326 * c-parser.c: Add #include of c-upc.h.
2327 (upc_blocksizeof_expr, upc_blocksizeof_type,
2328 upc_elemsizeof_expr, upc_elemsizeof_type,
2329 upc_localsizeof_expr, upc_localsizeof_type):
2330 Move from upc/upc-act.c.
2332 * tree.c (build_upc_unshared_type): New.
2333 Move upc_get_unshared_type from upc/upc-act.c and rename
2334 to build_upc_unshared_type.
2335 c-family/c-common.c (pointer_int_sum): refer to renamed
2336 build_upc_unshared_type function.
2337 c-convert.c (convert): Ditto.
2338 convert.c (convert_to_pointer): Ditto.
2339 c-typeck.c (build_unary_op, build_modify_expr,
2340 really_start_incremental_init): Ditto.
2341 gimplify.c (create_tmp_var_raw): Ditto.
2342 tree.c (build1_stat): Ditto.
2343 tree.h (upc_get_unshared_type): Rename to
2344 build_upc_unshared_type.
2346 2011-05-06 Gary Funck <gary@intrepid.com>
2348 Merge trunk version 173471 into gupc branch.
2350 2011-05-05 Gary Funck <gary@intrepid.com>
2352 Make changes that bring the GUPC branch more closely in sync.
2353 with the GCC trunk. Revert any fixes that are not UPC-specific.
2354 Remove gratuitous re-formatting.
2356 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2357 This file should have been removed in a previous merge
2359 * ../configure.ac: Remove Cray Catamount/CNL support.
2360 * ../configure: Regenerate.
2361 * ../config.sub: Remove Cray Catamount/CNL support.
2362 * config.gcc: Remove Cray Catamount/CNL support.
2363 * ../maintainer-scripts/gcc_release: Revert to trunk.
2364 * c-family/c-common.h: Define parse_optimize_options. Its definition
2365 was missed in a previous merge with the trunk.
2366 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2368 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2369 in addition to ARRAY_TYPE.
2370 * c-typeck.c: Remove an extra newline character.
2371 * varasm.c: Revert a fix that improved an error message
2372 when TLS common data is unimplemented.
2373 * varasm.c: Revert a gcc_assert that had been added which
2374 checked for a null DECL_SIZE_UNIT field.
2375 * emultls.c: Revert to trunk. Remove possible fix.
2376 * Makefile.in: Revert extra blank line that is present
2377 in the trunk version.
2378 * Makefile.in: Revert a fix that handled long shell
2379 argument lists for plugin headers.
2380 * config/ia64/ia64.opt: Revert an option setting
2381 that increased the default TLS address range.
2382 * config/ia64/crtbegin.asm: Revert to trunk.
2383 Removes an extra newline character.
2384 * ChangeLog.upc: Spell check.
2386 2011-05-03 Gary Funck <gary@intrepid.com>
2388 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2389 (c_apply_type_quals_to_decl): Ditto.
2390 * c-family/c-common.h: Ditto.
2392 * c-decl.c (merge_decls): Ditto.
2393 * c-typeck.c (qualify_type, default_conversion,
2394 build_component_ref, build_unary_op,
2395 c_build_qualified_type): Ditto.
2396 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2398 2011-04-29 Gary Funck <gary@intrepid.com>
2400 * c-decl.c (finish_decl): Improve error diagnostics.
2401 (grokdeclarator): Ditto.
2403 * c-typeck.c (build_c_cast): Improve error diagnostics.
2404 (convert_for_assignment): Ditto.
2405 (build_binary_op): Ditto.
2407 * c-parser.c (c_parser_upc_forall_statement):
2408 Improve error diagnostics.
2410 * convert.c (convert_to_integer): Improve error diagnostics.
2412 2011-04-24 Gary Funck <gary@intrepid.com>
2414 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2415 occurred if there is an error in the barrier id
2416 expression. Map error_mark_node into NULL.
2418 2011-04-22 Gary Funck <gary@intrepid.com>
2420 Merge trunk version 172873 into gupc branch.
2422 2011-04-19 Gary Funck <gary@intrepid.com>
2424 Merge trunk version 172359 into gupc branch.
2426 2011-04-14 Gary Funck <gary@intrepid.com>
2428 * c-family/c.opt: Add UPC as a valid language for various
2429 switches where it is valid for "C", that were not updated
2430 in previous merges with trunk.
2432 2011-04-13 Gary Funck <gary@intrepid.com>
2434 * c-family/c.opt (fupc-pre-include): New option definition.
2435 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2436 -fno-upc-pre-include is asserted.
2438 2011-04-07 Gary Funck <gary@intrepid.com>
2440 Merge trunk version 172158 into gupc branch.
2441 to bring in the following fix.
2443 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2446 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2447 if old and new states differ.
2449 2011-04-06 Gary Funck <gary@intrepid.com>
2451 Merge trunk version 171966 into gupc branch.
2453 2011-04-01 Gary Funck <gary@intrepid.com>
2455 * tree.h (tree_base): Move UPC flag bits into bit fields
2456 located just before spare bits. Decrement spare bits.
2457 Rename 'shared_flag' -> 'upc_shared_flag',
2458 'relaxed_flag' -> 'upc_relaxed_flag',
2459 'strict_flag' -> 'upc_strict_flag, and adjust macros
2460 that reference them accordingly.
2462 2011-04-01 Gary Funck <gary@intrepid.com>
2464 * c-decl.c (grokdeclarator): Fix formatting of
2465 code that sets UPC block size on scalars.
2467 2011-04-01 Gary Funck <gary@intrepid.com>
2469 * c-decl.c (grokdeclarator): Revert use of white space
2470 to match the trunk (to rationalize diffs).
2471 * c-typeck.c (convert_for_assignment): Ditto.
2472 * tree-ssa.c (useless_type_conversion_p): Ditto.
2474 2011-03-23 Gary Funck <gary@intrepid.com>
2476 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2477 the GCC 4.6 release branch.
2479 2011-03-21 Gary Funck <gary@intrepid.com>
2481 Merge trunk version 171202 into gupc branch.
2483 2011-03-20 Gary Funck <gary@intrepid.com>
2485 * varasm.c: Call error() directly with a format specifier,
2486 rather than using sprintf() to format the message.
2487 This should make it easier to internationalize UPC's error messages.
2489 2011-03-20 Gary Funck <gary@intrepid.com>
2491 * configure.ac: Fix the check for gnu ld when enabling
2492 UPC link script support.
2493 configure: Regenerate (also picks up changes from previous
2496 2011-03-20 Gary Funck <gary@intrepid.com>
2498 Move UPC start files, end files, and linker specs.
2499 into libupc. This reduces the impact on common GCC
2500 configuration files, and ensures that these UPC-specific
2501 components are only built when the UPC language dialect is selected.
2504 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2505 linker specs. Fix typo in -fupc-debug message.
2507 * config/upc-conf.h, config/darwin.h: Move defines for
2508 UPC-related section begins/ends into libupc/config/default/
2511 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2512 UPC-related linker compiler specifications,
2513 accessed via %:include().
2515 * configure.ac, configure: Remove logic related to building
2516 upc-crtbegin/end. Remove config. tests for numa and cpu
2517 affinity (previously used by the 'upc' driver); these
2518 settings are now propagated by target-specific compiler
2519 specs. built by libupc. Regenerate autoconf.
2521 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2522 linker compiler specifications, accessed via %:include().
2523 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2526 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2528 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2529 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2530 config/ia64/linux.h, config/mips/t-iris,
2531 config/mips/iris6.h: Revert to trunk version 167307.
2534 * configure, configure.ac, config.host, Makefile.in:
2535 Revert to trunk version 167307.
2537 2011-02-23 Gary Funck <gary@intrepid.com>
2539 * c-decl.c (undeclared_variable): fix typo. Inadvertently
2540 removed negation on following 'if'.
2542 2011-02-22 Gary Funck <gary@intrepid.com>
2544 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2545 to check for the usage of certain deprecated UPC keywords.
2546 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2547 * c-tree.h (undeclared_variable): Define prototype.
2549 2011-02-12 Gary Funck <gary@intrepid.com>
2551 * c-typeck.c: (build_c_cast, convert_for_assignment)
2552 Diagnose an attempt to convert from an integer to
2553 a pointer-to-shared as an error. Also, fix various
2554 error messages so that they use the preferred term
2555 pointer-to-shared instead of "shared pointer".
2557 2011-02-07 Gary Funck <gary@intrepid.com>
2559 * c-typeck.c: (convert_for_assignment)
2560 Fix typo. in error message.
2562 2011-01-23 Gary Funck <gary@intrepid.com>
2564 * c-typeck.c: (c_build_qualified_type)
2565 derive UPC block size by calling upc_get_block_size(),
2566 to ensure that the element type of an array of an array
2567 is derived correctly.
2569 2010-12-29 Gary Funck <gary@intrepid.com>
2571 Merge trunk version 168314 into gupc branch.
2573 2010-12-15 Gary Funck <gary@intrepid.com>
2575 Merge trunk version 167307 into gupc branch.
2577 2010-10-19 Gary Funck <gary@intrepid.com>
2579 * c-typeck.c: Fix typo in previous fix
2580 which led to a mis-compare for equal block sizes.
2582 2010-10-18 Gary Funck <gary@intrepid.com>
2584 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2585 diagnosed as an error
2587 The conversion from any type (shared or not) to
2588 a shared type is likely either meaningless or an error. This update
2589 makes any conversion to a shared type, an error.
2591 2010-10-18 Gary Funck <gary@intrepid.com>
2593 * c-typeck.c: Fix bug: passing int to shared pointer arg.
2594 generates spurious warning
2596 Add a #define procedure that does the same thing as
2597 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
2598 this procedure to diagnose passing an integer value to a
2599 pointer-to-shared as an error.
2601 2010-10-18 Gary Funck <gary@intrepid.com>
2603 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2604 matching routine declaration.
2606 When checking for type compatibility, shared qualified types must
2607 have the same block factor. This check was missing from
2608 comptypes_internal(). This update adds the check for blocking
2611 2010-10-17 Gary Funck <gary@intrepid.com>
2613 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2616 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2618 2010-10-17 Gary Funck <gary@intrepid.com>
2620 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2621 45869 - [4.5/4.6 Regression] type mismatch in shift expression
2622 produces ice with -O3 and -m32.
2624 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2626 2010-10-17 Gary Funck <gary@intrepid.com>
2628 * c-common.c: Diagnose the application of the various "*sizeof"
2629 operations on generic pointer-to-shared as a compilation error.
2631 2010-10-17 Gary Funck <gary@intrepid.com>
2633 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2634 message regarding a function parameter being declared with a shared
2637 The parameter's 'name' value is not defined at this point, and
2638 cannot be used in the error message. This update removes the
2639 reference to 'name', and eliminates the segfault.
2641 2010-10-16 Gary Funck <gary@intrepid.com>
2643 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2645 The gcc/Makefile.in rules for install-plugin had to be re-written to
2646 break up a long list of header files that exceeded the command line
2647 limitation imposed by Irix.
2649 Access functions for TFmode types had to be implemented.
2650 Apparently, this is the mode used for the SGI/MIPS port to represent
2653 2010-10-14 Gary Funck <gary@intrepid.com>
2655 * c-decl.c: Fix bug: Multiple equal blocking factors specified
2656 via typedef chain should not be diagnosed as an error.
2658 If the block size that is given by the typedef is equal to the block
2659 size given explicitly in the variable declaration, then do not
2660 complain. The easiest way to make this check was to create a
2661 temporary type that is a clone of the element type and then set its
2662 block size using the given layout qualifier. Then compare the block
2663 size of the temporary (the declaration) to the block size specified
2664 in the typedef. This complexity is needed, because the '[*]' block
2665 size needs to be calculated, and the '[]' needs to be mapped into a
2668 2010-10-10 Gary Funck <gary@intrepid.com>
2670 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2673 The compiler properly detected the presence of two or more layout
2674 qualifiers as an error, but then hit an assertion check, because the
2675 code that followed the error expected to see a qualifier and not a
2676 layout specifier. The fix is simple: just return immediately after
2677 detecting the error.
2679 2010-10-10 Gary Funck <gary@intrepid.com>
2681 * c-decl.c: Improve error diagnostics for various cases of UPC
2682 shared array type declarations.
2684 Add the check for this error: "In the dynamic translation
2685 environment, THREADS may not appear in declarations of shared arrays
2686 with indefinite block size". Also, fix up a few of the other
2687 related error diagnostics.
2689 2010-10-09 Gary Funck <gary@intrepid.com>
2691 * c-common.c: Fix bug: segfault on incomplete array definition.
2693 This turned out to be a bit complicated. The logic in
2694 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2695 the THREADS identifier in the case where the blocking factor has
2696 been set to indefinite ([]). This can happen when indefinite array
2697 declarations are processed for shared arrays. At that time, the
2698 file scope has been closed and THREADS is no longer in scope. Some
2699 more work is needed on upc_lang_layout_decl(). It has some
2700 duplication, and notably duplicates the two branches of the if
2701 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2702 caller of this routine (layout_decl()).
2704 The method of forcing a layout qualifier of [] in the indefinite
2705 declaration handler is odd a well. The code that just does the
2706 setting of the block factor, needs to moved into its own routine
2707 that doesn't depend upon a declspec for '[]' to be passed in, just
2708 in order to set the blocking factor to some value (in this case, 0).
2709 Also, the logic for how that shared type is constructed is strange.
2710 First the type with 0 blocking factor is set. Then the shared
2711 qualifier is removed from the type, and then added back later. The
2712 intermediate type has a blocking factor set, but it has no shared
2713 qualifier. Fixing this will require some thought. It is tempting
2714 just to make indefinite shared arrays an error, rather than forcing
2715 the dimension to be '1'.
2717 This likely fixes a serious error in the previous update to
2718 upc_lang_layout_decl(), where it didn't have the logic to set
2719 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2720 the previous update would fail on many tests.
2722 2010-10-09 Gary Funck <gary@intrepid.com>
2724 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2725 (decl) is null, which can happen if some layout error occurred
2728 2010-10-09 Gary Funck <gary@intrepid.com>
2730 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2731 "variable-sized" when compiled in dynamic threads.
2733 This long-standing bug is easily fixed. Just check
2734 for the situation that the non-constant sized type is shared and
2735 that it does not have a dimension that references a multiple of
2736 threads. If this criteria is met, then issue a meaningful
2739 2010-10-01 Gary Funck <gary@intrepid.com>
2741 * configure, configure.ac: Update manual page, and bug reporting
2744 Update "man" page to reflect debugging switches. Also, some general
2745 clean up. Change the bug reporting URL to point to gccupc.org.
2747 2010-09-27 Gary Funck <gary@intrepid.com>
2749 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2750 the UPC forall depth count variable is not found.
2752 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2753 The compiler will generate code that references this variable in
2754 order to implement nested upc_forall semantics. If there is a
2755 compiler build or install problem, this variable may not be found.
2756 In this case, terminate with an internal_error().
2758 2010-09-26 Gary Funck <gary@intrepid.com>
2760 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2761 mis-diagnosed as syntax error.
2763 Fix a failure exhibited by the Berkeley test case,
2764 bug873a.upc, which has the code:
2766 upc_forall (;;;d) {...} The compiler did not properly handle
2767 the empty "condition" clause, and did not recover well when it was
2768 determined that the use of a double value, "d" above, was neither a
2769 pointer-to-shared nor an integer expression. The update implements a
2770 fix for both issues.
2772 See also: gcc/c-parser.c gcc/upc/upc-act.c
2774 2010-09-23 Gary Funck <gary@intrepid.com>
2776 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2777 incorporated into the referencing type.
2779 This was semi-fixed a few times before. This update fixes a few
2780 more places where the layout qualifier wasn't being propagated
2781 through typedef's properly. What made this a bit tricky is shown in
2782 the example cited in the bug report:
2784 typedef shared [5] int A_t; A_t A[5*THREADS];
2786 In the typedef, the blocksize is being applied to a shared *scalar*,
2787 and the code was applying the blocksize only to arrays. This update
2788 handles shared scalars correctly.
2790 2010-09-22 Gary Funck <gary@intrepid.com>
2792 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2793 upc_forall() semantics are not implemented
2795 The checkforall test in the Berkeley harness test suite indicated
2796 that GCC/UPC was not properly implementing nested upc_forall
2797 semantics. Nested upc_forall statements (both statically or
2798 dynamically nested) must implement their affinity clause as if it
2799 were "continue"; thus all steps in the loop must execute without
2800 regard for affinity. To implement these semantics a global depth
2801 counter, __upc_forall_depth, is maintained by the generated code
2802 that implements upc_forall.
2804 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2805 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2806 libupc/include/upc.h libupc/smp/upc_main.c
2808 2010-09-19 Gary Funck <gary@intrepid.com>
2810 * c-decl.c: c-decl.c: zero out the layout specifier, after
2811 processing an array type.
2813 Fix the previous fix, that moved the setting of the type's layout
2814 qualifier to the outside of the array type processing loop. What is
2815 missing from the fix is that the layout_qualifier variable needs to
2816 be cleared after setting the type's blocksize.
2818 2010-09-19 Gary Funck <gary@intrepid.com>
2820 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2821 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2823 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2824 the actual maximum block size. Therefore, the message was correct,
2825 but the underlying value that was being checked was wrong. Change
2826 the values so that they agree with the actual implementation-defined
2829 2010-09-11 Gary Funck <gary@intrepid.com>
2831 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2832 multi-dimensional shared array with dynamic threads.
2834 This declaration caused an internal compiler error when compiled
2835 with dynamic threads:
2836 shared [*] int A[THREADS][16]; The bug was discovered when
2837 compiling the RTED_UPC test suite.
2839 The fix is to process layout qualifiers after the entire array type
2840 has been built. Otherwise, we try to calculate the blocksize on a
2841 shared array type that has not had its "size depends upon the value
2842 of THREADS" flag set.
2844 Also, added a test case.
2846 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2848 2010-07-11 Gary Funck <gary@intrepid.com>
2850 Fix a bug where a statement in c_build_qualified_type()
2851 in the trunk had been inadvertently deleted.
2852 This bug showed up in the IA64 port, because jmpbuf's
2853 on that architecture must be 16 byte aligned, and they were not.
2854 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2856 2010-07-08 Gary Funck <gary@intrepid.com>
2858 Make changes so that other language compilers
2859 will build and bootstrap.
2860 * c-family/c-common.c (compiling_upc, flag_upc,
2861 flag_upc_instrument, flag_upc_instrument_functions,
2862 use_upc_dwarf2_extensions): Move to stub-upc.c and
2864 * c-family/c-common.h (use_upc_dwarf2_extensions,
2865 compiling_upc): Add extern definitions - needed
2866 to compile/build other language front ends.
2867 * c-family/c.opt: Fix the spelling of ObjC.
2868 It had been incorrectly spelled as Objc.
2869 * c-family/c.opt: Add UPC for the various switches
2870 that are valid for both C and ObjC.
2871 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2872 supported options switches when compiling assembly
2874 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2875 flag_upc_instrument, flag_upc_instrument_functions):
2876 Remove these definitions. They have been moved
2877 to c-family/stub-upc.c.
2878 * upc/ChangeLog: Move relevant entries
2880 * c-family/stub-upc.c (compiling_upc, flag_upc,
2881 flag_upc_instrument, flag_upc_instrument_functions,
2882 use_upc_dwarf2_extensions): Moved from c-common.c
2883 * upc/upc-lang.c (compiling_upc, flag_upc,
2884 flag_upc_instrument, flag_upc_instrument_functions,
2885 use_upc_dwarf2_extensions): Moved from c-common.c
2886 * objc/objc-act.c (objc_gimplify_expr): Add additional
2887 parameters to c_gimplify_expr() call, that are used
2888 by upc's tree rewrites.
2889 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2890 * gcc/cp/lex.c (init_reswords): If not compiling
2891 UPC, then mask off the UPC keywords.
2892 * cp/Make-lang.in (C_STUB_OBJS): Use this
2893 make macro to link with c-family/stub-objc.o
2894 and c-family/stub-upc.o.
2895 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2896 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2897 * objc/Make-lang.in: Link with c-family/stub-upc.o
2898 to avoid undefined references.
2899 c-parser.c: Fix line indentation.
2900 * libcpp/include/cpplib.h: Remove CL_UPC from
2901 the list of language kinds accepted by the
2902 C preprocessor. This is not necessary because
2903 UPC is a derivative of C99, and does not need
2904 a different language kind.
2905 * c-fmaily/c-opts.c (c_common_handle_option):
2906 Call set_std_c99() when processing the
2907 "--lang upc" switch, instead of setting the
2908 language kind to CL_UPC.
2909 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2911 2010-07-03 Gary Funck <gary@intrepid.com>
2913 Merge trunk version 161517 into gupc branch.
2914 * gcc/stub-upc.c: Move to gcc/c-family/.
2915 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2916 Add 'unused' attributes to avoid "set, but
2917 not referenced" warnings.
2918 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2921 2010-03-01 Gary Funck <gary@intrepid.com>
2923 Create gupc branch from trunk version 157149.