1 2013-11-15 Gary Funck <gary@intrepid.com>
3 Merge trunk version 204659 into gupc branch.
5 2013-11-04 Gary Funck <gary@intrepid.com>
7 Merge trunk version 204345 into gupc branch.
9 2013-10-31 Gary Funck <gary@intrepid.com>
11 Released GUPC 4.9.0.1 based on version 203902.
12 This release version was committed on 2013-10-21.
13 * DEV-PHASE: Bump to 4.9.0.2.
14 * DATESTAMP: Bump date stamp.
16 2013-10-28 Gary Funck <gary@intrepid.com>
18 Merge trunk version 204119 into gupc branch.
20 2013-10-21 Gary Funck <gary@intrepid.com>
22 Merge trunk version 203886 into gupc branch.
24 2013-10-14 Gary Funck <gary@intrepid.com>
26 Merge trunk version 203514 into gupc branch.
28 2013-10-07 Gary Funck <gary@intrepid.com>
30 Merge trunk version 203240 into gupc branch.
32 2013-10-01 Gary Funck <gary@intrepid.com>
34 Implement pointer-to-shared -> integer conversions.
35 Required per UPC 1.3 Specification.
36 c/c-typeck.c (build_c_cast): Remove logic that diagnosed
37 PTS->int conversions as an error. Rewrite into a CONVERT_EXPR
38 for later processing by upc_genericize().
40 2013-09-30 Gary Funck <gary@intrepid.com>
42 Merge trunk version 203026 into gupc branch.
44 2013-09-23 Gary Funck <gary@intrepid.com>
46 Merge trunk version 202825 into gupc branch.
48 2013-09-18 Gary Funck <gary@intrepid.com>
50 Merge trunk version 202725 into gupc branch.
52 2013-09-16 Gary Funck <gary@intrepid.com>
54 Merge trunk version 202619 into gupc branch.
56 2013-09-09 Gary Funck <gary@intrepid.com>
58 Merge trunk version 202382 into gupc branch.
60 2013-09-02 Gary Funck <gary@intrepid.com>
62 Merge trunk version 202159 into gupc branch.
64 2013-08-26 Gary Funck <gary@intrepid.com>
66 Merge trunk version 202008 into gupc branch.
68 2013-08-19 Gary Funck <gary@intrepid.com>
70 Merge trunk version 201832 into gupc branch.
72 2013-08-05 Gary Funck <gary@intrepid.com>
74 Merge trunk version 201483 into gupc branch.
76 2013-07-29 Gary Funck <gary@intrepid.com>
78 Merge trunk version 201301 into gupc branch.
80 2013-07-22 Gary Funck <gary@intrepid.com>
82 Merge trunk version 201119 into gupc branch.
84 2013-07-15 Gary Funck <gary@intrepid.com>
86 Merge trunk version 200955 into gupc branch.
88 2013-07-08 Gary Funck <gary@intrepid.com>
90 Merge trunk version 200775 into gupc branch.
92 2013-07-01 Gary Funck <gary@intrepid.com>
94 Merge trunk version 200575 into gupc branch.
96 2013-06-24 Gary Funck <gary@intrepid.com>
98 Merge trunk version 200361 into gupc branch.
100 2013-06-19 Gary Funck <gary@intrepid.com>
102 Merge trunk version 200149 into gupc branch.
104 2013-06-03 Gary Funck <gary@intrepid.com>
106 Merge trunk version 199596 into gupc branch.
108 2013-05-27 Gary Funck <gary@intrepid.com>
110 Merge trunk version 199350 into gupc branch.
112 2013-05-20 Gary Funck <gary@intrepid.com>
114 Merge trunk version 199093 into gupc branch.
116 2013-05-13 Gary Funck <gary@intrepid.com>
118 Merge trunk version 198815 into gupc branch.
120 2013-05-06 Gary Funck <gary@intrepid.com>
122 Merge trunk version 198622 into gupc branch.
124 2013-04-29 Gary Funck <gary@intrepid.com>
126 Merge trunk version 198433 into gupc branch.
128 2013-04-15 Gary Funck <gary@intrepid.com>
130 Merge trunk version 197958 into gupc branch.
132 2013-04-08 Gary Funck <gary@intrepid.com>
134 Merge trunk version 197571 into gupc branch.
136 2013-04-04 Gary Funck <gary@intrepid.com>
138 Per the UPC 1.3 specification, the type of the
139 optional barrier/notify/wait expression is not constrained to
140 'int'. Instead, any type that is assignment compatible
141 with an 'int' type is permitted.
142 * c/c-parser.c (c_parser_upc_sync_statement): Do not check
143 the optional expression type here. Let upc_build_sync_stmt()
145 * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
146 * c/c-typeck.c (c_cvt_expr_for_assign): New. Also, call
147 error_at() in lieu of error() when the source location is known.
148 * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
149 to check/convert the optional synchronization statement
152 2013-04-02 Gary Funck <gary@intrepid.com>
154 Merge trunk version 197340 into gupc branch.
156 2013-04-02 Gary Funck <gary@intrepid.com>
158 Revert revision 178346 (2011-08-30)
159 which changed the prototype of check_qualified_type and related
160 functions so that their parameters were just 'tree' and not
161 'const_tree'. This seemed necessary at the time because of a
162 change to TYPE_BLOCK_FACTOR(), which in turn called function
163 that hashed the type node pointer. The hash functions did
164 not accept "const void *" pointers. Implement a work around
165 that removes this restriction.
166 * c/c-typeck.c: Revert.
168 * tree.h: Revert. Change prototype of upc_block_factor_lookup()
169 to accept a 'const_tree' pointer to a type node.
170 * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
171 * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
172 input argument and convert this to 'tree' for use with hash function.
174 2013-03-25 Gary Funck <gary@intrepid.com>
176 Merge trunk version 197029 into gupc branch.
178 2013-03-21 Gary Funck <gary@intrepid.com>
180 Released GUPC 4.8.0.3 based on version 196601.
181 This release version was committed on 2013-03-11.
182 * DATESTAMP: Bump date stamp.
184 2013-03-18 Gary Funck <gary@intrepid.com>
186 Merge trunk version 196771 into gupc branch.
187 * DEV-PHASE: Bump release identifier to 4.9.0-1.
189 2013-03-11 Gary Funck <gary@intrepid.com>
191 Merge trunk version 196592 into gupc branch.
193 2013-03-04 Gary Funck <gary@intrepid.com>
195 Merge trunk version 196422 into gupc branch.
197 2013-02-25 Gary Funck <gary@intrepid.com>
199 Merge trunk version 196253 into gupc branch.
201 2013-02-18 Gary Funck <gary@intrepid.com>
203 Merge trunk version 196115 into gupc branch.
205 2013-02-11 Gary Funck <gary@intrepid.com>
207 Merge trunk version 195937 into gupc branch.
209 2013-02-04 Gary Funck <gary@intrepid.com>
211 Merge trunk version 195707 into gupc branch.
213 2013-01-28 Gary Funck <gary@intrepid.com>
215 Merge trunk version 195502 into gupc branch.
217 2013-01-21 Gary Funck <gary@intrepid.com>
219 Merge trunk version 195330 into gupc branch.
221 2013-01-14 Gary Funck <gary@intrepid.com>
223 Merge trunk version 195164 into gupc branch.
225 2013-01-07 Gary Funck <gary@intrepid.com>
227 Merge trunk version 194962 into gupc branch.
229 2012-12-24 Gary Funck <gary@intrepid.com>
231 Merge trunk version 194709 into gupc branch.
233 2012-12-17 Gary Funck <gary@intrepid.com>
235 Merge trunk version 194552 into gupc branch.
237 2012-12-10 Gary Funck <gary@intrepid.com>
239 Merge trunk version 194351 into gupc branch.
241 2012-12-03 Gary Funck <gary@intrepid.com>
243 Merge trunk version 194076 into gupc branch.
245 2012-11-30 Gary Funck <gary@intrepid.com>
247 Released GUPC 4.8.0.2 based on version 193446.
248 Date of release: 2012-11-12.
249 * DEV-PHASE: Bump release identifier to 4.8.0-3.
250 * DATESTAMP: Bump date stamp.
252 2012-11-26 Gary Funck <gary@intrepid.com>
254 Merge trunk version 193807 into gupc branch.
256 2012-11-20 Gary Funck <gary@intrepid.com>
258 Merge trunk version 193672 into gupc branch.
260 2012-11-19 Gary Funck <gary@intrepid.com>
262 Merge trunk version 193617 into gupc branch.
264 2012-11-15 Gary Funck <gary@intrepid.com>
266 Merge trunk version 193426 into gupc branch.
268 2012-11-12 Gary Funck <gary@intrepid.com>
270 Released GUPC 4.8.0.1 based on version 192948.
271 Date of release: 2012-10-29.
272 * DEV-PHASE: Bump release identifier to 4.8.0-2.
273 * DATESTAMP: Bump date stamp.
275 2012-11-05 Gary Funck <gary@intrepid.com>
277 Merge trunk version 193152 into gupc branch.
279 2012-10-29 Gary Funck <gary@intrepid.com>
281 Merge trunk version 192909 into gupc branch.
283 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
285 Remove unused --upc-pthreads-per-process compile switch.
286 * c-family/c.opt: Remove --upc-pthreads-per-process switch
287 that compiler/runtime do not use.
288 * c-family/c-opts.c (c_common_handle_option): Remove support for
289 --upc-pthreads-per-process switch.
290 * c-family/c-common.c: Ditto.
291 * c-family/c-common.h: Ditto.
293 2012-10-27 Gary Funck <gary@intrepid.com>
295 * defaults.h: fix typos and formatting in UPC-related entries.
297 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
299 Place shared initialization code into the .text
300 section instead of a separate .upc_init section.
301 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
302 (UPC_INIT_BEGIN_NAME): Delete.
303 (UPC_INIT_END_NAME): Delete.
304 * doc/tm.texi.in: Ditto.
305 * doc/tm.texi: Ditto.
307 2012-10-22 Gary Funck <gary@intrepid.com>
309 Merge trunk version 192673 into gupc branch.
311 2012-10-15 Gary Funck <gary@intrepid.com>
313 Merge trunk version 192449 into gupc branch.
315 2012-10-08 Gary Funck <gary@intrepid.com>
317 Merge trunk version 192198 into gupc branch.
319 2012-10-01 Gary Funck <gary@intrepid.com>
321 Merge trunk version 191931 into gupc branch.
323 2012-09-26 Gary Funck <gary@intrepid.com>
325 Implement support for various UPC version 1.3 specification
326 additions and changes. Deprecate support for upc_local_alloc.
327 Add support for upc_tick (wall-clock timer) library.
328 Add support for collective de-allocation functions:
329 upc_all_free and upc_all_lock_free.
330 Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
331 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
333 2012-09-24 Gary Funck <gary@intrepid.com>
335 Merge trunk version 191658 into gupc branch.
337 2012-09-17 Gary Funck <gary@intrepid.com>
339 Merge trunk version 191376 into gupc branch.
341 2012-09-10 Gary Funck <gary@intrepid.com>
343 Merge trunk version 191141 into gupc branch.
345 2012-08-27 Gary Funck <gary@intrepid.com>
347 Merge trunk version 190707 into gupc branch.
348 * tree.h (struct tree_base): Adjust various
349 UPC tree and type flags to refer to the
350 newly introduced u.bits field.
352 2012-08-20 Gary Funck <gary@intrepid.com>
354 Merge trunk version 190524 into gupc branch.
355 Incorporates a fix in genoutput.c (to properly use
356 CONST_CAST) that led to build failures with
357 older versions of g++.
359 2012-08-16 Gary Funck <gary@intrepid.com>
361 Merge trunk version 190437 into gupc branch.
362 Incorporates a fix for a build failure on the PPC
363 due to passing incorrect switches to the assembler.
364 Also, first merged trunk revision that compiles GCC
365 with the C++ compiler in the first stage.
367 2012-08-13 Gary Funck <gary@intrepid.com>
369 Merge trunk version 190336 into gupc branch.
371 2012-08-09 Gary Funck <gary@intrepid.com>
373 * c-family/c-common.c (c_fully_fold_internal): Do not fold
374 offsetof-like expressions when they are applied to UPC
377 2012-08-06 Gary Funck <gary@intrepid.com>
379 Merge trunk version 190173 into gupc branch.
381 2012-08-01 Gary Funck <gary@intrepid.com>
383 Merge trunk version 190063 into gupc branch.
384 Incorporates fix for build failure on IA64.
386 2012-07-30 Gary Funck <gary@intrepid.com>
388 Merge trunk version 189954 into gupc branch.
390 2012-07-27 Gary Funck <gary@intrepid.com>
392 Merge trunk version 189856 into gupc branch.
393 Incorporates fix for bootstrap with a sub-set of language
394 specific source directories present.
395 * optabs.c: Revert to trunk. Rather than defining opcodes
396 as a way of defining get/put runtime library function names,
397 generate them directly in gcc/upc/upc-genericize.c.
399 * genopinit.c: Ditto.
401 2012-07-23 Gary Funck <gary@intrepid.com>
403 Merge trunk version 189777 into gupc branch.
405 2012-07-16 Gary Funck <gary@intrepid.com>
407 Merge trunk version 189545 into gupc branch.
409 2012-07-12 Gary Funck <gary@intrepid.com>
411 Merge trunk version 189366 into gupc branch.
413 2012-07-05 Gary Funck <gary@intrepid.com>
415 Merge trunk version 189274 into gupc branch.
416 Incorporates graphite build infrastructure changes.
418 2012-07-04 Gary Funck <gary@intrepid.com>
420 Merge trunk version 189080 into gupc branch.
421 * Makefile.in: Adjust for move of C front-end files.
422 * c/Make-lang.in: Ditto.
424 2012-07-03 Gary Funck <gary@intrepid.com>
426 Merge trunk version 189078 into gupc branch.
428 2012-06-25 Gary Funck <gary@intrepid.com>
430 Merge trunk version 188931 into gupc branch.
432 2012-06-18 Gary Funck <gary@intrepid.com>
434 Merge trunk version 188721 into gupc branch.
436 2012-06-11 Gary Funck <gary@intrepid.com>
438 Merge trunk version 188380 into gupc branch.
440 2012-06-04 Gary Funck <gary@intrepid.com>
442 Merge trunk version 188168 into gupc branch.
444 2012-05-29 Gary Funck <gary@intrepid.com>
446 Merge trunk version 187927 into gupc branch.
448 2012-05-18 Gary Funck <gary@intrepid.com>
450 Merge trunk version 187666 into gupc branch.
451 Incorporates fix for ICE in tree vectorization pass
452 when processing strided loads.
454 2012-05-17 Gary Funck <gary@intrepid.com>
456 Merge trunk version 187578 into gupc branch.
458 2012-05-09 Gary Funck <gary@intrepid.com>
460 Merge trunk version 187347 into gupc branch.
461 Incorporates fix for segfault in tree vectorization pass.
463 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
465 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
466 Appropriate libraries and include files are added on the
467 command line to make it possible to compile with the driver
470 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
472 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
473 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
474 a function returns a pointer-to-shared in memory instead
476 (rs6000_pass_by_reference): Ditto.
478 2012-04-28 Gary Funck <gary@intrepid.com>
480 * c-decl.c (grokdeclarator): Set 'type' to error node
481 after detecting "shared auto variable" error to avoid
482 downstream complications.
483 * upc-act.c: Fix a couple of spelling errors in comments.
485 2012-04-26 Gary Funck <gary@intrepid.com>
487 * c-family/c-pragma.c (handle_pragma_upc):
488 Fix typo in warning message.
490 2012-04-17 Gary Funck <gary@intrepid.com>
492 Merge trunk version 186486 into gupc branch.
494 2012-04-17 Gary Funck <gary@intrepid.com>
496 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
497 value of the pupc mode. Fixes a compile-time warning.
498 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
499 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
500 Improve source formatting.
502 2012-04-09 Gary Funck <gary@intrepid.com>
504 Merge trunk version 186243 into gupc branch.
505 Incorporates a powerpc 'ffi' fix.
507 2012-03-16 Gary Funck <gary@intrepid.com>
509 Merge trunk version 185454 into gupc branch.
510 Incorporates a libgcc fix for builds on Darwin.
512 2012-03-13 Gary Funck <gary@intrepid.com>
514 Merge trunk version 185278 into gupc branch.
515 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
516 call build_pointer_type() to apply UPC-specific qualifiers.
517 * top-level/configure.ac: factor the checking for posix hostst
518 out of the libgomp section so that it can also be used by libgupc.
519 * top-level/configure: Re-generate.
520 * DEV-PHASE: bump to 4.8.0-1.
522 2012-03-12 Gary Funck <gary@intrepid.com>
524 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
525 the mode for a pointer for upc-pointer-to-shared types.
527 2012-03-04 Gary Funck <gary@intrepid.com>
529 Merge trunk version 184900 into gupc branch.
531 2012-02-17 Gary Funck <gary@intrepid.com>
533 Released GUPC 4.7.0.2 based on version 183992.
534 * DEV-PHASE: Bump release identifier to 4.7.0-3.
535 * DATESTAMP: Bump date stamp.
537 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
539 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
540 code generation (same as #pragma pupc off).
541 (set_pupc_mode): New. Set/restore profiling mode.
542 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
543 (set_pupc_mode): New. Prototype.
544 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
545 profiling code for shared variables initialization routines.
547 2012-01-31 Gary Funck <gary@intrepid.com>
549 Merge trunk version 183751 into gupc branch.
550 Incorporates fix for bootstrap failure on openSUSE 12.1.
552 2012-01-10 Gary Funck <gary@intrepid.com>
554 Merge trunk version 183072 into gupc branch.
555 Incorporates libcpp __BASE_FILE__ fix.
557 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
559 * top-level/Makefile.def (flags_to_pass): Added GUPC
560 defines. Fixes the make error when upc is not specified as one
561 of the languages to build.
562 * top-level/Makefile.in: Re-generate.
564 2011-11-22 Gary Funck <gary@intrepid.com>
566 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
567 * dwarf2out.c (gen_compile_unit_die): Check for
568 the "GNU UPC" language string in lieu of "GCC UPC".
569 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
571 2011-11-18 Gary Funck <gary@intrepid.com>
573 Merge trunk version 181552 into gupc branch.
574 Incorporates libgcc/libunwind fix for IA64.
576 2011-11-19 Gary Funck <gary@intrepid.com>
578 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
579 Add check for UPC when defining the language type value
580 in a traceback entry.
582 2011-11-18 Gary Funck <gary@intrepid.com>
584 Merge trunk version 181493 into gupc branch.
585 Incorporates final fix for PR target/49992.
587 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
589 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
590 change that converted relative include paths into absolute
591 ones, as it does not work with older version of make (3.80).
593 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
595 Apply patch for Darwin build - PR49992.
596 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
597 * gcc/configure.ac: Ditto.
598 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
599 * gcc/ada/gcc-interface/Makefile.in: Ditto.
600 * top-level/configure: Re-generate.
601 * gcc/configure: Re-genrate.
603 2011-10-26 Gary Funck <gary@intrepid.com>
605 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
606 "libupc" to "libgupc".
607 * top-level/configure.ac: Implement support for cross-builds, and
608 adjust for rename of libupc to libgupc.
609 * top-level/Makefile.tpl: Ditto.
610 * top-level/Makefile.def: Ditto.
611 * top-level/configure: Re-generate.
612 * top-level/Makefile.in: Re-generate.
613 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
614 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
615 * doc/tm.texi: Re-generate.
616 * tree-pretty-print.c (dump_block_node): Delete unused variable.
617 * gcc.c: Adjust for rename of libupc to libgupc.
618 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
619 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
620 Change "xupc" to "xgupc".
621 * configure.ac: Change "GCC UPC" to "GNU UPC".
622 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
623 so that they are absolute paths. This is needed because
624 the upc-crtstuff builds are in the libgupc library build
625 directories which are not at the same level as libgcc.
626 * config/darwin.h: Adjust for rename of libupc to libgupc.
628 2011-10-20 Gary Funck <gary@intrepid.com>
630 Merge trunk version 180276 into gupc branch.
631 Incorporates fix for PR bootstrap/50709.
633 2011-10-20 Gary Funck <gary@intrepid.com>
635 Merge trunk version 180246 into gupc branch.
637 2011-10-19 Gary Funck <gary@intrepid.com>
639 Merge trunk version 180233 into gupc branch.
640 Incorporates fix for PR debug/49310 (var tracking).
642 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
644 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
645 only four (O0 static/dynamic, O3 static/dynamic).
646 Detect -fupc-threads-0 as an option for dynamic threads
649 2011-10-10 Gary Funck <gary@intrepid.com>
651 * tree.c (check_qualified_type, check_aligned_type):
652 Call tree_int_cst_equal() to compare UPC blocking factors
653 if the corresponding tree pointers are not equal.
654 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
656 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
658 Add configuration checks for struct/packed builds so we can
659 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
660 * testsuite/lib/target-supports.exp
661 (check_effective_target_upc_struct_pts): New.
662 (check_effective_target_upc_packed_pts): New.
664 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
666 Add to FLAGS the flags needed to disable inlining of
667 UPC run-time access routines.
668 * testsuite/lib/target-supports.exp
669 (add_options_for_upc_library_calls): New.
671 2011-09-15 Gary Funck <gary@intrepid.com>
673 Fix ICE involving shared bit field accesses.
674 * tree.c (build3_stat): Propagate TEEE_SHARED()
675 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
677 2011-09-13 Gary Funck <gary@intrepid.com>
679 Merge trunk version 178795 into gupc branch.
680 Incorporates fix to PR bootstrap/50010 for x86-32.
682 2011-09-08 Gary Funck <gary@intrepid.com>
684 Merge trunk version 178557 into gupc branch.
686 2011-09-07 Gary Funck <gary@intrepid.com>
688 Ensure that UPC pointer-to-shared type alignment is
689 propagated to the final type. Revert to long-standing
690 alignment policy: twice the size of a "C" pointer.
691 * tree.c (build_pointer_type): Propagate the alignment
692 of the UPC pointer-to-shared representation type
693 into the newly built pointer type.
695 2011-08-30 Gary Funck <gary@intrepid.com>
697 * tree.h (check_qualified_type): Change 'const_tree'
698 argument types back to 'tree' to avoid complaints
699 of assignment drops qualifiers for invocations of the
700 newly implemented TYPE_BLOCK_FACTOR() macro, which
701 invokes hash functions with 'tree' pointer values that
702 are not const qualified.
703 * tree.c (check_qualified_type, check_aligned_type): Ditto.
704 * c-typeck.c (comptypes_internal): Ditto.
706 2011-08-29 Gary Funck <gary@intrepid.com>
708 Fixes for regressions noted running "make check"
710 * fold-const.c (fold_unary_loc): Execute UPC-specific
711 checks for a cast-of-a-cast, only if one of the
712 operands is a UPC pointer-to-shared value.
713 * opts.c (print_specific_help): Fix a comparison
714 in an assert that checks that there are enough
715 bits reserved for the number of languages defined
718 2011-08-29 Gary Funck <gary@intrepid.com>
720 Implement a hash table to record UPC block factors.
721 * c-family/stub-upc.c (upc_block_factor_insert,
722 upc_block_factor_lookup): New dummy stub procedures.
723 * c-family/c-common.c (c_sizeof_or_alignof_type):
724 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
725 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
726 to copy (hashed) UPC blocking factor.
727 (set_type_quals): Likewise.
728 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
729 TYPE_HAS_THREADS_FACTOR().
730 (type_common.block_factor): Delete.
731 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
732 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
733 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
734 UPC blocking factors greater than one.
735 * dwarf2out.c (modified_type_die): Re-implement
736 logic that records UPC blocking factor in the generated
737 DWARF2 debugging information.
738 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
739 TYPE_HAS_THREADS_FACTOR().
740 * c-decl.c (finish_decl, grokdeclarator):
741 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
742 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
743 used by UPC, and print UPC-specific information.
745 2011-08-28 Gary Funck <gary@intrepid.com>
747 Re-work the type machinery to fully support and to unify support
748 for the UPC layout qualifier (blocking factor).
749 * c-family/stub-upc.c (upc_set_block_factor): Delete.
750 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
751 and update prototype.
752 * c-family/c-common.c (complete_array_type): call newly
753 defined c_build_qualified_type_1() instead of
754 upc_set_block_factor().
755 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
756 upc_apply_layout_qualifier() and update prototype.
757 (upc_set_block_factor): Delete prototype.
758 * c-family/c-common.h (c_build_qualified_type): redefine
759 as a pre-processor macro that invokes c_build_qualified_type_1()
760 with a null UPC layout qualifier.
761 (c_build_qualified_type_1): New. Add layout qualifier argument
762 to old c_build_qualified_type() prototype.
763 * tree.c (set_type_quals, check_qualified_type):
764 Add layout qualifier as argument.
765 (check_aligned_type): Add check for UPC block factor equality.
766 (get_qualified_type_1): Rename from get_qualified_type() and
767 add layout qualifier as argument.
768 (build_qualified_type_1): Rename from build_qualified_type() and
769 add layout qualifier as argument.
770 * tree.h (check_qualified_type): Add layout qualifier as argument
772 (get_qualified_type): Re-define as a as a pre-processor macro
773 that invokes get_qualified_type_1() with a null
774 UPC layout qualifier.
775 (get_qualified_type_1): Rename from get_qualified_type() and
776 add layout qualifier as argument.
777 * cp/tree.c (c_build_qualified_type_1): Rename from
778 c_build_qualified_type() and add (unused) layout qualifier
780 * c-decl.c (finish_decl): re-format long error messages.
781 (grokdeclarator): Re-work the logic so that it calls
782 upc_grok_layout_qualifier() to handle the UPC layout
783 qualifier, if present.
784 * c-typeck.c (qualify_type, common_pointer_type,
785 build_component_ref): Re-work the logic so that it calls
786 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
788 (c_build_qualified_type_1): Rename from c_build_qualified_type()
789 and add layout qualifier argument.
790 * print_tree.c (print_node): Re-format a long line.
792 2011-08-26 Gary Funck <gary@intrepid.com>
794 Merge trunk version 177949 into gupc branch.
795 * c-family/c-common.h (enum rid): Bump the number of type modifiers
797 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
798 to add new rliterals column value.
800 2011-08-26 Gary Funck <gary@intrepid.com>
802 * convert.c (convert_to_integer): Fix the check for the
803 difference between two UPC pointers-to-shared values.
805 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
807 * configure.ac: Fix the name for --with-upc-pts-packed-bits
808 option. Support --with-upc-packed-bits as deprecated. Fix the code to
809 correctly check packed bits.
810 * configure: Re-generate.
812 2011-08-16 Gary Funck <gary@intrepid.com>
814 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
815 the barrier id expression is not an integer expression.
817 2011-08-12 Gary Funck <gary@intrepid.com>
819 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
821 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
822 Set mode of UPC pointer-to-shared rep. to an
823 integral mode of size at least as large as the
824 size of the representation's struct type.
826 2011-08-12 Gary Funck <gary@intrepid.com>
828 Rework/simplify the UPC genericize pass.
829 * c-family/stub-upc.c (upc_apply_layout_qualifier,
830 upc_build_pointer_type): New.
831 (upc_set_block_factor): Adjust to new calling sequence.
832 (upc_build_shared_var_addr): Delete.
833 * c-family/c-common.c (complete_array_type): Adjust call
834 to upc_set_block_factor().
835 * c-family/c-upc.h (upc_apply_layout_qualifier,
836 upc_build_pointer_type): New.
837 (upc_build_shared_var_addr): Delete.
838 (upc_set_block_factor): Adjust to new calling sequence.
839 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
840 * c-decl.c (grokdeclarator): Call newly defined
841 upc_apply_layout_qualifier() instead of upc_set_block_factor().
842 * c-decl.c (grokdeclarator): Split long UPC-related error
843 messages into two lines.
844 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
845 directly. Revert that change to trunk. (upc_genericize() will
846 handle lowering the expressions that take the address of a
848 * config/i386/i386.c (ix86_promote_function_mode): For UPC
849 pointers-to-shared, return the type mode of the UPC pointer-to-shared
852 2011-08-10 Gary Funck <gary@intrepid.com>
854 Implement additional fixes for recent merge with trunk.
855 * explow.c (promote_mode): Do not attempt to promote
856 the mode for UPC pointer-to-shared types.
857 * config/i386/i386.c (function_value_64): Ditto.
859 2011-08-07 Gary Funck <gary@intrepid.com>
861 Merge trunk version 177548 into gupc branch.
862 * config/i386/i386.c (ix86_promote_function_mode):
863 Do not promote UPC pointers-to-shared to Pmode.
864 * c-family/c-ommon.c (pointer_int_sum):
865 Also check the pointer operand, rather than just
866 its type, when making the decision to derive
867 the equivalent unshared type.
868 * tree.c (build2_stat): If the type of the result
869 passed in as an argument is a UPC shared type,
870 derive the unshared equivalent when calculating
871 the result type of the node.
873 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
875 * config/darwin.c: Disable var_tracking option
876 on -O0 as it is supposed to run only when optimization
877 is applied. See GCC bug 49743.
879 2011-07-06 Gary Funck <gary@intrepid.com>
881 Re-implement the pass that lowers trees generated by
882 the UPC front-end into GENERIC. Previously this was
883 done within the gimplification framework, but this
884 required that gimplification be run before inlining
885 and various other passes, which did not fit in well
886 with the current design of the middle-end passes.
887 Now, the lowering is done by a newly defined language
888 specific genericize hook. With this change, we are
889 are able to undo some extensions made to the gimplify
890 logic, and thus can revert several files to trunk.
892 * c-decl.c: Add a check for UPC deprecated names which
893 may appear as undefined function names.
894 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
895 LTI_upc_getaddr): Remove definitions of unused UPC
896 library function names. These were defined back when
897 the libfunc interface was used to call these routines.
898 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
899 in UPC lowering (genericize) pass.
900 * langhooks.h (gimplify_expr): Revert to trunk's definition.
901 (instrument_func): Delete this hook. Now handled in
903 * tree-pass.h: Revert to trunk.
904 * c-typeck.c (build_unary_op): Adjust reference to
905 upc_genericize() in a comment.
906 * gimplify.c (create_tmp_var_raw): Delete logic that
907 was converting UPC shared types into unshared types
908 to be used for temporaries. Now handled in upc_genericize().
909 Replace with an assertion check.
910 (prepare_gimple_addressable): Revert to trunk's definition.
911 No longer needed as an externally called function.
912 (flag_instrument_functions_exclude_p): Re-define as
913 an externally called function.
914 (gimplify_function_tree): Delete code that implemented
915 call to UPC's language specific function instrumentation hook.
916 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
917 (prepare_gimple_addressable): Delete extern definition;
918 revert to trunk's definition.
919 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
920 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
921 * c-family/c-gimplify.c: Revert to trunk.
922 * cp/cp-gimplify.c: Revert to trunk.
923 * cp/cp-tree.h: Revert to trunk.
924 * explow.c: Revert to trunk.
925 * langhooks.c: Revert to trunk.
926 * libfuncs.h: Revert to trunk.
927 * objc/objc-act.c: Revert to trunk.
929 2011-06-30 Gary Funck <gary@intrepid.com>
931 * c-family/c.opt: Bring options definitions up-to-date
932 with respect to changes made in the trunk.
934 2011-06-29 Gary Funck <gary@intrepid.com>
936 Merge trunk version 175584 into gupc branch.
938 2011-06-13 Gary Funck <gary@intrepid.com>
941 * include/cpplib.h (enum c_lang):
942 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
943 This keeps all the "C" variants together.
944 * init.c (lang_defaults): Add an entry for UPC.
946 2011-06-09 Gary Funck <gary@intrepid.com>
948 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
949 a 32-bit target, the size expression overflowed, the result was
950 error_mark_node, and an ICE was triggered on an attempt to evaluate
951 C_TYPE_VARIABLE_SIZE() on the error node.
952 (upc_blocksizeof_expr, upc_blocksizeof_type,
953 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
954 Make similar changes to avoid further processing of error_mark_node.
956 2011-06-07 Gary Funck <gary@intrepid.com>
958 * sel-sched.c (move_op): Incorporate the following
959 patch to eliminate ICE at -O3 on IA64/Altix.
961 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
963 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
964 code_motion_path_driver returned 0 or 1.
965 (sel_region_finish): Clear h_d_i_d.
967 2011-06-02 Gary Funck <gary@intrepid.com>
969 Merge trunk version 174558 into gupc branch.
971 2011-05-30 Gary Funck <gary@intrepid.com>
973 * configure.ac: Make the default order of the virtual
974 address field in a UPC pointer-to-shared to be "first".
975 This reverts to the previous setting, and is a short term
976 measure to work around a bug found on the IA64,
977 where vaddr=last led to incorrect code generation.
978 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
979 in AC_DEFINE(), to agree with recent changes in files
980 that reference this define.
981 configure, config.in: Regenerate.
983 2011-05-26 Gary Funck <gary@intrepid.com>
985 * configure.ac: Fix typo when referring to $upc_vaddr_order.
986 configure: Regenerate.
988 * ../fixincludes/fixincl.x: Revert to trunk.
989 This file is auto-generated, and should not be merged.
991 2011-05-18 Gary Funck <gary@intrepid.com>
993 Merge trunk version 173845 into gupc branch.
995 2011-05-17 Gary Funck <gary@intrepid.com>
997 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
998 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1000 * c-family/c-pragma.c: Remove conditional compilation
1001 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1002 Test 'compiling_upc' when compiling to determine if
1003 the "upc" and "pupc" pragmas should be registered.
1005 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1006 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1007 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1008 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1009 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1010 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1011 Move these target-dependent definitions from config/upc-conf.h
1014 * configure.ac: Improve the logic for UPC-related options.
1015 Delete references to pre-processor definitions that have
1016 been moved to "upc/upc-pts.h".
1018 * configure, config.in: Regenerate.
1020 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1021 to trunk. This substitution variable was used to
1022 configure the representation-specific versions of
1023 the tree rewrites that operate on UPC pointer-to-shared
1026 * c-parser.c (c_parser_upc_forall_statement): Remove
1027 reference to UPC_FORALL_DEPTH_NAME, and call
1028 newly defined upc_rts_forall_depth_var() instead.
1030 * config/upc-config.h: Delete. Various definitions
1031 moved to "upc/upc-rts-names.h", "defaults.h", and
1034 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1035 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1036 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1037 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1038 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1039 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1040 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1041 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1042 New. Document UPC target macros.
1043 doc/tm.texi: Regenerate.
1045 2011-05-07 Gary Funck <gary@intrepid.com>
1047 * ../configure.ac: Disable build of libupc
1048 on non POSIX hosted systems. Use AS_HELP_STRING
1049 to define messages. Remove 'word-pair' as a
1050 possible --with-upc-pts UPC pointer-to-shared
1053 * ../configure: Regenerate.
1055 * configure.ac: Use AS_HELP_STRING to define messages.
1056 Remove 'word-pair' as a possible --with-upc-pts
1057 UPC pointer-to-shared representation.
1058 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1059 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1061 * configure: Regenerate.
1063 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1066 * ChangeLog.upc: Fix some typos.
1068 2011-05-07 Gary Funck <gary@intrepid.com>
1070 * ../maintainer-scripts/gcc_release: Add "upc"
1071 as one of the released languages.
1073 2011-05-06 Gary Funck <gary@intrepid.com>
1075 Eliminate compilation warnings, by fixing
1076 #include's and updating function prototypes.
1078 * c-family/c-cppbuiltin.c: Include c-upc.h.
1080 * optabs.c (gen_libfunc): Change type of 'suffix'
1081 parameter to conform with prototype.
1083 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1084 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1087 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1090 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1091 argument values to cp_gimplify_expr.
1093 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1094 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
1095 pre-processor definitions that are no longer
1096 needed to build the 'upc' command (upc-cmd.c)
1097 because the linker specs. defined in libupc
1098 take care of linking in the needed libraries.
1100 * c-parser.c (c_parser_upc_forall_statement):
1101 initialize affinity_loc to avoid "maybe unused" warning.
1102 (c_parser_upc_sync_statement): Remove un-needed
1103 'ret' variable. Cast return value from
1104 'upc_build_sync_stmt' to 'void' to avoid
1105 compile-time warning.
1107 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1108 integer constant, not a string. Range is restricted
1109 to maximum positive 32-bit integer (2+ billion) to
1110 fit in with the use of 'int' in the front-end's
1111 switch handling logic.
1113 2011-05-06 Gary Funck <gary@intrepid.com>
1115 Upgrade c-family source files to conform with modularity
1116 improvements. Mainly, remove #include of c-tree.h in files
1117 under c-family, and define a new UPC-specific #include file,
1118 c-upc.h, and use it.
1120 * c-family/stub-upc.c: Remove #include of c-tree.h and
1121 upc/upc-act.h. Replace with #include of c-common.h
1123 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1124 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1125 upc_localsizeof_expr, upc_localsizeof_type,
1126 upc_shared_type_p): Delete.
1128 * c-family/c-opts.c: Add #include of c-upc.h
1130 * c-family/c-common.c: Remove #include of c-tree.h and
1131 add #include of c-upc.h.
1133 * c-family/c-upc.h: New. Define API for UPC-specific functions
1134 (mostly implemented in upc/upc-act.c).
1136 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
1137 Remove extern definitions.
1139 * c-family/c-pragma.c: Remove #include of c-tree.h.
1140 Add #include of c-upc.h.
1142 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
1144 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
1145 upc/upc-act.c, and define as a macro.
1146 (expand_affinity_test): Remove unused external definition.
1147 (build_upc_unshared_type): Add external definition.
1148 (upc_shared_type_p): Remove external definition.
1150 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1152 * dojump.c: Remove #include of c-tree.h.
1154 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1156 (count_upc_threads_refs, is_multiple_of_upc_threads,
1157 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1158 upc_build_shared_var_addr, upc_build_sync_stmt,
1159 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1160 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1161 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1162 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1163 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1164 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1165 set_upc_consistency_mode, get_upc_consistency_mode,
1166 push_upc_consistency_mode, pop_upc_consistency_mode,
1168 Move external definitions to c-family/c-upc.h.
1169 (upc_blocksizeof_type, upc_localsizeof_type,
1170 upc_elemsizeof_type): Remove external definitions;
1171 these functions were moved to c-parser.c.
1173 * c-decl.c: Add #include of c-upc.h.
1175 * c-typeck.c: Add #include of c-upc.h.
1177 * c-convert.c: Add #include of c-upc.h.
1179 * ChangeLog.upc: Fix typo.
1181 * Makefile.in: Add references to c-family/c-upc.h, everywhere
1182 there is a reference to c-family/c-objc.h.
1183 Remove extraneous reference to upc-act.h.
1185 * c-parser.c: Add #include of c-upc.h.
1186 (upc_blocksizeof_expr, upc_blocksizeof_type,
1187 upc_elemsizeof_expr, upc_elemsizeof_type,
1188 upc_localsizeof_expr, upc_localsizeof_type):
1189 Move from upc/upc-act.c.
1191 * tree.c (build_upc_unshared_type): New.
1192 Move upc_get_unshared_type from upc/upc-act.c and rename
1193 to build_upc_unshared_type.
1194 c-family/c-common.c (pointer_int_sum): refer to renamed
1195 build_upc_unshared_type function.
1196 c-convert.c (convert): Ditto.
1197 convert.c (convert_to_pointer): Ditto.
1198 c-typeck.c (build_unary_op, build_modify_expr,
1199 really_start_incremental_init): Ditto.
1200 gimplify.c (create_tmp_var_raw): Ditto.
1201 tree.c (build1_stat): Ditto.
1202 tree.h (upc_get_unshared_type): Rename to
1203 build_upc_unshared_type.
1205 2011-05-06 Gary Funck <gary@intrepid.com>
1207 Merge trunk version 173471 into gupc branch.
1209 2011-05-05 Gary Funck <gary@intrepid.com>
1211 Make changes that bring the GUPC branch more closely in sync.
1212 with the GCC trunk. Revert any fixes that are not UPC-specific.
1213 Remove gratuitous re-formatting.
1215 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1216 This file should have been removed in a previous merge
1218 * ../configure.ac: Remove Cray Catamount/CNL support.
1219 * ../configure: Regenerate.
1220 * ../config.sub: Remove Cray Catamount/CNL support.
1221 * config.gcc: Remove Cray Catamount/CNL support.
1222 * ../maintainer-scripts/gcc_release: Revert to trunk.
1223 * c-family/c-common.h: Define parse_optimize_options. Its definition
1224 was missed in a previous merge with the trunk.
1225 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1227 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1228 in addition to ARRAY_TYPE.
1229 * c-typeck.c: Remove an extra newline character.
1230 * varasm.c: Revert a fix that improved an error message
1231 when TLS common data is unimplemented.
1232 * varasm.c: Revert a gcc_assert that had been added which
1233 checked for a null DECL_SIZE_UNIT field.
1234 * emultls.c: Revert to trunk. Remove possible fix.
1235 * Makefile.in: Revert extra blank line that is present
1236 in the trunk version.
1237 * Makefile.in: Revert a fix that handled long shell
1238 argument lists for plugin headers.
1239 * config/ia64/ia64.opt: Revert an option setting
1240 that increased the default TLS address range.
1241 * config/ia64/crtbegin.asm: Revert to trunk.
1242 Removes an extra newline character.
1243 * ChangeLog.upc: Spell check.
1245 2011-05-03 Gary Funck <gary@intrepid.com>
1247 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1248 (c_apply_type_quals_to_decl): Ditto.
1249 * c-family/c-common.h: Ditto.
1251 * c-decl.c (merge_decls): Ditto.
1252 * c-typeck.c (qualify_type, default_conversion,
1253 build_component_ref, build_unary_op,
1254 c_build_qualified_type): Ditto.
1255 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1257 2011-04-29 Gary Funck <gary@intrepid.com>
1259 * c-decl.c (finish_decl): Improve error diagnostics.
1260 (grokdeclarator): Ditto.
1262 * c-typeck.c (build_c_cast): Improve error diagnostics.
1263 (convert_for_assignment): Ditto.
1264 (build_binary_op): Ditto.
1266 * c-parser.c (c_parser_upc_forall_statement):
1267 Improve error diagnostics.
1269 * convert.c (convert_to_integer): Improve error diagnostics.
1271 2011-04-24 Gary Funck <gary@intrepid.com>
1273 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1274 occurred if there is an error in the barrier id
1275 expression. Map error_mark_node into NULL.
1277 2011-04-22 Gary Funck <gary@intrepid.com>
1279 Merge trunk version 172873 into gupc branch.
1281 2011-04-19 Gary Funck <gary@intrepid.com>
1283 Merge trunk version 172359 into gupc branch.
1285 2011-04-14 Gary Funck <gary@intrepid.com>
1287 * c-family/c.opt: Add UPC as a valid language for various
1288 switches where it is valid for "C", that were not updated
1289 in previous merges with trunk.
1291 2011-04-13 Gary Funck <gary@intrepid.com>
1293 * c-family/c.opt (fupc-pre-include): New option definition.
1294 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1295 -fno-upc-pre-include is asserted.
1297 2011-04-07 Gary Funck <gary@intrepid.com>
1299 Merge trunk version 172158 into gupc branch.
1300 to bring in the following fix.
1302 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1305 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1306 if old and new states differ.
1308 2011-04-06 Gary Funck <gary@intrepid.com>
1310 Merge trunk version 171966 into gupc branch.
1312 2011-04-01 Gary Funck <gary@intrepid.com>
1314 * tree.h (tree_base): Move UPC flag bits into bit fields
1315 located just before spare bits. Decrement spare bits.
1316 Rename 'shared_flag' -> 'upc_shared_flag',
1317 'relaxed_flag' -> 'upc_relaxed_flag',
1318 'strict_flag' -> 'upc_strict_flag, and adjust macros
1319 that reference them accordingly.
1321 2011-04-01 Gary Funck <gary@intrepid.com>
1323 * c-decl.c (grokdeclarator): Fix formatting of
1324 code that sets UPC block size on scalars.
1326 2011-04-01 Gary Funck <gary@intrepid.com>
1328 * c-decl.c (grokdeclarator): Revert use of white space
1329 to match the trunk (to rationalize diffs).
1330 * c-typeck.c (convert_for_assignment): Ditto.
1331 * tree-ssa.c (useless_type_conversion_p): Ditto.
1333 2011-03-23 Gary Funck <gary@intrepid.com>
1335 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1336 the GCC 4.6 release branch.
1338 2011-03-21 Gary Funck <gary@intrepid.com>
1340 Merge trunk version 171202 into gupc branch.
1342 2011-03-20 Gary Funck <gary@intrepid.com>
1344 * varasm.c: Call error() directly with a format specifier,
1345 rather than using sprintf() to format the message.
1346 This should make it easier to internationalize UPC's error messages.
1348 2011-03-20 Gary Funck <gary@intrepid.com>
1350 * configure.ac: Fix the check for gnu ld when enabling
1351 UPC link script support.
1352 configure: Regenerate (also picks up changes from previous
1355 2011-03-20 Gary Funck <gary@intrepid.com>
1357 Move UPC start files, end files, and linker specs.
1358 into libupc. This reduces the impact on common GCC
1359 configuration files, and ensures that these UPC-specific
1360 components are only built when the UPC language dialect is selected.
1364 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1365 linker specs. Fix typo in -fupc-debug message.
1367 * config/upc-conf.h, config/darwin.h: Move defines for
1368 UPC-related section begins/ends into libupc/config/default/
1371 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1372 UPC-related linker compiler specifications,
1373 accessed via %:include().
1375 * configure.ac, configure: Remove logic related to building
1376 upc-crtbegin/end. Remove config. tests for numa and cpu
1377 affinity (previously used by the 'upc' driver); these
1378 settings are now propagated by target-specific compiler
1379 specs. built by libupc. Regenerate autoconf.
1381 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1382 linker compiler specifications, accessed via %:include().
1383 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1386 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1388 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1389 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1390 config/ia64/linux.h, config/mips/t-iris,
1391 config/mips/iris6.h: Revert to trunk version 167307.
1394 * configure, configure.ac, config.host, Makefile.in:
1395 Revert to trunk version 167307.
1397 2011-02-23 Gary Funck <gary@intrepid.com>
1399 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1400 removed negation on following 'if'.
1402 2011-02-22 Gary Funck <gary@intrepid.com>
1404 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1405 to check for the usage of certain deprecated UPC keywords.
1406 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1407 * c-tree.h (undeclared_variable): Define prototype.
1409 2011-02-12 Gary Funck <gary@intrepid.com>
1411 * c-typeck.c: (build_c_cast, convert_for_assignment)
1412 Diagnose an attempt to convert from an integer to
1413 a pointer-to-shared as an error. Also, fix various
1414 error messages so that they use the preferred term
1415 pointer-to-shared instead of "shared pointer".
1417 2011-02-07 Gary Funck <gary@intrepid.com>
1419 * c-typeck.c: (convert_for_assignment)
1420 Fix typo. in error message.
1422 2011-01-23 Gary Funck <gary@intrepid.com>
1424 * c-typeck.c: (c_build_qualified_type)
1425 derive UPC block size by calling upc_get_block_size(),
1426 to ensure that the element type of an array of an array
1427 is derived correctly.
1429 2010-12-29 Gary Funck <gary@intrepid.com>
1431 Merge trunk version 168314 into gupc branch.
1433 2010-12-15 Gary Funck <gary@intrepid.com>
1435 Merge trunk version 167307 into gupc branch.
1437 2010-10-19 Gary Funck <gary@intrepid.com>
1439 * c-typeck.c: Fix typo in previous fix
1440 which led to a mis-compare for equal block sizes.
1442 2010-10-18 Gary Funck <gary@intrepid.com>
1444 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1445 diagnosed as an error
1447 The conversion from any type (shared or not) to
1448 a shared type is likely either meaningless or an error. This update
1449 makes any conversion to a shared type, an error.
1451 2010-10-18 Gary Funck <gary@intrepid.com>
1453 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1454 generates spurious warning
1456 Add a #define procedure that does the same thing as
1457 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1458 this procedure to diagnose passing an integer value to a
1459 pointer-to-shared as an error.
1461 2010-10-18 Gary Funck <gary@intrepid.com>
1463 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1464 matching routine declaration.
1466 When checking for type compatibility, shared qualified types must
1467 have the same block factor. This check was missing from
1468 comptypes_internal(). This update adds the check for blocking
1471 2010-10-17 Gary Funck <gary@intrepid.com>
1473 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1476 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1478 2010-10-17 Gary Funck <gary@intrepid.com>
1480 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1481 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1482 produces ice with -O3 and -m32.
1484 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1486 2010-10-17 Gary Funck <gary@intrepid.com>
1488 * c-common.c: Diagnose the application of the various "*sizeof"
1489 operations on generic pointer-to-shared as a compilation error.
1491 2010-10-17 Gary Funck <gary@intrepid.com>
1493 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1494 message regarding a function parameter being declared with a shared
1497 The parameter's 'name' value is not defined at this point, and
1498 cannot be used in the error message. This update removes the
1499 reference to 'name', and eliminates the segfault.
1501 2010-10-16 Gary Funck <gary@intrepid.com>
1503 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1505 The gcc/Makefile.in rules for install-plugin had to be re-written to
1506 break up a long list of header files that exceeded the command line
1507 limitation imposed by Irix.
1509 Access functions for TFmode types had to be implemented.
1510 Apparently, this is the mode used for the SGI/MIPS port to represent
1513 2010-10-14 Gary Funck <gary@intrepid.com>
1515 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1516 via typedef chain should not be diagnosed as an error.
1518 If the block size that is given by the typedef is equal to the block
1519 size given explicitly in the variable declaration, then do not
1520 complain. The easiest way to make this check was to create a
1521 temporary type that is a clone of the element type and then set its
1522 block size using the given layout qualifier. Then compare the block
1523 size of the temporary (the declaration) to the block size specified
1524 in the typedef. This complexity is needed, because the '[*]' block
1525 size needs to be calculated, and the '[]' needs to be mapped into a
1528 2010-10-10 Gary Funck <gary@intrepid.com>
1530 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1533 The compiler properly detected the presence of two or more layout
1534 qualifiers as an error, but then hit an assertion check, because the
1535 code that followed the error expected to see a qualifier and not a
1536 layout specifier. The fix is simple: just return immediately after
1537 detecting the error.
1539 2010-10-10 Gary Funck <gary@intrepid.com>
1541 * c-decl.c: Improve error diagnostics for various cases of UPC
1542 shared array type declarations.
1544 Add the check for this error: "In the dynamic translation
1545 environment, THREADS may not appear in declarations of shared arrays
1546 with indefinite block size". Also, fix up a few of the other
1547 related error diagnostics.
1549 2010-10-09 Gary Funck <gary@intrepid.com>
1551 * c-common.c: Fix bug: segfault on incomplete array definition.
1553 This turned out to be a bit complicated. The logic in
1554 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1555 the THREADS identifier in the case where the blocking factor has
1556 been set to indefinite ([]). This can happen when indefinite array
1557 declarations are processed for shared arrays. At that time, the
1558 file scope has been closed and THREADS is no longer in scope. Some
1559 more work is needed on upc_lang_layout_decl(). It has some
1560 duplication, and notably duplicates the two branches of the if
1561 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1562 caller of this routine (layout_decl()).
1564 The method of forcing a layout qualifier of [] in the indefinite
1565 declaration handler is odd a well. The code that just does the
1566 setting of the block factor, needs to moved into its own routine
1567 that doesn't depend upon a declspec for '[]' to be passed in, just
1568 in order to set the blocking factor to some value (in this case, 0).
1569 Also, the logic for how that shared type is constructed is strange.
1570 First the type with 0 blocking factor is set. Then the shared
1571 qualifier is removed from the type, and then added back later. The
1572 intermediate type has a blocking factor set, but it has no shared
1573 qualifier. Fixing this will require some thought. It is tempting
1574 just to make indefinite shared arrays an error, rather than forcing
1575 the dimension to be '1'.
1577 This likely fixes a serious error in the previous update to
1578 upc_lang_layout_decl(), where it didn't have the logic to set
1579 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1580 the previous update would fail on many tests.
1582 2010-10-09 Gary Funck <gary@intrepid.com>
1584 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1585 (decl) is null, which can happen if some layout error occurred
1588 2010-10-09 Gary Funck <gary@intrepid.com>
1590 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1591 "variable-sized" when compiled in dynamic threads.
1593 This long-standing bug is easily fixed. Just check
1594 for the situation that the non-constant sized type is shared and
1595 that it does not have a dimension that references a multiple of
1596 threads. If this criteria is met, then issue a meaningful
1599 2010-10-01 Gary Funck <gary@intrepid.com>
1601 * configure, configure.ac: Update manual page, and bug reporting
1604 Update "man" page to reflect debugging switches. Also, some general
1605 clean up. Change the bug reporting URL to point to gccupc.org.
1607 2010-09-27 Gary Funck <gary@intrepid.com>
1609 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1610 the UPC forall depth count variable is not found.
1612 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1613 The compiler will generate code that references this variable in
1614 order to implement nested upc_forall semantics. If there is a
1615 compiler build or install problem, this variable may not be found.
1616 In this case, terminate with an internal_error().
1618 2010-09-26 Gary Funck <gary@intrepid.com>
1620 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1621 mis-diagnosed as syntax error.
1623 Fix a failure exhibited by the Berkeley test case,
1624 bug873a.upc, which has the code:
1626 upc_forall (;;;d) {...} The compiler did not properly handle
1627 the empty "condition" clause, and did not recover well when it was
1628 determined that the use of a double value, "d" above, was neither a
1629 pointer-to-shared nor an integer expression. The update implements a
1630 fix for both issues.
1632 See also: gcc/c-parser.c gcc/upc/upc-act.c
1634 2010-09-23 Gary Funck <gary@intrepid.com>
1636 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1637 incorporated into the referencing type.
1639 This was semi-fixed a few times before. This update fixes a few
1640 more places where the layout qualifier wasn't being propagated
1641 through typedef's properly. What made this a bit tricky is shown in
1642 the example cited in the bug report:
1644 typedef shared [5] int A_t; A_t A[5*THREADS];
1646 In the typedef, the blocksize is being applied to a shared *scalar*,
1647 and the code was applying the blocksize only to arrays. This update
1648 handles shared scalars correctly.
1650 2010-09-22 Gary Funck <gary@intrepid.com>
1652 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1653 upc_forall() semantics are not implemented
1655 The checkforall test in the Berkeley harness test suite indicated
1656 that GCC/UPC was not properly implementing nested upc_forall
1657 semantics. Nested upc_forall statements (both statically or
1658 dynamically nested) must implement their affinity clause as if it
1659 were "continue"; thus all steps in the loop must execute without
1660 regard for affinity. To implement these semantics a global depth
1661 counter, __upc_forall_depth, is maintained by the generated code
1662 that implements upc_forall.
1664 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1665 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1666 libupc/include/upc.h libupc/smp/upc_main.c
1668 2010-09-19 Gary Funck <gary@intrepid.com>
1670 * c-decl.c: c-decl.c: zero out the layout specifier, after
1671 processing an array type.
1673 Fix the previous fix, that moved the setting of the type's layout
1674 qualifier to the outside of the array type processing loop. What is
1675 missing from the fix is that the layout_qualifier variable needs to
1676 be cleared after setting the type's blocksize.
1678 2010-09-19 Gary Funck <gary@intrepid.com>
1680 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1681 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1683 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1684 the actual maximum block size. Therefore, the message was correct,
1685 but the underlying value that was being checked was wrong. Change
1686 the values so that they agree with the actual implementation-defined
1689 2010-09-11 Gary Funck <gary@intrepid.com>
1691 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1692 multi-dimensional shared array with dynamic threads.
1694 This declaration caused an internal compiler error when compiled
1695 with dynamic threads:
1696 shared [*] int A[THREADS][16]; The bug was discovered when
1697 compiling the RTED_UPC test suite.
1699 The fix is to process layout qualifiers after the entire array type
1700 has been built. Otherwise, we try to calculate the blocksize on a
1701 shared array type that has not had its "size depends upon the value
1702 of THREADS" flag set.
1704 Also, added a test case.
1706 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1708 2010-07-11 Gary Funck <gary@intrepid.com>
1710 Fix a bug where a statement in c_build_qualified_type()
1711 in the trunk had been inadvertently deleted.
1712 This bug showed up in the IA64 port, because jmpbuf's
1713 on that architecture must be 16 byte aligned, and they were not.
1714 c-typeck.c (c_build_qualified_type): Revive the deleted line.
1716 2010-07-08 Gary Funck <gary@intrepid.com>
1718 Make changes so that other language compilers
1719 will build and bootstrap.
1720 * c-family/c-common.c (compiling_upc, flag_upc,
1721 flag_upc_instrument, flag_upc_instrument_functions,
1722 use_upc_dwarf2_extensions): Move to stub-upc.c and
1724 * c-family/c-common.h (use_upc_dwarf2_extensions,
1725 compiling_upc): Add extern definitions - needed
1726 to compile/build other language front ends.
1727 * c-family/c.opt: Fix the spelling of ObjC.
1728 It had been incorrectly spelled as Objc.
1729 * c-family/c.opt: Add UPC for the various switches
1730 that are valid for both C and ObjC.
1731 * c-fmaily/c-opts.c: Add CL_UPC to the list of
1732 supported options switches when compiling assembly
1734 * lto/lto-lang.c (use_upc_dwarf2_extensions,
1735 flag_upc_instrument, flag_upc_instrument_functions):
1736 Remove these definitions. They have been moved
1737 to c-family/stub-upc.c.
1738 * upc/ChangeLog: Move relevant entries
1740 * c-family/stub-upc.c (compiling_upc, flag_upc,
1741 flag_upc_instrument, flag_upc_instrument_functions,
1742 use_upc_dwarf2_extensions): Moved from c-common.c
1743 * upc/upc-lang.c (compiling_upc, flag_upc,
1744 flag_upc_instrument, flag_upc_instrument_functions,
1745 use_upc_dwarf2_extensions): Moved from c-common.c
1746 * objc/objc-act.c (objc_gimplify_expr): Add additional
1747 parameters to c_gimplify_expr() call, that are used
1748 by upc's tree rewrites.
1749 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1750 * gcc/cp/lex.c (init_reswords): If not compiling
1751 UPC, then mask off the UPC keywords.
1752 * cp/Make-lang.in (C_STUB_OBJS): Use this
1753 make macro to link with c-family/stub-objc.o
1754 and c-family/stub-upc.o.
1755 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1756 * java/Make-lang.in (C_STUB_OBJS): Likewise.
1757 * objc/Make-lang.in: Link with c-family/stub-upc.o
1758 to avoid undefined references.
1759 c-parser.c: Fix line indentation.
1760 * libcpp/include/cpplib.h: Remove CL_UPC from
1761 the list of language kinds accepted by the
1762 C preprocessor. This is not necessary because
1763 UPC is a derivative of C99, and does not need
1764 a different language kind.
1765 * c-fmaily/c-opts.c (c_common_handle_option):
1766 Call set_std_c99() when processing the
1767 "--lang upc" switch, instead of setting the
1768 language kind to CL_UPC.
1769 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1771 2010-07-03 Gary Funck <gary@intrepid.com>
1773 Merge trunk version 161517 into gupc branch.
1774 * gcc/stub-upc.c: Move to gcc/c-family/.
1775 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1776 Add 'unused' attributes to avoid "set, but
1777 not referenced" warnings.
1778 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1781 2010-03-01 Gary Funck <gary@intrepid.com>
1783 Create gupc branch from trunk version 157149.
1784 2011-10-04 Gary Funck <gary@intrepid.com>
1786 Merge trunk version 179421 into gupc branch.
1788 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1789 argument to the call to check_qualified_type().
1791 2011-09-22 Gary Funck <gary@intrepid.com>
1793 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1795 (dump_upc_type_quals): New.
1797 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1799 Add to FLAGS the flags needed to disable inlining of
1800 UPC run-time access routines.
1801 * testsuite/lib/target-supports.exp
1802 (add_options_for_upc_library_calls): New.
1804 2011-09-15 Gary Funck <gary@intrepid.com>
1806 Fix ICE involving shared bit field accesses.
1807 * tree.c (build3_stat): Propagate TEEE_SHARED()
1808 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1810 2011-09-13 Gary Funck <gary@intrepid.com>
1812 Merge trunk version 178795 into gupc branch.
1813 Incorporates fix to PR bootstrap/50010 for x86-32.
1815 2011-09-08 Gary Funck <gary@intrepid.com>
1817 Merge trunk version 178557 into gupc branch.
1819 2011-09-07 Gary Funck <gary@intrepid.com>
1821 Ensure that UPC pointer-to-shared type alignment is
1822 propagated to the final type. Revert to long-standing
1823 alignment policy: twice the size of a "C" pointer.
1824 * tree.c (build_pointer_type): Propagate the alignment
1825 of the UPC pointer-to-shared representation type
1826 into the newly built pointer type.
1828 2011-08-30 Gary Funck <gary@intrepid.com>
1830 * tree.h (check_qualified_type): Change 'const_tree'
1831 argument types back to 'tree' to avoid complaints
1832 of assignment drops qualifiers for invocations of the
1833 newly implemented TYPE_BLOCK_FACTOR() macro, which
1834 invokes hash functions with 'tree' pointer values that
1835 are not const qualified.
1836 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1837 * c-typeck.c (comptypes_internal): Ditto.
1839 2011-08-29 Gary Funck <gary@intrepid.com>
1841 Fixes for regressions noted running "make check"
1843 * fold-const.c (fold_unary_loc): Execute UPC-specific
1844 checks for a cast-of-a-cast, only if one of the
1845 operands is a UPC pointer-to-shared value.
1846 * opts.c (print_specific_help): Fix a comparison
1847 in an assert that checks that there are enough
1848 bits reserved for the number of languages defined
1851 2011-08-29 Gary Funck <gary@intrepid.com>
1853 Implement a hash table to record UPC block factors.
1854 * c-family/stub-upc.c (upc_block_factor_insert,
1855 upc_block_factor_lookup): New dummy stub procedures.
1856 * c-family/c-common.c (c_sizeof_or_alignof_type):
1857 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1858 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1859 to copy (hashed) UPC blocking factor.
1860 (set_type_quals): Likewise.
1861 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1862 TYPE_HAS_THREADS_FACTOR().
1863 (type_common.block_factor): Delete.
1864 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1865 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1866 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1867 UPC blocking factors greater than one.
1868 * dwarf2out.c (modified_type_die): Re-implement
1869 logic that records UPC blocking factor in the generated
1870 DWARF2 debugging information.
1871 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1872 TYPE_HAS_THREADS_FACTOR().
1873 * c-decl.c (finish_decl, grokdeclarator):
1874 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1875 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1876 used by UPC, and print UPC-specific information.
1878 2011-08-28 Gary Funck <gary@intrepid.com>
1880 Re-work the type machinery to fully support and to unify support
1881 for the UPC layout qualifier (blocking factor).
1882 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1883 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1884 and update prototype.
1885 * c-family/c-common.c (complete_array_type): call newly
1886 defined c_build_qualified_type_1() instead of
1887 upc_set_block_factor().
1888 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1889 upc_apply_layout_qualifier() and update prototype.
1890 (upc_set_block_factor): Delete prototype.
1891 * c-family/c-common.h (c_build_qualified_type): redefine
1892 as a pre-processor macro that invokes c_build_qualified_type_1()
1893 with a null UPC layout qualifier.
1894 (c_build_qualified_type_1): New. Add layout qualifier argument
1895 to old c_build_qualified_type() prototype.
1896 * tree.c (set_type_quals, check_qualified_type):
1897 Add layout qualifier as argument.
1898 (check_aligned_type): Add check for UPC block factor equality.
1899 (get_qualified_type_1): Rename from get_qualified_type() and
1900 add layout qualifier as argument.
1901 (build_qualified_type_1): Rename from build_qualified_type() and
1902 add layout qualifier as argument.
1903 * tree.h (check_qualified_type): Add layout qualifier as argument
1905 (get_qualified_type): Re-define as a as a pre-processor macro
1906 that invokes get_qualified_type_1() with a null
1907 UPC layout qualifier.
1908 (get_qualified_type_1): Rename from get_qualified_type() and
1909 add layout qualifier as argument.
1910 * cp/tree.c (c_build_qualified_type_1): Rename from
1911 c_build_qualified_type() and add (unused) layout qualifier
1913 * c-decl.c (finish_decl): re-format long error messages.
1914 (grokdeclarator): Re-work the logic so that it calls
1915 upc_grok_layout_qualifier() to handle the UPC layout
1916 qualifier, if present.
1917 * c-typeck.c (qualify_type, common_pointer_type,
1918 build_component_ref): Re-work the logic so that it calls
1919 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1921 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1922 and add layout qualifier argument.
1923 * print_tree.c (print_node): Re-format a long line.
1925 2011-08-26 Gary Funck <gary@intrepid.com>
1927 Merge trunk version 177949 into gupc branch.
1928 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1930 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1931 to add new rliterals column value.
1933 2011-08-26 Gary Funck <gary@intrepid.com>
1935 * convert.c (convert_to_integer): Fix the check for the
1936 difference between two UPC pointers-to-shared values.
1938 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1940 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1941 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1942 correctly check packed bits.
1943 * configure: Re-generate.
1945 2011-08-16 Gary Funck <gary@intrepid.com>
1947 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1948 the barrier id expression is not an integer expression.
1950 2011-08-12 Gary Funck <gary@intrepid.com>
1952 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1954 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1955 Set mode of UPC pointer-to-shared rep. to an
1956 integral mode of size at least as large as the
1957 size of the representation's struct type.
1959 2011-08-12 Gary Funck <gary@intrepid.com>
1961 Rework/simplify the UPC genericize pass.
1962 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1963 upc_build_pointer_type): New.
1964 (upc_set_block_factor): Adjust to new calling sequence.
1965 (upc_build_shared_var_addr): Delete.
1966 * c-family/c-common.c (complete_array_type): Adjust call
1967 to upc_set_block_factor().
1968 * c-family/c-upc.h (upc_apply_layout_qualifier,
1969 upc_build_pointer_type): New.
1970 (upc_build_shared_var_addr): Delete.
1971 (upc_set_block_factor): Adjust to new calling sequence.
1972 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1973 * c-decl.c (grokdeclarator): Call newly defined
1974 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1975 * c-decl.c (grokdeclarator): Split long UPC-related error
1976 messages into two lines.
1977 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1978 directly. Revert that change to trunk. (upc_genericize() will
1979 handle lowering the expressions that take the address of a
1981 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1982 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1983 representation type.
1985 2011-08-10 Gary Funck <gary@intrepid.com>
1987 Implement additional fixes for recent merge with trunk.
1988 * explow.c (promote_mode): Do not attempt to promote
1989 the mode for UPC pointer-to-shared types.
1990 * config/i386/i386.c (function_value_64): Ditto.
1992 2011-08-07 Gary Funck <gary@intrepid.com>
1994 Merge trunk version 177548 into gupc branch.
1995 * config/i386/i386.c (ix86_promote_function_mode):
1996 Do not promote UPC pointers-to-shared to Pmode.
1997 * c-family/c-ommon.c (pointer_int_sum):
1998 Also check the pointer operand, rather than just
1999 its type, when making the decision to derive
2000 the equivalent unshared type.
2001 * tree.c (build2_stat): If the type of the result
2002 passed in as an argument is a UPC shared type,
2003 derive the unshared equivalent when calculating
2004 the result type of the node.
2006 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
2008 * config/darwin.c: Disable var_tracking option
2009 on -O0 as it is supposed to run only when optimization
2010 is applied. See GCC bug 49743.
2012 2011-07-06 Gary Funck <gary@intrepid.com>
2014 Re-implement the pass that lowers trees generated by
2015 the UPC front-end into GENERIC. Previously this was
2016 done within the gimplification framework, but this
2017 required that gimplification be run before inlining
2018 and various other passes, which did not fit in well
2019 with the current design of the middle-end passes.
2020 Now, the lowering is done by a newly defined language
2021 specific genericize hook. With this change, we are
2022 are able to undo some extensions made to the gimplify
2023 logic, and thus can revert several files to trunk.
2025 * c-decl.c: Add a check for UPC deprecated names which
2026 may appear as undefined function names.
2027 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2028 LTI_upc_getaddr): Remove definitions of unused UPC
2029 library function names. These were defined back when
2030 the libfunc interface was used to call these routines.
2031 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2032 in UPC lowering (genericize) pass.
2033 * langhooks.h (gimplify_expr): Revert to trunk's definition.
2034 (instrument_func): Delete this hook. Now handled in
2036 * tree-pass.h: Revert to trunk.
2037 * c-typeck.c (build_unary_op): Adjust reference to
2038 upc_genericize() in a comment.
2039 * gimplify.c (create_tmp_var_raw): Delete logic that
2040 was converting UPC shared types into unshared types
2041 to be used for temporaries. Now handled in upc_genericize().
2042 Replace with an assertion check.
2043 (prepare_gimple_addressable): Revert to trunk's definition.
2044 No longer needed as an externally called function.
2045 (flag_instrument_functions_exclude_p): Re-define as
2046 an externally called function.
2047 (gimplify_function_tree): Delete code that implemented
2048 call to UPC's language specific function instrumentation hook.
2049 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2050 (prepare_gimple_addressable): Delete extern definition;
2051 revert to trunk's definition.
2052 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2053 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2054 * c-family/c-gimplify.c: Revert to trunk.
2055 * cp/cp-gimplify.c: Revert to trunk.
2056 * cp/cp-tree.h: Revert to trunk.
2057 * explow.c: Revert to trunk.
2058 * langhooks.c: Revert to trunk.
2059 * libfuncs.h: Revert to trunk.
2060 * objc/objc-act.c: Revert to trunk.
2062 2011-06-30 Gary Funck <gary@intrepid.com>
2064 * c-family/c.opt: Bring options definitions up-to-date
2065 with respect to changes made in the trunk.
2067 2011-06-29 Gary Funck <gary@intrepid.com>
2069 Merge trunk version 175584 into gupc branch.
2071 2011-06-13 Gary Funck <gary@intrepid.com>
2074 * include/cpplib.h (enum c_lang):
2075 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2076 This keeps all the "C" variants together.
2077 * init.c (lang_defaults): Add an entry for UPC.
2079 2011-06-09 Gary Funck <gary@intrepid.com>
2081 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2082 a 32-bit target, the size expression overflowed, the result was
2083 error_mark_node, and an ICE was triggered on an attempt to evaluate
2084 C_TYPE_VARIABLE_SIZE() on the error node.
2085 (upc_blocksizeof_expr, upc_blocksizeof_type,
2086 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2087 Make similar changes to avoid further processing of error_mark_node.
2089 2011-06-07 Gary Funck <gary@intrepid.com>
2091 * sel-sched.c (move_op): Incorporate the following
2092 patch to eliminate ICE at -O3 on IA64/Altix.
2094 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
2096 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
2097 code_motion_path_driver returned 0 or 1.
2098 (sel_region_finish): Clear h_d_i_d.
2100 2011-06-02 Gary Funck <gary@intrepid.com>
2102 Merge trunk version 174558 into gupc branch.
2104 2011-05-30 Gary Funck <gary@intrepid.com>
2106 * configure.ac: Make the default order of the virtual
2107 address field in a UPC pointer-to-shared to be "first".
2108 This reverts to the previous setting, and is a short term
2109 measure to work around a bug found on the IA64,
2110 where vaddr=last led to incorrect code generation.
2111 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2112 in AC_DEFINE(), to agree with recent changes in files
2113 that reference this define.
2114 configure, config.in: Regenerate.
2116 2011-05-26 Gary Funck <gary@intrepid.com>
2118 * configure.ac: Fix typo when referring to $upc_vaddr_order.
2119 configure: Regenerate.
2121 * ../fixincludes/fixincl.x: Revert to trunk.
2122 This file is auto-generated, and should not be merged.
2124 2011-05-18 Gary Funck <gary@intrepid.com>
2126 Merge trunk version 173845 into gupc branch.
2128 2011-05-17 Gary Funck <gary@intrepid.com>
2130 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2131 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2133 * c-family/c-pragma.c: Remove conditional compilation
2134 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2135 Test 'compiling_upc' when compiling to determine if
2136 the "upc" and "pupc" pragmas should be registered.
2138 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2139 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2140 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2141 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2142 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2143 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2144 Move these target-dependent definitions from config/upc-conf.h
2147 * configure.ac: Improve the logic for UPC-related options.
2148 Delete references to pre-processor definitions that have
2149 been moved to "upc/upc-pts.h".
2151 * configure, config.in: Regenerate.
2153 * Makefile.in (UPC_PTS_REP): Remove definition and revert
2154 to trunk. This substitution variable was used to
2155 configure the representation-specific versions of
2156 the tree rewrites that operate on UPC pointer-to-shared
2159 * c-parser.c (c_parser_upc_forall_statement): Remove
2160 reference to UPC_FORALL_DEPTH_NAME, and call
2161 newly defined upc_rts_forall_depth_var() instead.
2163 * config/upc-config.h: Delete. Various definitions
2164 moved to "upc/upc-rts-names.h", "defaults.h", and
2167 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2168 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2169 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2170 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2171 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2172 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2173 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2174 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2175 New. Document UPC target macros.
2176 doc/tm.texi: Regenerate.
2178 2011-05-07 Gary Funck <gary@intrepid.com>
2180 * ../configure.ac: Disable build of libupc
2181 on non POSIX hosted systems. Use AS_HELP_STRING
2182 to define messages. Remove 'word-pair' as a
2183 possible --with-upc-pts UPC pointer-to-shared
2186 * ../configure: Regenerate.
2188 * configure.ac: Use AS_HELP_STRING to define messages.
2189 Remove 'word-pair' as a possible --with-upc-pts
2190 UPC pointer-to-shared representation.
2191 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2192 (UPC_MAX_BLOCK_SIZE): Correct the default value.
2194 * configure: Regenerate.
2196 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2199 * ChangeLog.upc: Fix some typos.
2201 2011-05-07 Gary Funck <gary@intrepid.com>
2203 * ../maintainer-scripts/gcc_release: Add "upc"
2204 as one of the released languages.
2206 2011-05-06 Gary Funck <gary@intrepid.com>
2208 Eliminate compilation warnings, by fixing
2209 #include's and updating function prototypes.
2211 * c-family/c-cppbuiltin.c: Include c-upc.h.
2213 * optabs.c (gen_libfunc): Change type of 'suffix'
2214 parameter to conform with prototype.
2216 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2217 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2220 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2223 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2224 argument values to cp_gimplify_expr.
2226 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2227 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2228 pre-processor definitions that are no longer
2229 needed to build the 'upc' command (upc-cmd.c)
2230 because the linker specs. defined in libupc
2231 take care of linking in the needed libraries.
2233 * c-parser.c (c_parser_upc_forall_statement):
2234 initialize affinity_loc to avoid "maybe unused" warning.
2235 (c_parser_upc_sync_statement): Remove un-needed
2236 'ret' variable. Cast return value from
2237 'upc_build_sync_stmt' to 'void' to avoid
2238 compile-time warning.
2240 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2241 integer constant, not a string. Range is restricted
2242 to maximum positive 32-bit integer (2+ billion) to
2243 fit in with the use of 'int' in the front-end's
2244 switch handling logic.
2246 2011-05-06 Gary Funck <gary@intrepid.com>
2248 Upgrade c-family source files to conform with modularity
2249 improvements. Mainly, remove #include of c-tree.h in files
2250 under c-family, and define a new UPC-specific #include file,
2251 c-upc.h, and use it.
2253 * c-family/stub-upc.c: Remove #include of c-tree.h and
2254 upc/upc-act.h. Replace with #include of c-common.h
2256 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2257 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2258 upc_localsizeof_expr, upc_localsizeof_type,
2259 upc_shared_type_p): Delete.
2261 * c-family/c-opts.c: Add #include of c-upc.h
2263 * c-family/c-common.c: Remove #include of c-tree.h and
2264 add #include of c-upc.h.
2266 * c-family/c-upc.h: New. Define API for UPC-specific functions
2267 (mostly implemented in upc/upc-act.c).
2269 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2270 Remove extern definitions.
2272 * c-family/c-pragma.c: Remove #include of c-tree.h.
2273 Add #include of c-upc.h.
2275 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2277 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2278 upc/upc-act.c, and define as a macro.
2279 (expand_affinity_test): Remove unused external definition.
2280 (build_upc_unshared_type): Add external definition.
2281 (upc_shared_type_p): Remove external definition.
2283 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2285 * dojump.c: Remove #include of c-tree.h.
2287 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2289 (count_upc_threads_refs, is_multiple_of_upc_threads,
2290 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2291 upc_build_shared_var_addr, upc_build_sync_stmt,
2292 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2293 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2294 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2295 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2296 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2297 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2298 set_upc_consistency_mode, get_upc_consistency_mode,
2299 push_upc_consistency_mode, pop_upc_consistency_mode,
2301 Move external definitions to c-family/c-upc.h.
2302 (upc_blocksizeof_type, upc_localsizeof_type,
2303 upc_elemsizeof_type): Remove external definitions;
2304 these functions were moved to c-parser.c.
2306 * c-decl.c: Add #include of c-upc.h.
2308 * c-typeck.c: Add #include of c-upc.h.
2310 * c-convert.c: Add #include of c-upc.h.
2312 * ChangeLog.upc: Fix typo.
2314 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2315 there is a reference to c-family/c-objc.h.
2316 Remove extraneous reference to upc-act.h.
2318 * c-parser.c: Add #include of c-upc.h.
2319 (upc_blocksizeof_expr, upc_blocksizeof_type,
2320 upc_elemsizeof_expr, upc_elemsizeof_type,
2321 upc_localsizeof_expr, upc_localsizeof_type):
2322 Move from upc/upc-act.c.
2324 * tree.c (build_upc_unshared_type): New.
2325 Move upc_get_unshared_type from upc/upc-act.c and rename
2326 to build_upc_unshared_type.
2327 c-family/c-common.c (pointer_int_sum): refer to renamed
2328 build_upc_unshared_type function.
2329 c-convert.c (convert): Ditto.
2330 convert.c (convert_to_pointer): Ditto.
2331 c-typeck.c (build_unary_op, build_modify_expr,
2332 really_start_incremental_init): Ditto.
2333 gimplify.c (create_tmp_var_raw): Ditto.
2334 tree.c (build1_stat): Ditto.
2335 tree.h (upc_get_unshared_type): Rename to
2336 build_upc_unshared_type.
2338 2011-05-06 Gary Funck <gary@intrepid.com>
2340 Merge trunk version 173471 into gupc branch.
2342 2011-05-05 Gary Funck <gary@intrepid.com>
2344 Make changes that bring the GUPC branch more closely in sync.
2345 with the GCC trunk. Revert any fixes that are not UPC-specific.
2346 Remove gratuitous re-formatting.
2348 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2349 This file should have been removed in a previous merge
2351 * ../configure.ac: Remove Cray Catamount/CNL support.
2352 * ../configure: Regenerate.
2353 * ../config.sub: Remove Cray Catamount/CNL support.
2354 * config.gcc: Remove Cray Catamount/CNL support.
2355 * ../maintainer-scripts/gcc_release: Revert to trunk.
2356 * c-family/c-common.h: Define parse_optimize_options. Its definition
2357 was missed in a previous merge with the trunk.
2358 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2360 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2361 in addition to ARRAY_TYPE.
2362 * c-typeck.c: Remove an extra newline character.
2363 * varasm.c: Revert a fix that improved an error message
2364 when TLS common data is unimplemented.
2365 * varasm.c: Revert a gcc_assert that had been added which
2366 checked for a null DECL_SIZE_UNIT field.
2367 * emultls.c: Revert to trunk. Remove possible fix.
2368 * Makefile.in: Revert extra blank line that is present
2369 in the trunk version.
2370 * Makefile.in: Revert a fix that handled long shell
2371 argument lists for plugin headers.
2372 * config/ia64/ia64.opt: Revert an option setting
2373 that increased the default TLS address range.
2374 * config/ia64/crtbegin.asm: Revert to trunk.
2375 Removes an extra newline character.
2376 * ChangeLog.upc: Spell check.
2378 2011-05-03 Gary Funck <gary@intrepid.com>
2380 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2381 (c_apply_type_quals_to_decl): Ditto.
2382 * c-family/c-common.h: Ditto.
2384 * c-decl.c (merge_decls): Ditto.
2385 * c-typeck.c (qualify_type, default_conversion,
2386 build_component_ref, build_unary_op,
2387 c_build_qualified_type): Ditto.
2388 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2390 2011-04-29 Gary Funck <gary@intrepid.com>
2392 * c-decl.c (finish_decl): Improve error diagnostics.
2393 (grokdeclarator): Ditto.
2395 * c-typeck.c (build_c_cast): Improve error diagnostics.
2396 (convert_for_assignment): Ditto.
2397 (build_binary_op): Ditto.
2399 * c-parser.c (c_parser_upc_forall_statement):
2400 Improve error diagnostics.
2402 * convert.c (convert_to_integer): Improve error diagnostics.
2404 2011-04-24 Gary Funck <gary@intrepid.com>
2406 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2407 occurred if there is an error in the barrier id
2408 expression. Map error_mark_node into NULL.
2410 2011-04-22 Gary Funck <gary@intrepid.com>
2412 Merge trunk version 172873 into gupc branch.
2414 2011-04-19 Gary Funck <gary@intrepid.com>
2416 Merge trunk version 172359 into gupc branch.
2418 2011-04-14 Gary Funck <gary@intrepid.com>
2420 * c-family/c.opt: Add UPC as a valid language for various
2421 switches where it is valid for "C", that were not updated
2422 in previous merges with trunk.
2424 2011-04-13 Gary Funck <gary@intrepid.com>
2426 * c-family/c.opt (fupc-pre-include): New option definition.
2427 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2428 -fno-upc-pre-include is asserted.
2430 2011-04-07 Gary Funck <gary@intrepid.com>
2432 Merge trunk version 172158 into gupc branch.
2433 to bring in the following fix.
2435 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2438 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2439 if old and new states differ.
2441 2011-04-06 Gary Funck <gary@intrepid.com>
2443 Merge trunk version 171966 into gupc branch.
2445 2011-04-01 Gary Funck <gary@intrepid.com>
2447 * tree.h (tree_base): Move UPC flag bits into bit fields
2448 located just before spare bits. Decrement spare bits.
2449 Rename 'shared_flag' -> 'upc_shared_flag',
2450 'relaxed_flag' -> 'upc_relaxed_flag',
2451 'strict_flag' -> 'upc_strict_flag, and adjust macros
2452 that reference them accordingly.
2454 2011-04-01 Gary Funck <gary@intrepid.com>
2456 * c-decl.c (grokdeclarator): Fix formatting of
2457 code that sets UPC block size on scalars.
2459 2011-04-01 Gary Funck <gary@intrepid.com>
2461 * c-decl.c (grokdeclarator): Revert use of white space
2462 to match the trunk (to rationalize diffs).
2463 * c-typeck.c (convert_for_assignment): Ditto.
2464 * tree-ssa.c (useless_type_conversion_p): Ditto.
2466 2011-03-23 Gary Funck <gary@intrepid.com>
2468 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2469 the GCC 4.6 release branch.
2471 2011-03-21 Gary Funck <gary@intrepid.com>
2473 Merge trunk version 171202 into gupc branch.
2475 2011-03-20 Gary Funck <gary@intrepid.com>
2477 * varasm.c: Call error() directly with a format specifier,
2478 rather than using sprintf() to format the message.
2479 This should make it easier to internationalize UPC's error messages.
2481 2011-03-20 Gary Funck <gary@intrepid.com>
2483 * configure.ac: Fix the check for gnu ld when enabling
2484 UPC link script support.
2485 configure: Regenerate (also picks up changes from previous
2488 2011-03-20 Gary Funck <gary@intrepid.com>
2490 Move UPC start files, end files, and linker specs.
2491 into libupc. This reduces the impact on common GCC
2492 configuration files, and ensures that these UPC-specific
2493 components are only built when the UPC language dialect is selected.
2496 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2497 linker specs. Fix typo in -fupc-debug message.
2499 * config/upc-conf.h, config/darwin.h: Move defines for
2500 UPC-related section begins/ends into libupc/config/default/
2503 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2504 UPC-related linker compiler specifications,
2505 accessed via %:include().
2507 * configure.ac, configure: Remove logic related to building
2508 upc-crtbegin/end. Remove config. tests for numa and cpu
2509 affinity (previously used by the 'upc' driver); these
2510 settings are now propagated by target-specific compiler
2511 specs. built by libupc. Regenerate autoconf.
2513 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2514 linker compiler specifications, accessed via %:include().
2515 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2518 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2520 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2521 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2522 config/ia64/linux.h, config/mips/t-iris,
2523 config/mips/iris6.h: Revert to trunk version 167307.
2526 * configure, configure.ac, config.host, Makefile.in:
2527 Revert to trunk version 167307.
2529 2011-02-23 Gary Funck <gary@intrepid.com>
2531 * c-decl.c (undeclared_variable): fix typo. Inadvertently
2532 removed negation on following 'if'.
2534 2011-02-22 Gary Funck <gary@intrepid.com>
2536 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2537 to check for the usage of certain deprecated UPC keywords.
2538 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2539 * c-tree.h (undeclared_variable): Define prototype.
2541 2011-02-12 Gary Funck <gary@intrepid.com>
2543 * c-typeck.c: (build_c_cast, convert_for_assignment)
2544 Diagnose an attempt to convert from an integer to
2545 a pointer-to-shared as an error. Also, fix various
2546 error messages so that they use the preferred term
2547 pointer-to-shared instead of "shared pointer".
2549 2011-02-07 Gary Funck <gary@intrepid.com>
2551 * c-typeck.c: (convert_for_assignment)
2552 Fix typo. in error message.
2554 2011-01-23 Gary Funck <gary@intrepid.com>
2556 * c-typeck.c: (c_build_qualified_type)
2557 derive UPC block size by calling upc_get_block_size(),
2558 to ensure that the element type of an array of an array
2559 is derived correctly.
2561 2010-12-29 Gary Funck <gary@intrepid.com>
2563 Merge trunk version 168314 into gupc branch.
2565 2010-12-15 Gary Funck <gary@intrepid.com>
2567 Merge trunk version 167307 into gupc branch.
2569 2010-10-19 Gary Funck <gary@intrepid.com>
2571 * c-typeck.c: Fix typo in previous fix
2572 which led to a mis-compare for equal block sizes.
2574 2010-10-18 Gary Funck <gary@intrepid.com>
2576 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2577 diagnosed as an error
2579 The conversion from any type (shared or not) to
2580 a shared type is likely either meaningless or an error. This update
2581 makes any conversion to a shared type, an error.
2583 2010-10-18 Gary Funck <gary@intrepid.com>
2585 * c-typeck.c: Fix bug: passing int to shared pointer arg.
2586 generates spurious warning
2588 Add a #define procedure that does the same thing as
2589 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
2590 this procedure to diagnose passing an integer value to a
2591 pointer-to-shared as an error.
2593 2010-10-18 Gary Funck <gary@intrepid.com>
2595 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2596 matching routine declaration.
2598 When checking for type compatibility, shared qualified types must
2599 have the same block factor. This check was missing from
2600 comptypes_internal(). This update adds the check for blocking
2603 2010-10-17 Gary Funck <gary@intrepid.com>
2605 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2608 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2610 2010-10-17 Gary Funck <gary@intrepid.com>
2612 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2613 45869 - [4.5/4.6 Regression] type mismatch in shift expression
2614 produces ice with -O3 and -m32.
2616 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2618 2010-10-17 Gary Funck <gary@intrepid.com>
2620 * c-common.c: Diagnose the application of the various "*sizeof"
2621 operations on generic pointer-to-shared as a compilation error.
2623 2010-10-17 Gary Funck <gary@intrepid.com>
2625 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2626 message regarding a function parameter being declared with a shared
2629 The parameter's 'name' value is not defined at this point, and
2630 cannot be used in the error message. This update removes the
2631 reference to 'name', and eliminates the segfault.
2633 2010-10-16 Gary Funck <gary@intrepid.com>
2635 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2637 The gcc/Makefile.in rules for install-plugin had to be re-written to
2638 break up a long list of header files that exceeded the command line
2639 limitation imposed by Irix.
2641 Access functions for TFmode types had to be implemented.
2642 Apparently, this is the mode used for the SGI/MIPS port to represent
2645 2010-10-14 Gary Funck <gary@intrepid.com>
2647 * c-decl.c: Fix bug: Multiple equal blocking factors specified
2648 via typedef chain should not be diagnosed as an error.
2650 If the block size that is given by the typedef is equal to the block
2651 size given explicitly in the variable declaration, then do not
2652 complain. The easiest way to make this check was to create a
2653 temporary type that is a clone of the element type and then set its
2654 block size using the given layout qualifier. Then compare the block
2655 size of the temporary (the declaration) to the block size specified
2656 in the typedef. This complexity is needed, because the '[*]' block
2657 size needs to be calculated, and the '[]' needs to be mapped into a
2660 2010-10-10 Gary Funck <gary@intrepid.com>
2662 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2665 The compiler properly detected the presence of two or more layout
2666 qualifiers as an error, but then hit an assertion check, because the
2667 code that followed the error expected to see a qualifier and not a
2668 layout specifier. The fix is simple: just return immediately after
2669 detecting the error.
2671 2010-10-10 Gary Funck <gary@intrepid.com>
2673 * c-decl.c: Improve error diagnostics for various cases of UPC
2674 shared array type declarations.
2676 Add the check for this error: "In the dynamic translation
2677 environment, THREADS may not appear in declarations of shared arrays
2678 with indefinite block size". Also, fix up a few of the other
2679 related error diagnostics.
2681 2010-10-09 Gary Funck <gary@intrepid.com>
2683 * c-common.c: Fix bug: segfault on incomplete array definition.
2685 This turned out to be a bit complicated. The logic in
2686 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2687 the THREADS identifier in the case where the blocking factor has
2688 been set to indefinite ([]). This can happen when indefinite array
2689 declarations are processed for shared arrays. At that time, the
2690 file scope has been closed and THREADS is no longer in scope. Some
2691 more work is needed on upc_lang_layout_decl(). It has some
2692 duplication, and notably duplicates the two branches of the if
2693 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2694 caller of this routine (layout_decl()).
2696 The method of forcing a layout qualifier of [] in the indefinite
2697 declaration handler is odd a well. The code that just does the
2698 setting of the block factor, needs to moved into its own routine
2699 that doesn't depend upon a declspec for '[]' to be passed in, just
2700 in order to set the blocking factor to some value (in this case, 0).
2701 Also, the logic for how that shared type is constructed is strange.
2702 First the type with 0 blocking factor is set. Then the shared
2703 qualifier is removed from the type, and then added back later. The
2704 intermediate type has a blocking factor set, but it has no shared
2705 qualifier. Fixing this will require some thought. It is tempting
2706 just to make indefinite shared arrays an error, rather than forcing
2707 the dimension to be '1'.
2709 This likely fixes a serious error in the previous update to
2710 upc_lang_layout_decl(), where it didn't have the logic to set
2711 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2712 the previous update would fail on many tests.
2714 2010-10-09 Gary Funck <gary@intrepid.com>
2716 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2717 (decl) is null, which can happen if some layout error occurred
2720 2010-10-09 Gary Funck <gary@intrepid.com>
2722 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2723 "variable-sized" when compiled in dynamic threads.
2725 This long-standing bug is easily fixed. Just check
2726 for the situation that the non-constant sized type is shared and
2727 that it does not have a dimension that references a multiple of
2728 threads. If this criteria is met, then issue a meaningful
2731 2010-10-01 Gary Funck <gary@intrepid.com>
2733 * configure, configure.ac: Update manual page, and bug reporting
2736 Update "man" page to reflect debugging switches. Also, some general
2737 clean up. Change the bug reporting URL to point to gccupc.org.
2739 2010-09-27 Gary Funck <gary@intrepid.com>
2741 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2742 the UPC forall depth count variable is not found.
2744 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2745 The compiler will generate code that references this variable in
2746 order to implement nested upc_forall semantics. If there is a
2747 compiler build or install problem, this variable may not be found.
2748 In this case, terminate with an internal_error().
2750 2010-09-26 Gary Funck <gary@intrepid.com>
2752 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2753 mis-diagnosed as syntax error.
2755 Fix a failure exhibited by the Berkeley test case,
2756 bug873a.upc, which has the code:
2758 upc_forall (;;;d) {...} The compiler did not properly handle
2759 the empty "condition" clause, and did not recover well when it was
2760 determined that the use of a double value, "d" above, was neither a
2761 pointer-to-shared nor an integer expression. The update implements a
2762 fix for both issues.
2764 See also: gcc/c-parser.c gcc/upc/upc-act.c
2766 2010-09-23 Gary Funck <gary@intrepid.com>
2768 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2769 incorporated into the referencing type.
2771 This was semi-fixed a few times before. This update fixes a few
2772 more places where the layout qualifier wasn't being propagated
2773 through typedef's properly. What made this a bit tricky is shown in
2774 the example cited in the bug report:
2776 typedef shared [5] int A_t; A_t A[5*THREADS];
2778 In the typedef, the blocksize is being applied to a shared *scalar*,
2779 and the code was applying the blocksize only to arrays. This update
2780 handles shared scalars correctly.
2782 2010-09-22 Gary Funck <gary@intrepid.com>
2784 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2785 upc_forall() semantics are not implemented
2787 The checkforall test in the Berkeley harness test suite indicated
2788 that GCC/UPC was not properly implementing nested upc_forall
2789 semantics. Nested upc_forall statements (both statically or
2790 dynamically nested) must implement their affinity clause as if it
2791 were "continue"; thus all steps in the loop must execute without
2792 regard for affinity. To implement these semantics a global depth
2793 counter, __upc_forall_depth, is maintained by the generated code
2794 that implements upc_forall.
2796 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2797 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2798 libupc/include/upc.h libupc/smp/upc_main.c
2800 2010-09-19 Gary Funck <gary@intrepid.com>
2802 * c-decl.c: c-decl.c: zero out the layout specifier, after
2803 processing an array type.
2805 Fix the previous fix, that moved the setting of the type's layout
2806 qualifier to the outside of the array type processing loop. What is
2807 missing from the fix is that the layout_qualifier variable needs to
2808 be cleared after setting the type's blocksize.
2810 2010-09-19 Gary Funck <gary@intrepid.com>
2812 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2813 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2815 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2816 the actual maximum block size. Therefore, the message was correct,
2817 but the underlying value that was being checked was wrong. Change
2818 the values so that they agree with the actual implementation-defined
2821 2010-09-11 Gary Funck <gary@intrepid.com>
2823 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2824 multi-dimensional shared array with dynamic threads.
2826 This declaration caused an internal compiler error when compiled
2827 with dynamic threads:
2828 shared [*] int A[THREADS][16]; The bug was discovered when
2829 compiling the RTED_UPC test suite.
2831 The fix is to process layout qualifiers after the entire array type
2832 has been built. Otherwise, we try to calculate the blocksize on a
2833 shared array type that has not had its "size depends upon the value
2834 of THREADS" flag set.
2836 Also, added a test case.
2838 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2840 2010-07-11 Gary Funck <gary@intrepid.com>
2842 Fix a bug where a statement in c_build_qualified_type()
2843 in the trunk had been inadvertently deleted.
2844 This bug showed up in the IA64 port, because jmpbuf's
2845 on that architecture must be 16 byte aligned, and they were not.
2846 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2848 2010-07-08 Gary Funck <gary@intrepid.com>
2850 Make changes so that other language compilers
2851 will build and bootstrap.
2852 * c-family/c-common.c (compiling_upc, flag_upc,
2853 flag_upc_instrument, flag_upc_instrument_functions,
2854 use_upc_dwarf2_extensions): Move to stub-upc.c and
2856 * c-family/c-common.h (use_upc_dwarf2_extensions,
2857 compiling_upc): Add extern definitions - needed
2858 to compile/build other language front ends.
2859 * c-family/c.opt: Fix the spelling of ObjC.
2860 It had been incorrectly spelled as Objc.
2861 * c-family/c.opt: Add UPC for the various switches
2862 that are valid for both C and ObjC.
2863 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2864 supported options switches when compiling assembly
2866 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2867 flag_upc_instrument, flag_upc_instrument_functions):
2868 Remove these definitions. They have been moved
2869 to c-family/stub-upc.c.
2870 * upc/ChangeLog: Move relevant entries
2872 * c-family/stub-upc.c (compiling_upc, flag_upc,
2873 flag_upc_instrument, flag_upc_instrument_functions,
2874 use_upc_dwarf2_extensions): Moved from c-common.c
2875 * upc/upc-lang.c (compiling_upc, flag_upc,
2876 flag_upc_instrument, flag_upc_instrument_functions,
2877 use_upc_dwarf2_extensions): Moved from c-common.c
2878 * objc/objc-act.c (objc_gimplify_expr): Add additional
2879 parameters to c_gimplify_expr() call, that are used
2880 by upc's tree rewrites.
2881 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2882 * gcc/cp/lex.c (init_reswords): If not compiling
2883 UPC, then mask off the UPC keywords.
2884 * cp/Make-lang.in (C_STUB_OBJS): Use this
2885 make macro to link with c-family/stub-objc.o
2886 and c-family/stub-upc.o.
2887 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2888 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2889 * objc/Make-lang.in: Link with c-family/stub-upc.o
2890 to avoid undefined references.
2891 c-parser.c: Fix line indentation.
2892 * libcpp/include/cpplib.h: Remove CL_UPC from
2893 the list of language kinds accepted by the
2894 C preprocessor. This is not necessary because
2895 UPC is a derivative of C99, and does not need
2896 a different language kind.
2897 * c-fmaily/c-opts.c (c_common_handle_option):
2898 Call set_std_c99() when processing the
2899 "--lang upc" switch, instead of setting the
2900 language kind to CL_UPC.
2901 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2903 2010-07-03 Gary Funck <gary@intrepid.com>
2905 Merge trunk version 161517 into gupc branch.
2906 * gcc/stub-upc.c: Move to gcc/c-family/.
2907 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2908 Add 'unused' attributes to avoid "set, but
2909 not referenced" warnings.
2910 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2913 2010-03-01 Gary Funck <gary@intrepid.com>
2915 Create gupc branch from trunk version 157149.