1 2013-03-21 Gary Funck <gary@intrepid.com>
3 Released GUPC 4.8.0.3 based on version 196601.
4 This release version was committed on 2013-03-11.
5 * DATESTAMP: Bump date stamp.
7 2013-03-18 Gary Funck <gary@intrepid.com>
9 Merge trunk version 196771 into gupc branch.
10 * DEV-PHASE: Bump release identifier to 4.9.0-1.
12 2013-03-11 Gary Funck <gary@intrepid.com>
14 Merge trunk version 196592 into gupc branch.
16 2013-03-04 Gary Funck <gary@intrepid.com>
18 Merge trunk version 196422 into gupc branch.
20 2013-02-25 Gary Funck <gary@intrepid.com>
22 Merge trunk version 196253 into gupc branch.
24 2013-02-18 Gary Funck <gary@intrepid.com>
26 Merge trunk version 196115 into gupc branch.
28 2013-02-11 Gary Funck <gary@intrepid.com>
30 Merge trunk version 195937 into gupc branch.
32 2013-02-04 Gary Funck <gary@intrepid.com>
34 Merge trunk version 195707 into gupc branch.
36 2013-01-28 Gary Funck <gary@intrepid.com>
38 Merge trunk version 195502 into gupc branch.
40 2013-01-21 Gary Funck <gary@intrepid.com>
42 Merge trunk version 195330 into gupc branch.
44 2013-01-14 Gary Funck <gary@intrepid.com>
46 Merge trunk version 195164 into gupc branch.
48 2013-01-07 Gary Funck <gary@intrepid.com>
50 Merge trunk version 194962 into gupc branch.
52 2012-12-24 Gary Funck <gary@intrepid.com>
54 Merge trunk version 194709 into gupc branch.
56 2012-12-17 Gary Funck <gary@intrepid.com>
58 Merge trunk version 194552 into gupc branch.
60 2012-12-10 Gary Funck <gary@intrepid.com>
62 Merge trunk version 194351 into gupc branch.
64 2012-12-03 Gary Funck <gary@intrepid.com>
66 Merge trunk version 194076 into gupc branch.
68 2012-11-30 Gary Funck <gary@intrepid.com>
70 Released GUPC 4.8.0.2 based on version 193446.
71 Date of release: 2012-11-12.
72 * DEV-PHASE: Bump release identifier to 4.8.0-3.
73 * DATESTAMP: Bump date stamp.
75 2012-11-26 Gary Funck <gary@intrepid.com>
77 Merge trunk version 193807 into gupc branch.
79 2012-11-20 Gary Funck <gary@intrepid.com>
81 Merge trunk version 193672 into gupc branch.
83 2012-11-19 Gary Funck <gary@intrepid.com>
85 Merge trunk version 193617 into gupc branch.
87 2012-11-15 Gary Funck <gary@intrepid.com>
89 Merge trunk version 193426 into gupc branch.
91 2012-11-12 Gary Funck <gary@intrepid.com>
93 Released GUPC 4.8.0.1 based on version 192948.
94 Date of release: 2012-10-29.
95 * DEV-PHASE: Bump release identifier to 4.8.0-2.
96 * DATESTAMP: Bump date stamp.
98 2012-11-05 Gary Funck <gary@intrepid.com>
100 Merge trunk version 193152 into gupc branch.
102 2012-10-29 Gary Funck <gary@intrepid.com>
104 Merge trunk version 192909 into gupc branch.
106 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
108 Remove unused --upc-pthreads-per-process compile switch.
109 * c-family/c.opt: Remove --upc-pthreads-per-process switch
110 that compiler/runtime do not use.
111 * c-family/c-opts.c (c_common_handle_option): Remove support for
112 --upc-pthreads-per-process switch.
113 * c-family/c-common.c: Ditto.
114 * c-family/c-common.h: Ditto.
116 2012-10-27 Gary Funck <gary@intrepid.com>
118 * defaults.h: fix typos and formatting in UPC-related entries.
120 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
122 Place shared initialization code into the .text
123 section instead of a separate .upc_init section.
124 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
125 (UPC_INIT_BEGIN_NAME): Delete.
126 (UPC_INIT_END_NAME): Delete.
127 * doc/tm.texi.in: Ditto.
128 * doc/tm.texi: Ditto.
130 2012-10-22 Gary Funck <gary@intrepid.com>
132 Merge trunk version 192673 into gupc branch.
134 2012-10-15 Gary Funck <gary@intrepid.com>
136 Merge trunk version 192449 into gupc branch.
138 2012-10-08 Gary Funck <gary@intrepid.com>
140 Merge trunk version 192198 into gupc branch.
142 2012-10-01 Gary Funck <gary@intrepid.com>
144 Merge trunk version 191931 into gupc branch.
146 2012-09-26 Gary Funck <gary@intrepid.com>
148 Implement support for various UPC version 1.3 specification
149 additions and changes. Deprecate support for upc_local_alloc.
150 Add support for upc_tick (wall-clock timer) library.
151 Add support for collective de-allocation functions:
152 upc_all_free and upc_all_lock_free.
153 Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
154 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
156 2012-09-24 Gary Funck <gary@intrepid.com>
158 Merge trunk version 191658 into gupc branch.
160 2012-09-17 Gary Funck <gary@intrepid.com>
162 Merge trunk version 191376 into gupc branch.
164 2012-09-10 Gary Funck <gary@intrepid.com>
166 Merge trunk version 191141 into gupc branch.
168 2012-08-27 Gary Funck <gary@intrepid.com>
170 Merge trunk version 190707 into gupc branch.
171 * tree.h (struct tree_base): Adjust various
172 UPC tree and type flags to refer to the
173 newly introduced u.bits field.
175 2012-08-20 Gary Funck <gary@intrepid.com>
177 Merge trunk version 190524 into gupc branch.
178 Incorporates a fix in genoutput.c (to properly use
179 CONST_CAST) that led to build failures with
180 older versions of g++.
182 2012-08-16 Gary Funck <gary@intrepid.com>
184 Merge trunk version 190437 into gupc branch.
185 Incorporates a fix for a build failure on the PPC
186 due to passing incorrect switches to the assembler.
187 Also, first merged trunk revision that compiles GCC
188 with the C++ compiler in the first stage.
190 2012-08-13 Gary Funck <gary@intrepid.com>
192 Merge trunk version 190336 into gupc branch.
194 2012-08-09 Gary Funck <gary@intrepid.com>
196 * c-family/c-common.c (c_fully_fold_internal): Do not fold
197 offsetof-like expressions when they are applied to UPC
200 2012-08-06 Gary Funck <gary@intrepid.com>
202 Merge trunk version 190173 into gupc branch.
204 2012-08-01 Gary Funck <gary@intrepid.com>
206 Merge trunk version 190063 into gupc branch.
207 Incorporates fix for build failure on IA64.
209 2012-07-30 Gary Funck <gary@intrepid.com>
211 Merge trunk version 189954 into gupc branch.
213 2012-07-27 Gary Funck <gary@intrepid.com>
215 Merge trunk version 189856 into gupc branch.
216 Incorporates fix for bootstrap with a sub-set of language
217 specific source directories present.
218 * optabs.c: Revert to trunk. Rather than defining opcodes
219 as a way of defining get/put runtime library function names,
220 generate them directly in gcc/upc/upc-genericize.c.
222 * genopinit.c: Ditto.
224 2012-07-23 Gary Funck <gary@intrepid.com>
226 Merge trunk version 189777 into gupc branch.
228 2012-07-16 Gary Funck <gary@intrepid.com>
230 Merge trunk version 189545 into gupc branch.
232 2012-07-12 Gary Funck <gary@intrepid.com>
234 Merge trunk version 189366 into gupc branch.
236 2012-07-05 Gary Funck <gary@intrepid.com>
238 Merge trunk version 189274 into gupc branch.
239 Incorporates graphite build infrastructure changes.
241 2012-07-04 Gary Funck <gary@intrepid.com>
243 Merge trunk version 189080 into gupc branch.
244 * Makefile.in: Adjust for move of C front-end files.
245 * c/Make-lang.in: Ditto.
247 2012-07-03 Gary Funck <gary@intrepid.com>
249 Merge trunk version 189078 into gupc branch.
251 2012-06-25 Gary Funck <gary@intrepid.com>
253 Merge trunk version 188931 into gupc branch.
255 2012-06-18 Gary Funck <gary@intrepid.com>
257 Merge trunk version 188721 into gupc branch.
259 2012-06-11 Gary Funck <gary@intrepid.com>
261 Merge trunk version 188380 into gupc branch.
263 2012-06-04 Gary Funck <gary@intrepid.com>
265 Merge trunk version 188168 into gupc branch.
267 2012-05-29 Gary Funck <gary@intrepid.com>
269 Merge trunk version 187927 into gupc branch.
271 2012-05-18 Gary Funck <gary@intrepid.com>
273 Merge trunk version 187666 into gupc branch.
274 Incorporates fix for ICE in tree vectorization pass
275 when processing strided loads.
277 2012-05-17 Gary Funck <gary@intrepid.com>
279 Merge trunk version 187578 into gupc branch.
281 2012-05-09 Gary Funck <gary@intrepid.com>
283 Merge trunk version 187347 into gupc branch.
284 Incorporates fix for segfault in tree vectorization pass.
286 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
288 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
289 Appropriate libraries and include files are added on the
290 command line to make it possible to compile with the driver
293 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
295 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
296 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
297 a function returns a pointer-to-shared in memory instead
299 (rs6000_pass_by_reference): Ditto.
301 2012-04-28 Gary Funck <gary@intrepid.com>
303 * c-decl.c (grokdeclarator): Set 'type' to error node
304 after detecting "shared auto variable" error to avoid
305 downstream complications.
306 * upc-act.c: Fix a couple of spelling errors in comments.
308 2012-04-26 Gary Funck <gary@intrepid.com>
310 * c-family/c-pragma.c (handle_pragma_upc):
311 Fix typo in warning message.
313 2012-04-17 Gary Funck <gary@intrepid.com>
315 Merge trunk version 186486 into gupc branch.
317 2012-04-17 Gary Funck <gary@intrepid.com>
319 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
320 value of the pupc mode. Fixes a compile-time warning.
321 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
322 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
323 Improve source formatting.
325 2012-04-09 Gary Funck <gary@intrepid.com>
327 Merge trunk version 186243 into gupc branch.
328 Incorporates a powerpc 'ffi' fix.
330 2012-03-16 Gary Funck <gary@intrepid.com>
332 Merge trunk version 185454 into gupc branch.
333 Incorporates a libgcc fix for builds on Darwin.
335 2012-03-13 Gary Funck <gary@intrepid.com>
337 Merge trunk version 185278 into gupc branch.
338 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
339 call build_pointer_type() to apply UPC-specific qualifiers.
340 * top-level/configure.ac: factor the checking for posix hostst
341 out of the libgomp section so that it can also be used by libgupc.
342 * top-level/configure: Re-generate.
343 * DEV-PHASE: bump to 4.8.0-1.
345 2012-03-12 Gary Funck <gary@intrepid.com>
347 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
348 the mode for a pointer for upc-pointer-to-shared types.
350 2012-03-04 Gary Funck <gary@intrepid.com>
352 Merge trunk version 184900 into gupc branch.
354 2012-02-17 Gary Funck <gary@intrepid.com>
356 Released GUPC 4.7.0.2 based on version 183992.
357 * DEV-PHASE: Bump release identifier to 4.7.0-3.
358 * DATESTAMP: Bump date stamp.
360 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
362 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
363 code generation (same as #pragma pupc off).
364 (set_pupc_mode): New. Set/restore profiling mode.
365 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
366 (set_pupc_mode): New. Prototype.
367 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
368 profiling code for shared variables initialization routines.
370 2012-01-31 Gary Funck <gary@intrepid.com>
372 Merge trunk version 183751 into gupc branch.
373 Incorporates fix for bootstrap failure on openSUSE 12.1.
375 2012-01-10 Gary Funck <gary@intrepid.com>
377 Merge trunk version 183072 into gupc branch.
378 Incorporates libcpp __BASE_FILE__ fix.
380 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
382 * top-level/Makefile.def (flags_to_pass): Added GUPC
383 defines. Fixes the make error when upc is not specified as one
384 of the languages to build.
385 * top-level/Makefile.in: Re-generate.
387 2011-11-22 Gary Funck <gary@intrepid.com>
389 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
390 * dwarf2out.c (gen_compile_unit_die): Check for
391 the "GNU UPC" language string in lieu of "GCC UPC".
392 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
394 2011-11-18 Gary Funck <gary@intrepid.com>
396 Merge trunk version 181552 into gupc branch.
397 Incorporates libgcc/libunwind fix for IA64.
399 2011-11-19 Gary Funck <gary@intrepid.com>
401 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
402 Add check for UPC when defining the language type value
403 in a traceback entry.
405 2011-11-18 Gary Funck <gary@intrepid.com>
407 Merge trunk version 181493 into gupc branch.
408 Incorporates final fix for PR target/49992.
410 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
412 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
413 change that converted relative include paths into absolute
414 ones, as it does not work with older version of make (3.80).
416 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
418 Apply patch for Darwin build - PR49992.
419 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
420 * gcc/configure.ac: Ditto.
421 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
422 * gcc/ada/gcc-interface/Makefile.in: Ditto.
423 * top-level/configure: Re-generate.
424 * gcc/configure: Re-genrate.
426 2011-10-26 Gary Funck <gary@intrepid.com>
428 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
429 "libupc" to "libgupc".
430 * top-level/configure.ac: Implement support for cross-builds, and
431 adjust for rename of libupc to libgupc.
432 * top-level/Makefile.tpl: Ditto.
433 * top-level/Makefile.def: Ditto.
434 * top-level/configure: Re-generate.
435 * top-level/Makefile.in: Re-generate.
436 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
437 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
438 * doc/tm.texi: Re-generate.
439 * tree-pretty-print.c (dump_block_node): Delete unused variable.
440 * gcc.c: Adjust for rename of libupc to libgupc.
441 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
442 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
443 Change "xupc" to "xgupc".
444 * configure.ac: Change "GCC UPC" to "GNU UPC".
445 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
446 so that they are absolute paths. This is needed because
447 the upc-crtstuff builds are in the libgupc library build
448 directories which are not at the same level as libgcc.
449 * config/darwin.h: Adjust for rename of libupc to libgupc.
451 2011-10-20 Gary Funck <gary@intrepid.com>
453 Merge trunk version 180276 into gupc branch.
454 Incorporates fix for PR bootstrap/50709.
456 2011-10-20 Gary Funck <gary@intrepid.com>
458 Merge trunk version 180246 into gupc branch.
460 2011-10-19 Gary Funck <gary@intrepid.com>
462 Merge trunk version 180233 into gupc branch.
463 Incorporates fix for PR debug/49310 (var tracking).
465 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
467 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
468 only four (O0 static/dynamic, O3 static/dynamic).
469 Detect -fupc-threads-0 as an option for dynamic threads
472 2011-10-10 Gary Funck <gary@intrepid.com>
474 * tree.c (check_qualified_type, check_aligned_type):
475 Call tree_int_cst_equal() to compare UPC blocking factors
476 if the corresponding tree pointers are not equal.
477 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
479 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
481 Add configuration checks for struct/packed builds so we can
482 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
483 * testsuite/lib/target-supports.exp
484 (check_effective_target_upc_struct_pts): New.
485 (check_effective_target_upc_packed_pts): New.
487 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
489 Add to FLAGS the flags needed to disable inlining of
490 UPC run-time access routines.
491 * testsuite/lib/target-supports.exp
492 (add_options_for_upc_library_calls): New.
494 2011-09-15 Gary Funck <gary@intrepid.com>
496 Fix ICE involving shared bit field accesses.
497 * tree.c (build3_stat): Propagate TEEE_SHARED()
498 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
500 2011-09-13 Gary Funck <gary@intrepid.com>
502 Merge trunk version 178795 into gupc branch.
503 Incorporates fix to PR bootstrap/50010 for x86-32.
505 2011-09-08 Gary Funck <gary@intrepid.com>
507 Merge trunk version 178557 into gupc branch.
509 2011-09-07 Gary Funck <gary@intrepid.com>
511 Ensure that UPC pointer-to-shared type alignment is
512 propagated to the final type. Revert to long-standing
513 alignment policy: twice the size of a "C" pointer.
514 * tree.c (build_pointer_type): Propagate the alignment
515 of the UPC pointer-to-shared representation type
516 into the newly built pointer type.
518 2011-08-30 Gary Funck <gary@intrepid.com>
520 * tree.h (check_qualified_type): Change 'const_tree'
521 argument types back to 'tree' to avoid complaints
522 of assignment drops qualifiers for invocations of the
523 newly implemented TYPE_BLOCK_FACTOR() macro, which
524 invokes hash functions with 'tree' pointer values that
525 are not const qualified.
526 * tree.c (check_qualified_type, check_aligned_type): Ditto.
527 * c-typeck.c (comptypes_internal): Ditto.
529 2011-08-29 Gary Funck <gary@intrepid.com>
531 Fixes for regressions noted running "make check"
533 * fold-const.c (fold_unary_loc): Execute UPC-specific
534 checks for a cast-of-a-cast, only if one of the
535 operands is a UPC pointer-to-shared value.
536 * opts.c (print_specific_help): Fix a comparison
537 in an assert that checks that there are enough
538 bits reserved for the number of languages defined
541 2011-08-29 Gary Funck <gary@intrepid.com>
543 Implement a hash table to record UPC block factors.
544 * c-family/stub-upc.c (upc_block_factor_insert,
545 upc_block_factor_lookup): New dummy stub procedures.
546 * c-family/c-common.c (c_sizeof_or_alignof_type):
547 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
548 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
549 to copy (hashed) UPC blocking factor.
550 (set_type_quals): Likewise.
551 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
552 TYPE_HAS_THREADS_FACTOR().
553 (type_common.block_factor): Delete.
554 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
555 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
556 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
557 UPC blocking factors greater than one.
558 * dwarf2out.c (modified_type_die): Re-implement
559 logic that records UPC blocking factor in the generated
560 DWARF2 debugging information.
561 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
562 TYPE_HAS_THREADS_FACTOR().
563 * c-decl.c (finish_decl, grokdeclarator):
564 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
565 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
566 used by UPC, and print UPC-specific information.
568 2011-08-28 Gary Funck <gary@intrepid.com>
570 Re-work the type machinery to fully support and to unify support
571 for the UPC layout qualifier (blocking factor).
572 * c-family/stub-upc.c (upc_set_block_factor): Delete.
573 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
574 and update prototype.
575 * c-family/c-common.c (complete_array_type): call newly
576 defined c_build_qualified_type_1() instead of
577 upc_set_block_factor().
578 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
579 upc_apply_layout_qualifier() and update prototype.
580 (upc_set_block_factor): Delete prototype.
581 * c-family/c-common.h (c_build_qualified_type): redefine
582 as a pre-processor macro that invokes c_build_qualified_type_1()
583 with a null UPC layout qualifier.
584 (c_build_qualified_type_1): New. Add layout qualifier argument
585 to old c_build_qualified_type() prototype.
586 * tree.c (set_type_quals, check_qualified_type):
587 Add layout qualifier as argument.
588 (check_aligned_type): Add check for UPC block factor equality.
589 (get_qualified_type_1): Rename from get_qualified_type() and
590 add layout qualifier as argument.
591 (build_qualified_type_1): Rename from build_qualified_type() and
592 add layout qualifier as argument.
593 * tree.h (check_qualified_type): Add layout qualifier as argument
595 (get_qualified_type): Re-define as a as a pre-processor macro
596 that invokes get_qualified_type_1() with a null
597 UPC layout qualifier.
598 (get_qualified_type_1): Rename from get_qualified_type() and
599 add layout qualifier as argument.
600 * cp/tree.c (c_build_qualified_type_1): Rename from
601 c_build_qualified_type() and add (unused) layout qualifier
603 * c-decl.c (finish_decl): re-format long error messages.
604 (grokdeclarator): Re-work the logic so that it calls
605 upc_grok_layout_qualifier() to handle the UPC layout
606 qualifier, if present.
607 * c-typeck.c (qualify_type, common_pointer_type,
608 build_component_ref): Re-work the logic so that it calls
609 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
611 (c_build_qualified_type_1): Rename from c_build_qualified_type()
612 and add layout qualifier argument.
613 * print_tree.c (print_node): Re-format a long line.
615 2011-08-26 Gary Funck <gary@intrepid.com>
617 Merge trunk version 177949 into gupc branch.
618 * c-family/c-common.h (enum rid): Bump the number of type modifiers
620 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
621 to add new rliterals column value.
623 2011-08-26 Gary Funck <gary@intrepid.com>
625 * convert.c (convert_to_integer): Fix the check for the
626 difference between two UPC pointers-to-shared values.
628 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
630 * configure.ac: Fix the name for --with-upc-pts-packed-bits
631 option. Support --with-upc-packed-bits as deprecated. Fix the code to
632 correctly check packed bits.
633 * configure: Re-generate.
635 2011-08-16 Gary Funck <gary@intrepid.com>
637 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
638 the barrier id expression is not an integer expression.
640 2011-08-12 Gary Funck <gary@intrepid.com>
642 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
644 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
645 Set mode of UPC pointer-to-shared rep. to an
646 integral mode of size at least as large as the
647 size of the representation's struct type.
649 2011-08-12 Gary Funck <gary@intrepid.com>
651 Rework/simplify the UPC genericize pass.
652 * c-family/stub-upc.c (upc_apply_layout_qualifier,
653 upc_build_pointer_type): New.
654 (upc_set_block_factor): Adjust to new calling sequence.
655 (upc_build_shared_var_addr): Delete.
656 * c-family/c-common.c (complete_array_type): Adjust call
657 to upc_set_block_factor().
658 * c-family/c-upc.h (upc_apply_layout_qualifier,
659 upc_build_pointer_type): New.
660 (upc_build_shared_var_addr): Delete.
661 (upc_set_block_factor): Adjust to new calling sequence.
662 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
663 * c-decl.c (grokdeclarator): Call newly defined
664 upc_apply_layout_qualifier() instead of upc_set_block_factor().
665 * c-decl.c (grokdeclarator): Split long UPC-related error
666 messages into two lines.
667 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
668 directly. Revert that change to trunk. (upc_genericize() will
669 handle lowering the expressions that take the address of a
671 * config/i386/i386.c (ix86_promote_function_mode): For UPC
672 pointers-to-shared, return the type mode of the UPC pointer-to-shared
675 2011-08-10 Gary Funck <gary@intrepid.com>
677 Implement additional fixes for recent merge with trunk.
678 * explow.c (promote_mode): Do not attempt to promote
679 the mode for UPC pointer-to-shared types.
680 * config/i386/i386.c (function_value_64): Ditto.
682 2011-08-07 Gary Funck <gary@intrepid.com>
684 Merge trunk version 177548 into gupc branch.
685 * config/i386/i386.c (ix86_promote_function_mode):
686 Do not promote UPC pointers-to-shared to Pmode.
687 * c-family/c-ommon.c (pointer_int_sum):
688 Also check the pointer operand, rather than just
689 its type, when making the decision to derive
690 the equivalent unshared type.
691 * tree.c (build2_stat): If the type of the result
692 passed in as an argument is a UPC shared type,
693 derive the unshared equivalent when calculating
694 the result type of the node.
696 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
698 * config/darwin.c: Disable var_tracking option
699 on -O0 as it is supposed to run only when optimization
700 is applied. See GCC bug 49743.
702 2011-07-06 Gary Funck <gary@intrepid.com>
704 Re-implement the pass that lowers trees generated by
705 the UPC front-end into GENERIC. Previously this was
706 done within the gimplification framework, but this
707 required that gimplification be run before inlining
708 and various other passes, which did not fit in well
709 with the current design of the middle-end passes.
710 Now, the lowering is done by a newly defined language
711 specific genericize hook. With this change, we are
712 are able to undo some extensions made to the gimplify
713 logic, and thus can revert several files to trunk.
715 * c-decl.c: Add a check for UPC deprecated names which
716 may appear as undefined function names.
717 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
718 LTI_upc_getaddr): Remove definitions of unused UPC
719 library function names. These were defined back when
720 the libfunc interface was used to call these routines.
721 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
722 in UPC lowering (genericize) pass.
723 * langhooks.h (gimplify_expr): Revert to trunk's definition.
724 (instrument_func): Delete this hook. Now handled in
726 * tree-pass.h: Revert to trunk.
727 * c-typeck.c (build_unary_op): Adjust reference to
728 upc_genericize() in a comment.
729 * gimplify.c (create_tmp_var_raw): Delete logic that
730 was converting UPC shared types into unshared types
731 to be used for temporaries. Now handled in upc_genericize().
732 Replace with an assertion check.
733 (prepare_gimple_addressable): Revert to trunk's definition.
734 No longer needed as an externally called function.
735 (flag_instrument_functions_exclude_p): Re-define as
736 an externally called function.
737 (gimplify_function_tree): Delete code that implemented
738 call to UPC's language specific function instrumentation hook.
739 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
740 (prepare_gimple_addressable): Delete extern definition;
741 revert to trunk's definition.
742 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
743 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
744 * c-family/c-gimplify.c: Revert to trunk.
745 * cp/cp-gimplify.c: Revert to trunk.
746 * cp/cp-tree.h: Revert to trunk.
747 * explow.c: Revert to trunk.
748 * langhooks.c: Revert to trunk.
749 * libfuncs.h: Revert to trunk.
750 * objc/objc-act.c: Revert to trunk.
752 2011-06-30 Gary Funck <gary@intrepid.com>
754 * c-family/c.opt: Bring options definitions up-to-date
755 with respect to changes made in the trunk.
757 2011-06-29 Gary Funck <gary@intrepid.com>
759 Merge trunk version 175584 into gupc branch.
761 2011-06-13 Gary Funck <gary@intrepid.com>
764 * include/cpplib.h (enum c_lang):
765 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
766 This keeps all the "C" variants together.
767 * init.c (lang_defaults): Add an entry for UPC.
769 2011-06-09 Gary Funck <gary@intrepid.com>
771 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
772 a 32-bit target, the size expression overflowed, the result was
773 error_mark_node, and an ICE was triggered on an attempt to evaluate
774 C_TYPE_VARIABLE_SIZE() on the error node.
775 (upc_blocksizeof_expr, upc_blocksizeof_type,
776 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
777 Make similar changes to avoid further processing of error_mark_node.
779 2011-06-07 Gary Funck <gary@intrepid.com>
781 * sel-sched.c (move_op): Incorporate the following
782 patch to eliminate ICE at -O3 on IA64/Altix.
784 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
786 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
787 code_motion_path_driver returned 0 or 1.
788 (sel_region_finish): Clear h_d_i_d.
790 2011-06-02 Gary Funck <gary@intrepid.com>
792 Merge trunk version 174558 into gupc branch.
794 2011-05-30 Gary Funck <gary@intrepid.com>
796 * configure.ac: Make the default order of the virtual
797 address field in a UPC pointer-to-shared to be "first".
798 This reverts to the previous setting, and is a short term
799 measure to work around a bug found on the IA64,
800 where vaddr=last led to incorrect code generation.
801 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
802 in AC_DEFINE(), to agree with recent changes in files
803 that reference this define.
804 configure, config.in: Regenerate.
806 2011-05-26 Gary Funck <gary@intrepid.com>
808 * configure.ac: Fix typo when referring to $upc_vaddr_order.
809 configure: Regenerate.
811 * ../fixincludes/fixincl.x: Revert to trunk.
812 This file is auto-generated, and should not be merged.
814 2011-05-18 Gary Funck <gary@intrepid.com>
816 Merge trunk version 173845 into gupc branch.
818 2011-05-17 Gary Funck <gary@intrepid.com>
820 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
821 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
823 * c-family/c-pragma.c: Remove conditional compilation
824 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
825 Test 'compiling_upc' when compiling to determine if
826 the "upc" and "pupc" pragmas should be registered.
828 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
829 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
830 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
831 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
832 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
833 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
834 Move these target-dependent definitions from config/upc-conf.h
837 * configure.ac: Improve the logic for UPC-related options.
838 Delete references to pre-processor definitions that have
839 been moved to "upc/upc-pts.h".
841 * configure, config.in: Regenerate.
843 * Makefile.in (UPC_PTS_REP): Remove definition and revert
844 to trunk. This substitution variable was used to
845 configure the representation-specific versions of
846 the tree rewrites that operate on UPC pointer-to-shared
849 * c-parser.c (c_parser_upc_forall_statement): Remove
850 reference to UPC_FORALL_DEPTH_NAME, and call
851 newly defined upc_rts_forall_depth_var() instead.
853 * config/upc-config.h: Delete. Various definitions
854 moved to "upc/upc-rts-names.h", "defaults.h", and
857 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
858 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
859 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
860 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
861 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
862 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
863 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
864 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
865 New. Document UPC target macros.
866 doc/tm.texi: Regenerate.
868 2011-05-07 Gary Funck <gary@intrepid.com>
870 * ../configure.ac: Disable build of libupc
871 on non POSIX hosted systems. Use AS_HELP_STRING
872 to define messages. Remove 'word-pair' as a
873 possible --with-upc-pts UPC pointer-to-shared
876 * ../configure: Regenerate.
878 * configure.ac: Use AS_HELP_STRING to define messages.
879 Remove 'word-pair' as a possible --with-upc-pts
880 UPC pointer-to-shared representation.
881 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
882 (UPC_MAX_BLOCK_SIZE): Correct the default value.
884 * configure: Regenerate.
886 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
889 * ChangeLog.upc: Fix some typos.
891 2011-05-07 Gary Funck <gary@intrepid.com>
893 * ../maintainer-scripts/gcc_release: Add "upc"
894 as one of the released languages.
896 2011-05-06 Gary Funck <gary@intrepid.com>
898 Eliminate compilation warnings, by fixing
899 #include's and updating function prototypes.
901 * c-family/c-cppbuiltin.c: Include c-upc.h.
903 * optabs.c (gen_libfunc): Change type of 'suffix'
904 parameter to conform with prototype.
906 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
907 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
910 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
913 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
914 argument values to cp_gimplify_expr.
916 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
917 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
918 pre-processor definitions that are no longer
919 needed to build the 'upc' command (upc-cmd.c)
920 because the linker specs. defined in libupc
921 take care of linking in the needed libraries.
923 * c-parser.c (c_parser_upc_forall_statement):
924 initialize affinity_loc to avoid "maybe unused" warning.
925 (c_parser_upc_sync_statement): Remove un-needed
926 'ret' variable. Cast return value from
927 'upc_build_sync_stmt' to 'void' to avoid
928 compile-time warning.
930 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
931 integer constant, not a string. Range is restricted
932 to maximum positive 32-bit integer (2+ billion) to
933 fit in with the use of 'int' in the front-end's
934 switch handling logic.
936 2011-05-06 Gary Funck <gary@intrepid.com>
938 Upgrade c-family source files to conform with modularity
939 improvements. Mainly, remove #include of c-tree.h in files
940 under c-family, and define a new UPC-specific #include file,
943 * c-family/stub-upc.c: Remove #include of c-tree.h and
944 upc/upc-act.h. Replace with #include of c-common.h
946 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
947 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
948 upc_localsizeof_expr, upc_localsizeof_type,
949 upc_shared_type_p): Delete.
951 * c-family/c-opts.c: Add #include of c-upc.h
953 * c-family/c-common.c: Remove #include of c-tree.h and
954 add #include of c-upc.h.
956 * c-family/c-upc.h: New. Define API for UPC-specific functions
957 (mostly implemented in upc/upc-act.c).
959 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
960 Remove extern definitions.
962 * c-family/c-pragma.c: Remove #include of c-tree.h.
963 Add #include of c-upc.h.
965 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
967 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
968 upc/upc-act.c, and define as a macro.
969 (expand_affinity_test): Remove unused external definition.
970 (build_upc_unshared_type): Add external definition.
971 (upc_shared_type_p): Remove external definition.
973 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
975 * dojump.c: Remove #include of c-tree.h.
977 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
979 (count_upc_threads_refs, is_multiple_of_upc_threads,
980 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
981 upc_build_shared_var_addr, upc_build_sync_stmt,
982 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
983 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
984 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
985 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
986 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
987 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
988 set_upc_consistency_mode, get_upc_consistency_mode,
989 push_upc_consistency_mode, pop_upc_consistency_mode,
991 Move external definitions to c-family/c-upc.h.
992 (upc_blocksizeof_type, upc_localsizeof_type,
993 upc_elemsizeof_type): Remove external definitions;
994 these functions were moved to c-parser.c.
996 * c-decl.c: Add #include of c-upc.h.
998 * c-typeck.c: Add #include of c-upc.h.
1000 * c-convert.c: Add #include of c-upc.h.
1002 * ChangeLog.upc: Fix typo.
1004 * Makefile.in: Add references to c-family/c-upc.h, everywhere
1005 there is a reference to c-family/c-objc.h.
1006 Remove extraneous reference to upc-act.h.
1008 * c-parser.c: Add #include of c-upc.h.
1009 (upc_blocksizeof_expr, upc_blocksizeof_type,
1010 upc_elemsizeof_expr, upc_elemsizeof_type,
1011 upc_localsizeof_expr, upc_localsizeof_type):
1012 Move from upc/upc-act.c.
1014 * tree.c (build_upc_unshared_type): New.
1015 Move upc_get_unshared_type from upc/upc-act.c and rename
1016 to build_upc_unshared_type.
1017 c-family/c-common.c (pointer_int_sum): refer to renamed
1018 build_upc_unshared_type function.
1019 c-convert.c (convert): Ditto.
1020 convert.c (convert_to_pointer): Ditto.
1021 c-typeck.c (build_unary_op, build_modify_expr,
1022 really_start_incremental_init): Ditto.
1023 gimplify.c (create_tmp_var_raw): Ditto.
1024 tree.c (build1_stat): Ditto.
1025 tree.h (upc_get_unshared_type): Rename to
1026 build_upc_unshared_type.
1028 2011-05-06 Gary Funck <gary@intrepid.com>
1030 Merge trunk version 173471 into gupc branch.
1032 2011-05-05 Gary Funck <gary@intrepid.com>
1034 Make changes that bring the GUPC branch more closely in sync.
1035 with the GCC trunk. Revert any fixes that are not UPC-specific.
1036 Remove gratuitous re-formatting.
1038 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1039 This file should have been removed in a previous merge
1041 * ../configure.ac: Remove Cray Catamount/CNL support.
1042 * ../configure: Regenerate.
1043 * ../config.sub: Remove Cray Catamount/CNL support.
1044 * config.gcc: Remove Cray Catamount/CNL support.
1045 * ../maintainer-scripts/gcc_release: Revert to trunk.
1046 * c-family/c-common.h: Define parse_optimize_options. Its definition
1047 was missed in a previous merge with the trunk.
1048 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1050 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1051 in addition to ARRAY_TYPE.
1052 * c-typeck.c: Remove an extra newline character.
1053 * varasm.c: Revert a fix that improved an error message
1054 when TLS common data is unimplemented.
1055 * varasm.c: Revert a gcc_assert that had been added which
1056 checked for a null DECL_SIZE_UNIT field.
1057 * emultls.c: Revert to trunk. Remove possible fix.
1058 * Makefile.in: Revert extra blank line that is present
1059 in the trunk version.
1060 * Makefile.in: Revert a fix that handled long shell
1061 argument lists for plugin headers.
1062 * config/ia64/ia64.opt: Revert an option setting
1063 that increased the default TLS address range.
1064 * config/ia64/crtbegin.asm: Revert to trunk.
1065 Removes an extra newline character.
1066 * ChangeLog.upc: Spell check.
1068 2011-05-03 Gary Funck <gary@intrepid.com>
1070 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1071 (c_apply_type_quals_to_decl): Ditto.
1072 * c-family/c-common.h: Ditto.
1074 * c-decl.c (merge_decls): Ditto.
1075 * c-typeck.c (qualify_type, default_conversion,
1076 build_component_ref, build_unary_op,
1077 c_build_qualified_type): Ditto.
1078 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1080 2011-04-29 Gary Funck <gary@intrepid.com>
1082 * c-decl.c (finish_decl): Improve error diagnostics.
1083 (grokdeclarator): Ditto.
1085 * c-typeck.c (build_c_cast): Improve error diagnostics.
1086 (convert_for_assignment): Ditto.
1087 (build_binary_op): Ditto.
1089 * c-parser.c (c_parser_upc_forall_statement):
1090 Improve error diagnostics.
1092 * convert.c (convert_to_integer): Improve error diagnostics.
1094 2011-04-24 Gary Funck <gary@intrepid.com>
1096 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1097 occurred if there is an error in the barrier id
1098 expression. Map error_mark_node into NULL.
1100 2011-04-22 Gary Funck <gary@intrepid.com>
1102 Merge trunk version 172873 into gupc branch.
1104 2011-04-19 Gary Funck <gary@intrepid.com>
1106 Merge trunk version 172359 into gupc branch.
1108 2011-04-14 Gary Funck <gary@intrepid.com>
1110 * c-family/c.opt: Add UPC as a valid language for various
1111 switches where it is valid for "C", that were not updated
1112 in previous merges with trunk.
1114 2011-04-13 Gary Funck <gary@intrepid.com>
1116 * c-family/c.opt (fupc-pre-include): New option definition.
1117 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1118 -fno-upc-pre-include is asserted.
1120 2011-04-07 Gary Funck <gary@intrepid.com>
1122 Merge trunk version 172158 into gupc branch.
1123 to bring in the following fix.
1125 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1128 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1129 if old and new states differ.
1131 2011-04-06 Gary Funck <gary@intrepid.com>
1133 Merge trunk version 171966 into gupc branch.
1135 2011-04-01 Gary Funck <gary@intrepid.com>
1137 * tree.h (tree_base): Move UPC flag bits into bit fields
1138 located just before spare bits. Decrement spare bits.
1139 Rename 'shared_flag' -> 'upc_shared_flag',
1140 'relaxed_flag' -> 'upc_relaxed_flag',
1141 'strict_flag' -> 'upc_strict_flag, and adjust macros
1142 that reference them accordingly.
1144 2011-04-01 Gary Funck <gary@intrepid.com>
1146 * c-decl.c (grokdeclarator): Fix formatting of
1147 code that sets UPC block size on scalars.
1149 2011-04-01 Gary Funck <gary@intrepid.com>
1151 * c-decl.c (grokdeclarator): Revert use of white space
1152 to match the trunk (to rationalize diffs).
1153 * c-typeck.c (convert_for_assignment): Ditto.
1154 * tree-ssa.c (useless_type_conversion_p): Ditto.
1156 2011-03-23 Gary Funck <gary@intrepid.com>
1158 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1159 the GCC 4.6 release branch.
1161 2011-03-21 Gary Funck <gary@intrepid.com>
1163 Merge trunk version 171202 into gupc branch.
1165 2011-03-20 Gary Funck <gary@intrepid.com>
1167 * varasm.c: Call error() directly with a format specifier,
1168 rather than using sprintf() to format the message.
1169 This should make it easier to internationalize UPC's error messages.
1171 2011-03-20 Gary Funck <gary@intrepid.com>
1173 * configure.ac: Fix the check for gnu ld when enabling
1174 UPC link script support.
1175 configure: Regenerate (also picks up changes from previous
1178 2011-03-20 Gary Funck <gary@intrepid.com>
1180 Move UPC start files, end files, and linker specs.
1181 into libupc. This reduces the impact on common GCC
1182 configuration files, and ensures that these UPC-specific
1183 components are only built when the UPC language dialect is selected.
1187 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1188 linker specs. Fix typo in -fupc-debug message.
1190 * config/upc-conf.h, config/darwin.h: Move defines for
1191 UPC-related section begins/ends into libupc/config/default/
1194 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1195 UPC-related linker compiler specifications,
1196 accessed via %:include().
1198 * configure.ac, configure: Remove logic related to building
1199 upc-crtbegin/end. Remove config. tests for numa and cpu
1200 affinity (previously used by the 'upc' driver); these
1201 settings are now propagated by target-specific compiler
1202 specs. built by libupc. Regenerate autoconf.
1204 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1205 linker compiler specifications, accessed via %:include().
1206 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1209 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1211 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1212 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1213 config/ia64/linux.h, config/mips/t-iris,
1214 config/mips/iris6.h: Revert to trunk version 167307.
1217 * configure, configure.ac, config.host, Makefile.in:
1218 Revert to trunk version 167307.
1220 2011-02-23 Gary Funck <gary@intrepid.com>
1222 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1223 removed negation on following 'if'.
1225 2011-02-22 Gary Funck <gary@intrepid.com>
1227 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1228 to check for the usage of certain deprecated UPC keywords.
1229 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1230 * c-tree.h (undeclared_variable): Define prototype.
1232 2011-02-12 Gary Funck <gary@intrepid.com>
1234 * c-typeck.c: (build_c_cast, convert_for_assignment)
1235 Diagnose an attempt to convert from an integer to
1236 a pointer-to-shared as an error. Also, fix various
1237 error messages so that they use the preferred term
1238 pointer-to-shared instead of "shared pointer".
1240 2011-02-07 Gary Funck <gary@intrepid.com>
1242 * c-typeck.c: (convert_for_assignment)
1243 Fix typo. in error message.
1245 2011-01-23 Gary Funck <gary@intrepid.com>
1247 * c-typeck.c: (c_build_qualified_type)
1248 derive UPC block size by calling upc_get_block_size(),
1249 to ensure that the element type of an array of an array
1250 is derived correctly.
1252 2010-12-29 Gary Funck <gary@intrepid.com>
1254 Merge trunk version 168314 into gupc branch.
1256 2010-12-15 Gary Funck <gary@intrepid.com>
1258 Merge trunk version 167307 into gupc branch.
1260 2010-10-19 Gary Funck <gary@intrepid.com>
1262 * c-typeck.c: Fix typo in previous fix
1263 which led to a mis-compare for equal block sizes.
1265 2010-10-18 Gary Funck <gary@intrepid.com>
1267 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1268 diagnosed as an error
1270 The conversion from any type (shared or not) to
1271 a shared type is likely either meaningless or an error. This update
1272 makes any conversion to a shared type, an error.
1274 2010-10-18 Gary Funck <gary@intrepid.com>
1276 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1277 generates spurious warning
1279 Add a #define procedure that does the same thing as
1280 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1281 this procedure to diagnose passing an integer value to a
1282 pointer-to-shared as an error.
1284 2010-10-18 Gary Funck <gary@intrepid.com>
1286 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1287 matching routine declaration.
1289 When checking for type compatibility, shared qualified types must
1290 have the same block factor. This check was missing from
1291 comptypes_internal(). This update adds the check for blocking
1294 2010-10-17 Gary Funck <gary@intrepid.com>
1296 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1299 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1301 2010-10-17 Gary Funck <gary@intrepid.com>
1303 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1304 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1305 produces ice with -O3 and -m32.
1307 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1309 2010-10-17 Gary Funck <gary@intrepid.com>
1311 * c-common.c: Diagnose the application of the various "*sizeof"
1312 operations on generic pointer-to-shared as a compilation error.
1314 2010-10-17 Gary Funck <gary@intrepid.com>
1316 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1317 message regarding a function parameter being declared with a shared
1320 The parameter's 'name' value is not defined at this point, and
1321 cannot be used in the error message. This update removes the
1322 reference to 'name', and eliminates the segfault.
1324 2010-10-16 Gary Funck <gary@intrepid.com>
1326 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1328 The gcc/Makefile.in rules for install-plugin had to be re-written to
1329 break up a long list of header files that exceeded the command line
1330 limitation imposed by Irix.
1332 Access functions for TFmode types had to be implemented.
1333 Apparently, this is the mode used for the SGI/MIPS port to represent
1336 2010-10-14 Gary Funck <gary@intrepid.com>
1338 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1339 via typedef chain should not be diagnosed as an error.
1341 If the block size that is given by the typedef is equal to the block
1342 size given explicitly in the variable declaration, then do not
1343 complain. The easiest way to make this check was to create a
1344 temporary type that is a clone of the element type and then set its
1345 block size using the given layout qualifier. Then compare the block
1346 size of the temporary (the declaration) to the block size specified
1347 in the typedef. This complexity is needed, because the '[*]' block
1348 size needs to be calculated, and the '[]' needs to be mapped into a
1351 2010-10-10 Gary Funck <gary@intrepid.com>
1353 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1356 The compiler properly detected the presence of two or more layout
1357 qualifiers as an error, but then hit an assertion check, because the
1358 code that followed the error expected to see a qualifier and not a
1359 layout specifier. The fix is simple: just return immediately after
1360 detecting the error.
1362 2010-10-10 Gary Funck <gary@intrepid.com>
1364 * c-decl.c: Improve error diagnostics for various cases of UPC
1365 shared array type declarations.
1367 Add the check for this error: "In the dynamic translation
1368 environment, THREADS may not appear in declarations of shared arrays
1369 with indefinite block size". Also, fix up a few of the other
1370 related error diagnostics.
1372 2010-10-09 Gary Funck <gary@intrepid.com>
1374 * c-common.c: Fix bug: segfault on incomplete array definition.
1376 This turned out to be a bit complicated. The logic in
1377 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1378 the THREADS identifier in the case where the blocking factor has
1379 been set to indefinite ([]). This can happen when indefinite array
1380 declarations are processed for shared arrays. At that time, the
1381 file scope has been closed and THREADS is no longer in scope. Some
1382 more work is needed on upc_lang_layout_decl(). It has some
1383 duplication, and notably duplicates the two branches of the if
1384 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1385 caller of this routine (layout_decl()).
1387 The method of forcing a layout qualifier of [] in the indefinite
1388 declaration handler is odd a well. The code that just does the
1389 setting of the block factor, needs to moved into its own routine
1390 that doesn't depend upon a declspec for '[]' to be passed in, just
1391 in order to set the blocking factor to some value (in this case, 0).
1392 Also, the logic for how that shared type is constructed is strange.
1393 First the type with 0 blocking factor is set. Then the shared
1394 qualifier is removed from the type, and then added back later. The
1395 intermediate type has a blocking factor set, but it has no shared
1396 qualifier. Fixing this will require some thought. It is tempting
1397 just to make indefinite shared arrays an error, rather than forcing
1398 the dimension to be '1'.
1400 This likely fixes a serious error in the previous update to
1401 upc_lang_layout_decl(), where it didn't have the logic to set
1402 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1403 the previous update would fail on many tests.
1405 2010-10-09 Gary Funck <gary@intrepid.com>
1407 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1408 (decl) is null, which can happen if some layout error occurred
1411 2010-10-09 Gary Funck <gary@intrepid.com>
1413 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1414 "variable-sized" when compiled in dynamic threads.
1416 This long-standing bug is easily fixed. Just check
1417 for the situation that the non-constant sized type is shared and
1418 that it does not have a dimension that references a multiple of
1419 threads. If this criteria is met, then issue a meaningful
1422 2010-10-01 Gary Funck <gary@intrepid.com>
1424 * configure, configure.ac: Update manual page, and bug reporting
1427 Update "man" page to reflect debugging switches. Also, some general
1428 clean up. Change the bug reporting URL to point to gccupc.org.
1430 2010-09-27 Gary Funck <gary@intrepid.com>
1432 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1433 the UPC forall depth count variable is not found.
1435 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1436 The compiler will generate code that references this variable in
1437 order to implement nested upc_forall semantics. If there is a
1438 compiler build or install problem, this variable may not be found.
1439 In this case, terminate with an internal_error().
1441 2010-09-26 Gary Funck <gary@intrepid.com>
1443 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1444 mis-diagnosed as syntax error.
1446 Fix a failure exhibited by the Berkeley test case,
1447 bug873a.upc, which has the code:
1449 upc_forall (;;;d) {...} The compiler did not properly handle
1450 the empty "condition" clause, and did not recover well when it was
1451 determined that the use of a double value, "d" above, was neither a
1452 pointer-to-shared nor an integer expression. The update implements a
1453 fix for both issues.
1455 See also: gcc/c-parser.c gcc/upc/upc-act.c
1457 2010-09-23 Gary Funck <gary@intrepid.com>
1459 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1460 incorporated into the referencing type.
1462 This was semi-fixed a few times before. This update fixes a few
1463 more places where the layout qualifier wasn't being propagated
1464 through typedef's properly. What made this a bit tricky is shown in
1465 the example cited in the bug report:
1467 typedef shared [5] int A_t; A_t A[5*THREADS];
1469 In the typedef, the blocksize is being applied to a shared *scalar*,
1470 and the code was applying the blocksize only to arrays. This update
1471 handles shared scalars correctly.
1473 2010-09-22 Gary Funck <gary@intrepid.com>
1475 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1476 upc_forall() semantics are not implemented
1478 The checkforall test in the Berkeley harness test suite indicated
1479 that GCC/UPC was not properly implementing nested upc_forall
1480 semantics. Nested upc_forall statements (both statically or
1481 dynamically nested) must implement their affinity clause as if it
1482 were "continue"; thus all steps in the loop must execute without
1483 regard for affinity. To implement these semantics a global depth
1484 counter, __upc_forall_depth, is maintained by the generated code
1485 that implements upc_forall.
1487 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1488 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1489 libupc/include/upc.h libupc/smp/upc_main.c
1491 2010-09-19 Gary Funck <gary@intrepid.com>
1493 * c-decl.c: c-decl.c: zero out the layout specifier, after
1494 processing an array type.
1496 Fix the previous fix, that moved the setting of the type's layout
1497 qualifier to the outside of the array type processing loop. What is
1498 missing from the fix is that the layout_qualifier variable needs to
1499 be cleared after setting the type's blocksize.
1501 2010-09-19 Gary Funck <gary@intrepid.com>
1503 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1504 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1506 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1507 the actual maximum block size. Therefore, the message was correct,
1508 but the underlying value that was being checked was wrong. Change
1509 the values so that they agree with the actual implementation-defined
1512 2010-09-11 Gary Funck <gary@intrepid.com>
1514 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1515 multi-dimensional shared array with dynamic threads.
1517 This declaration caused an internal compiler error when compiled
1518 with dynamic threads:
1519 shared [*] int A[THREADS][16]; The bug was discovered when
1520 compiling the RTED_UPC test suite.
1522 The fix is to process layout qualifiers after the entire array type
1523 has been built. Otherwise, we try to calculate the blocksize on a
1524 shared array type that has not had its "size depends upon the value
1525 of THREADS" flag set.
1527 Also, added a test case.
1529 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1531 2010-07-11 Gary Funck <gary@intrepid.com>
1533 Fix a bug where a statement in c_build_qualified_type()
1534 in the trunk had been inadvertently deleted.
1535 This bug showed up in the IA64 port, because jmpbuf's
1536 on that architecture must be 16 byte aligned, and they were not.
1537 c-typeck.c (c_build_qualified_type): Revive the deleted line.
1539 2010-07-08 Gary Funck <gary@intrepid.com>
1541 Make changes so that other language compilers
1542 will build and bootstrap.
1543 * c-family/c-common.c (compiling_upc, flag_upc,
1544 flag_upc_instrument, flag_upc_instrument_functions,
1545 use_upc_dwarf2_extensions): Move to stub-upc.c and
1547 * c-family/c-common.h (use_upc_dwarf2_extensions,
1548 compiling_upc): Add extern definitions - needed
1549 to compile/build other language front ends.
1550 * c-family/c.opt: Fix the spelling of ObjC.
1551 It had been incorrectly spelled as Objc.
1552 * c-family/c.opt: Add UPC for the various switches
1553 that are valid for both C and ObjC.
1554 * c-fmaily/c-opts.c: Add CL_UPC to the list of
1555 supported options switches when compiling assembly
1557 * lto/lto-lang.c (use_upc_dwarf2_extensions,
1558 flag_upc_instrument, flag_upc_instrument_functions):
1559 Remove these definitions. They have been moved
1560 to c-family/stub-upc.c.
1561 * upc/ChangeLog: Move relevant entries
1563 * c-family/stub-upc.c (compiling_upc, flag_upc,
1564 flag_upc_instrument, flag_upc_instrument_functions,
1565 use_upc_dwarf2_extensions): Moved from c-common.c
1566 * upc/upc-lang.c (compiling_upc, flag_upc,
1567 flag_upc_instrument, flag_upc_instrument_functions,
1568 use_upc_dwarf2_extensions): Moved from c-common.c
1569 * objc/objc-act.c (objc_gimplify_expr): Add additional
1570 parameters to c_gimplify_expr() call, that are used
1571 by upc's tree rewrites.
1572 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1573 * gcc/cp/lex.c (init_reswords): If not compiling
1574 UPC, then mask off the UPC keywords.
1575 * cp/Make-lang.in (C_STUB_OBJS): Use this
1576 make macro to link with c-family/stub-objc.o
1577 and c-family/stub-upc.o.
1578 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1579 * java/Make-lang.in (C_STUB_OBJS): Likewise.
1580 * objc/Make-lang.in: Link with c-family/stub-upc.o
1581 to avoid undefined references.
1582 c-parser.c: Fix line indentation.
1583 * libcpp/include/cpplib.h: Remove CL_UPC from
1584 the list of language kinds accepted by the
1585 C preprocessor. This is not necessary because
1586 UPC is a derivative of C99, and does not need
1587 a different language kind.
1588 * c-fmaily/c-opts.c (c_common_handle_option):
1589 Call set_std_c99() when processing the
1590 "--lang upc" switch, instead of setting the
1591 language kind to CL_UPC.
1592 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1594 2010-07-03 Gary Funck <gary@intrepid.com>
1596 Merge trunk version 161517 into gupc branch.
1597 * gcc/stub-upc.c: Move to gcc/c-family/.
1598 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1599 Add 'unused' attributes to avoid "set, but
1600 not referenced" warnings.
1601 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1604 2010-03-01 Gary Funck <gary@intrepid.com>
1606 Create gupc branch from trunk version 157149.
1607 2011-10-04 Gary Funck <gary@intrepid.com>
1609 Merge trunk version 179421 into gupc branch.
1611 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1612 argument to the call to check_qualified_type().
1614 2011-09-22 Gary Funck <gary@intrepid.com>
1616 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1618 (dump_upc_type_quals): New.
1620 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1622 Add to FLAGS the flags needed to disable inlining of
1623 UPC run-time access routines.
1624 * testsuite/lib/target-supports.exp
1625 (add_options_for_upc_library_calls): New.
1627 2011-09-15 Gary Funck <gary@intrepid.com>
1629 Fix ICE involving shared bit field accesses.
1630 * tree.c (build3_stat): Propagate TEEE_SHARED()
1631 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1633 2011-09-13 Gary Funck <gary@intrepid.com>
1635 Merge trunk version 178795 into gupc branch.
1636 Incorporates fix to PR bootstrap/50010 for x86-32.
1638 2011-09-08 Gary Funck <gary@intrepid.com>
1640 Merge trunk version 178557 into gupc branch.
1642 2011-09-07 Gary Funck <gary@intrepid.com>
1644 Ensure that UPC pointer-to-shared type alignment is
1645 propagated to the final type. Revert to long-standing
1646 alignment policy: twice the size of a "C" pointer.
1647 * tree.c (build_pointer_type): Propagate the alignment
1648 of the UPC pointer-to-shared representation type
1649 into the newly built pointer type.
1651 2011-08-30 Gary Funck <gary@intrepid.com>
1653 * tree.h (check_qualified_type): Change 'const_tree'
1654 argument types back to 'tree' to avoid complaints
1655 of assignment drops qualifiers for invocations of the
1656 newly implemented TYPE_BLOCK_FACTOR() macro, which
1657 invokes hash functions with 'tree' pointer values that
1658 are not const qualified.
1659 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1660 * c-typeck.c (comptypes_internal): Ditto.
1662 2011-08-29 Gary Funck <gary@intrepid.com>
1664 Fixes for regressions noted running "make check"
1666 * fold-const.c (fold_unary_loc): Execute UPC-specific
1667 checks for a cast-of-a-cast, only if one of the
1668 operands is a UPC pointer-to-shared value.
1669 * opts.c (print_specific_help): Fix a comparison
1670 in an assert that checks that there are enough
1671 bits reserved for the number of languages defined
1674 2011-08-29 Gary Funck <gary@intrepid.com>
1676 Implement a hash table to record UPC block factors.
1677 * c-family/stub-upc.c (upc_block_factor_insert,
1678 upc_block_factor_lookup): New dummy stub procedures.
1679 * c-family/c-common.c (c_sizeof_or_alignof_type):
1680 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1681 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1682 to copy (hashed) UPC blocking factor.
1683 (set_type_quals): Likewise.
1684 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1685 TYPE_HAS_THREADS_FACTOR().
1686 (type_common.block_factor): Delete.
1687 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1688 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1689 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1690 UPC blocking factors greater than one.
1691 * dwarf2out.c (modified_type_die): Re-implement
1692 logic that records UPC blocking factor in the generated
1693 DWARF2 debugging information.
1694 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1695 TYPE_HAS_THREADS_FACTOR().
1696 * c-decl.c (finish_decl, grokdeclarator):
1697 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1698 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1699 used by UPC, and print UPC-specific information.
1701 2011-08-28 Gary Funck <gary@intrepid.com>
1703 Re-work the type machinery to fully support and to unify support
1704 for the UPC layout qualifier (blocking factor).
1705 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1706 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1707 and update prototype.
1708 * c-family/c-common.c (complete_array_type): call newly
1709 defined c_build_qualified_type_1() instead of
1710 upc_set_block_factor().
1711 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1712 upc_apply_layout_qualifier() and update prototype.
1713 (upc_set_block_factor): Delete prototype.
1714 * c-family/c-common.h (c_build_qualified_type): redefine
1715 as a pre-processor macro that invokes c_build_qualified_type_1()
1716 with a null UPC layout qualifier.
1717 (c_build_qualified_type_1): New. Add layout qualifier argument
1718 to old c_build_qualified_type() prototype.
1719 * tree.c (set_type_quals, check_qualified_type):
1720 Add layout qualifier as argument.
1721 (check_aligned_type): Add check for UPC block factor equality.
1722 (get_qualified_type_1): Rename from get_qualified_type() and
1723 add layout qualifier as argument.
1724 (build_qualified_type_1): Rename from build_qualified_type() and
1725 add layout qualifier as argument.
1726 * tree.h (check_qualified_type): Add layout qualifier as argument
1728 (get_qualified_type): Re-define as a as a pre-processor macro
1729 that invokes get_qualified_type_1() with a null
1730 UPC layout qualifier.
1731 (get_qualified_type_1): Rename from get_qualified_type() and
1732 add layout qualifier as argument.
1733 * cp/tree.c (c_build_qualified_type_1): Rename from
1734 c_build_qualified_type() and add (unused) layout qualifier
1736 * c-decl.c (finish_decl): re-format long error messages.
1737 (grokdeclarator): Re-work the logic so that it calls
1738 upc_grok_layout_qualifier() to handle the UPC layout
1739 qualifier, if present.
1740 * c-typeck.c (qualify_type, common_pointer_type,
1741 build_component_ref): Re-work the logic so that it calls
1742 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1744 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1745 and add layout qualifier argument.
1746 * print_tree.c (print_node): Re-format a long line.
1748 2011-08-26 Gary Funck <gary@intrepid.com>
1750 Merge trunk version 177949 into gupc branch.
1751 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1753 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1754 to add new rliterals column value.
1756 2011-08-26 Gary Funck <gary@intrepid.com>
1758 * convert.c (convert_to_integer): Fix the check for the
1759 difference between two UPC pointers-to-shared values.
1761 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1763 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1764 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1765 correctly check packed bits.
1766 * configure: Re-generate.
1768 2011-08-16 Gary Funck <gary@intrepid.com>
1770 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1771 the barrier id expression is not an integer expression.
1773 2011-08-12 Gary Funck <gary@intrepid.com>
1775 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1777 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1778 Set mode of UPC pointer-to-shared rep. to an
1779 integral mode of size at least as large as the
1780 size of the representation's struct type.
1782 2011-08-12 Gary Funck <gary@intrepid.com>
1784 Rework/simplify the UPC genericize pass.
1785 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1786 upc_build_pointer_type): New.
1787 (upc_set_block_factor): Adjust to new calling sequence.
1788 (upc_build_shared_var_addr): Delete.
1789 * c-family/c-common.c (complete_array_type): Adjust call
1790 to upc_set_block_factor().
1791 * c-family/c-upc.h (upc_apply_layout_qualifier,
1792 upc_build_pointer_type): New.
1793 (upc_build_shared_var_addr): Delete.
1794 (upc_set_block_factor): Adjust to new calling sequence.
1795 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1796 * c-decl.c (grokdeclarator): Call newly defined
1797 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1798 * c-decl.c (grokdeclarator): Split long UPC-related error
1799 messages into two lines.
1800 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1801 directly. Revert that change to trunk. (upc_genericize() will
1802 handle lowering the expressions that take the address of a
1804 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1805 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1806 representation type.
1808 2011-08-10 Gary Funck <gary@intrepid.com>
1810 Implement additional fixes for recent merge with trunk.
1811 * explow.c (promote_mode): Do not attempt to promote
1812 the mode for UPC pointer-to-shared types.
1813 * config/i386/i386.c (function_value_64): Ditto.
1815 2011-08-07 Gary Funck <gary@intrepid.com>
1817 Merge trunk version 177548 into gupc branch.
1818 * config/i386/i386.c (ix86_promote_function_mode):
1819 Do not promote UPC pointers-to-shared to Pmode.
1820 * c-family/c-ommon.c (pointer_int_sum):
1821 Also check the pointer operand, rather than just
1822 its type, when making the decision to derive
1823 the equivalent unshared type.
1824 * tree.c (build2_stat): If the type of the result
1825 passed in as an argument is a UPC shared type,
1826 derive the unshared equivalent when calculating
1827 the result type of the node.
1829 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
1831 * config/darwin.c: Disable var_tracking option
1832 on -O0 as it is supposed to run only when optimization
1833 is applied. See GCC bug 49743.
1835 2011-07-06 Gary Funck <gary@intrepid.com>
1837 Re-implement the pass that lowers trees generated by
1838 the UPC front-end into GENERIC. Previously this was
1839 done within the gimplification framework, but this
1840 required that gimplification be run before inlining
1841 and various other passes, which did not fit in well
1842 with the current design of the middle-end passes.
1843 Now, the lowering is done by a newly defined language
1844 specific genericize hook. With this change, we are
1845 are able to undo some extensions made to the gimplify
1846 logic, and thus can revert several files to trunk.
1848 * c-decl.c: Add a check for UPC deprecated names which
1849 may appear as undefined function names.
1850 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1851 LTI_upc_getaddr): Remove definitions of unused UPC
1852 library function names. These were defined back when
1853 the libfunc interface was used to call these routines.
1854 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1855 in UPC lowering (genericize) pass.
1856 * langhooks.h (gimplify_expr): Revert to trunk's definition.
1857 (instrument_func): Delete this hook. Now handled in
1859 * tree-pass.h: Revert to trunk.
1860 * c-typeck.c (build_unary_op): Adjust reference to
1861 upc_genericize() in a comment.
1862 * gimplify.c (create_tmp_var_raw): Delete logic that
1863 was converting UPC shared types into unshared types
1864 to be used for temporaries. Now handled in upc_genericize().
1865 Replace with an assertion check.
1866 (prepare_gimple_addressable): Revert to trunk's definition.
1867 No longer needed as an externally called function.
1868 (flag_instrument_functions_exclude_p): Re-define as
1869 an externally called function.
1870 (gimplify_function_tree): Delete code that implemented
1871 call to UPC's language specific function instrumentation hook.
1872 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1873 (prepare_gimple_addressable): Delete extern definition;
1874 revert to trunk's definition.
1875 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1876 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1877 * c-family/c-gimplify.c: Revert to trunk.
1878 * cp/cp-gimplify.c: Revert to trunk.
1879 * cp/cp-tree.h: Revert to trunk.
1880 * explow.c: Revert to trunk.
1881 * langhooks.c: Revert to trunk.
1882 * libfuncs.h: Revert to trunk.
1883 * objc/objc-act.c: Revert to trunk.
1885 2011-06-30 Gary Funck <gary@intrepid.com>
1887 * c-family/c.opt: Bring options definitions up-to-date
1888 with respect to changes made in the trunk.
1890 2011-06-29 Gary Funck <gary@intrepid.com>
1892 Merge trunk version 175584 into gupc branch.
1894 2011-06-13 Gary Funck <gary@intrepid.com>
1897 * include/cpplib.h (enum c_lang):
1898 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1899 This keeps all the "C" variants together.
1900 * init.c (lang_defaults): Add an entry for UPC.
1902 2011-06-09 Gary Funck <gary@intrepid.com>
1904 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1905 a 32-bit target, the size expression overflowed, the result was
1906 error_mark_node, and an ICE was triggered on an attempt to evaluate
1907 C_TYPE_VARIABLE_SIZE() on the error node.
1908 (upc_blocksizeof_expr, upc_blocksizeof_type,
1909 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1910 Make similar changes to avoid further processing of error_mark_node.
1912 2011-06-07 Gary Funck <gary@intrepid.com>
1914 * sel-sched.c (move_op): Incorporate the following
1915 patch to eliminate ICE at -O3 on IA64/Altix.
1917 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
1919 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
1920 code_motion_path_driver returned 0 or 1.
1921 (sel_region_finish): Clear h_d_i_d.
1923 2011-06-02 Gary Funck <gary@intrepid.com>
1925 Merge trunk version 174558 into gupc branch.
1927 2011-05-30 Gary Funck <gary@intrepid.com>
1929 * configure.ac: Make the default order of the virtual
1930 address field in a UPC pointer-to-shared to be "first".
1931 This reverts to the previous setting, and is a short term
1932 measure to work around a bug found on the IA64,
1933 where vaddr=last led to incorrect code generation.
1934 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1935 in AC_DEFINE(), to agree with recent changes in files
1936 that reference this define.
1937 configure, config.in: Regenerate.
1939 2011-05-26 Gary Funck <gary@intrepid.com>
1941 * configure.ac: Fix typo when referring to $upc_vaddr_order.
1942 configure: Regenerate.
1944 * ../fixincludes/fixincl.x: Revert to trunk.
1945 This file is auto-generated, and should not be merged.
1947 2011-05-18 Gary Funck <gary@intrepid.com>
1949 Merge trunk version 173845 into gupc branch.
1951 2011-05-17 Gary Funck <gary@intrepid.com>
1953 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1954 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1956 * c-family/c-pragma.c: Remove conditional compilation
1957 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1958 Test 'compiling_upc' when compiling to determine if
1959 the "upc" and "pupc" pragmas should be registered.
1961 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1962 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1963 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1964 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1965 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1966 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1967 Move these target-dependent definitions from config/upc-conf.h
1970 * configure.ac: Improve the logic for UPC-related options.
1971 Delete references to pre-processor definitions that have
1972 been moved to "upc/upc-pts.h".
1974 * configure, config.in: Regenerate.
1976 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1977 to trunk. This substitution variable was used to
1978 configure the representation-specific versions of
1979 the tree rewrites that operate on UPC pointer-to-shared
1982 * c-parser.c (c_parser_upc_forall_statement): Remove
1983 reference to UPC_FORALL_DEPTH_NAME, and call
1984 newly defined upc_rts_forall_depth_var() instead.
1986 * config/upc-config.h: Delete. Various definitions
1987 moved to "upc/upc-rts-names.h", "defaults.h", and
1990 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1991 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1992 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1993 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1994 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1995 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1996 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1997 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1998 New. Document UPC target macros.
1999 doc/tm.texi: Regenerate.
2001 2011-05-07 Gary Funck <gary@intrepid.com>
2003 * ../configure.ac: Disable build of libupc
2004 on non POSIX hosted systems. Use AS_HELP_STRING
2005 to define messages. Remove 'word-pair' as a
2006 possible --with-upc-pts UPC pointer-to-shared
2009 * ../configure: Regenerate.
2011 * configure.ac: Use AS_HELP_STRING to define messages.
2012 Remove 'word-pair' as a possible --with-upc-pts
2013 UPC pointer-to-shared representation.
2014 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2015 (UPC_MAX_BLOCK_SIZE): Correct the default value.
2017 * configure: Regenerate.
2019 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2022 * ChangeLog.upc: Fix some typos.
2024 2011-05-07 Gary Funck <gary@intrepid.com>
2026 * ../maintainer-scripts/gcc_release: Add "upc"
2027 as one of the released languages.
2029 2011-05-06 Gary Funck <gary@intrepid.com>
2031 Eliminate compilation warnings, by fixing
2032 #include's and updating function prototypes.
2034 * c-family/c-cppbuiltin.c: Include c-upc.h.
2036 * optabs.c (gen_libfunc): Change type of 'suffix'
2037 parameter to conform with prototype.
2039 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2040 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2043 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2046 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2047 argument values to cp_gimplify_expr.
2049 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2050 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2051 pre-processor definitions that are no longer
2052 needed to build the 'upc' command (upc-cmd.c)
2053 because the linker specs. defined in libupc
2054 take care of linking in the needed libraries.
2056 * c-parser.c (c_parser_upc_forall_statement):
2057 initialize affinity_loc to avoid "maybe unused" warning.
2058 (c_parser_upc_sync_statement): Remove un-needed
2059 'ret' variable. Cast return value from
2060 'upc_build_sync_stmt' to 'void' to avoid
2061 compile-time warning.
2063 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2064 integer constant, not a string. Range is restricted
2065 to maximum positive 32-bit integer (2+ billion) to
2066 fit in with the use of 'int' in the front-end's
2067 switch handling logic.
2069 2011-05-06 Gary Funck <gary@intrepid.com>
2071 Upgrade c-family source files to conform with modularity
2072 improvements. Mainly, remove #include of c-tree.h in files
2073 under c-family, and define a new UPC-specific #include file,
2074 c-upc.h, and use it.
2076 * c-family/stub-upc.c: Remove #include of c-tree.h and
2077 upc/upc-act.h. Replace with #include of c-common.h
2079 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2080 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2081 upc_localsizeof_expr, upc_localsizeof_type,
2082 upc_shared_type_p): Delete.
2084 * c-family/c-opts.c: Add #include of c-upc.h
2086 * c-family/c-common.c: Remove #include of c-tree.h and
2087 add #include of c-upc.h.
2089 * c-family/c-upc.h: New. Define API for UPC-specific functions
2090 (mostly implemented in upc/upc-act.c).
2092 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2093 Remove extern definitions.
2095 * c-family/c-pragma.c: Remove #include of c-tree.h.
2096 Add #include of c-upc.h.
2098 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2100 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2101 upc/upc-act.c, and define as a macro.
2102 (expand_affinity_test): Remove unused external definition.
2103 (build_upc_unshared_type): Add external definition.
2104 (upc_shared_type_p): Remove external definition.
2106 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2108 * dojump.c: Remove #include of c-tree.h.
2110 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2112 (count_upc_threads_refs, is_multiple_of_upc_threads,
2113 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2114 upc_build_shared_var_addr, upc_build_sync_stmt,
2115 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2116 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2117 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2118 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2119 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2120 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2121 set_upc_consistency_mode, get_upc_consistency_mode,
2122 push_upc_consistency_mode, pop_upc_consistency_mode,
2124 Move external definitions to c-family/c-upc.h.
2125 (upc_blocksizeof_type, upc_localsizeof_type,
2126 upc_elemsizeof_type): Remove external definitions;
2127 these functions were moved to c-parser.c.
2129 * c-decl.c: Add #include of c-upc.h.
2131 * c-typeck.c: Add #include of c-upc.h.
2133 * c-convert.c: Add #include of c-upc.h.
2135 * ChangeLog.upc: Fix typo.
2137 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2138 there is a reference to c-family/c-objc.h.
2139 Remove extraneous reference to upc-act.h.
2141 * c-parser.c: Add #include of c-upc.h.
2142 (upc_blocksizeof_expr, upc_blocksizeof_type,
2143 upc_elemsizeof_expr, upc_elemsizeof_type,
2144 upc_localsizeof_expr, upc_localsizeof_type):
2145 Move from upc/upc-act.c.
2147 * tree.c (build_upc_unshared_type): New.
2148 Move upc_get_unshared_type from upc/upc-act.c and rename
2149 to build_upc_unshared_type.
2150 c-family/c-common.c (pointer_int_sum): refer to renamed
2151 build_upc_unshared_type function.
2152 c-convert.c (convert): Ditto.
2153 convert.c (convert_to_pointer): Ditto.
2154 c-typeck.c (build_unary_op, build_modify_expr,
2155 really_start_incremental_init): Ditto.
2156 gimplify.c (create_tmp_var_raw): Ditto.
2157 tree.c (build1_stat): Ditto.
2158 tree.h (upc_get_unshared_type): Rename to
2159 build_upc_unshared_type.
2161 2011-05-06 Gary Funck <gary@intrepid.com>
2163 Merge trunk version 173471 into gupc branch.
2165 2011-05-05 Gary Funck <gary@intrepid.com>
2167 Make changes that bring the GUPC branch more closely in sync.
2168 with the GCC trunk. Revert any fixes that are not UPC-specific.
2169 Remove gratuitous re-formatting.
2171 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2172 This file should have been removed in a previous merge
2174 * ../configure.ac: Remove Cray Catamount/CNL support.
2175 * ../configure: Regenerate.
2176 * ../config.sub: Remove Cray Catamount/CNL support.
2177 * config.gcc: Remove Cray Catamount/CNL support.
2178 * ../maintainer-scripts/gcc_release: Revert to trunk.
2179 * c-family/c-common.h: Define parse_optimize_options. Its definition
2180 was missed in a previous merge with the trunk.
2181 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2183 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2184 in addition to ARRAY_TYPE.
2185 * c-typeck.c: Remove an extra newline character.
2186 * varasm.c: Revert a fix that improved an error message
2187 when TLS common data is unimplemented.
2188 * varasm.c: Revert a gcc_assert that had been added which
2189 checked for a null DECL_SIZE_UNIT field.
2190 * emultls.c: Revert to trunk. Remove possible fix.
2191 * Makefile.in: Revert extra blank line that is present
2192 in the trunk version.
2193 * Makefile.in: Revert a fix that handled long shell
2194 argument lists for plugin headers.
2195 * config/ia64/ia64.opt: Revert an option setting
2196 that increased the default TLS address range.
2197 * config/ia64/crtbegin.asm: Revert to trunk.
2198 Removes an extra newline character.
2199 * ChangeLog.upc: Spell check.
2201 2011-05-03 Gary Funck <gary@intrepid.com>
2203 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2204 (c_apply_type_quals_to_decl): Ditto.
2205 * c-family/c-common.h: Ditto.
2207 * c-decl.c (merge_decls): Ditto.
2208 * c-typeck.c (qualify_type, default_conversion,
2209 build_component_ref, build_unary_op,
2210 c_build_qualified_type): Ditto.
2211 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2213 2011-04-29 Gary Funck <gary@intrepid.com>
2215 * c-decl.c (finish_decl): Improve error diagnostics.
2216 (grokdeclarator): Ditto.
2218 * c-typeck.c (build_c_cast): Improve error diagnostics.
2219 (convert_for_assignment): Ditto.
2220 (build_binary_op): Ditto.
2222 * c-parser.c (c_parser_upc_forall_statement):
2223 Improve error diagnostics.
2225 * convert.c (convert_to_integer): Improve error diagnostics.
2227 2011-04-24 Gary Funck <gary@intrepid.com>
2229 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2230 occurred if there is an error in the barrier id
2231 expression. Map error_mark_node into NULL.
2233 2011-04-22 Gary Funck <gary@intrepid.com>
2235 Merge trunk version 172873 into gupc branch.
2237 2011-04-19 Gary Funck <gary@intrepid.com>
2239 Merge trunk version 172359 into gupc branch.
2241 2011-04-14 Gary Funck <gary@intrepid.com>
2243 * c-family/c.opt: Add UPC as a valid language for various
2244 switches where it is valid for "C", that were not updated
2245 in previous merges with trunk.
2247 2011-04-13 Gary Funck <gary@intrepid.com>
2249 * c-family/c.opt (fupc-pre-include): New option definition.
2250 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2251 -fno-upc-pre-include is asserted.
2253 2011-04-07 Gary Funck <gary@intrepid.com>
2255 Merge trunk version 172158 into gupc branch.
2256 to bring in the following fix.
2258 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2261 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2262 if old and new states differ.
2264 2011-04-06 Gary Funck <gary@intrepid.com>
2266 Merge trunk version 171966 into gupc branch.
2268 2011-04-01 Gary Funck <gary@intrepid.com>
2270 * tree.h (tree_base): Move UPC flag bits into bit fields
2271 located just before spare bits. Decrement spare bits.
2272 Rename 'shared_flag' -> 'upc_shared_flag',
2273 'relaxed_flag' -> 'upc_relaxed_flag',
2274 'strict_flag' -> 'upc_strict_flag, and adjust macros
2275 that reference them accordingly.
2277 2011-04-01 Gary Funck <gary@intrepid.com>
2279 * c-decl.c (grokdeclarator): Fix formatting of
2280 code that sets UPC block size on scalars.
2282 2011-04-01 Gary Funck <gary@intrepid.com>
2284 * c-decl.c (grokdeclarator): Revert use of white space
2285 to match the trunk (to rationalize diffs).
2286 * c-typeck.c (convert_for_assignment): Ditto.
2287 * tree-ssa.c (useless_type_conversion_p): Ditto.
2289 2011-03-23 Gary Funck <gary@intrepid.com>
2291 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2292 the GCC 4.6 release branch.
2294 2011-03-21 Gary Funck <gary@intrepid.com>
2296 Merge trunk version 171202 into gupc branch.
2298 2011-03-20 Gary Funck <gary@intrepid.com>
2300 * varasm.c: Call error() directly with a format specifier,
2301 rather than using sprintf() to format the message.
2302 This should make it easier to internationalize UPC's error messages.
2304 2011-03-20 Gary Funck <gary@intrepid.com>
2306 * configure.ac: Fix the check for gnu ld when enabling
2307 UPC link script support.
2308 configure: Regenerate (also picks up changes from previous
2311 2011-03-20 Gary Funck <gary@intrepid.com>
2313 Move UPC start files, end files, and linker specs.
2314 into libupc. This reduces the impact on common GCC
2315 configuration files, and ensures that these UPC-specific
2316 components are only built when the UPC language dialect is selected.
2319 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2320 linker specs. Fix typo in -fupc-debug message.
2322 * config/upc-conf.h, config/darwin.h: Move defines for
2323 UPC-related section begins/ends into libupc/config/default/
2326 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2327 UPC-related linker compiler specifications,
2328 accessed via %:include().
2330 * configure.ac, configure: Remove logic related to building
2331 upc-crtbegin/end. Remove config. tests for numa and cpu
2332 affinity (previously used by the 'upc' driver); these
2333 settings are now propagated by target-specific compiler
2334 specs. built by libupc. Regenerate autoconf.
2336 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2337 linker compiler specifications, accessed via %:include().
2338 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2341 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2343 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2344 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2345 config/ia64/linux.h, config/mips/t-iris,
2346 config/mips/iris6.h: Revert to trunk version 167307.
2349 * configure, configure.ac, config.host, Makefile.in:
2350 Revert to trunk version 167307.
2352 2011-02-23 Gary Funck <gary@intrepid.com>
2354 * c-decl.c (undeclared_variable): fix typo. Inadvertently
2355 removed negation on following 'if'.
2357 2011-02-22 Gary Funck <gary@intrepid.com>
2359 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2360 to check for the usage of certain deprecated UPC keywords.
2361 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2362 * c-tree.h (undeclared_variable): Define prototype.
2364 2011-02-12 Gary Funck <gary@intrepid.com>
2366 * c-typeck.c: (build_c_cast, convert_for_assignment)
2367 Diagnose an attempt to convert from an integer to
2368 a pointer-to-shared as an error. Also, fix various
2369 error messages so that they use the preferred term
2370 pointer-to-shared instead of "shared pointer".
2372 2011-02-07 Gary Funck <gary@intrepid.com>
2374 * c-typeck.c: (convert_for_assignment)
2375 Fix typo. in error message.
2377 2011-01-23 Gary Funck <gary@intrepid.com>
2379 * c-typeck.c: (c_build_qualified_type)
2380 derive UPC block size by calling upc_get_block_size(),
2381 to ensure that the element type of an array of an array
2382 is derived correctly.
2384 2010-12-29 Gary Funck <gary@intrepid.com>
2386 Merge trunk version 168314 into gupc branch.
2388 2010-12-15 Gary Funck <gary@intrepid.com>
2390 Merge trunk version 167307 into gupc branch.
2392 2010-10-19 Gary Funck <gary@intrepid.com>
2394 * c-typeck.c: Fix typo in previous fix
2395 which led to a mis-compare for equal block sizes.
2397 2010-10-18 Gary Funck <gary@intrepid.com>
2399 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2400 diagnosed as an error
2402 The conversion from any type (shared or not) to
2403 a shared type is likely either meaningless or an error. This update
2404 makes any conversion to a shared type, an error.
2406 2010-10-18 Gary Funck <gary@intrepid.com>
2408 * c-typeck.c: Fix bug: passing int to shared pointer arg.
2409 generates spurious warning
2411 Add a #define procedure that does the same thing as
2412 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
2413 this procedure to diagnose passing an integer value to a
2414 pointer-to-shared as an error.
2416 2010-10-18 Gary Funck <gary@intrepid.com>
2418 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2419 matching routine declaration.
2421 When checking for type compatibility, shared qualified types must
2422 have the same block factor. This check was missing from
2423 comptypes_internal(). This update adds the check for blocking
2426 2010-10-17 Gary Funck <gary@intrepid.com>
2428 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2431 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2433 2010-10-17 Gary Funck <gary@intrepid.com>
2435 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2436 45869 - [4.5/4.6 Regression] type mismatch in shift expression
2437 produces ice with -O3 and -m32.
2439 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2441 2010-10-17 Gary Funck <gary@intrepid.com>
2443 * c-common.c: Diagnose the application of the various "*sizeof"
2444 operations on generic pointer-to-shared as a compilation error.
2446 2010-10-17 Gary Funck <gary@intrepid.com>
2448 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2449 message regarding a function parameter being declared with a shared
2452 The parameter's 'name' value is not defined at this point, and
2453 cannot be used in the error message. This update removes the
2454 reference to 'name', and eliminates the segfault.
2456 2010-10-16 Gary Funck <gary@intrepid.com>
2458 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2460 The gcc/Makefile.in rules for install-plugin had to be re-written to
2461 break up a long list of header files that exceeded the command line
2462 limitation imposed by Irix.
2464 Access functions for TFmode types had to be implemented.
2465 Apparently, this is the mode used for the SGI/MIPS port to represent
2468 2010-10-14 Gary Funck <gary@intrepid.com>
2470 * c-decl.c: Fix bug: Multiple equal blocking factors specified
2471 via typedef chain should not be diagnosed as an error.
2473 If the block size that is given by the typedef is equal to the block
2474 size given explicitly in the variable declaration, then do not
2475 complain. The easiest way to make this check was to create a
2476 temporary type that is a clone of the element type and then set its
2477 block size using the given layout qualifier. Then compare the block
2478 size of the temporary (the declaration) to the block size specified
2479 in the typedef. This complexity is needed, because the '[*]' block
2480 size needs to be calculated, and the '[]' needs to be mapped into a
2483 2010-10-10 Gary Funck <gary@intrepid.com>
2485 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2488 The compiler properly detected the presence of two or more layout
2489 qualifiers as an error, but then hit an assertion check, because the
2490 code that followed the error expected to see a qualifier and not a
2491 layout specifier. The fix is simple: just return immediately after
2492 detecting the error.
2494 2010-10-10 Gary Funck <gary@intrepid.com>
2496 * c-decl.c: Improve error diagnostics for various cases of UPC
2497 shared array type declarations.
2499 Add the check for this error: "In the dynamic translation
2500 environment, THREADS may not appear in declarations of shared arrays
2501 with indefinite block size". Also, fix up a few of the other
2502 related error diagnostics.
2504 2010-10-09 Gary Funck <gary@intrepid.com>
2506 * c-common.c: Fix bug: segfault on incomplete array definition.
2508 This turned out to be a bit complicated. The logic in
2509 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2510 the THREADS identifier in the case where the blocking factor has
2511 been set to indefinite ([]). This can happen when indefinite array
2512 declarations are processed for shared arrays. At that time, the
2513 file scope has been closed and THREADS is no longer in scope. Some
2514 more work is needed on upc_lang_layout_decl(). It has some
2515 duplication, and notably duplicates the two branches of the if
2516 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2517 caller of this routine (layout_decl()).
2519 The method of forcing a layout qualifier of [] in the indefinite
2520 declaration handler is odd a well. The code that just does the
2521 setting of the block factor, needs to moved into its own routine
2522 that doesn't depend upon a declspec for '[]' to be passed in, just
2523 in order to set the blocking factor to some value (in this case, 0).
2524 Also, the logic for how that shared type is constructed is strange.
2525 First the type with 0 blocking factor is set. Then the shared
2526 qualifier is removed from the type, and then added back later. The
2527 intermediate type has a blocking factor set, but it has no shared
2528 qualifier. Fixing this will require some thought. It is tempting
2529 just to make indefinite shared arrays an error, rather than forcing
2530 the dimension to be '1'.
2532 This likely fixes a serious error in the previous update to
2533 upc_lang_layout_decl(), where it didn't have the logic to set
2534 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2535 the previous update would fail on many tests.
2537 2010-10-09 Gary Funck <gary@intrepid.com>
2539 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2540 (decl) is null, which can happen if some layout error occurred
2543 2010-10-09 Gary Funck <gary@intrepid.com>
2545 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2546 "variable-sized" when compiled in dynamic threads.
2548 This long-standing bug is easily fixed. Just check
2549 for the situation that the non-constant sized type is shared and
2550 that it does not have a dimension that references a multiple of
2551 threads. If this criteria is met, then issue a meaningful
2554 2010-10-01 Gary Funck <gary@intrepid.com>
2556 * configure, configure.ac: Update manual page, and bug reporting
2559 Update "man" page to reflect debugging switches. Also, some general
2560 clean up. Change the bug reporting URL to point to gccupc.org.
2562 2010-09-27 Gary Funck <gary@intrepid.com>
2564 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2565 the UPC forall depth count variable is not found.
2567 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2568 The compiler will generate code that references this variable in
2569 order to implement nested upc_forall semantics. If there is a
2570 compiler build or install problem, this variable may not be found.
2571 In this case, terminate with an internal_error().
2573 2010-09-26 Gary Funck <gary@intrepid.com>
2575 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2576 mis-diagnosed as syntax error.
2578 Fix a failure exhibited by the Berkeley test case,
2579 bug873a.upc, which has the code:
2581 upc_forall (;;;d) {...} The compiler did not properly handle
2582 the empty "condition" clause, and did not recover well when it was
2583 determined that the use of a double value, "d" above, was neither a
2584 pointer-to-shared nor an integer expression. The update implements a
2585 fix for both issues.
2587 See also: gcc/c-parser.c gcc/upc/upc-act.c
2589 2010-09-23 Gary Funck <gary@intrepid.com>
2591 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2592 incorporated into the referencing type.
2594 This was semi-fixed a few times before. This update fixes a few
2595 more places where the layout qualifier wasn't being propagated
2596 through typedef's properly. What made this a bit tricky is shown in
2597 the example cited in the bug report:
2599 typedef shared [5] int A_t; A_t A[5*THREADS];
2601 In the typedef, the blocksize is being applied to a shared *scalar*,
2602 and the code was applying the blocksize only to arrays. This update
2603 handles shared scalars correctly.
2605 2010-09-22 Gary Funck <gary@intrepid.com>
2607 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2608 upc_forall() semantics are not implemented
2610 The checkforall test in the Berkeley harness test suite indicated
2611 that GCC/UPC was not properly implementing nested upc_forall
2612 semantics. Nested upc_forall statements (both statically or
2613 dynamically nested) must implement their affinity clause as if it
2614 were "continue"; thus all steps in the loop must execute without
2615 regard for affinity. To implement these semantics a global depth
2616 counter, __upc_forall_depth, is maintained by the generated code
2617 that implements upc_forall.
2619 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2620 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2621 libupc/include/upc.h libupc/smp/upc_main.c
2623 2010-09-19 Gary Funck <gary@intrepid.com>
2625 * c-decl.c: c-decl.c: zero out the layout specifier, after
2626 processing an array type.
2628 Fix the previous fix, that moved the setting of the type's layout
2629 qualifier to the outside of the array type processing loop. What is
2630 missing from the fix is that the layout_qualifier variable needs to
2631 be cleared after setting the type's blocksize.
2633 2010-09-19 Gary Funck <gary@intrepid.com>
2635 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2636 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2638 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2639 the actual maximum block size. Therefore, the message was correct,
2640 but the underlying value that was being checked was wrong. Change
2641 the values so that they agree with the actual implementation-defined
2644 2010-09-11 Gary Funck <gary@intrepid.com>
2646 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2647 multi-dimensional shared array with dynamic threads.
2649 This declaration caused an internal compiler error when compiled
2650 with dynamic threads:
2651 shared [*] int A[THREADS][16]; The bug was discovered when
2652 compiling the RTED_UPC test suite.
2654 The fix is to process layout qualifiers after the entire array type
2655 has been built. Otherwise, we try to calculate the blocksize on a
2656 shared array type that has not had its "size depends upon the value
2657 of THREADS" flag set.
2659 Also, added a test case.
2661 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2663 2010-07-11 Gary Funck <gary@intrepid.com>
2665 Fix a bug where a statement in c_build_qualified_type()
2666 in the trunk had been inadvertently deleted.
2667 This bug showed up in the IA64 port, because jmpbuf's
2668 on that architecture must be 16 byte aligned, and they were not.
2669 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2671 2010-07-08 Gary Funck <gary@intrepid.com>
2673 Make changes so that other language compilers
2674 will build and bootstrap.
2675 * c-family/c-common.c (compiling_upc, flag_upc,
2676 flag_upc_instrument, flag_upc_instrument_functions,
2677 use_upc_dwarf2_extensions): Move to stub-upc.c and
2679 * c-family/c-common.h (use_upc_dwarf2_extensions,
2680 compiling_upc): Add extern definitions - needed
2681 to compile/build other language front ends.
2682 * c-family/c.opt: Fix the spelling of ObjC.
2683 It had been incorrectly spelled as Objc.
2684 * c-family/c.opt: Add UPC for the various switches
2685 that are valid for both C and ObjC.
2686 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2687 supported options switches when compiling assembly
2689 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2690 flag_upc_instrument, flag_upc_instrument_functions):
2691 Remove these definitions. They have been moved
2692 to c-family/stub-upc.c.
2693 * upc/ChangeLog: Move relevant entries
2695 * c-family/stub-upc.c (compiling_upc, flag_upc,
2696 flag_upc_instrument, flag_upc_instrument_functions,
2697 use_upc_dwarf2_extensions): Moved from c-common.c
2698 * upc/upc-lang.c (compiling_upc, flag_upc,
2699 flag_upc_instrument, flag_upc_instrument_functions,
2700 use_upc_dwarf2_extensions): Moved from c-common.c
2701 * objc/objc-act.c (objc_gimplify_expr): Add additional
2702 parameters to c_gimplify_expr() call, that are used
2703 by upc's tree rewrites.
2704 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2705 * gcc/cp/lex.c (init_reswords): If not compiling
2706 UPC, then mask off the UPC keywords.
2707 * cp/Make-lang.in (C_STUB_OBJS): Use this
2708 make macro to link with c-family/stub-objc.o
2709 and c-family/stub-upc.o.
2710 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2711 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2712 * objc/Make-lang.in: Link with c-family/stub-upc.o
2713 to avoid undefined references.
2714 c-parser.c: Fix line indentation.
2715 * libcpp/include/cpplib.h: Remove CL_UPC from
2716 the list of language kinds accepted by the
2717 C preprocessor. This is not necessary because
2718 UPC is a derivative of C99, and does not need
2719 a different language kind.
2720 * c-fmaily/c-opts.c (c_common_handle_option):
2721 Call set_std_c99() when processing the
2722 "--lang upc" switch, instead of setting the
2723 language kind to CL_UPC.
2724 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2726 2010-07-03 Gary Funck <gary@intrepid.com>
2728 Merge trunk version 161517 into gupc branch.
2729 * gcc/stub-upc.c: Move to gcc/c-family/.
2730 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2731 Add 'unused' attributes to avoid "set, but
2732 not referenced" warnings.
2733 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2736 2010-03-01 Gary Funck <gary@intrepid.com>
2738 Create gupc branch from trunk version 157149.