1 2013-02-11 Gary Funck <gary@intrepid.com>
3 Merge trunk version 195937 into gupc branch.
5 2013-02-04 Gary Funck <gary@intrepid.com>
7 Merge trunk version 195707 into gupc branch.
9 2013-01-28 Gary Funck <gary@intrepid.com>
11 Merge trunk version 195502 into gupc branch.
13 2013-01-21 Gary Funck <gary@intrepid.com>
15 Merge trunk version 195330 into gupc branch.
17 2013-01-14 Gary Funck <gary@intrepid.com>
19 Merge trunk version 195164 into gupc branch.
21 2013-01-07 Gary Funck <gary@intrepid.com>
23 Merge trunk version 194962 into gupc branch.
25 2012-12-24 Gary Funck <gary@intrepid.com>
27 Merge trunk version 194709 into gupc branch.
29 2012-12-17 Gary Funck <gary@intrepid.com>
31 Merge trunk version 194552 into gupc branch.
33 2012-12-10 Gary Funck <gary@intrepid.com>
35 Merge trunk version 194351 into gupc branch.
37 2012-12-03 Gary Funck <gary@intrepid.com>
39 Merge trunk version 194076 into gupc branch.
41 2012-11-30 Gary Funck <gary@intrepid.com>
43 Released GUPC 4.8.0.2 based on version 193446.
44 Date of release: 2012-11-12.
45 * DEV-PHASE: Bump release identifier to 4.8.0-3.
46 * DATESTAMP: Bump date stamp.
48 2012-11-26 Gary Funck <gary@intrepid.com>
50 Merge trunk version 193807 into gupc branch.
52 2012-11-20 Gary Funck <gary@intrepid.com>
54 Merge trunk version 193672 into gupc branch.
56 2012-11-19 Gary Funck <gary@intrepid.com>
58 Merge trunk version 193617 into gupc branch.
60 2012-11-15 Gary Funck <gary@intrepid.com>
62 Merge trunk version 193426 into gupc branch.
64 2012-11-12 Gary Funck <gary@intrepid.com>
66 Released GUPC 4.8.0.1 based on version 192948.
67 Date of release: 2012-10-29.
68 * DEV-PHASE: Bump release identifier to 4.8.0-2.
69 * DATESTAMP: Bump date stamp.
71 2012-11-05 Gary Funck <gary@intrepid.com>
73 Merge trunk version 193152 into gupc branch.
75 2012-10-29 Gary Funck <gary@intrepid.com>
77 Merge trunk version 192909 into gupc branch.
79 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
81 Remove unused --upc-pthreads-per-process compile switch.
82 * c-family/c.opt: Remove --upc-pthreads-per-process switch
83 that compiler/runtime do not use.
84 * c-family/c-opts.c (c_common_handle_option): Remove support for
85 --upc-pthreads-per-process switch.
86 * c-family/c-common.c: Ditto.
87 * c-family/c-common.h: Ditto.
89 2012-10-27 Gary Funck <gary@intrepid.com>
91 * defaults.h: fix typos and formatting in UPC-related entries.
93 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
95 Place shared initialization code into the .text
96 section instead of a separate .upc_init section.
97 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
98 (UPC_INIT_BEGIN_NAME): Delete.
99 (UPC_INIT_END_NAME): Delete.
100 * doc/tm.texi.in: Ditto.
101 * doc/tm.texi: Ditto.
103 2012-10-22 Gary Funck <gary@intrepid.com>
105 Merge trunk version 192673 into gupc branch.
107 2012-10-15 Gary Funck <gary@intrepid.com>
109 Merge trunk version 192449 into gupc branch.
111 2012-10-08 Gary Funck <gary@intrepid.com>
113 Merge trunk version 192198 into gupc branch.
115 2012-10-01 Gary Funck <gary@intrepid.com>
117 Merge trunk version 191931 into gupc branch.
119 2012-09-26 Gary Funck <gary@intrepid.com>
121 Implement support for various UPC version 1.3 specification
122 additions and changes. Deprecate support for upc_local_alloc.
123 Add support for upc_tick (wall-clock timer) library.
124 Add support for collective de-allocation functions:
125 upc_all_free and upc_all_lock_free.
126 Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
127 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
129 2012-09-24 Gary Funck <gary@intrepid.com>
131 Merge trunk version 191658 into gupc branch.
133 2012-09-17 Gary Funck <gary@intrepid.com>
135 Merge trunk version 191376 into gupc branch.
137 2012-09-10 Gary Funck <gary@intrepid.com>
139 Merge trunk version 191141 into gupc branch.
141 2012-08-27 Gary Funck <gary@intrepid.com>
143 Merge trunk version 190707 into gupc branch.
144 * tree.h (struct tree_base): Adjust various
145 UPC tree and type flags to refer to the
146 newly introduced u.bits field.
148 2012-08-20 Gary Funck <gary@intrepid.com>
150 Merge trunk version 190524 into gupc branch.
151 Incorporates a fix in genoutput.c (to properly use
152 CONST_CAST) that led to build failures with
153 older versions of g++.
155 2012-08-16 Gary Funck <gary@intrepid.com>
157 Merge trunk version 190437 into gupc branch.
158 Incorporates a fix for a build failure on the PPC
159 due to passing incorrect switches to the assembler.
160 Also, first merged trunk revision that compiles GCC
161 with the C++ compiler in the first stage.
163 2012-08-13 Gary Funck <gary@intrepid.com>
165 Merge trunk version 190336 into gupc branch.
167 2012-08-09 Gary Funck <gary@intrepid.com>
169 * c-family/c-common.c (c_fully_fold_internal): Do not fold
170 offsetof-like expressions when they are applied to UPC
173 2012-08-06 Gary Funck <gary@intrepid.com>
175 Merge trunk version 190173 into gupc branch.
177 2012-08-01 Gary Funck <gary@intrepid.com>
179 Merge trunk version 190063 into gupc branch.
180 Incorporates fix for build failure on IA64.
182 2012-07-30 Gary Funck <gary@intrepid.com>
184 Merge trunk version 189954 into gupc branch.
186 2012-07-27 Gary Funck <gary@intrepid.com>
188 Merge trunk version 189856 into gupc branch.
189 Incorporates fix for bootstrap with a sub-set of language
190 specific source directories present.
191 * optabs.c: Revert to trunk. Rather than defining opcodes
192 as a way of defining get/put runtime library function names,
193 generate them directly in gcc/upc/upc-genericize.c.
195 * genopinit.c: Ditto.
197 2012-07-23 Gary Funck <gary@intrepid.com>
199 Merge trunk version 189777 into gupc branch.
201 2012-07-16 Gary Funck <gary@intrepid.com>
203 Merge trunk version 189545 into gupc branch.
205 2012-07-12 Gary Funck <gary@intrepid.com>
207 Merge trunk version 189366 into gupc branch.
209 2012-07-05 Gary Funck <gary@intrepid.com>
211 Merge trunk version 189274 into gupc branch.
212 Incorporates graphite build infrastructure changes.
214 2012-07-04 Gary Funck <gary@intrepid.com>
216 Merge trunk version 189080 into gupc branch.
217 * Makefile.in: Adjust for move of C front-end files.
218 * c/Make-lang.in: Ditto.
220 2012-07-03 Gary Funck <gary@intrepid.com>
222 Merge trunk version 189078 into gupc branch.
224 2012-06-25 Gary Funck <gary@intrepid.com>
226 Merge trunk version 188931 into gupc branch.
228 2012-06-18 Gary Funck <gary@intrepid.com>
230 Merge trunk version 188721 into gupc branch.
232 2012-06-11 Gary Funck <gary@intrepid.com>
234 Merge trunk version 188380 into gupc branch.
236 2012-06-04 Gary Funck <gary@intrepid.com>
238 Merge trunk version 188168 into gupc branch.
240 2012-05-29 Gary Funck <gary@intrepid.com>
242 Merge trunk version 187927 into gupc branch.
244 2012-05-18 Gary Funck <gary@intrepid.com>
246 Merge trunk version 187666 into gupc branch.
247 Incorporates fix for ICE in tree vectorization pass
248 when processing strided loads.
250 2012-05-17 Gary Funck <gary@intrepid.com>
252 Merge trunk version 187578 into gupc branch.
254 2012-05-09 Gary Funck <gary@intrepid.com>
256 Merge trunk version 187347 into gupc branch.
257 Incorporates fix for segfault in tree vectorization pass.
259 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
261 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
262 Appropriate libraries and include files are added on the
263 command line to make it possible to compile with the driver
266 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
268 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
269 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
270 a function returns a pointer-to-shared in memory instead
272 (rs6000_pass_by_reference): Ditto.
274 2012-04-28 Gary Funck <gary@intrepid.com>
276 * c-decl.c (grokdeclarator): Set 'type' to error node
277 after detecting "shared auto variable" error to avoid
278 downstream complications.
279 * upc-act.c: Fix a couple of spelling errors in comments.
281 2012-04-26 Gary Funck <gary@intrepid.com>
283 * c-family/c-pragma.c (handle_pragma_upc):
284 Fix typo in warning message.
286 2012-04-17 Gary Funck <gary@intrepid.com>
288 Merge trunk version 186486 into gupc branch.
290 2012-04-17 Gary Funck <gary@intrepid.com>
292 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
293 value of the pupc mode. Fixes a compile-time warning.
294 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
295 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
296 Improve source formatting.
298 2012-04-09 Gary Funck <gary@intrepid.com>
300 Merge trunk version 186243 into gupc branch.
301 Incorporates a powerpc 'ffi' fix.
303 2012-03-16 Gary Funck <gary@intrepid.com>
305 Merge trunk version 185454 into gupc branch.
306 Incorporates a libgcc fix for builds on Darwin.
308 2012-03-13 Gary Funck <gary@intrepid.com>
310 Merge trunk version 185278 into gupc branch.
311 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
312 call build_pointer_type() to apply UPC-specific qualifiers.
313 * top-level/configure.ac: factor the checking for posix hostst
314 out of the libgomp section so that it can also be used by libgupc.
315 * top-level/configure: Re-generate.
316 * DEV-PHASE: bump to 4.8.0-1.
318 2012-03-12 Gary Funck <gary@intrepid.com>
320 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
321 the mode for a pointer for upc-pointer-to-shared types.
323 2012-03-04 Gary Funck <gary@intrepid.com>
325 Merge trunk version 184900 into gupc branch.
327 2012-02-17 Gary Funck <gary@intrepid.com>
329 Released GUPC 4.7.0.2 based on version 183992.
330 * DEV-PHASE: Bump release identifier to 4.7.0-3.
331 * DATESTAMP: Bump date stamp.
333 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
335 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
336 code generation (same as #pragma pupc off).
337 (set_pupc_mode): New. Set/restore profiling mode.
338 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
339 (set_pupc_mode): New. Prototype.
340 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
341 profiling code for shared variables initialization routines.
343 2012-01-31 Gary Funck <gary@intrepid.com>
345 Merge trunk version 183751 into gupc branch.
346 Incorporates fix for bootstrap failure on openSUSE 12.1.
348 2012-01-10 Gary Funck <gary@intrepid.com>
350 Merge trunk version 183072 into gupc branch.
351 Incorporates libcpp __BASE_FILE__ fix.
353 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
355 * top-level/Makefile.def (flags_to_pass): Added GUPC
356 defines. Fixes the make error when upc is not specified as one
357 of the languages to build.
358 * top-level/Makefile.in: Re-generate.
360 2011-11-22 Gary Funck <gary@intrepid.com>
362 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
363 * dwarf2out.c (gen_compile_unit_die): Check for
364 the "GNU UPC" language string in lieu of "GCC UPC".
365 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
367 2011-11-18 Gary Funck <gary@intrepid.com>
369 Merge trunk version 181552 into gupc branch.
370 Incorporates libgcc/libunwind fix for IA64.
372 2011-11-19 Gary Funck <gary@intrepid.com>
374 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
375 Add check for UPC when defining the language type value
376 in a traceback entry.
378 2011-11-18 Gary Funck <gary@intrepid.com>
380 Merge trunk version 181493 into gupc branch.
381 Incorporates final fix for PR target/49992.
383 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
385 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
386 change that converted relative include paths into absolute
387 ones, as it does not work with older version of make (3.80).
389 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
391 Apply patch for Darwin build - PR49992.
392 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
393 * gcc/configure.ac: Ditto.
394 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
395 * gcc/ada/gcc-interface/Makefile.in: Ditto.
396 * top-level/configure: Re-generate.
397 * gcc/configure: Re-genrate.
399 2011-10-26 Gary Funck <gary@intrepid.com>
401 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
402 "libupc" to "libgupc".
403 * top-level/configure.ac: Implement support for cross-builds, and
404 adjust for rename of libupc to libgupc.
405 * top-level/Makefile.tpl: Ditto.
406 * top-level/Makefile.def: Ditto.
407 * top-level/configure: Re-generate.
408 * top-level/Makefile.in: Re-generate.
409 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
410 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
411 * doc/tm.texi: Re-generate.
412 * tree-pretty-print.c (dump_block_node): Delete unused variable.
413 * gcc.c: Adjust for rename of libupc to libgupc.
414 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
415 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
416 Change "xupc" to "xgupc".
417 * configure.ac: Change "GCC UPC" to "GNU UPC".
418 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
419 so that they are absolute paths. This is needed because
420 the upc-crtstuff builds are in the libgupc library build
421 directories which are not at the same level as libgcc.
422 * config/darwin.h: Adjust for rename of libupc to libgupc.
424 2011-10-20 Gary Funck <gary@intrepid.com>
426 Merge trunk version 180276 into gupc branch.
427 Incorporates fix for PR bootstrap/50709.
429 2011-10-20 Gary Funck <gary@intrepid.com>
431 Merge trunk version 180246 into gupc branch.
433 2011-10-19 Gary Funck <gary@intrepid.com>
435 Merge trunk version 180233 into gupc branch.
436 Incorporates fix for PR debug/49310 (var tracking).
438 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
440 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
441 only four (O0 static/dynamic, O3 static/dynamic).
442 Detect -fupc-threads-0 as an option for dynamic threads
445 2011-10-10 Gary Funck <gary@intrepid.com>
447 * tree.c (check_qualified_type, check_aligned_type):
448 Call tree_int_cst_equal() to compare UPC blocking factors
449 if the corresponding tree pointers are not equal.
450 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
452 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
454 Add configuration checks for struct/packed builds so we can
455 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
456 * testsuite/lib/target-supports.exp
457 (check_effective_target_upc_struct_pts): New.
458 (check_effective_target_upc_packed_pts): New.
460 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
462 Add to FLAGS the flags needed to disable inlining of
463 UPC run-time access routines.
464 * testsuite/lib/target-supports.exp
465 (add_options_for_upc_library_calls): New.
467 2011-09-15 Gary Funck <gary@intrepid.com>
469 Fix ICE involving shared bit field accesses.
470 * tree.c (build3_stat): Propagate TEEE_SHARED()
471 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
473 2011-09-13 Gary Funck <gary@intrepid.com>
475 Merge trunk version 178795 into gupc branch.
476 Incorporates fix to PR bootstrap/50010 for x86-32.
478 2011-09-08 Gary Funck <gary@intrepid.com>
480 Merge trunk version 178557 into gupc branch.
482 2011-09-07 Gary Funck <gary@intrepid.com>
484 Ensure that UPC pointer-to-shared type alignment is
485 propagated to the final type. Revert to long-standing
486 alignment policy: twice the size of a "C" pointer.
487 * tree.c (build_pointer_type): Propagate the alignment
488 of the UPC pointer-to-shared representation type
489 into the newly built pointer type.
491 2011-08-30 Gary Funck <gary@intrepid.com>
493 * tree.h (check_qualified_type): Change 'const_tree'
494 argument types back to 'tree' to avoid complaints
495 of assignment drops qualifiers for invocations of the
496 newly implemented TYPE_BLOCK_FACTOR() macro, which
497 invokes hash functions with 'tree' pointer values that
498 are not const qualified.
499 * tree.c (check_qualified_type, check_aligned_type): Ditto.
500 * c-typeck.c (comptypes_internal): Ditto.
502 2011-08-29 Gary Funck <gary@intrepid.com>
504 Fixes for regressions noted running "make check"
506 * fold-const.c (fold_unary_loc): Execute UPC-specific
507 checks for a cast-of-a-cast, only if one of the
508 operands is a UPC pointer-to-shared value.
509 * opts.c (print_specific_help): Fix a comparison
510 in an assert that checks that there are enough
511 bits reserved for the number of languages defined
514 2011-08-29 Gary Funck <gary@intrepid.com>
516 Implement a hash table to record UPC block factors.
517 * c-family/stub-upc.c (upc_block_factor_insert,
518 upc_block_factor_lookup): New dummy stub procedures.
519 * c-family/c-common.c (c_sizeof_or_alignof_type):
520 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
521 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
522 to copy (hashed) UPC blocking factor.
523 (set_type_quals): Likewise.
524 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
525 TYPE_HAS_THREADS_FACTOR().
526 (type_common.block_factor): Delete.
527 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
528 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
529 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
530 UPC blocking factors greater than one.
531 * dwarf2out.c (modified_type_die): Re-implement
532 logic that records UPC blocking factor in the generated
533 DWARF2 debugging information.
534 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
535 TYPE_HAS_THREADS_FACTOR().
536 * c-decl.c (finish_decl, grokdeclarator):
537 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
538 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
539 used by UPC, and print UPC-specific information.
541 2011-08-28 Gary Funck <gary@intrepid.com>
543 Re-work the type machinery to fully support and to unify support
544 for the UPC layout qualifier (blocking factor).
545 * c-family/stub-upc.c (upc_set_block_factor): Delete.
546 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
547 and update prototype.
548 * c-family/c-common.c (complete_array_type): call newly
549 defined c_build_qualified_type_1() instead of
550 upc_set_block_factor().
551 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
552 upc_apply_layout_qualifier() and update prototype.
553 (upc_set_block_factor): Delete prototype.
554 * c-family/c-common.h (c_build_qualified_type): redefine
555 as a pre-processor macro that invokes c_build_qualified_type_1()
556 with a null UPC layout qualifier.
557 (c_build_qualified_type_1): New. Add layout qualifier argument
558 to old c_build_qualified_type() prototype.
559 * tree.c (set_type_quals, check_qualified_type):
560 Add layout qualifier as argument.
561 (check_aligned_type): Add check for UPC block factor equality.
562 (get_qualified_type_1): Rename from get_qualified_type() and
563 add layout qualifier as argument.
564 (build_qualified_type_1): Rename from build_qualified_type() and
565 add layout qualifier as argument.
566 * tree.h (check_qualified_type): Add layout qualifier as argument
568 (get_qualified_type): Re-define as a as a pre-processor macro
569 that invokes get_qualified_type_1() with a null
570 UPC layout qualifier.
571 (get_qualified_type_1): Rename from get_qualified_type() and
572 add layout qualifier as argument.
573 * cp/tree.c (c_build_qualified_type_1): Rename from
574 c_build_qualified_type() and add (unused) layout qualifier
576 * c-decl.c (finish_decl): re-format long error messages.
577 (grokdeclarator): Re-work the logic so that it calls
578 upc_grok_layout_qualifier() to handle the UPC layout
579 qualifier, if present.
580 * c-typeck.c (qualify_type, common_pointer_type,
581 build_component_ref): Re-work the logic so that it calls
582 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
584 (c_build_qualified_type_1): Rename from c_build_qualified_type()
585 and add layout qualifier argument.
586 * print_tree.c (print_node): Re-format a long line.
588 2011-08-26 Gary Funck <gary@intrepid.com>
590 Merge trunk version 177949 into gupc branch.
591 * c-family/c-common.h (enum rid): Bump the number of type modifiers
593 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
594 to add new rliterals column value.
596 2011-08-26 Gary Funck <gary@intrepid.com>
598 * convert.c (convert_to_integer): Fix the check for the
599 difference between two UPC pointers-to-shared values.
601 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
603 * configure.ac: Fix the name for --with-upc-pts-packed-bits
604 option. Support --with-upc-packed-bits as deprecated. Fix the code to
605 correctly check packed bits.
606 * configure: Re-generate.
608 2011-08-16 Gary Funck <gary@intrepid.com>
610 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
611 the barrier id expression is not an integer expression.
613 2011-08-12 Gary Funck <gary@intrepid.com>
615 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
617 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
618 Set mode of UPC pointer-to-shared rep. to an
619 integral mode of size at least as large as the
620 size of the representation's struct type.
622 2011-08-12 Gary Funck <gary@intrepid.com>
624 Rework/simplify the UPC genericize pass.
625 * c-family/stub-upc.c (upc_apply_layout_qualifier,
626 upc_build_pointer_type): New.
627 (upc_set_block_factor): Adjust to new calling sequence.
628 (upc_build_shared_var_addr): Delete.
629 * c-family/c-common.c (complete_array_type): Adjust call
630 to upc_set_block_factor().
631 * c-family/c-upc.h (upc_apply_layout_qualifier,
632 upc_build_pointer_type): New.
633 (upc_build_shared_var_addr): Delete.
634 (upc_set_block_factor): Adjust to new calling sequence.
635 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
636 * c-decl.c (grokdeclarator): Call newly defined
637 upc_apply_layout_qualifier() instead of upc_set_block_factor().
638 * c-decl.c (grokdeclarator): Split long UPC-related error
639 messages into two lines.
640 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
641 directly. Revert that change to trunk. (upc_genericize() will
642 handle lowering the expressions that take the address of a
644 * config/i386/i386.c (ix86_promote_function_mode): For UPC
645 pointers-to-shared, return the type mode of the UPC pointer-to-shared
648 2011-08-10 Gary Funck <gary@intrepid.com>
650 Implement additional fixes for recent merge with trunk.
651 * explow.c (promote_mode): Do not attempt to promote
652 the mode for UPC pointer-to-shared types.
653 * config/i386/i386.c (function_value_64): Ditto.
655 2011-08-07 Gary Funck <gary@intrepid.com>
657 Merge trunk version 177548 into gupc branch.
658 * config/i386/i386.c (ix86_promote_function_mode):
659 Do not promote UPC pointers-to-shared to Pmode.
660 * c-family/c-ommon.c (pointer_int_sum):
661 Also check the pointer operand, rather than just
662 its type, when making the decision to derive
663 the equivalent unshared type.
664 * tree.c (build2_stat): If the type of the result
665 passed in as an argument is a UPC shared type,
666 derive the unshared equivalent when calculating
667 the result type of the node.
669 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
671 * config/darwin.c: Disable var_tracking option
672 on -O0 as it is supposed to run only when optimization
673 is applied. See GCC bug 49743.
675 2011-07-06 Gary Funck <gary@intrepid.com>
677 Re-implement the pass that lowers trees generated by
678 the UPC front-end into GENERIC. Previously this was
679 done within the gimplification framework, but this
680 required that gimplification be run before inlining
681 and various other passes, which did not fit in well
682 with the current design of the middle-end passes.
683 Now, the lowering is done by a newly defined language
684 specific genericize hook. With this change, we are
685 are able to undo some extensions made to the gimplify
686 logic, and thus can revert several files to trunk.
688 * c-decl.c: Add a check for UPC deprecated names which
689 may appear as undefined function names.
690 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
691 LTI_upc_getaddr): Remove definitions of unused UPC
692 library function names. These were defined back when
693 the libfunc interface was used to call these routines.
694 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
695 in UPC lowering (genericize) pass.
696 * langhooks.h (gimplify_expr): Revert to trunk's definition.
697 (instrument_func): Delete this hook. Now handled in
699 * tree-pass.h: Revert to trunk.
700 * c-typeck.c (build_unary_op): Adjust reference to
701 upc_genericize() in a comment.
702 * gimplify.c (create_tmp_var_raw): Delete logic that
703 was converting UPC shared types into unshared types
704 to be used for temporaries. Now handled in upc_genericize().
705 Replace with an assertion check.
706 (prepare_gimple_addressable): Revert to trunk's definition.
707 No longer needed as an externally called function.
708 (flag_instrument_functions_exclude_p): Re-define as
709 an externally called function.
710 (gimplify_function_tree): Delete code that implemented
711 call to UPC's language specific function instrumentation hook.
712 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
713 (prepare_gimple_addressable): Delete extern definition;
714 revert to trunk's definition.
715 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
716 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
717 * c-family/c-gimplify.c: Revert to trunk.
718 * cp/cp-gimplify.c: Revert to trunk.
719 * cp/cp-tree.h: Revert to trunk.
720 * explow.c: Revert to trunk.
721 * langhooks.c: Revert to trunk.
722 * libfuncs.h: Revert to trunk.
723 * objc/objc-act.c: Revert to trunk.
725 2011-06-30 Gary Funck <gary@intrepid.com>
727 * c-family/c.opt: Bring options definitions up-to-date
728 with respect to changes made in the trunk.
730 2011-06-29 Gary Funck <gary@intrepid.com>
732 Merge trunk version 175584 into gupc branch.
734 2011-06-13 Gary Funck <gary@intrepid.com>
737 * include/cpplib.h (enum c_lang):
738 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
739 This keeps all the "C" variants together.
740 * init.c (lang_defaults): Add an entry for UPC.
742 2011-06-09 Gary Funck <gary@intrepid.com>
744 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
745 a 32-bit target, the size expression overflowed, the result was
746 error_mark_node, and an ICE was triggered on an attempt to evaluate
747 C_TYPE_VARIABLE_SIZE() on the error node.
748 (upc_blocksizeof_expr, upc_blocksizeof_type,
749 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
750 Make similar changes to avoid further processing of error_mark_node.
752 2011-06-07 Gary Funck <gary@intrepid.com>
754 * sel-sched.c (move_op): Incorporate the following
755 patch to eliminate ICE at -O3 on IA64/Altix.
757 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
759 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
760 code_motion_path_driver returned 0 or 1.
761 (sel_region_finish): Clear h_d_i_d.
763 2011-06-02 Gary Funck <gary@intrepid.com>
765 Merge trunk version 174558 into gupc branch.
767 2011-05-30 Gary Funck <gary@intrepid.com>
769 * configure.ac: Make the default order of the virtual
770 address field in a UPC pointer-to-shared to be "first".
771 This reverts to the previous setting, and is a short term
772 measure to work around a bug found on the IA64,
773 where vaddr=last led to incorrect code generation.
774 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
775 in AC_DEFINE(), to agree with recent changes in files
776 that reference this define.
777 configure, config.in: Regenerate.
779 2011-05-26 Gary Funck <gary@intrepid.com>
781 * configure.ac: Fix typo when referring to $upc_vaddr_order.
782 configure: Regenerate.
784 * ../fixincludes/fixincl.x: Revert to trunk.
785 This file is auto-generated, and should not be merged.
787 2011-05-18 Gary Funck <gary@intrepid.com>
789 Merge trunk version 173845 into gupc branch.
791 2011-05-17 Gary Funck <gary@intrepid.com>
793 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
794 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
796 * c-family/c-pragma.c: Remove conditional compilation
797 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
798 Test 'compiling_upc' when compiling to determine if
799 the "upc" and "pupc" pragmas should be registered.
801 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
802 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
803 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
804 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
805 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
806 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
807 Move these target-dependent definitions from config/upc-conf.h
810 * configure.ac: Improve the logic for UPC-related options.
811 Delete references to pre-processor definitions that have
812 been moved to "upc/upc-pts.h".
814 * configure, config.in: Regenerate.
816 * Makefile.in (UPC_PTS_REP): Remove definition and revert
817 to trunk. This substitution variable was used to
818 configure the representation-specific versions of
819 the tree rewrites that operate on UPC pointer-to-shared
822 * c-parser.c (c_parser_upc_forall_statement): Remove
823 reference to UPC_FORALL_DEPTH_NAME, and call
824 newly defined upc_rts_forall_depth_var() instead.
826 * config/upc-config.h: Delete. Various definitions
827 moved to "upc/upc-rts-names.h", "defaults.h", and
830 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
831 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
832 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
833 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
834 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
835 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
836 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
837 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
838 New. Document UPC target macros.
839 doc/tm.texi: Regenerate.
841 2011-05-07 Gary Funck <gary@intrepid.com>
843 * ../configure.ac: Disable build of libupc
844 on non POSIX hosted systems. Use AS_HELP_STRING
845 to define messages. Remove 'word-pair' as a
846 possible --with-upc-pts UPC pointer-to-shared
849 * ../configure: Regenerate.
851 * configure.ac: Use AS_HELP_STRING to define messages.
852 Remove 'word-pair' as a possible --with-upc-pts
853 UPC pointer-to-shared representation.
854 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
855 (UPC_MAX_BLOCK_SIZE): Correct the default value.
857 * configure: Regenerate.
859 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
862 * ChangeLog.upc: Fix some typos.
864 2011-05-07 Gary Funck <gary@intrepid.com>
866 * ../maintainer-scripts/gcc_release: Add "upc"
867 as one of the released languages.
869 2011-05-06 Gary Funck <gary@intrepid.com>
871 Eliminate compilation warnings, by fixing
872 #include's and updating function prototypes.
874 * c-family/c-cppbuiltin.c: Include c-upc.h.
876 * optabs.c (gen_libfunc): Change type of 'suffix'
877 parameter to conform with prototype.
879 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
880 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
883 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
886 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
887 argument values to cp_gimplify_expr.
889 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
890 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
891 pre-processor definitions that are no longer
892 needed to build the 'upc' command (upc-cmd.c)
893 because the linker specs. defined in libupc
894 take care of linking in the needed libraries.
896 * c-parser.c (c_parser_upc_forall_statement):
897 initialize affinity_loc to avoid "maybe unused" warning.
898 (c_parser_upc_sync_statement): Remove un-needed
899 'ret' variable. Cast return value from
900 'upc_build_sync_stmt' to 'void' to avoid
901 compile-time warning.
903 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
904 integer constant, not a string. Range is restricted
905 to maximum positive 32-bit integer (2+ billion) to
906 fit in with the use of 'int' in the front-end's
907 switch handling logic.
909 2011-05-06 Gary Funck <gary@intrepid.com>
911 Upgrade c-family source files to conform with modularity
912 improvements. Mainly, remove #include of c-tree.h in files
913 under c-family, and define a new UPC-specific #include file,
916 * c-family/stub-upc.c: Remove #include of c-tree.h and
917 upc/upc-act.h. Replace with #include of c-common.h
919 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
920 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
921 upc_localsizeof_expr, upc_localsizeof_type,
922 upc_shared_type_p): Delete.
924 * c-family/c-opts.c: Add #include of c-upc.h
926 * c-family/c-common.c: Remove #include of c-tree.h and
927 add #include of c-upc.h.
929 * c-family/c-upc.h: New. Define API for UPC-specific functions
930 (mostly implemented in upc/upc-act.c).
932 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
933 Remove extern definitions.
935 * c-family/c-pragma.c: Remove #include of c-tree.h.
936 Add #include of c-upc.h.
938 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
940 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
941 upc/upc-act.c, and define as a macro.
942 (expand_affinity_test): Remove unused external definition.
943 (build_upc_unshared_type): Add external definition.
944 (upc_shared_type_p): Remove external definition.
946 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
948 * dojump.c: Remove #include of c-tree.h.
950 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
952 (count_upc_threads_refs, is_multiple_of_upc_threads,
953 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
954 upc_build_shared_var_addr, upc_build_sync_stmt,
955 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
956 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
957 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
958 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
959 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
960 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
961 set_upc_consistency_mode, get_upc_consistency_mode,
962 push_upc_consistency_mode, pop_upc_consistency_mode,
964 Move external definitions to c-family/c-upc.h.
965 (upc_blocksizeof_type, upc_localsizeof_type,
966 upc_elemsizeof_type): Remove external definitions;
967 these functions were moved to c-parser.c.
969 * c-decl.c: Add #include of c-upc.h.
971 * c-typeck.c: Add #include of c-upc.h.
973 * c-convert.c: Add #include of c-upc.h.
975 * ChangeLog.upc: Fix typo.
977 * Makefile.in: Add references to c-family/c-upc.h, everywhere
978 there is a reference to c-family/c-objc.h.
979 Remove extraneous reference to upc-act.h.
981 * c-parser.c: Add #include of c-upc.h.
982 (upc_blocksizeof_expr, upc_blocksizeof_type,
983 upc_elemsizeof_expr, upc_elemsizeof_type,
984 upc_localsizeof_expr, upc_localsizeof_type):
985 Move from upc/upc-act.c.
987 * tree.c (build_upc_unshared_type): New.
988 Move upc_get_unshared_type from upc/upc-act.c and rename
989 to build_upc_unshared_type.
990 c-family/c-common.c (pointer_int_sum): refer to renamed
991 build_upc_unshared_type function.
992 c-convert.c (convert): Ditto.
993 convert.c (convert_to_pointer): Ditto.
994 c-typeck.c (build_unary_op, build_modify_expr,
995 really_start_incremental_init): Ditto.
996 gimplify.c (create_tmp_var_raw): Ditto.
997 tree.c (build1_stat): Ditto.
998 tree.h (upc_get_unshared_type): Rename to
999 build_upc_unshared_type.
1001 2011-05-06 Gary Funck <gary@intrepid.com>
1003 Merge trunk version 173471 into gupc branch.
1005 2011-05-05 Gary Funck <gary@intrepid.com>
1007 Make changes that bring the GUPC branch more closely in sync.
1008 with the GCC trunk. Revert any fixes that are not UPC-specific.
1009 Remove gratuitous re-formatting.
1011 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1012 This file should have been removed in a previous merge
1014 * ../configure.ac: Remove Cray Catamount/CNL support.
1015 * ../configure: Regenerate.
1016 * ../config.sub: Remove Cray Catamount/CNL support.
1017 * config.gcc: Remove Cray Catamount/CNL support.
1018 * ../maintainer-scripts/gcc_release: Revert to trunk.
1019 * c-family/c-common.h: Define parse_optimize_options. Its definition
1020 was missed in a previous merge with the trunk.
1021 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1023 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1024 in addition to ARRAY_TYPE.
1025 * c-typeck.c: Remove an extra newline character.
1026 * varasm.c: Revert a fix that improved an error message
1027 when TLS common data is unimplemented.
1028 * varasm.c: Revert a gcc_assert that had been added which
1029 checked for a null DECL_SIZE_UNIT field.
1030 * emultls.c: Revert to trunk. Remove possible fix.
1031 * Makefile.in: Revert extra blank line that is present
1032 in the trunk version.
1033 * Makefile.in: Revert a fix that handled long shell
1034 argument lists for plugin headers.
1035 * config/ia64/ia64.opt: Revert an option setting
1036 that increased the default TLS address range.
1037 * config/ia64/crtbegin.asm: Revert to trunk.
1038 Removes an extra newline character.
1039 * ChangeLog.upc: Spell check.
1041 2011-05-03 Gary Funck <gary@intrepid.com>
1043 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1044 (c_apply_type_quals_to_decl): Ditto.
1045 * c-family/c-common.h: Ditto.
1047 * c-decl.c (merge_decls): Ditto.
1048 * c-typeck.c (qualify_type, default_conversion,
1049 build_component_ref, build_unary_op,
1050 c_build_qualified_type): Ditto.
1051 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1053 2011-04-29 Gary Funck <gary@intrepid.com>
1055 * c-decl.c (finish_decl): Improve error diagnostics.
1056 (grokdeclarator): Ditto.
1058 * c-typeck.c (build_c_cast): Improve error diagnostics.
1059 (convert_for_assignment): Ditto.
1060 (build_binary_op): Ditto.
1062 * c-parser.c (c_parser_upc_forall_statement):
1063 Improve error diagnostics.
1065 * convert.c (convert_to_integer): Improve error diagnostics.
1067 2011-04-24 Gary Funck <gary@intrepid.com>
1069 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1070 occurred if there is an error in the barrier id
1071 expression. Map error_mark_node into NULL.
1073 2011-04-22 Gary Funck <gary@intrepid.com>
1075 Merge trunk version 172873 into gupc branch.
1077 2011-04-19 Gary Funck <gary@intrepid.com>
1079 Merge trunk version 172359 into gupc branch.
1081 2011-04-14 Gary Funck <gary@intrepid.com>
1083 * c-family/c.opt: Add UPC as a valid language for various
1084 switches where it is valid for "C", that were not updated
1085 in previous merges with trunk.
1087 2011-04-13 Gary Funck <gary@intrepid.com>
1089 * c-family/c.opt (fupc-pre-include): New option definition.
1090 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1091 -fno-upc-pre-include is asserted.
1093 2011-04-07 Gary Funck <gary@intrepid.com>
1095 Merge trunk version 172158 into gupc branch.
1096 to bring in the following fix.
1098 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1101 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1102 if old and new states differ.
1104 2011-04-06 Gary Funck <gary@intrepid.com>
1106 Merge trunk version 171966 into gupc branch.
1108 2011-04-01 Gary Funck <gary@intrepid.com>
1110 * tree.h (tree_base): Move UPC flag bits into bit fields
1111 located just before spare bits. Decrement spare bits.
1112 Rename 'shared_flag' -> 'upc_shared_flag',
1113 'relaxed_flag' -> 'upc_relaxed_flag',
1114 'strict_flag' -> 'upc_strict_flag, and adjust macros
1115 that reference them accordingly.
1117 2011-04-01 Gary Funck <gary@intrepid.com>
1119 * c-decl.c (grokdeclarator): Fix formatting of
1120 code that sets UPC block size on scalars.
1122 2011-04-01 Gary Funck <gary@intrepid.com>
1124 * c-decl.c (grokdeclarator): Revert use of white space
1125 to match the trunk (to rationalize diffs).
1126 * c-typeck.c (convert_for_assignment): Ditto.
1127 * tree-ssa.c (useless_type_conversion_p): Ditto.
1129 2011-03-23 Gary Funck <gary@intrepid.com>
1131 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1132 the GCC 4.6 release branch.
1134 2011-03-21 Gary Funck <gary@intrepid.com>
1136 Merge trunk version 171202 into gupc branch.
1138 2011-03-20 Gary Funck <gary@intrepid.com>
1140 * varasm.c: Call error() directly with a format specifier,
1141 rather than using sprintf() to format the message.
1142 This should make it easier to internationalize UPC's error messages.
1144 2011-03-20 Gary Funck <gary@intrepid.com>
1146 * configure.ac: Fix the check for gnu ld when enabling
1147 UPC link script support.
1148 configure: Regenerate (also picks up changes from previous
1151 2011-03-20 Gary Funck <gary@intrepid.com>
1153 Move UPC start files, end files, and linker specs.
1154 into libupc. This reduces the impact on common GCC
1155 configuration files, and ensures that these UPC-specific
1156 components are only built when the UPC language dialect is selected.
1160 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1161 linker specs. Fix typo in -fupc-debug message.
1163 * config/upc-conf.h, config/darwin.h: Move defines for
1164 UPC-related section begins/ends into libupc/config/default/
1167 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1168 UPC-related linker compiler specifications,
1169 accessed via %:include().
1171 * configure.ac, configure: Remove logic related to building
1172 upc-crtbegin/end. Remove config. tests for numa and cpu
1173 affinity (previously used by the 'upc' driver); these
1174 settings are now propagated by target-specific compiler
1175 specs. built by libupc. Regenerate autoconf.
1177 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1178 linker compiler specifications, accessed via %:include().
1179 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1182 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1184 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1185 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1186 config/ia64/linux.h, config/mips/t-iris,
1187 config/mips/iris6.h: Revert to trunk version 167307.
1190 * configure, configure.ac, config.host, Makefile.in:
1191 Revert to trunk version 167307.
1193 2011-02-23 Gary Funck <gary@intrepid.com>
1195 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1196 removed negation on following 'if'.
1198 2011-02-22 Gary Funck <gary@intrepid.com>
1200 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1201 to check for the usage of certain deprecated UPC keywords.
1202 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1203 * c-tree.h (undeclared_variable): Define prototype.
1205 2011-02-12 Gary Funck <gary@intrepid.com>
1207 * c-typeck.c: (build_c_cast, convert_for_assignment)
1208 Diagnose an attempt to convert from an integer to
1209 a pointer-to-shared as an error. Also, fix various
1210 error messages so that they use the preferred term
1211 pointer-to-shared instead of "shared pointer".
1213 2011-02-07 Gary Funck <gary@intrepid.com>
1215 * c-typeck.c: (convert_for_assignment)
1216 Fix typo. in error message.
1218 2011-01-23 Gary Funck <gary@intrepid.com>
1220 * c-typeck.c: (c_build_qualified_type)
1221 derive UPC block size by calling upc_get_block_size(),
1222 to ensure that the element type of an array of an array
1223 is derived correctly.
1225 2010-12-29 Gary Funck <gary@intrepid.com>
1227 Merge trunk version 168314 into gupc branch.
1229 2010-12-15 Gary Funck <gary@intrepid.com>
1231 Merge trunk version 167307 into gupc branch.
1233 2010-10-19 Gary Funck <gary@intrepid.com>
1235 * c-typeck.c: Fix typo in previous fix
1236 which led to a mis-compare for equal block sizes.
1238 2010-10-18 Gary Funck <gary@intrepid.com>
1240 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1241 diagnosed as an error
1243 The conversion from any type (shared or not) to
1244 a shared type is likely either meaningless or an error. This update
1245 makes any conversion to a shared type, an error.
1247 2010-10-18 Gary Funck <gary@intrepid.com>
1249 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1250 generates spurious warning
1252 Add a #define procedure that does the same thing as
1253 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1254 this procedure to diagnose passing an integer value to a
1255 pointer-to-shared as an error.
1257 2010-10-18 Gary Funck <gary@intrepid.com>
1259 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1260 matching routine declaration.
1262 When checking for type compatibility, shared qualified types must
1263 have the same block factor. This check was missing from
1264 comptypes_internal(). This update adds the check for blocking
1267 2010-10-17 Gary Funck <gary@intrepid.com>
1269 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1272 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1274 2010-10-17 Gary Funck <gary@intrepid.com>
1276 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1277 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1278 produces ice with -O3 and -m32.
1280 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1282 2010-10-17 Gary Funck <gary@intrepid.com>
1284 * c-common.c: Diagnose the application of the various "*sizeof"
1285 operations on generic pointer-to-shared as a compilation error.
1287 2010-10-17 Gary Funck <gary@intrepid.com>
1289 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1290 message regarding a function parameter being declared with a shared
1293 The parameter's 'name' value is not defined at this point, and
1294 cannot be used in the error message. This update removes the
1295 reference to 'name', and eliminates the segfault.
1297 2010-10-16 Gary Funck <gary@intrepid.com>
1299 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1301 The gcc/Makefile.in rules for install-plugin had to be re-written to
1302 break up a long list of header files that exceeded the command line
1303 limitation imposed by Irix.
1305 Access functions for TFmode types had to be implemented.
1306 Apparently, this is the mode used for the SGI/MIPS port to represent
1309 2010-10-14 Gary Funck <gary@intrepid.com>
1311 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1312 via typedef chain should not be diagnosed as an error.
1314 If the block size that is given by the typedef is equal to the block
1315 size given explicitly in the variable declaration, then do not
1316 complain. The easiest way to make this check was to create a
1317 temporary type that is a clone of the element type and then set its
1318 block size using the given layout qualifier. Then compare the block
1319 size of the temporary (the declaration) to the block size specified
1320 in the typedef. This complexity is needed, because the '[*]' block
1321 size needs to be calculated, and the '[]' needs to be mapped into a
1324 2010-10-10 Gary Funck <gary@intrepid.com>
1326 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1329 The compiler properly detected the presence of two or more layout
1330 qualifiers as an error, but then hit an assertion check, because the
1331 code that followed the error expected to see a qualifier and not a
1332 layout specifier. The fix is simple: just return immediately after
1333 detecting the error.
1335 2010-10-10 Gary Funck <gary@intrepid.com>
1337 * c-decl.c: Improve error diagnostics for various cases of UPC
1338 shared array type declarations.
1340 Add the check for this error: "In the dynamic translation
1341 environment, THREADS may not appear in declarations of shared arrays
1342 with indefinite block size". Also, fix up a few of the other
1343 related error diagnostics.
1345 2010-10-09 Gary Funck <gary@intrepid.com>
1347 * c-common.c: Fix bug: segfault on incomplete array definition.
1349 This turned out to be a bit complicated. The logic in
1350 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1351 the THREADS identifier in the case where the blocking factor has
1352 been set to indefinite ([]). This can happen when indefinite array
1353 declarations are processed for shared arrays. At that time, the
1354 file scope has been closed and THREADS is no longer in scope. Some
1355 more work is needed on upc_lang_layout_decl(). It has some
1356 duplication, and notably duplicates the two branches of the if
1357 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1358 caller of this routine (layout_decl()).
1360 The method of forcing a layout qualifier of [] in the indefinite
1361 declaration handler is odd a well. The code that just does the
1362 setting of the block factor, needs to moved into its own routine
1363 that doesn't depend upon a declspec for '[]' to be passed in, just
1364 in order to set the blocking factor to some value (in this case, 0).
1365 Also, the logic for how that shared type is constructed is strange.
1366 First the type with 0 blocking factor is set. Then the shared
1367 qualifier is removed from the type, and then added back later. The
1368 intermediate type has a blocking factor set, but it has no shared
1369 qualifier. Fixing this will require some thought. It is tempting
1370 just to make indefinite shared arrays an error, rather than forcing
1371 the dimension to be '1'.
1373 This likely fixes a serious error in the previous update to
1374 upc_lang_layout_decl(), where it didn't have the logic to set
1375 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1376 the previous update would fail on many tests.
1378 2010-10-09 Gary Funck <gary@intrepid.com>
1380 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1381 (decl) is null, which can happen if some layout error occurred
1384 2010-10-09 Gary Funck <gary@intrepid.com>
1386 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1387 "variable-sized" when compiled in dynamic threads.
1389 This long-standing bug is easily fixed. Just check
1390 for the situation that the non-constant sized type is shared and
1391 that it does not have a dimension that references a multiple of
1392 threads. If this criteria is met, then issue a meaningful
1395 2010-10-01 Gary Funck <gary@intrepid.com>
1397 * configure, configure.ac: Update manual page, and bug reporting
1400 Update "man" page to reflect debugging switches. Also, some general
1401 clean up. Change the bug reporting URL to point to gccupc.org.
1403 2010-09-27 Gary Funck <gary@intrepid.com>
1405 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1406 the UPC forall depth count variable is not found.
1408 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1409 The compiler will generate code that references this variable in
1410 order to implement nested upc_forall semantics. If there is a
1411 compiler build or install problem, this variable may not be found.
1412 In this case, terminate with an internal_error().
1414 2010-09-26 Gary Funck <gary@intrepid.com>
1416 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1417 mis-diagnosed as syntax error.
1419 Fix a failure exhibited by the Berkeley test case,
1420 bug873a.upc, which has the code:
1422 upc_forall (;;;d) {...} The compiler did not properly handle
1423 the empty "condition" clause, and did not recover well when it was
1424 determined that the use of a double value, "d" above, was neither a
1425 pointer-to-shared nor an integer expression. The update implements a
1426 fix for both issues.
1428 See also: gcc/c-parser.c gcc/upc/upc-act.c
1430 2010-09-23 Gary Funck <gary@intrepid.com>
1432 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1433 incorporated into the referencing type.
1435 This was semi-fixed a few times before. This update fixes a few
1436 more places where the layout qualifier wasn't being propagated
1437 through typedef's properly. What made this a bit tricky is shown in
1438 the example cited in the bug report:
1440 typedef shared [5] int A_t; A_t A[5*THREADS];
1442 In the typedef, the blocksize is being applied to a shared *scalar*,
1443 and the code was applying the blocksize only to arrays. This update
1444 handles shared scalars correctly.
1446 2010-09-22 Gary Funck <gary@intrepid.com>
1448 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1449 upc_forall() semantics are not implemented
1451 The checkforall test in the Berkeley harness test suite indicated
1452 that GCC/UPC was not properly implementing nested upc_forall
1453 semantics. Nested upc_forall statements (both statically or
1454 dynamically nested) must implement their affinity clause as if it
1455 were "continue"; thus all steps in the loop must execute without
1456 regard for affinity. To implement these semantics a global depth
1457 counter, __upc_forall_depth, is maintained by the generated code
1458 that implements upc_forall.
1460 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1461 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1462 libupc/include/upc.h libupc/smp/upc_main.c
1464 2010-09-19 Gary Funck <gary@intrepid.com>
1466 * c-decl.c: c-decl.c: zero out the layout specifier, after
1467 processing an array type.
1469 Fix the previous fix, that moved the setting of the type's layout
1470 qualifier to the outside of the array type processing loop. What is
1471 missing from the fix is that the layout_qualifier variable needs to
1472 be cleared after setting the type's blocksize.
1474 2010-09-19 Gary Funck <gary@intrepid.com>
1476 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1477 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1479 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1480 the actual maximum block size. Therefore, the message was correct,
1481 but the underlying value that was being checked was wrong. Change
1482 the values so that they agree with the actual implementation-defined
1485 2010-09-11 Gary Funck <gary@intrepid.com>
1487 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1488 multi-dimensional shared array with dynamic threads.
1490 This declaration caused an internal compiler error when compiled
1491 with dynamic threads:
1492 shared [*] int A[THREADS][16]; The bug was discovered when
1493 compiling the RTED_UPC test suite.
1495 The fix is to process layout qualifiers after the entire array type
1496 has been built. Otherwise, we try to calculate the blocksize on a
1497 shared array type that has not had its "size depends upon the value
1498 of THREADS" flag set.
1500 Also, added a test case.
1502 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1504 2010-07-11 Gary Funck <gary@intrepid.com>
1506 Fix a bug where a statement in c_build_qualified_type()
1507 in the trunk had been inadvertently deleted.
1508 This bug showed up in the IA64 port, because jmpbuf's
1509 on that architecture must be 16 byte aligned, and they were not.
1510 c-typeck.c (c_build_qualified_type): Revive the deleted line.
1512 2010-07-08 Gary Funck <gary@intrepid.com>
1514 Make changes so that other language compilers
1515 will build and bootstrap.
1516 * c-family/c-common.c (compiling_upc, flag_upc,
1517 flag_upc_instrument, flag_upc_instrument_functions,
1518 use_upc_dwarf2_extensions): Move to stub-upc.c and
1520 * c-family/c-common.h (use_upc_dwarf2_extensions,
1521 compiling_upc): Add extern definitions - needed
1522 to compile/build other language front ends.
1523 * c-family/c.opt: Fix the spelling of ObjC.
1524 It had been incorrectly spelled as Objc.
1525 * c-family/c.opt: Add UPC for the various switches
1526 that are valid for both C and ObjC.
1527 * c-fmaily/c-opts.c: Add CL_UPC to the list of
1528 supported options switches when compiling assembly
1530 * lto/lto-lang.c (use_upc_dwarf2_extensions,
1531 flag_upc_instrument, flag_upc_instrument_functions):
1532 Remove these definitions. They have been moved
1533 to c-family/stub-upc.c.
1534 * upc/ChangeLog: Move relevant entries
1536 * c-family/stub-upc.c (compiling_upc, flag_upc,
1537 flag_upc_instrument, flag_upc_instrument_functions,
1538 use_upc_dwarf2_extensions): Moved from c-common.c
1539 * upc/upc-lang.c (compiling_upc, flag_upc,
1540 flag_upc_instrument, flag_upc_instrument_functions,
1541 use_upc_dwarf2_extensions): Moved from c-common.c
1542 * objc/objc-act.c (objc_gimplify_expr): Add additional
1543 parameters to c_gimplify_expr() call, that are used
1544 by upc's tree rewrites.
1545 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1546 * gcc/cp/lex.c (init_reswords): If not compiling
1547 UPC, then mask off the UPC keywords.
1548 * cp/Make-lang.in (C_STUB_OBJS): Use this
1549 make macro to link with c-family/stub-objc.o
1550 and c-family/stub-upc.o.
1551 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1552 * java/Make-lang.in (C_STUB_OBJS): Likewise.
1553 * objc/Make-lang.in: Link with c-family/stub-upc.o
1554 to avoid undefined references.
1555 c-parser.c: Fix line indentation.
1556 * libcpp/include/cpplib.h: Remove CL_UPC from
1557 the list of language kinds accepted by the
1558 C preprocessor. This is not necessary because
1559 UPC is a derivative of C99, and does not need
1560 a different language kind.
1561 * c-fmaily/c-opts.c (c_common_handle_option):
1562 Call set_std_c99() when processing the
1563 "--lang upc" switch, instead of setting the
1564 language kind to CL_UPC.
1565 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1567 2010-07-03 Gary Funck <gary@intrepid.com>
1569 Merge trunk version 161517 into gupc branch.
1570 * gcc/stub-upc.c: Move to gcc/c-family/.
1571 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1572 Add 'unused' attributes to avoid "set, but
1573 not referenced" warnings.
1574 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1577 2010-03-01 Gary Funck <gary@intrepid.com>
1579 Create gupc branch from trunk version 157149.
1580 2011-10-04 Gary Funck <gary@intrepid.com>
1582 Merge trunk version 179421 into gupc branch.
1584 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1585 argument to the call to check_qualified_type().
1587 2011-09-22 Gary Funck <gary@intrepid.com>
1589 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1591 (dump_upc_type_quals): New.
1593 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1595 Add to FLAGS the flags needed to disable inlining of
1596 UPC run-time access routines.
1597 * testsuite/lib/target-supports.exp
1598 (add_options_for_upc_library_calls): New.
1600 2011-09-15 Gary Funck <gary@intrepid.com>
1602 Fix ICE involving shared bit field accesses.
1603 * tree.c (build3_stat): Propagate TEEE_SHARED()
1604 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1606 2011-09-13 Gary Funck <gary@intrepid.com>
1608 Merge trunk version 178795 into gupc branch.
1609 Incorporates fix to PR bootstrap/50010 for x86-32.
1611 2011-09-08 Gary Funck <gary@intrepid.com>
1613 Merge trunk version 178557 into gupc branch.
1615 2011-09-07 Gary Funck <gary@intrepid.com>
1617 Ensure that UPC pointer-to-shared type alignment is
1618 propagated to the final type. Revert to long-standing
1619 alignment policy: twice the size of a "C" pointer.
1620 * tree.c (build_pointer_type): Propagate the alignment
1621 of the UPC pointer-to-shared representation type
1622 into the newly built pointer type.
1624 2011-08-30 Gary Funck <gary@intrepid.com>
1626 * tree.h (check_qualified_type): Change 'const_tree'
1627 argument types back to 'tree' to avoid complaints
1628 of assignment drops qualifiers for invocations of the
1629 newly implemented TYPE_BLOCK_FACTOR() macro, which
1630 invokes hash functions with 'tree' pointer values that
1631 are not const qualified.
1632 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1633 * c-typeck.c (comptypes_internal): Ditto.
1635 2011-08-29 Gary Funck <gary@intrepid.com>
1637 Fixes for regressions noted running "make check"
1639 * fold-const.c (fold_unary_loc): Execute UPC-specific
1640 checks for a cast-of-a-cast, only if one of the
1641 operands is a UPC pointer-to-shared value.
1642 * opts.c (print_specific_help): Fix a comparison
1643 in an assert that checks that there are enough
1644 bits reserved for the number of languages defined
1647 2011-08-29 Gary Funck <gary@intrepid.com>
1649 Implement a hash table to record UPC block factors.
1650 * c-family/stub-upc.c (upc_block_factor_insert,
1651 upc_block_factor_lookup): New dummy stub procedures.
1652 * c-family/c-common.c (c_sizeof_or_alignof_type):
1653 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1654 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1655 to copy (hashed) UPC blocking factor.
1656 (set_type_quals): Likewise.
1657 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1658 TYPE_HAS_THREADS_FACTOR().
1659 (type_common.block_factor): Delete.
1660 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1661 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1662 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1663 UPC blocking factors greater than one.
1664 * dwarf2out.c (modified_type_die): Re-implement
1665 logic that records UPC blocking factor in the generated
1666 DWARF2 debugging information.
1667 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1668 TYPE_HAS_THREADS_FACTOR().
1669 * c-decl.c (finish_decl, grokdeclarator):
1670 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1671 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1672 used by UPC, and print UPC-specific information.
1674 2011-08-28 Gary Funck <gary@intrepid.com>
1676 Re-work the type machinery to fully support and to unify support
1677 for the UPC layout qualifier (blocking factor).
1678 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1679 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1680 and update prototype.
1681 * c-family/c-common.c (complete_array_type): call newly
1682 defined c_build_qualified_type_1() instead of
1683 upc_set_block_factor().
1684 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1685 upc_apply_layout_qualifier() and update prototype.
1686 (upc_set_block_factor): Delete prototype.
1687 * c-family/c-common.h (c_build_qualified_type): redefine
1688 as a pre-processor macro that invokes c_build_qualified_type_1()
1689 with a null UPC layout qualifier.
1690 (c_build_qualified_type_1): New. Add layout qualifier argument
1691 to old c_build_qualified_type() prototype.
1692 * tree.c (set_type_quals, check_qualified_type):
1693 Add layout qualifier as argument.
1694 (check_aligned_type): Add check for UPC block factor equality.
1695 (get_qualified_type_1): Rename from get_qualified_type() and
1696 add layout qualifier as argument.
1697 (build_qualified_type_1): Rename from build_qualified_type() and
1698 add layout qualifier as argument.
1699 * tree.h (check_qualified_type): Add layout qualifier as argument
1701 (get_qualified_type): Re-define as a as a pre-processor macro
1702 that invokes get_qualified_type_1() with a null
1703 UPC layout qualifier.
1704 (get_qualified_type_1): Rename from get_qualified_type() and
1705 add layout qualifier as argument.
1706 * cp/tree.c (c_build_qualified_type_1): Rename from
1707 c_build_qualified_type() and add (unused) layout qualifier
1709 * c-decl.c (finish_decl): re-format long error messages.
1710 (grokdeclarator): Re-work the logic so that it calls
1711 upc_grok_layout_qualifier() to handle the UPC layout
1712 qualifier, if present.
1713 * c-typeck.c (qualify_type, common_pointer_type,
1714 build_component_ref): Re-work the logic so that it calls
1715 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1717 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1718 and add layout qualifier argument.
1719 * print_tree.c (print_node): Re-format a long line.
1721 2011-08-26 Gary Funck <gary@intrepid.com>
1723 Merge trunk version 177949 into gupc branch.
1724 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1726 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1727 to add new rliterals column value.
1729 2011-08-26 Gary Funck <gary@intrepid.com>
1731 * convert.c (convert_to_integer): Fix the check for the
1732 difference between two UPC pointers-to-shared values.
1734 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1736 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1737 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1738 correctly check packed bits.
1739 * configure: Re-generate.
1741 2011-08-16 Gary Funck <gary@intrepid.com>
1743 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1744 the barrier id expression is not an integer expression.
1746 2011-08-12 Gary Funck <gary@intrepid.com>
1748 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1750 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1751 Set mode of UPC pointer-to-shared rep. to an
1752 integral mode of size at least as large as the
1753 size of the representation's struct type.
1755 2011-08-12 Gary Funck <gary@intrepid.com>
1757 Rework/simplify the UPC genericize pass.
1758 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1759 upc_build_pointer_type): New.
1760 (upc_set_block_factor): Adjust to new calling sequence.
1761 (upc_build_shared_var_addr): Delete.
1762 * c-family/c-common.c (complete_array_type): Adjust call
1763 to upc_set_block_factor().
1764 * c-family/c-upc.h (upc_apply_layout_qualifier,
1765 upc_build_pointer_type): New.
1766 (upc_build_shared_var_addr): Delete.
1767 (upc_set_block_factor): Adjust to new calling sequence.
1768 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1769 * c-decl.c (grokdeclarator): Call newly defined
1770 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1771 * c-decl.c (grokdeclarator): Split long UPC-related error
1772 messages into two lines.
1773 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1774 directly. Revert that change to trunk. (upc_genericize() will
1775 handle lowering the expressions that take the address of a
1777 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1778 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1779 representation type.
1781 2011-08-10 Gary Funck <gary@intrepid.com>
1783 Implement additional fixes for recent merge with trunk.
1784 * explow.c (promote_mode): Do not attempt to promote
1785 the mode for UPC pointer-to-shared types.
1786 * config/i386/i386.c (function_value_64): Ditto.
1788 2011-08-07 Gary Funck <gary@intrepid.com>
1790 Merge trunk version 177548 into gupc branch.
1791 * config/i386/i386.c (ix86_promote_function_mode):
1792 Do not promote UPC pointers-to-shared to Pmode.
1793 * c-family/c-ommon.c (pointer_int_sum):
1794 Also check the pointer operand, rather than just
1795 its type, when making the decision to derive
1796 the equivalent unshared type.
1797 * tree.c (build2_stat): If the type of the result
1798 passed in as an argument is a UPC shared type,
1799 derive the unshared equivalent when calculating
1800 the result type of the node.
1802 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
1804 * config/darwin.c: Disable var_tracking option
1805 on -O0 as it is supposed to run only when optimization
1806 is applied. See GCC bug 49743.
1808 2011-07-06 Gary Funck <gary@intrepid.com>
1810 Re-implement the pass that lowers trees generated by
1811 the UPC front-end into GENERIC. Previously this was
1812 done within the gimplification framework, but this
1813 required that gimplification be run before inlining
1814 and various other passes, which did not fit in well
1815 with the current design of the middle-end passes.
1816 Now, the lowering is done by a newly defined language
1817 specific genericize hook. With this change, we are
1818 are able to undo some extensions made to the gimplify
1819 logic, and thus can revert several files to trunk.
1821 * c-decl.c: Add a check for UPC deprecated names which
1822 may appear as undefined function names.
1823 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1824 LTI_upc_getaddr): Remove definitions of unused UPC
1825 library function names. These were defined back when
1826 the libfunc interface was used to call these routines.
1827 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1828 in UPC lowering (genericize) pass.
1829 * langhooks.h (gimplify_expr): Revert to trunk's definition.
1830 (instrument_func): Delete this hook. Now handled in
1832 * tree-pass.h: Revert to trunk.
1833 * c-typeck.c (build_unary_op): Adjust reference to
1834 upc_genericize() in a comment.
1835 * gimplify.c (create_tmp_var_raw): Delete logic that
1836 was converting UPC shared types into unshared types
1837 to be used for temporaries. Now handled in upc_genericize().
1838 Replace with an assertion check.
1839 (prepare_gimple_addressable): Revert to trunk's definition.
1840 No longer needed as an externally called function.
1841 (flag_instrument_functions_exclude_p): Re-define as
1842 an externally called function.
1843 (gimplify_function_tree): Delete code that implemented
1844 call to UPC's language specific function instrumentation hook.
1845 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1846 (prepare_gimple_addressable): Delete extern definition;
1847 revert to trunk's definition.
1848 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1849 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1850 * c-family/c-gimplify.c: Revert to trunk.
1851 * cp/cp-gimplify.c: Revert to trunk.
1852 * cp/cp-tree.h: Revert to trunk.
1853 * explow.c: Revert to trunk.
1854 * langhooks.c: Revert to trunk.
1855 * libfuncs.h: Revert to trunk.
1856 * objc/objc-act.c: Revert to trunk.
1858 2011-06-30 Gary Funck <gary@intrepid.com>
1860 * c-family/c.opt: Bring options definitions up-to-date
1861 with respect to changes made in the trunk.
1863 2011-06-29 Gary Funck <gary@intrepid.com>
1865 Merge trunk version 175584 into gupc branch.
1867 2011-06-13 Gary Funck <gary@intrepid.com>
1870 * include/cpplib.h (enum c_lang):
1871 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1872 This keeps all the "C" variants together.
1873 * init.c (lang_defaults): Add an entry for UPC.
1875 2011-06-09 Gary Funck <gary@intrepid.com>
1877 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1878 a 32-bit target, the size expression overflowed, the result was
1879 error_mark_node, and an ICE was triggered on an attempt to evaluate
1880 C_TYPE_VARIABLE_SIZE() on the error node.
1881 (upc_blocksizeof_expr, upc_blocksizeof_type,
1882 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1883 Make similar changes to avoid further processing of error_mark_node.
1885 2011-06-07 Gary Funck <gary@intrepid.com>
1887 * sel-sched.c (move_op): Incorporate the following
1888 patch to eliminate ICE at -O3 on IA64/Altix.
1890 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
1892 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
1893 code_motion_path_driver returned 0 or 1.
1894 (sel_region_finish): Clear h_d_i_d.
1896 2011-06-02 Gary Funck <gary@intrepid.com>
1898 Merge trunk version 174558 into gupc branch.
1900 2011-05-30 Gary Funck <gary@intrepid.com>
1902 * configure.ac: Make the default order of the virtual
1903 address field in a UPC pointer-to-shared to be "first".
1904 This reverts to the previous setting, and is a short term
1905 measure to work around a bug found on the IA64,
1906 where vaddr=last led to incorrect code generation.
1907 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1908 in AC_DEFINE(), to agree with recent changes in files
1909 that reference this define.
1910 configure, config.in: Regenerate.
1912 2011-05-26 Gary Funck <gary@intrepid.com>
1914 * configure.ac: Fix typo when referring to $upc_vaddr_order.
1915 configure: Regenerate.
1917 * ../fixincludes/fixincl.x: Revert to trunk.
1918 This file is auto-generated, and should not be merged.
1920 2011-05-18 Gary Funck <gary@intrepid.com>
1922 Merge trunk version 173845 into gupc branch.
1924 2011-05-17 Gary Funck <gary@intrepid.com>
1926 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1927 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1929 * c-family/c-pragma.c: Remove conditional compilation
1930 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1931 Test 'compiling_upc' when compiling to determine if
1932 the "upc" and "pupc" pragmas should be registered.
1934 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1935 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1936 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1937 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1938 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1939 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1940 Move these target-dependent definitions from config/upc-conf.h
1943 * configure.ac: Improve the logic for UPC-related options.
1944 Delete references to pre-processor definitions that have
1945 been moved to "upc/upc-pts.h".
1947 * configure, config.in: Regenerate.
1949 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1950 to trunk. This substitution variable was used to
1951 configure the representation-specific versions of
1952 the tree rewrites that operate on UPC pointer-to-shared
1955 * c-parser.c (c_parser_upc_forall_statement): Remove
1956 reference to UPC_FORALL_DEPTH_NAME, and call
1957 newly defined upc_rts_forall_depth_var() instead.
1959 * config/upc-config.h: Delete. Various definitions
1960 moved to "upc/upc-rts-names.h", "defaults.h", and
1963 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1964 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1965 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1966 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1967 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1968 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1969 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1970 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1971 New. Document UPC target macros.
1972 doc/tm.texi: Regenerate.
1974 2011-05-07 Gary Funck <gary@intrepid.com>
1976 * ../configure.ac: Disable build of libupc
1977 on non POSIX hosted systems. Use AS_HELP_STRING
1978 to define messages. Remove 'word-pair' as a
1979 possible --with-upc-pts UPC pointer-to-shared
1982 * ../configure: Regenerate.
1984 * configure.ac: Use AS_HELP_STRING to define messages.
1985 Remove 'word-pair' as a possible --with-upc-pts
1986 UPC pointer-to-shared representation.
1987 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1988 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1990 * configure: Regenerate.
1992 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1995 * ChangeLog.upc: Fix some typos.
1997 2011-05-07 Gary Funck <gary@intrepid.com>
1999 * ../maintainer-scripts/gcc_release: Add "upc"
2000 as one of the released languages.
2002 2011-05-06 Gary Funck <gary@intrepid.com>
2004 Eliminate compilation warnings, by fixing
2005 #include's and updating function prototypes.
2007 * c-family/c-cppbuiltin.c: Include c-upc.h.
2009 * optabs.c (gen_libfunc): Change type of 'suffix'
2010 parameter to conform with prototype.
2012 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2013 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2016 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2019 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2020 argument values to cp_gimplify_expr.
2022 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2023 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
2024 pre-processor definitions that are no longer
2025 needed to build the 'upc' command (upc-cmd.c)
2026 because the linker specs. defined in libupc
2027 take care of linking in the needed libraries.
2029 * c-parser.c (c_parser_upc_forall_statement):
2030 initialize affinity_loc to avoid "maybe unused" warning.
2031 (c_parser_upc_sync_statement): Remove un-needed
2032 'ret' variable. Cast return value from
2033 'upc_build_sync_stmt' to 'void' to avoid
2034 compile-time warning.
2036 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2037 integer constant, not a string. Range is restricted
2038 to maximum positive 32-bit integer (2+ billion) to
2039 fit in with the use of 'int' in the front-end's
2040 switch handling logic.
2042 2011-05-06 Gary Funck <gary@intrepid.com>
2044 Upgrade c-family source files to conform with modularity
2045 improvements. Mainly, remove #include of c-tree.h in files
2046 under c-family, and define a new UPC-specific #include file,
2047 c-upc.h, and use it.
2049 * c-family/stub-upc.c: Remove #include of c-tree.h and
2050 upc/upc-act.h. Replace with #include of c-common.h
2052 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2053 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2054 upc_localsizeof_expr, upc_localsizeof_type,
2055 upc_shared_type_p): Delete.
2057 * c-family/c-opts.c: Add #include of c-upc.h
2059 * c-family/c-common.c: Remove #include of c-tree.h and
2060 add #include of c-upc.h.
2062 * c-family/c-upc.h: New. Define API for UPC-specific functions
2063 (mostly implemented in upc/upc-act.c).
2065 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2066 Remove extern definitions.
2068 * c-family/c-pragma.c: Remove #include of c-tree.h.
2069 Add #include of c-upc.h.
2071 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2073 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2074 upc/upc-act.c, and define as a macro.
2075 (expand_affinity_test): Remove unused external definition.
2076 (build_upc_unshared_type): Add external definition.
2077 (upc_shared_type_p): Remove external definition.
2079 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2081 * dojump.c: Remove #include of c-tree.h.
2083 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2085 (count_upc_threads_refs, is_multiple_of_upc_threads,
2086 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2087 upc_build_shared_var_addr, upc_build_sync_stmt,
2088 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2089 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2090 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2091 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2092 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2093 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2094 set_upc_consistency_mode, get_upc_consistency_mode,
2095 push_upc_consistency_mode, pop_upc_consistency_mode,
2097 Move external definitions to c-family/c-upc.h.
2098 (upc_blocksizeof_type, upc_localsizeof_type,
2099 upc_elemsizeof_type): Remove external definitions;
2100 these functions were moved to c-parser.c.
2102 * c-decl.c: Add #include of c-upc.h.
2104 * c-typeck.c: Add #include of c-upc.h.
2106 * c-convert.c: Add #include of c-upc.h.
2108 * ChangeLog.upc: Fix typo.
2110 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2111 there is a reference to c-family/c-objc.h.
2112 Remove extraneous reference to upc-act.h.
2114 * c-parser.c: Add #include of c-upc.h.
2115 (upc_blocksizeof_expr, upc_blocksizeof_type,
2116 upc_elemsizeof_expr, upc_elemsizeof_type,
2117 upc_localsizeof_expr, upc_localsizeof_type):
2118 Move from upc/upc-act.c.
2120 * tree.c (build_upc_unshared_type): New.
2121 Move upc_get_unshared_type from upc/upc-act.c and rename
2122 to build_upc_unshared_type.
2123 c-family/c-common.c (pointer_int_sum): refer to renamed
2124 build_upc_unshared_type function.
2125 c-convert.c (convert): Ditto.
2126 convert.c (convert_to_pointer): Ditto.
2127 c-typeck.c (build_unary_op, build_modify_expr,
2128 really_start_incremental_init): Ditto.
2129 gimplify.c (create_tmp_var_raw): Ditto.
2130 tree.c (build1_stat): Ditto.
2131 tree.h (upc_get_unshared_type): Rename to
2132 build_upc_unshared_type.
2134 2011-05-06 Gary Funck <gary@intrepid.com>
2136 Merge trunk version 173471 into gupc branch.
2138 2011-05-05 Gary Funck <gary@intrepid.com>
2140 Make changes that bring the GUPC branch more closely in sync.
2141 with the GCC trunk. Revert any fixes that are not UPC-specific.
2142 Remove gratuitous re-formatting.
2144 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2145 This file should have been removed in a previous merge
2147 * ../configure.ac: Remove Cray Catamount/CNL support.
2148 * ../configure: Regenerate.
2149 * ../config.sub: Remove Cray Catamount/CNL support.
2150 * config.gcc: Remove Cray Catamount/CNL support.
2151 * ../maintainer-scripts/gcc_release: Revert to trunk.
2152 * c-family/c-common.h: Define parse_optimize_options. Its definition
2153 was missed in a previous merge with the trunk.
2154 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2156 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2157 in addition to ARRAY_TYPE.
2158 * c-typeck.c: Remove an extra newline character.
2159 * varasm.c: Revert a fix that improved an error message
2160 when TLS common data is unimplemented.
2161 * varasm.c: Revert a gcc_assert that had been added which
2162 checked for a null DECL_SIZE_UNIT field.
2163 * emultls.c: Revert to trunk. Remove possible fix.
2164 * Makefile.in: Revert extra blank line that is present
2165 in the trunk version.
2166 * Makefile.in: Revert a fix that handled long shell
2167 argument lists for plugin headers.
2168 * config/ia64/ia64.opt: Revert an option setting
2169 that increased the default TLS address range.
2170 * config/ia64/crtbegin.asm: Revert to trunk.
2171 Removes an extra newline character.
2172 * ChangeLog.upc: Spell check.
2174 2011-05-03 Gary Funck <gary@intrepid.com>
2176 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2177 (c_apply_type_quals_to_decl): Ditto.
2178 * c-family/c-common.h: Ditto.
2180 * c-decl.c (merge_decls): Ditto.
2181 * c-typeck.c (qualify_type, default_conversion,
2182 build_component_ref, build_unary_op,
2183 c_build_qualified_type): Ditto.
2184 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2186 2011-04-29 Gary Funck <gary@intrepid.com>
2188 * c-decl.c (finish_decl): Improve error diagnostics.
2189 (grokdeclarator): Ditto.
2191 * c-typeck.c (build_c_cast): Improve error diagnostics.
2192 (convert_for_assignment): Ditto.
2193 (build_binary_op): Ditto.
2195 * c-parser.c (c_parser_upc_forall_statement):
2196 Improve error diagnostics.
2198 * convert.c (convert_to_integer): Improve error diagnostics.
2200 2011-04-24 Gary Funck <gary@intrepid.com>
2202 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2203 occurred if there is an error in the barrier id
2204 expression. Map error_mark_node into NULL.
2206 2011-04-22 Gary Funck <gary@intrepid.com>
2208 Merge trunk version 172873 into gupc branch.
2210 2011-04-19 Gary Funck <gary@intrepid.com>
2212 Merge trunk version 172359 into gupc branch.
2214 2011-04-14 Gary Funck <gary@intrepid.com>
2216 * c-family/c.opt: Add UPC as a valid language for various
2217 switches where it is valid for "C", that were not updated
2218 in previous merges with trunk.
2220 2011-04-13 Gary Funck <gary@intrepid.com>
2222 * c-family/c.opt (fupc-pre-include): New option definition.
2223 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2224 -fno-upc-pre-include is asserted.
2226 2011-04-07 Gary Funck <gary@intrepid.com>
2228 Merge trunk version 172158 into gupc branch.
2229 to bring in the following fix.
2231 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2234 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2235 if old and new states differ.
2237 2011-04-06 Gary Funck <gary@intrepid.com>
2239 Merge trunk version 171966 into gupc branch.
2241 2011-04-01 Gary Funck <gary@intrepid.com>
2243 * tree.h (tree_base): Move UPC flag bits into bit fields
2244 located just before spare bits. Decrement spare bits.
2245 Rename 'shared_flag' -> 'upc_shared_flag',
2246 'relaxed_flag' -> 'upc_relaxed_flag',
2247 'strict_flag' -> 'upc_strict_flag, and adjust macros
2248 that reference them accordingly.
2250 2011-04-01 Gary Funck <gary@intrepid.com>
2252 * c-decl.c (grokdeclarator): Fix formatting of
2253 code that sets UPC block size on scalars.
2255 2011-04-01 Gary Funck <gary@intrepid.com>
2257 * c-decl.c (grokdeclarator): Revert use of white space
2258 to match the trunk (to rationalize diffs).
2259 * c-typeck.c (convert_for_assignment): Ditto.
2260 * tree-ssa.c (useless_type_conversion_p): Ditto.
2262 2011-03-23 Gary Funck <gary@intrepid.com>
2264 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2265 the GCC 4.6 release branch.
2267 2011-03-21 Gary Funck <gary@intrepid.com>
2269 Merge trunk version 171202 into gupc branch.
2271 2011-03-20 Gary Funck <gary@intrepid.com>
2273 * varasm.c: Call error() directly with a format specifier,
2274 rather than using sprintf() to format the message.
2275 This should make it easier to internationalize UPC's error messages.
2277 2011-03-20 Gary Funck <gary@intrepid.com>
2279 * configure.ac: Fix the check for gnu ld when enabling
2280 UPC link script support.
2281 configure: Regenerate (also picks up changes from previous
2284 2011-03-20 Gary Funck <gary@intrepid.com>
2286 Move UPC start files, end files, and linker specs.
2287 into libupc. This reduces the impact on common GCC
2288 configuration files, and ensures that these UPC-specific
2289 components are only built when the UPC language dialect is selected.
2292 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2293 linker specs. Fix typo in -fupc-debug message.
2295 * config/upc-conf.h, config/darwin.h: Move defines for
2296 UPC-related section begins/ends into libupc/config/default/
2299 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2300 UPC-related linker compiler specifications,
2301 accessed via %:include().
2303 * configure.ac, configure: Remove logic related to building
2304 upc-crtbegin/end. Remove config. tests for numa and cpu
2305 affinity (previously used by the 'upc' driver); these
2306 settings are now propagated by target-specific compiler
2307 specs. built by libupc. Regenerate autoconf.
2309 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2310 linker compiler specifications, accessed via %:include().
2311 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2314 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2316 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2317 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2318 config/ia64/linux.h, config/mips/t-iris,
2319 config/mips/iris6.h: Revert to trunk version 167307.
2322 * configure, configure.ac, config.host, Makefile.in:
2323 Revert to trunk version 167307.
2325 2011-02-23 Gary Funck <gary@intrepid.com>
2327 * c-decl.c (undeclared_variable): fix typo. Inadvertently
2328 removed negation on following 'if'.
2330 2011-02-22 Gary Funck <gary@intrepid.com>
2332 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2333 to check for the usage of certain deprecated UPC keywords.
2334 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2335 * c-tree.h (undeclared_variable): Define prototype.
2337 2011-02-12 Gary Funck <gary@intrepid.com>
2339 * c-typeck.c: (build_c_cast, convert_for_assignment)
2340 Diagnose an attempt to convert from an integer to
2341 a pointer-to-shared as an error. Also, fix various
2342 error messages so that they use the preferred term
2343 pointer-to-shared instead of "shared pointer".
2345 2011-02-07 Gary Funck <gary@intrepid.com>
2347 * c-typeck.c: (convert_for_assignment)
2348 Fix typo. in error message.
2350 2011-01-23 Gary Funck <gary@intrepid.com>
2352 * c-typeck.c: (c_build_qualified_type)
2353 derive UPC block size by calling upc_get_block_size(),
2354 to ensure that the element type of an array of an array
2355 is derived correctly.
2357 2010-12-29 Gary Funck <gary@intrepid.com>
2359 Merge trunk version 168314 into gupc branch.
2361 2010-12-15 Gary Funck <gary@intrepid.com>
2363 Merge trunk version 167307 into gupc branch.
2365 2010-10-19 Gary Funck <gary@intrepid.com>
2367 * c-typeck.c: Fix typo in previous fix
2368 which led to a mis-compare for equal block sizes.
2370 2010-10-18 Gary Funck <gary@intrepid.com>
2372 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2373 diagnosed as an error
2375 The conversion from any type (shared or not) to
2376 a shared type is likely either meaningless or an error. This update
2377 makes any conversion to a shared type, an error.
2379 2010-10-18 Gary Funck <gary@intrepid.com>
2381 * c-typeck.c: Fix bug: passing int to shared pointer arg.
2382 generates spurious warning
2384 Add a #define procedure that does the same thing as
2385 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
2386 this procedure to diagnose passing an integer value to a
2387 pointer-to-shared as an error.
2389 2010-10-18 Gary Funck <gary@intrepid.com>
2391 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2392 matching routine declaration.
2394 When checking for type compatibility, shared qualified types must
2395 have the same block factor. This check was missing from
2396 comptypes_internal(). This update adds the check for blocking
2399 2010-10-17 Gary Funck <gary@intrepid.com>
2401 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2404 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2406 2010-10-17 Gary Funck <gary@intrepid.com>
2408 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2409 45869 - [4.5/4.6 Regression] type mismatch in shift expression
2410 produces ice with -O3 and -m32.
2412 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2414 2010-10-17 Gary Funck <gary@intrepid.com>
2416 * c-common.c: Diagnose the application of the various "*sizeof"
2417 operations on generic pointer-to-shared as a compilation error.
2419 2010-10-17 Gary Funck <gary@intrepid.com>
2421 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2422 message regarding a function parameter being declared with a shared
2425 The parameter's 'name' value is not defined at this point, and
2426 cannot be used in the error message. This update removes the
2427 reference to 'name', and eliminates the segfault.
2429 2010-10-16 Gary Funck <gary@intrepid.com>
2431 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2433 The gcc/Makefile.in rules for install-plugin had to be re-written to
2434 break up a long list of header files that exceeded the command line
2435 limitation imposed by Irix.
2437 Access functions for TFmode types had to be implemented.
2438 Apparently, this is the mode used for the SGI/MIPS port to represent
2441 2010-10-14 Gary Funck <gary@intrepid.com>
2443 * c-decl.c: Fix bug: Multiple equal blocking factors specified
2444 via typedef chain should not be diagnosed as an error.
2446 If the block size that is given by the typedef is equal to the block
2447 size given explicitly in the variable declaration, then do not
2448 complain. The easiest way to make this check was to create a
2449 temporary type that is a clone of the element type and then set its
2450 block size using the given layout qualifier. Then compare the block
2451 size of the temporary (the declaration) to the block size specified
2452 in the typedef. This complexity is needed, because the '[*]' block
2453 size needs to be calculated, and the '[]' needs to be mapped into a
2456 2010-10-10 Gary Funck <gary@intrepid.com>
2458 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2461 The compiler properly detected the presence of two or more layout
2462 qualifiers as an error, but then hit an assertion check, because the
2463 code that followed the error expected to see a qualifier and not a
2464 layout specifier. The fix is simple: just return immediately after
2465 detecting the error.
2467 2010-10-10 Gary Funck <gary@intrepid.com>
2469 * c-decl.c: Improve error diagnostics for various cases of UPC
2470 shared array type declarations.
2472 Add the check for this error: "In the dynamic translation
2473 environment, THREADS may not appear in declarations of shared arrays
2474 with indefinite block size". Also, fix up a few of the other
2475 related error diagnostics.
2477 2010-10-09 Gary Funck <gary@intrepid.com>
2479 * c-common.c: Fix bug: segfault on incomplete array definition.
2481 This turned out to be a bit complicated. The logic in
2482 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2483 the THREADS identifier in the case where the blocking factor has
2484 been set to indefinite ([]). This can happen when indefinite array
2485 declarations are processed for shared arrays. At that time, the
2486 file scope has been closed and THREADS is no longer in scope. Some
2487 more work is needed on upc_lang_layout_decl(). It has some
2488 duplication, and notably duplicates the two branches of the if
2489 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2490 caller of this routine (layout_decl()).
2492 The method of forcing a layout qualifier of [] in the indefinite
2493 declaration handler is odd a well. The code that just does the
2494 setting of the block factor, needs to moved into its own routine
2495 that doesn't depend upon a declspec for '[]' to be passed in, just
2496 in order to set the blocking factor to some value (in this case, 0).
2497 Also, the logic for how that shared type is constructed is strange.
2498 First the type with 0 blocking factor is set. Then the shared
2499 qualifier is removed from the type, and then added back later. The
2500 intermediate type has a blocking factor set, but it has no shared
2501 qualifier. Fixing this will require some thought. It is tempting
2502 just to make indefinite shared arrays an error, rather than forcing
2503 the dimension to be '1'.
2505 This likely fixes a serious error in the previous update to
2506 upc_lang_layout_decl(), where it didn't have the logic to set
2507 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2508 the previous update would fail on many tests.
2510 2010-10-09 Gary Funck <gary@intrepid.com>
2512 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2513 (decl) is null, which can happen if some layout error occurred
2516 2010-10-09 Gary Funck <gary@intrepid.com>
2518 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2519 "variable-sized" when compiled in dynamic threads.
2521 This long-standing bug is easily fixed. Just check
2522 for the situation that the non-constant sized type is shared and
2523 that it does not have a dimension that references a multiple of
2524 threads. If this criteria is met, then issue a meaningful
2527 2010-10-01 Gary Funck <gary@intrepid.com>
2529 * configure, configure.ac: Update manual page, and bug reporting
2532 Update "man" page to reflect debugging switches. Also, some general
2533 clean up. Change the bug reporting URL to point to gccupc.org.
2535 2010-09-27 Gary Funck <gary@intrepid.com>
2537 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2538 the UPC forall depth count variable is not found.
2540 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2541 The compiler will generate code that references this variable in
2542 order to implement nested upc_forall semantics. If there is a
2543 compiler build or install problem, this variable may not be found.
2544 In this case, terminate with an internal_error().
2546 2010-09-26 Gary Funck <gary@intrepid.com>
2548 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2549 mis-diagnosed as syntax error.
2551 Fix a failure exhibited by the Berkeley test case,
2552 bug873a.upc, which has the code:
2554 upc_forall (;;;d) {...} The compiler did not properly handle
2555 the empty "condition" clause, and did not recover well when it was
2556 determined that the use of a double value, "d" above, was neither a
2557 pointer-to-shared nor an integer expression. The update implements a
2558 fix for both issues.
2560 See also: gcc/c-parser.c gcc/upc/upc-act.c
2562 2010-09-23 Gary Funck <gary@intrepid.com>
2564 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2565 incorporated into the referencing type.
2567 This was semi-fixed a few times before. This update fixes a few
2568 more places where the layout qualifier wasn't being propagated
2569 through typedef's properly. What made this a bit tricky is shown in
2570 the example cited in the bug report:
2572 typedef shared [5] int A_t; A_t A[5*THREADS];
2574 In the typedef, the blocksize is being applied to a shared *scalar*,
2575 and the code was applying the blocksize only to arrays. This update
2576 handles shared scalars correctly.
2578 2010-09-22 Gary Funck <gary@intrepid.com>
2580 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2581 upc_forall() semantics are not implemented
2583 The checkforall test in the Berkeley harness test suite indicated
2584 that GCC/UPC was not properly implementing nested upc_forall
2585 semantics. Nested upc_forall statements (both statically or
2586 dynamically nested) must implement their affinity clause as if it
2587 were "continue"; thus all steps in the loop must execute without
2588 regard for affinity. To implement these semantics a global depth
2589 counter, __upc_forall_depth, is maintained by the generated code
2590 that implements upc_forall.
2592 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2593 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2594 libupc/include/upc.h libupc/smp/upc_main.c
2596 2010-09-19 Gary Funck <gary@intrepid.com>
2598 * c-decl.c: c-decl.c: zero out the layout specifier, after
2599 processing an array type.
2601 Fix the previous fix, that moved the setting of the type's layout
2602 qualifier to the outside of the array type processing loop. What is
2603 missing from the fix is that the layout_qualifier variable needs to
2604 be cleared after setting the type's blocksize.
2606 2010-09-19 Gary Funck <gary@intrepid.com>
2608 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2609 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2611 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2612 the actual maximum block size. Therefore, the message was correct,
2613 but the underlying value that was being checked was wrong. Change
2614 the values so that they agree with the actual implementation-defined
2617 2010-09-11 Gary Funck <gary@intrepid.com>
2619 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2620 multi-dimensional shared array with dynamic threads.
2622 This declaration caused an internal compiler error when compiled
2623 with dynamic threads:
2624 shared [*] int A[THREADS][16]; The bug was discovered when
2625 compiling the RTED_UPC test suite.
2627 The fix is to process layout qualifiers after the entire array type
2628 has been built. Otherwise, we try to calculate the blocksize on a
2629 shared array type that has not had its "size depends upon the value
2630 of THREADS" flag set.
2632 Also, added a test case.
2634 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2636 2010-07-11 Gary Funck <gary@intrepid.com>
2638 Fix a bug where a statement in c_build_qualified_type()
2639 in the trunk had been inadvertently deleted.
2640 This bug showed up in the IA64 port, because jmpbuf's
2641 on that architecture must be 16 byte aligned, and they were not.
2642 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2644 2010-07-08 Gary Funck <gary@intrepid.com>
2646 Make changes so that other language compilers
2647 will build and bootstrap.
2648 * c-family/c-common.c (compiling_upc, flag_upc,
2649 flag_upc_instrument, flag_upc_instrument_functions,
2650 use_upc_dwarf2_extensions): Move to stub-upc.c and
2652 * c-family/c-common.h (use_upc_dwarf2_extensions,
2653 compiling_upc): Add extern definitions - needed
2654 to compile/build other language front ends.
2655 * c-family/c.opt: Fix the spelling of ObjC.
2656 It had been incorrectly spelled as Objc.
2657 * c-family/c.opt: Add UPC for the various switches
2658 that are valid for both C and ObjC.
2659 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2660 supported options switches when compiling assembly
2662 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2663 flag_upc_instrument, flag_upc_instrument_functions):
2664 Remove these definitions. They have been moved
2665 to c-family/stub-upc.c.
2666 * upc/ChangeLog: Move relevant entries
2668 * c-family/stub-upc.c (compiling_upc, flag_upc,
2669 flag_upc_instrument, flag_upc_instrument_functions,
2670 use_upc_dwarf2_extensions): Moved from c-common.c
2671 * upc/upc-lang.c (compiling_upc, flag_upc,
2672 flag_upc_instrument, flag_upc_instrument_functions,
2673 use_upc_dwarf2_extensions): Moved from c-common.c
2674 * objc/objc-act.c (objc_gimplify_expr): Add additional
2675 parameters to c_gimplify_expr() call, that are used
2676 by upc's tree rewrites.
2677 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2678 * gcc/cp/lex.c (init_reswords): If not compiling
2679 UPC, then mask off the UPC keywords.
2680 * cp/Make-lang.in (C_STUB_OBJS): Use this
2681 make macro to link with c-family/stub-objc.o
2682 and c-family/stub-upc.o.
2683 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2684 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2685 * objc/Make-lang.in: Link with c-family/stub-upc.o
2686 to avoid undefined references.
2687 c-parser.c: Fix line indentation.
2688 * libcpp/include/cpplib.h: Remove CL_UPC from
2689 the list of language kinds accepted by the
2690 C preprocessor. This is not necessary because
2691 UPC is a derivative of C99, and does not need
2692 a different language kind.
2693 * c-fmaily/c-opts.c (c_common_handle_option):
2694 Call set_std_c99() when processing the
2695 "--lang upc" switch, instead of setting the
2696 language kind to CL_UPC.
2697 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2699 2010-07-03 Gary Funck <gary@intrepid.com>
2701 Merge trunk version 161517 into gupc branch.
2702 * gcc/stub-upc.c: Move to gcc/c-family/.
2703 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2704 Add 'unused' attributes to avoid "set, but
2705 not referenced" warnings.
2706 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2709 2010-03-01 Gary Funck <gary@intrepid.com>
2711 Create gupc branch from trunk version 157149.