1 2012-12-03 Gary Funck <gary@intrepid.com>
3 Merge trunk version 194076 into gupc branch.
5 2012-11-30 Gary Funck <gary@intrepid.com>
7 Released GUPC 4.8.0.2 based on version 193446.
8 Date of release: 2012-11-12.
9 * DEV-PHASE: Bump release identifier to 4.8.0-3.
10 * DATESTAMP: Bump date stamp.
12 2012-11-26 Gary Funck <gary@intrepid.com>
14 Merge trunk version 193807 into gupc branch.
16 2012-11-20 Gary Funck <gary@intrepid.com>
18 Merge trunk version 193672 into gupc branch.
20 2012-11-19 Gary Funck <gary@intrepid.com>
22 Merge trunk version 193617 into gupc branch.
24 2012-11-15 Gary Funck <gary@intrepid.com>
26 Merge trunk version 193426 into gupc branch.
28 2012-11-12 Gary Funck <gary@intrepid.com>
30 Released GUPC 4.8.0.1 based on version 192948.
31 Date of release: 2012-10-29.
32 * DEV-PHASE: Bump release identifier to 4.8.0-2.
33 * DATESTAMP: Bump date stamp.
35 2012-11-05 Gary Funck <gary@intrepid.com>
37 Merge trunk version 193152 into gupc branch.
39 2012-10-29 Gary Funck <gary@intrepid.com>
41 Merge trunk version 192909 into gupc branch.
43 2012-10-28 Nenad Vukicevic <nenad@intrepid.com>
45 Remove unused --upc-pthreads-per-process compile switch.
46 * c-family/c.opt: Remove --upc-pthreads-per-process switch
47 that compiler/runtime do not use.
48 * c-family/c-opts.c (c_common_handle_option): Remove support for
49 --upc-pthreads-per-process switch.
50 * c-family/c-common.c: Ditto.
51 * c-family/c-common.h: Ditto.
53 2012-10-27 Gary Funck <gary@intrepid.com>
55 * defaults.h: fix typos and formatting in UPC-related entries.
57 2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
59 Place shared initialization code into the .text
60 section instead of a separate .upc_init section.
61 * defaults.h (UPC_INIT_SECTION_NAME): Delete.
62 (UPC_INIT_BEGIN_NAME): Delete.
63 (UPC_INIT_END_NAME): Delete.
64 * doc/tm.texi.in: Ditto.
67 2012-10-22 Gary Funck <gary@intrepid.com>
69 Merge trunk version 192673 into gupc branch.
71 2012-10-15 Gary Funck <gary@intrepid.com>
73 Merge trunk version 192449 into gupc branch.
75 2012-10-08 Gary Funck <gary@intrepid.com>
77 Merge trunk version 192198 into gupc branch.
79 2012-10-01 Gary Funck <gary@intrepid.com>
81 Merge trunk version 191931 into gupc branch.
83 2012-09-26 Gary Funck <gary@intrepid.com>
85 Implement support for various UPC version 1.3 specification
86 additions and changes. Deprecate support for upc_local_alloc.
87 Add support for upc_tick (wall-clock timer) library.
88 Add support for collective de-allocation functions:
89 upc_all_free and upc_all_lock_free.
90 Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
91 libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
93 2012-09-24 Gary Funck <gary@intrepid.com>
95 Merge trunk version 191658 into gupc branch.
97 2012-09-17 Gary Funck <gary@intrepid.com>
99 Merge trunk version 191376 into gupc branch.
101 2012-09-10 Gary Funck <gary@intrepid.com>
103 Merge trunk version 191141 into gupc branch.
105 2012-08-27 Gary Funck <gary@intrepid.com>
107 Merge trunk version 190707 into gupc branch.
108 * tree.h (struct tree_base): Adjust various
109 UPC tree and type flags to refer to the
110 newly introduced u.bits field.
112 2012-08-20 Gary Funck <gary@intrepid.com>
114 Merge trunk version 190524 into gupc branch.
115 Incorporates a fix in genoutput.c (to properly use
116 CONST_CAST) that led to build failures with
117 older versions of g++.
119 2012-08-16 Gary Funck <gary@intrepid.com>
121 Merge trunk version 190437 into gupc branch.
122 Incorporates a fix for a build failure on the PPC
123 due to passing incorrect switches to the assembler.
124 Also, first merged trunk revision that compiles GCC
125 with the C++ compiler in the first stage.
127 2012-08-13 Gary Funck <gary@intrepid.com>
129 Merge trunk version 190336 into gupc branch.
131 2012-08-09 Gary Funck <gary@intrepid.com>
133 * c-family/c-common.c (c_fully_fold_internal): Do not fold
134 offsetof-like expressions when they are applied to UPC
137 2012-08-06 Gary Funck <gary@intrepid.com>
139 Merge trunk version 190173 into gupc branch.
141 2012-08-01 Gary Funck <gary@intrepid.com>
143 Merge trunk version 190063 into gupc branch.
144 Incorporates fix for build failure on IA64.
146 2012-07-30 Gary Funck <gary@intrepid.com>
148 Merge trunk version 189954 into gupc branch.
150 2012-07-27 Gary Funck <gary@intrepid.com>
152 Merge trunk version 189856 into gupc branch.
153 Incorporates fix for bootstrap with a sub-set of language
154 specific source directories present.
155 * optabs.c: Revert to trunk. Rather than defining opcodes
156 as a way of defining get/put runtime library function names,
157 generate them directly in gcc/upc/upc-genericize.c.
159 * genopinit.c: Ditto.
161 2012-07-23 Gary Funck <gary@intrepid.com>
163 Merge trunk version 189777 into gupc branch.
165 2012-07-16 Gary Funck <gary@intrepid.com>
167 Merge trunk version 189545 into gupc branch.
169 2012-07-12 Gary Funck <gary@intrepid.com>
171 Merge trunk version 189366 into gupc branch.
173 2012-07-05 Gary Funck <gary@intrepid.com>
175 Merge trunk version 189274 into gupc branch.
176 Incorporates graphite build infrastructure changes.
178 2012-07-04 Gary Funck <gary@intrepid.com>
180 Merge trunk version 189080 into gupc branch.
181 * Makefile.in: Adjust for move of C front-end files.
182 * c/Make-lang.in: Ditto.
184 2012-07-03 Gary Funck <gary@intrepid.com>
186 Merge trunk version 189078 into gupc branch.
188 2012-06-25 Gary Funck <gary@intrepid.com>
190 Merge trunk version 188931 into gupc branch.
192 2012-06-18 Gary Funck <gary@intrepid.com>
194 Merge trunk version 188721 into gupc branch.
196 2012-06-11 Gary Funck <gary@intrepid.com>
198 Merge trunk version 188380 into gupc branch.
200 2012-06-04 Gary Funck <gary@intrepid.com>
202 Merge trunk version 188168 into gupc branch.
204 2012-05-29 Gary Funck <gary@intrepid.com>
206 Merge trunk version 187927 into gupc branch.
208 2012-05-18 Gary Funck <gary@intrepid.com>
210 Merge trunk version 187666 into gupc branch.
211 Incorporates fix for ICE in tree vectorization pass
212 when processing strided loads.
214 2012-05-17 Gary Funck <gary@intrepid.com>
216 Merge trunk version 187578 into gupc branch.
218 2012-05-09 Gary Funck <gary@intrepid.com>
220 Merge trunk version 187347 into gupc branch.
221 Incorporates fix for segfault in tree vectorization pass.
223 2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
225 * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
226 Appropriate libraries and include files are added on the
227 command line to make it possible to compile with the driver
230 2012-04-29 Nenad Vukicevic <nenad@intrepid.com>
232 * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
233 PPC ABI. In the UPC 'struct' pointer-to-shared representation,
234 a function returns a pointer-to-shared in memory instead
236 (rs6000_pass_by_reference): Ditto.
238 2012-04-28 Gary Funck <gary@intrepid.com>
240 * c-decl.c (grokdeclarator): Set 'type' to error node
241 after detecting "shared auto variable" error to avoid
242 downstream complications.
243 * upc-act.c: Fix a couple of spelling errors in comments.
245 2012-04-26 Gary Funck <gary@intrepid.com>
247 * c-family/c-pragma.c (handle_pragma_upc):
248 Fix typo in warning message.
250 2012-04-17 Gary Funck <gary@intrepid.com>
252 Merge trunk version 186486 into gupc branch.
254 2012-04-17 Gary Funck <gary@intrepid.com>
256 * c-family/c-pragma.c (disable_pupc_mode): Return the previous
257 value of the pupc mode. Fixes a compile-time warning.
258 * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
259 disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
260 Improve source formatting.
262 2012-04-09 Gary Funck <gary@intrepid.com>
264 Merge trunk version 186243 into gupc branch.
265 Incorporates a powerpc 'ffi' fix.
267 2012-03-16 Gary Funck <gary@intrepid.com>
269 Merge trunk version 185454 into gupc branch.
270 Incorporates a libgcc fix for builds on Darwin.
272 2012-03-13 Gary Funck <gary@intrepid.com>
274 Merge trunk version 185278 into gupc branch.
275 * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
276 call build_pointer_type() to apply UPC-specific qualifiers.
277 * top-level/configure.ac: factor the checking for posix hostst
278 out of the libgomp section so that it can also be used by libgupc.
279 * top-level/configure: Re-generate.
280 * DEV-PHASE: bump to 4.8.0-1.
282 2012-03-12 Gary Funck <gary@intrepid.com>
284 * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
285 the mode for a pointer for upc-pointer-to-shared types.
287 2012-03-04 Gary Funck <gary@intrepid.com>
289 Merge trunk version 184900 into gupc branch.
291 2012-02-17 Gary Funck <gary@intrepid.com>
293 Released GUPC 4.7.0.2 based on version 183992.
294 * DEV-PHASE: Bump release identifier to 4.7.0-3.
295 * DATESTAMP: Bump date stamp.
297 2012-02-03 Nenad Vukicevic <nenad@intrepid.com>
299 * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
300 code generation (same as #pragma pupc off).
301 (set_pupc_mode): New. Set/restore profiling mode.
302 * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
303 (set_pupc_mode): New. Prototype.
304 * upc/upc-act.c (upc_write_init_func): Disable emitting of the
305 profiling code for shared variables initialization routines.
307 2012-01-31 Gary Funck <gary@intrepid.com>
309 Merge trunk version 183751 into gupc branch.
310 Incorporates fix for bootstrap failure on openSUSE 12.1.
312 2012-01-10 Gary Funck <gary@intrepid.com>
314 Merge trunk version 183072 into gupc branch.
315 Incorporates libcpp __BASE_FILE__ fix.
317 2011-12-20 Nenad Vukicevic <nenad@intrepid.com>
319 * top-level/Makefile.def (flags_to_pass): Added GUPC
320 defines. Fixes the make error when upc is not specified as one
321 of the languages to build.
322 * top-level/Makefile.in: Re-generate.
324 2011-11-22 Gary Funck <gary@intrepid.com>
326 * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
327 * dwarf2out.c (gen_compile_unit_die): Check for
328 the "GNU UPC" language string in lieu of "GCC UPC".
329 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
331 2011-11-18 Gary Funck <gary@intrepid.com>
333 Merge trunk version 181552 into gupc branch.
334 Incorporates libgcc/libunwind fix for IA64.
336 2011-11-19 Gary Funck <gary@intrepid.com>
338 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
339 Add check for UPC when defining the language type value
340 in a traceback entry.
342 2011-11-18 Gary Funck <gary@intrepid.com>
344 Merge trunk version 181493 into gupc branch.
345 Incorporates final fix for PR target/49992.
347 2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
349 * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
350 change that converted relative include paths into absolute
351 ones, as it does not work with older version of make (3.80).
353 2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
355 Apply patch for Darwin build - PR49992.
356 * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
357 * gcc/configure.ac: Ditto.
358 * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
359 * gcc/ada/gcc-interface/Makefile.in: Ditto.
360 * top-level/configure: Re-generate.
361 * gcc/configure: Re-genrate.
363 2011-10-26 Gary Funck <gary@intrepid.com>
365 Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
366 "libupc" to "libgupc".
367 * top-level/configure.ac: Implement support for cross-builds, and
368 adjust for rename of libupc to libgupc.
369 * top-level/Makefile.tpl: Ditto.
370 * top-level/Makefile.def: Ditto.
371 * top-level/configure: Re-generate.
372 * top-level/Makefile.in: Re-generate.
373 * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
374 * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
375 * doc/tm.texi: Re-generate.
376 * tree-pretty-print.c (dump_block_node): Delete unused variable.
377 * gcc.c: Adjust for rename of libupc to libgupc.
378 * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
379 Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
380 Change "xupc" to "xgupc".
381 * configure.ac: Change "GCC UPC" to "GNU UPC".
382 * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
383 so that they are absolute paths. This is needed because
384 the upc-crtstuff builds are in the libgupc library build
385 directories which are not at the same level as libgcc.
386 * config/darwin.h: Adjust for rename of libupc to libgupc.
388 2011-10-20 Gary Funck <gary@intrepid.com>
390 Merge trunk version 180276 into gupc branch.
391 Incorporates fix for PR bootstrap/50709.
393 2011-10-20 Gary Funck <gary@intrepid.com>
395 Merge trunk version 180246 into gupc branch.
397 2011-10-19 Gary Funck <gary@intrepid.com>
399 Merge trunk version 180233 into gupc branch.
400 Incorporates fix for PR debug/49310 (var tracking).
402 2011-10-11 Nenad Vukicevic <nenad@intrepid.com>
404 * testsuite/lib/upc-dg.exp: Limit number of torture runs to
405 only four (O0 static/dynamic, O3 static/dynamic).
406 Detect -fupc-threads-0 as an option for dynamic threads
409 2011-10-10 Gary Funck <gary@intrepid.com>
411 * tree.c (check_qualified_type, check_aligned_type):
412 Call tree_int_cst_equal() to compare UPC blocking factors
413 if the corresponding tree pointers are not equal.
414 * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
416 2011-10-07 Nenad Vukicevic <nenad@intrepid.com>
418 Add configuration checks for struct/packed builds so we can
419 use upc_struct_pts/upc_packed_pts selectors in the testsuite.
420 * testsuite/lib/target-supports.exp
421 (check_effective_target_upc_struct_pts): New.
422 (check_effective_target_upc_packed_pts): New.
424 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
426 Add to FLAGS the flags needed to disable inlining of
427 UPC run-time access routines.
428 * testsuite/lib/target-supports.exp
429 (add_options_for_upc_library_calls): New.
431 2011-09-15 Gary Funck <gary@intrepid.com>
433 Fix ICE involving shared bit field accesses.
434 * tree.c (build3_stat): Propagate TEEE_SHARED()
435 and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
437 2011-09-13 Gary Funck <gary@intrepid.com>
439 Merge trunk version 178795 into gupc branch.
440 Incorporates fix to PR bootstrap/50010 for x86-32.
442 2011-09-08 Gary Funck <gary@intrepid.com>
444 Merge trunk version 178557 into gupc branch.
446 2011-09-07 Gary Funck <gary@intrepid.com>
448 Ensure that UPC pointer-to-shared type alignment is
449 propagated to the final type. Revert to long-standing
450 alignment policy: twice the size of a "C" pointer.
451 * tree.c (build_pointer_type): Propagate the alignment
452 of the UPC pointer-to-shared representation type
453 into the newly built pointer type.
455 2011-08-30 Gary Funck <gary@intrepid.com>
457 * tree.h (check_qualified_type): Change 'const_tree'
458 argument types back to 'tree' to avoid complaints
459 of assignment drops qualifiers for invocations of the
460 newly implemented TYPE_BLOCK_FACTOR() macro, which
461 invokes hash functions with 'tree' pointer values that
462 are not const qualified.
463 * tree.c (check_qualified_type, check_aligned_type): Ditto.
464 * c-typeck.c (comptypes_internal): Ditto.
466 2011-08-29 Gary Funck <gary@intrepid.com>
468 Fixes for regressions noted running "make check"
470 * fold-const.c (fold_unary_loc): Execute UPC-specific
471 checks for a cast-of-a-cast, only if one of the
472 operands is a UPC pointer-to-shared value.
473 * opts.c (print_specific_help): Fix a comparison
474 in an assert that checks that there are enough
475 bits reserved for the number of languages defined
478 2011-08-29 Gary Funck <gary@intrepid.com>
480 Implement a hash table to record UPC block factors.
481 * c-family/stub-upc.c (upc_block_factor_insert,
482 upc_block_factor_lookup): New dummy stub procedures.
483 * c-family/c-common.c (c_sizeof_or_alignof_type):
484 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
485 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
486 to copy (hashed) UPC blocking factor.
487 (set_type_quals): Likewise.
488 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
489 TYPE_HAS_THREADS_FACTOR().
490 (type_common.block_factor): Delete.
491 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
492 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
493 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
494 UPC blocking factors greater than one.
495 * dwarf2out.c (modified_type_die): Re-implement
496 logic that records UPC blocking factor in the generated
497 DWARF2 debugging information.
498 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
499 TYPE_HAS_THREADS_FACTOR().
500 * c-decl.c (finish_decl, grokdeclarator):
501 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
502 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
503 used by UPC, and print UPC-specific information.
505 2011-08-28 Gary Funck <gary@intrepid.com>
507 Re-work the type machinery to fully support and to unify support
508 for the UPC layout qualifier (blocking factor).
509 * c-family/stub-upc.c (upc_set_block_factor): Delete.
510 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
511 and update prototype.
512 * c-family/c-common.c (complete_array_type): call newly
513 defined c_build_qualified_type_1() instead of
514 upc_set_block_factor().
515 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
516 upc_apply_layout_qualifier() and update prototype.
517 (upc_set_block_factor): Delete prototype.
518 * c-family/c-common.h (c_build_qualified_type): redefine
519 as a pre-processor macro that invokes c_build_qualified_type_1()
520 with a null UPC layout qualifier.
521 (c_build_qualified_type_1): New. Add layout qualifier argument
522 to old c_build_qualified_type() prototype.
523 * tree.c (set_type_quals, check_qualified_type):
524 Add layout qualifier as argument.
525 (check_aligned_type): Add check for UPC block factor equality.
526 (get_qualified_type_1): Rename from get_qualified_type() and
527 add layout qualifier as argument.
528 (build_qualified_type_1): Rename from build_qualified_type() and
529 add layout qualifier as argument.
530 * tree.h (check_qualified_type): Add layout qualifier as argument
532 (get_qualified_type): Re-define as a as a pre-processor macro
533 that invokes get_qualified_type_1() with a null
534 UPC layout qualifier.
535 (get_qualified_type_1): Rename from get_qualified_type() and
536 add layout qualifier as argument.
537 * cp/tree.c (c_build_qualified_type_1): Rename from
538 c_build_qualified_type() and add (unused) layout qualifier
540 * c-decl.c (finish_decl): re-format long error messages.
541 (grokdeclarator): Re-work the logic so that it calls
542 upc_grok_layout_qualifier() to handle the UPC layout
543 qualifier, if present.
544 * c-typeck.c (qualify_type, common_pointer_type,
545 build_component_ref): Re-work the logic so that it calls
546 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
548 (c_build_qualified_type_1): Rename from c_build_qualified_type()
549 and add layout qualifier argument.
550 * print_tree.c (print_node): Re-format a long line.
552 2011-08-26 Gary Funck <gary@intrepid.com>
554 Merge trunk version 177949 into gupc branch.
555 * c-family/c-common.h (enum rid): Bump the number of type modifiers
557 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
558 to add new rliterals column value.
560 2011-08-26 Gary Funck <gary@intrepid.com>
562 * convert.c (convert_to_integer): Fix the check for the
563 difference between two UPC pointers-to-shared values.
565 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
567 * configure.ac: Fix the name for --with-upc-pts-packed-bits
568 option. Support --with-upc-packed-bits as deprecated. Fix the code to
569 correctly check packed bits.
570 * configure: Re-generate.
572 2011-08-16 Gary Funck <gary@intrepid.com>
574 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
575 the barrier id expression is not an integer expression.
577 2011-08-12 Gary Funck <gary@intrepid.com>
579 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
581 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
582 Set mode of UPC pointer-to-shared rep. to an
583 integral mode of size at least as large as the
584 size of the representation's struct type.
586 2011-08-12 Gary Funck <gary@intrepid.com>
588 Rework/simplify the UPC genericize pass.
589 * c-family/stub-upc.c (upc_apply_layout_qualifier,
590 upc_build_pointer_type): New.
591 (upc_set_block_factor): Adjust to new calling sequence.
592 (upc_build_shared_var_addr): Delete.
593 * c-family/c-common.c (complete_array_type): Adjust call
594 to upc_set_block_factor().
595 * c-family/c-upc.h (upc_apply_layout_qualifier,
596 upc_build_pointer_type): New.
597 (upc_build_shared_var_addr): Delete.
598 (upc_set_block_factor): Adjust to new calling sequence.
599 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
600 * c-decl.c (grokdeclarator): Call newly defined
601 upc_apply_layout_qualifier() instead of upc_set_block_factor().
602 * c-decl.c (grokdeclarator): Split long UPC-related error
603 messages into two lines.
604 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
605 directly. Revert that change to trunk. (upc_genericize() will
606 handle lowering the expressions that take the address of a
608 * config/i386/i386.c (ix86_promote_function_mode): For UPC
609 pointers-to-shared, return the type mode of the UPC pointer-to-shared
612 2011-08-10 Gary Funck <gary@intrepid.com>
614 Implement additional fixes for recent merge with trunk.
615 * explow.c (promote_mode): Do not attempt to promote
616 the mode for UPC pointer-to-shared types.
617 * config/i386/i386.c (function_value_64): Ditto.
619 2011-08-07 Gary Funck <gary@intrepid.com>
621 Merge trunk version 177548 into gupc branch.
622 * config/i386/i386.c (ix86_promote_function_mode):
623 Do not promote UPC pointers-to-shared to Pmode.
624 * c-family/c-ommon.c (pointer_int_sum):
625 Also check the pointer operand, rather than just
626 its type, when making the decision to derive
627 the equivalent unshared type.
628 * tree.c (build2_stat): If the type of the result
629 passed in as an argument is a UPC shared type,
630 derive the unshared equivalent when calculating
631 the result type of the node.
633 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
635 * config/darwin.c: Disable var_tracking option
636 on -O0 as it is supposed to run only when optimization
637 is applied. See GCC bug 49743.
639 2011-07-06 Gary Funck <gary@intrepid.com>
641 Re-implement the pass that lowers trees generated by
642 the UPC front-end into GENERIC. Previously this was
643 done within the gimplification framework, but this
644 required that gimplification be run before inlining
645 and various other passes, which did not fit in well
646 with the current design of the middle-end passes.
647 Now, the lowering is done by a newly defined language
648 specific genericize hook. With this change, we are
649 are able to undo some extensions made to the gimplify
650 logic, and thus can revert several files to trunk.
652 * c-decl.c: Add a check for UPC deprecated names which
653 may appear as undefined function names.
654 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
655 LTI_upc_getaddr): Remove definitions of unused UPC
656 library function names. These were defined back when
657 the libfunc interface was used to call these routines.
658 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
659 in UPC lowering (genericize) pass.
660 * langhooks.h (gimplify_expr): Revert to trunk's definition.
661 (instrument_func): Delete this hook. Now handled in
663 * tree-pass.h: Revert to trunk.
664 * c-typeck.c (build_unary_op): Adjust reference to
665 upc_genericize() in a comment.
666 * gimplify.c (create_tmp_var_raw): Delete logic that
667 was converting UPC shared types into unshared types
668 to be used for temporaries. Now handled in upc_genericize().
669 Replace with an assertion check.
670 (prepare_gimple_addressable): Revert to trunk's definition.
671 No longer needed as an externally called function.
672 (flag_instrument_functions_exclude_p): Re-define as
673 an externally called function.
674 (gimplify_function_tree): Delete code that implemented
675 call to UPC's language specific function instrumentation hook.
676 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
677 (prepare_gimple_addressable): Delete extern definition;
678 revert to trunk's definition.
679 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
680 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
681 * c-family/c-gimplify.c: Revert to trunk.
682 * cp/cp-gimplify.c: Revert to trunk.
683 * cp/cp-tree.h: Revert to trunk.
684 * explow.c: Revert to trunk.
685 * langhooks.c: Revert to trunk.
686 * libfuncs.h: Revert to trunk.
687 * objc/objc-act.c: Revert to trunk.
689 2011-06-30 Gary Funck <gary@intrepid.com>
691 * c-family/c.opt: Bring options definitions up-to-date
692 with respect to changes made in the trunk.
694 2011-06-29 Gary Funck <gary@intrepid.com>
696 Merge trunk version 175584 into gupc branch.
698 2011-06-13 Gary Funck <gary@intrepid.com>
701 * include/cpplib.h (enum c_lang):
702 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
703 This keeps all the "C" variants together.
704 * init.c (lang_defaults): Add an entry for UPC.
706 2011-06-09 Gary Funck <gary@intrepid.com>
708 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
709 a 32-bit target, the size expression overflowed, the result was
710 error_mark_node, and an ICE was triggered on an attempt to evaluate
711 C_TYPE_VARIABLE_SIZE() on the error node.
712 (upc_blocksizeof_expr, upc_blocksizeof_type,
713 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
714 Make similar changes to avoid further processing of error_mark_node.
716 2011-06-07 Gary Funck <gary@intrepid.com>
718 * sel-sched.c (move_op): Incorporate the following
719 patch to eliminate ICE at -O3 on IA64/Altix.
721 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
723 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
724 code_motion_path_driver returned 0 or 1.
725 (sel_region_finish): Clear h_d_i_d.
727 2011-06-02 Gary Funck <gary@intrepid.com>
729 Merge trunk version 174558 into gupc branch.
731 2011-05-30 Gary Funck <gary@intrepid.com>
733 * configure.ac: Make the default order of the virtual
734 address field in a UPC pointer-to-shared to be "first".
735 This reverts to the previous setting, and is a short term
736 measure to work around a bug found on the IA64,
737 where vaddr=last led to incorrect code generation.
738 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
739 in AC_DEFINE(), to agree with recent changes in files
740 that reference this define.
741 configure, config.in: Regenerate.
743 2011-05-26 Gary Funck <gary@intrepid.com>
745 * configure.ac: Fix typo when referring to $upc_vaddr_order.
746 configure: Regenerate.
748 * ../fixincludes/fixincl.x: Revert to trunk.
749 This file is auto-generated, and should not be merged.
751 2011-05-18 Gary Funck <gary@intrepid.com>
753 Merge trunk version 173845 into gupc branch.
755 2011-05-17 Gary Funck <gary@intrepid.com>
757 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
758 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
760 * c-family/c-pragma.c: Remove conditional compilation
761 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
762 Test 'compiling_upc' when compiling to determine if
763 the "upc" and "pupc" pragmas should be registered.
765 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
766 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
767 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
768 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
769 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
770 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
771 Move these target-dependent definitions from config/upc-conf.h
774 * configure.ac: Improve the logic for UPC-related options.
775 Delete references to pre-processor definitions that have
776 been moved to "upc/upc-pts.h".
778 * configure, config.in: Regenerate.
780 * Makefile.in (UPC_PTS_REP): Remove definition and revert
781 to trunk. This substitution variable was used to
782 configure the representation-specific versions of
783 the tree rewrites that operate on UPC pointer-to-shared
786 * c-parser.c (c_parser_upc_forall_statement): Remove
787 reference to UPC_FORALL_DEPTH_NAME, and call
788 newly defined upc_rts_forall_depth_var() instead.
790 * config/upc-config.h: Delete. Various definitions
791 moved to "upc/upc-rts-names.h", "defaults.h", and
794 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
795 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
796 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
797 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
798 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
799 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
800 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
801 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
802 New. Document UPC target macros.
803 doc/tm.texi: Regenerate.
805 2011-05-07 Gary Funck <gary@intrepid.com>
807 * ../configure.ac: Disable build of libupc
808 on non POSIX hosted systems. Use AS_HELP_STRING
809 to define messages. Remove 'word-pair' as a
810 possible --with-upc-pts UPC pointer-to-shared
813 * ../configure: Regenerate.
815 * configure.ac: Use AS_HELP_STRING to define messages.
816 Remove 'word-pair' as a possible --with-upc-pts
817 UPC pointer-to-shared representation.
818 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
819 (UPC_MAX_BLOCK_SIZE): Correct the default value.
821 * configure: Regenerate.
823 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
826 * ChangeLog.upc: Fix some typos.
828 2011-05-07 Gary Funck <gary@intrepid.com>
830 * ../maintainer-scripts/gcc_release: Add "upc"
831 as one of the released languages.
833 2011-05-06 Gary Funck <gary@intrepid.com>
835 Eliminate compilation warnings, by fixing
836 #include's and updating function prototypes.
838 * c-family/c-cppbuiltin.c: Include c-upc.h.
840 * optabs.c (gen_libfunc): Change type of 'suffix'
841 parameter to conform with prototype.
843 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
844 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
847 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
850 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
851 argument values to cp_gimplify_expr.
853 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
854 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
855 pre-processor definitions that are no longer
856 needed to build the 'upc' command (upc-cmd.c)
857 because the linker specs. defined in libupc
858 take care of linking in the needed libraries.
860 * c-parser.c (c_parser_upc_forall_statement):
861 initialize affinity_loc to avoid "maybe unused" warning.
862 (c_parser_upc_sync_statement): Remove un-needed
863 'ret' variable. Cast return value from
864 'upc_build_sync_stmt' to 'void' to avoid
865 compile-time warning.
867 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
868 integer constant, not a string. Range is restricted
869 to maximum positive 32-bit integer (2+ billion) to
870 fit in with the use of 'int' in the front-end's
871 switch handling logic.
873 2011-05-06 Gary Funck <gary@intrepid.com>
875 Upgrade c-family source files to conform with modularity
876 improvements. Mainly, remove #include of c-tree.h in files
877 under c-family, and define a new UPC-specific #include file,
880 * c-family/stub-upc.c: Remove #include of c-tree.h and
881 upc/upc-act.h. Replace with #include of c-common.h
883 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
884 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
885 upc_localsizeof_expr, upc_localsizeof_type,
886 upc_shared_type_p): Delete.
888 * c-family/c-opts.c: Add #include of c-upc.h
890 * c-family/c-common.c: Remove #include of c-tree.h and
891 add #include of c-upc.h.
893 * c-family/c-upc.h: New. Define API for UPC-specific functions
894 (mostly implemented in upc/upc-act.c).
896 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
897 Remove extern definitions.
899 * c-family/c-pragma.c: Remove #include of c-tree.h.
900 Add #include of c-upc.h.
902 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
904 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
905 upc/upc-act.c, and define as a macro.
906 (expand_affinity_test): Remove unused external definition.
907 (build_upc_unshared_type): Add external definition.
908 (upc_shared_type_p): Remove external definition.
910 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
912 * dojump.c: Remove #include of c-tree.h.
914 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
916 (count_upc_threads_refs, is_multiple_of_upc_threads,
917 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
918 upc_build_shared_var_addr, upc_build_sync_stmt,
919 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
920 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
921 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
922 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
923 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
924 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
925 set_upc_consistency_mode, get_upc_consistency_mode,
926 push_upc_consistency_mode, pop_upc_consistency_mode,
928 Move external definitions to c-family/c-upc.h.
929 (upc_blocksizeof_type, upc_localsizeof_type,
930 upc_elemsizeof_type): Remove external definitions;
931 these functions were moved to c-parser.c.
933 * c-decl.c: Add #include of c-upc.h.
935 * c-typeck.c: Add #include of c-upc.h.
937 * c-convert.c: Add #include of c-upc.h.
939 * ChangeLog.upc: Fix typo.
941 * Makefile.in: Add references to c-family/c-upc.h, everywhere
942 there is a reference to c-family/c-objc.h.
943 Remove extraneous reference to upc-act.h.
945 * c-parser.c: Add #include of c-upc.h.
946 (upc_blocksizeof_expr, upc_blocksizeof_type,
947 upc_elemsizeof_expr, upc_elemsizeof_type,
948 upc_localsizeof_expr, upc_localsizeof_type):
949 Move from upc/upc-act.c.
951 * tree.c (build_upc_unshared_type): New.
952 Move upc_get_unshared_type from upc/upc-act.c and rename
953 to build_upc_unshared_type.
954 c-family/c-common.c (pointer_int_sum): refer to renamed
955 build_upc_unshared_type function.
956 c-convert.c (convert): Ditto.
957 convert.c (convert_to_pointer): Ditto.
958 c-typeck.c (build_unary_op, build_modify_expr,
959 really_start_incremental_init): Ditto.
960 gimplify.c (create_tmp_var_raw): Ditto.
961 tree.c (build1_stat): Ditto.
962 tree.h (upc_get_unshared_type): Rename to
963 build_upc_unshared_type.
965 2011-05-06 Gary Funck <gary@intrepid.com>
967 Merge trunk version 173471 into gupc branch.
969 2011-05-05 Gary Funck <gary@intrepid.com>
971 Make changes that bring the GUPC branch more closely in sync.
972 with the GCC trunk. Revert any fixes that are not UPC-specific.
973 Remove gratuitous re-formatting.
975 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
976 This file should have been removed in a previous merge
978 * ../configure.ac: Remove Cray Catamount/CNL support.
979 * ../configure: Regenerate.
980 * ../config.sub: Remove Cray Catamount/CNL support.
981 * config.gcc: Remove Cray Catamount/CNL support.
982 * ../maintainer-scripts/gcc_release: Revert to trunk.
983 * c-family/c-common.h: Define parse_optimize_options. Its definition
984 was missed in a previous merge with the trunk.
985 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
987 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
988 in addition to ARRAY_TYPE.
989 * c-typeck.c: Remove an extra newline character.
990 * varasm.c: Revert a fix that improved an error message
991 when TLS common data is unimplemented.
992 * varasm.c: Revert a gcc_assert that had been added which
993 checked for a null DECL_SIZE_UNIT field.
994 * emultls.c: Revert to trunk. Remove possible fix.
995 * Makefile.in: Revert extra blank line that is present
996 in the trunk version.
997 * Makefile.in: Revert a fix that handled long shell
998 argument lists for plugin headers.
999 * config/ia64/ia64.opt: Revert an option setting
1000 that increased the default TLS address range.
1001 * config/ia64/crtbegin.asm: Revert to trunk.
1002 Removes an extra newline character.
1003 * ChangeLog.upc: Spell check.
1005 2011-05-03 Gary Funck <gary@intrepid.com>
1007 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1008 (c_apply_type_quals_to_decl): Ditto.
1009 * c-family/c-common.h: Ditto.
1011 * c-decl.c (merge_decls): Ditto.
1012 * c-typeck.c (qualify_type, default_conversion,
1013 build_component_ref, build_unary_op,
1014 c_build_qualified_type): Ditto.
1015 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1017 2011-04-29 Gary Funck <gary@intrepid.com>
1019 * c-decl.c (finish_decl): Improve error diagnostics.
1020 (grokdeclarator): Ditto.
1022 * c-typeck.c (build_c_cast): Improve error diagnostics.
1023 (convert_for_assignment): Ditto.
1024 (build_binary_op): Ditto.
1026 * c-parser.c (c_parser_upc_forall_statement):
1027 Improve error diagnostics.
1029 * convert.c (convert_to_integer): Improve error diagnostics.
1031 2011-04-24 Gary Funck <gary@intrepid.com>
1033 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1034 occurred if there is an error in the barrier id
1035 expression. Map error_mark_node into NULL.
1037 2011-04-22 Gary Funck <gary@intrepid.com>
1039 Merge trunk version 172873 into gupc branch.
1041 2011-04-19 Gary Funck <gary@intrepid.com>
1043 Merge trunk version 172359 into gupc branch.
1045 2011-04-14 Gary Funck <gary@intrepid.com>
1047 * c-family/c.opt: Add UPC as a valid language for various
1048 switches where it is valid for "C", that were not updated
1049 in previous merges with trunk.
1051 2011-04-13 Gary Funck <gary@intrepid.com>
1053 * c-family/c.opt (fupc-pre-include): New option definition.
1054 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1055 -fno-upc-pre-include is asserted.
1057 2011-04-07 Gary Funck <gary@intrepid.com>
1059 Merge trunk version 172158 into gupc branch.
1060 to bring in the following fix.
1062 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1065 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1066 if old and new states differ.
1068 2011-04-06 Gary Funck <gary@intrepid.com>
1070 Merge trunk version 171966 into gupc branch.
1072 2011-04-01 Gary Funck <gary@intrepid.com>
1074 * tree.h (tree_base): Move UPC flag bits into bit fields
1075 located just before spare bits. Decrement spare bits.
1076 Rename 'shared_flag' -> 'upc_shared_flag',
1077 'relaxed_flag' -> 'upc_relaxed_flag',
1078 'strict_flag' -> 'upc_strict_flag, and adjust macros
1079 that reference them accordingly.
1081 2011-04-01 Gary Funck <gary@intrepid.com>
1083 * c-decl.c (grokdeclarator): Fix formatting of
1084 code that sets UPC block size on scalars.
1086 2011-04-01 Gary Funck <gary@intrepid.com>
1088 * c-decl.c (grokdeclarator): Revert use of white space
1089 to match the trunk (to rationalize diffs).
1090 * c-typeck.c (convert_for_assignment): Ditto.
1091 * tree-ssa.c (useless_type_conversion_p): Ditto.
1093 2011-03-23 Gary Funck <gary@intrepid.com>
1095 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1096 the GCC 4.6 release branch.
1098 2011-03-21 Gary Funck <gary@intrepid.com>
1100 Merge trunk version 171202 into gupc branch.
1102 2011-03-20 Gary Funck <gary@intrepid.com>
1104 * varasm.c: Call error() directly with a format specifier,
1105 rather than using sprintf() to format the message.
1106 This should make it easier to internationalize UPC's error messages.
1108 2011-03-20 Gary Funck <gary@intrepid.com>
1110 * configure.ac: Fix the check for gnu ld when enabling
1111 UPC link script support.
1112 configure: Regenerate (also picks up changes from previous
1115 2011-03-20 Gary Funck <gary@intrepid.com>
1117 Move UPC start files, end files, and linker specs.
1118 into libupc. This reduces the impact on common GCC
1119 configuration files, and ensures that these UPC-specific
1120 components are only built when the UPC language dialect is selected.
1124 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1125 linker specs. Fix typo in -fupc-debug message.
1127 * config/upc-conf.h, config/darwin.h: Move defines for
1128 UPC-related section begins/ends into libupc/config/default/
1131 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1132 UPC-related linker compiler specifications,
1133 accessed via %:include().
1135 * configure.ac, configure: Remove logic related to building
1136 upc-crtbegin/end. Remove config. tests for numa and cpu
1137 affinity (previously used by the 'upc' driver); these
1138 settings are now propagated by target-specific compiler
1139 specs. built by libupc. Regenerate autoconf.
1141 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1142 linker compiler specifications, accessed via %:include().
1143 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1146 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1148 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1149 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1150 config/ia64/linux.h, config/mips/t-iris,
1151 config/mips/iris6.h: Revert to trunk version 167307.
1154 * configure, configure.ac, config.host, Makefile.in:
1155 Revert to trunk version 167307.
1157 2011-02-23 Gary Funck <gary@intrepid.com>
1159 * c-decl.c (undeclared_variable): fix typo. Inadvertently
1160 removed negation on following 'if'.
1162 2011-02-22 Gary Funck <gary@intrepid.com>
1164 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1165 to check for the usage of certain deprecated UPC keywords.
1166 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1167 * c-tree.h (undeclared_variable): Define prototype.
1169 2011-02-12 Gary Funck <gary@intrepid.com>
1171 * c-typeck.c: (build_c_cast, convert_for_assignment)
1172 Diagnose an attempt to convert from an integer to
1173 a pointer-to-shared as an error. Also, fix various
1174 error messages so that they use the preferred term
1175 pointer-to-shared instead of "shared pointer".
1177 2011-02-07 Gary Funck <gary@intrepid.com>
1179 * c-typeck.c: (convert_for_assignment)
1180 Fix typo. in error message.
1182 2011-01-23 Gary Funck <gary@intrepid.com>
1184 * c-typeck.c: (c_build_qualified_type)
1185 derive UPC block size by calling upc_get_block_size(),
1186 to ensure that the element type of an array of an array
1187 is derived correctly.
1189 2010-12-29 Gary Funck <gary@intrepid.com>
1191 Merge trunk version 168314 into gupc branch.
1193 2010-12-15 Gary Funck <gary@intrepid.com>
1195 Merge trunk version 167307 into gupc branch.
1197 2010-10-19 Gary Funck <gary@intrepid.com>
1199 * c-typeck.c: Fix typo in previous fix
1200 which led to a mis-compare for equal block sizes.
1202 2010-10-18 Gary Funck <gary@intrepid.com>
1204 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1205 diagnosed as an error
1207 The conversion from any type (shared or not) to
1208 a shared type is likely either meaningless or an error. This update
1209 makes any conversion to a shared type, an error.
1211 2010-10-18 Gary Funck <gary@intrepid.com>
1213 * c-typeck.c: Fix bug: passing int to shared pointer arg.
1214 generates spurious warning
1216 Add a #define procedure that does the same thing as
1217 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
1218 this procedure to diagnose passing an integer value to a
1219 pointer-to-shared as an error.
1221 2010-10-18 Gary Funck <gary@intrepid.com>
1223 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1224 matching routine declaration.
1226 When checking for type compatibility, shared qualified types must
1227 have the same block factor. This check was missing from
1228 comptypes_internal(). This update adds the check for blocking
1231 2010-10-17 Gary Funck <gary@intrepid.com>
1233 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1236 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1238 2010-10-17 Gary Funck <gary@intrepid.com>
1240 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1241 45869 - [4.5/4.6 Regression] type mismatch in shift expression
1242 produces ice with -O3 and -m32.
1244 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1246 2010-10-17 Gary Funck <gary@intrepid.com>
1248 * c-common.c: Diagnose the application of the various "*sizeof"
1249 operations on generic pointer-to-shared as a compilation error.
1251 2010-10-17 Gary Funck <gary@intrepid.com>
1253 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1254 message regarding a function parameter being declared with a shared
1257 The parameter's 'name' value is not defined at this point, and
1258 cannot be used in the error message. This update removes the
1259 reference to 'name', and eliminates the segfault.
1261 2010-10-16 Gary Funck <gary@intrepid.com>
1263 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1265 The gcc/Makefile.in rules for install-plugin had to be re-written to
1266 break up a long list of header files that exceeded the command line
1267 limitation imposed by Irix.
1269 Access functions for TFmode types had to be implemented.
1270 Apparently, this is the mode used for the SGI/MIPS port to represent
1273 2010-10-14 Gary Funck <gary@intrepid.com>
1275 * c-decl.c: Fix bug: Multiple equal blocking factors specified
1276 via typedef chain should not be diagnosed as an error.
1278 If the block size that is given by the typedef is equal to the block
1279 size given explicitly in the variable declaration, then do not
1280 complain. The easiest way to make this check was to create a
1281 temporary type that is a clone of the element type and then set its
1282 block size using the given layout qualifier. Then compare the block
1283 size of the temporary (the declaration) to the block size specified
1284 in the typedef. This complexity is needed, because the '[*]' block
1285 size needs to be calculated, and the '[]' needs to be mapped into a
1288 2010-10-10 Gary Funck <gary@intrepid.com>
1290 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1293 The compiler properly detected the presence of two or more layout
1294 qualifiers as an error, but then hit an assertion check, because the
1295 code that followed the error expected to see a qualifier and not a
1296 layout specifier. The fix is simple: just return immediately after
1297 detecting the error.
1299 2010-10-10 Gary Funck <gary@intrepid.com>
1301 * c-decl.c: Improve error diagnostics for various cases of UPC
1302 shared array type declarations.
1304 Add the check for this error: "In the dynamic translation
1305 environment, THREADS may not appear in declarations of shared arrays
1306 with indefinite block size". Also, fix up a few of the other
1307 related error diagnostics.
1309 2010-10-09 Gary Funck <gary@intrepid.com>
1311 * c-common.c: Fix bug: segfault on incomplete array definition.
1313 This turned out to be a bit complicated. The logic in
1314 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1315 the THREADS identifier in the case where the blocking factor has
1316 been set to indefinite ([]). This can happen when indefinite array
1317 declarations are processed for shared arrays. At that time, the
1318 file scope has been closed and THREADS is no longer in scope. Some
1319 more work is needed on upc_lang_layout_decl(). It has some
1320 duplication, and notably duplicates the two branches of the if
1321 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1322 caller of this routine (layout_decl()).
1324 The method of forcing a layout qualifier of [] in the indefinite
1325 declaration handler is odd a well. The code that just does the
1326 setting of the block factor, needs to moved into its own routine
1327 that doesn't depend upon a declspec for '[]' to be passed in, just
1328 in order to set the blocking factor to some value (in this case, 0).
1329 Also, the logic for how that shared type is constructed is strange.
1330 First the type with 0 blocking factor is set. Then the shared
1331 qualifier is removed from the type, and then added back later. The
1332 intermediate type has a blocking factor set, but it has no shared
1333 qualifier. Fixing this will require some thought. It is tempting
1334 just to make indefinite shared arrays an error, rather than forcing
1335 the dimension to be '1'.
1337 This likely fixes a serious error in the previous update to
1338 upc_lang_layout_decl(), where it didn't have the logic to set
1339 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
1340 the previous update would fail on many tests.
1342 2010-10-09 Gary Funck <gary@intrepid.com>
1344 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1345 (decl) is null, which can happen if some layout error occurred
1348 2010-10-09 Gary Funck <gary@intrepid.com>
1350 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1351 "variable-sized" when compiled in dynamic threads.
1353 This long-standing bug is easily fixed. Just check
1354 for the situation that the non-constant sized type is shared and
1355 that it does not have a dimension that references a multiple of
1356 threads. If this criteria is met, then issue a meaningful
1359 2010-10-01 Gary Funck <gary@intrepid.com>
1361 * configure, configure.ac: Update manual page, and bug reporting
1364 Update "man" page to reflect debugging switches. Also, some general
1365 clean up. Change the bug reporting URL to point to gccupc.org.
1367 2010-09-27 Gary Funck <gary@intrepid.com>
1369 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1370 the UPC forall depth count variable is not found.
1372 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1373 The compiler will generate code that references this variable in
1374 order to implement nested upc_forall semantics. If there is a
1375 compiler build or install problem, this variable may not be found.
1376 In this case, terminate with an internal_error().
1378 2010-09-26 Gary Funck <gary@intrepid.com>
1380 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1381 mis-diagnosed as syntax error.
1383 Fix a failure exhibited by the Berkeley test case,
1384 bug873a.upc, which has the code:
1386 upc_forall (;;;d) {...} The compiler did not properly handle
1387 the empty "condition" clause, and did not recover well when it was
1388 determined that the use of a double value, "d" above, was neither a
1389 pointer-to-shared nor an integer expression. The update implements a
1390 fix for both issues.
1392 See also: gcc/c-parser.c gcc/upc/upc-act.c
1394 2010-09-23 Gary Funck <gary@intrepid.com>
1396 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1397 incorporated into the referencing type.
1399 This was semi-fixed a few times before. This update fixes a few
1400 more places where the layout qualifier wasn't being propagated
1401 through typedef's properly. What made this a bit tricky is shown in
1402 the example cited in the bug report:
1404 typedef shared [5] int A_t; A_t A[5*THREADS];
1406 In the typedef, the blocksize is being applied to a shared *scalar*,
1407 and the code was applying the blocksize only to arrays. This update
1408 handles shared scalars correctly.
1410 2010-09-22 Gary Funck <gary@intrepid.com>
1412 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1413 upc_forall() semantics are not implemented
1415 The checkforall test in the Berkeley harness test suite indicated
1416 that GCC/UPC was not properly implementing nested upc_forall
1417 semantics. Nested upc_forall statements (both statically or
1418 dynamically nested) must implement their affinity clause as if it
1419 were "continue"; thus all steps in the loop must execute without
1420 regard for affinity. To implement these semantics a global depth
1421 counter, __upc_forall_depth, is maintained by the generated code
1422 that implements upc_forall.
1424 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1425 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1426 libupc/include/upc.h libupc/smp/upc_main.c
1428 2010-09-19 Gary Funck <gary@intrepid.com>
1430 * c-decl.c: c-decl.c: zero out the layout specifier, after
1431 processing an array type.
1433 Fix the previous fix, that moved the setting of the type's layout
1434 qualifier to the outside of the array type processing loop. What is
1435 missing from the fix is that the layout_qualifier variable needs to
1436 be cleared after setting the type's blocksize.
1438 2010-09-19 Gary Funck <gary@intrepid.com>
1440 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1441 given blocksize is greater than UPC_MAX_BLOCKSIZE.
1443 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1444 the actual maximum block size. Therefore, the message was correct,
1445 but the underlying value that was being checked was wrong. Change
1446 the values so that they agree with the actual implementation-defined
1449 2010-09-11 Gary Funck <gary@intrepid.com>
1451 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1452 multi-dimensional shared array with dynamic threads.
1454 This declaration caused an internal compiler error when compiled
1455 with dynamic threads:
1456 shared [*] int A[THREADS][16]; The bug was discovered when
1457 compiling the RTED_UPC test suite.
1459 The fix is to process layout qualifiers after the entire array type
1460 has been built. Otherwise, we try to calculate the blocksize on a
1461 shared array type that has not had its "size depends upon the value
1462 of THREADS" flag set.
1464 Also, added a test case.
1466 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1468 2010-07-11 Gary Funck <gary@intrepid.com>
1470 Fix a bug where a statement in c_build_qualified_type()
1471 in the trunk had been inadvertently deleted.
1472 This bug showed up in the IA64 port, because jmpbuf's
1473 on that architecture must be 16 byte aligned, and they were not.
1474 c-typeck.c (c_build_qualified_type): Revive the deleted line.
1476 2010-07-08 Gary Funck <gary@intrepid.com>
1478 Make changes so that other language compilers
1479 will build and bootstrap.
1480 * c-family/c-common.c (compiling_upc, flag_upc,
1481 flag_upc_instrument, flag_upc_instrument_functions,
1482 use_upc_dwarf2_extensions): Move to stub-upc.c and
1484 * c-family/c-common.h (use_upc_dwarf2_extensions,
1485 compiling_upc): Add extern definitions - needed
1486 to compile/build other language front ends.
1487 * c-family/c.opt: Fix the spelling of ObjC.
1488 It had been incorrectly spelled as Objc.
1489 * c-family/c.opt: Add UPC for the various switches
1490 that are valid for both C and ObjC.
1491 * c-fmaily/c-opts.c: Add CL_UPC to the list of
1492 supported options switches when compiling assembly
1494 * lto/lto-lang.c (use_upc_dwarf2_extensions,
1495 flag_upc_instrument, flag_upc_instrument_functions):
1496 Remove these definitions. They have been moved
1497 to c-family/stub-upc.c.
1498 * upc/ChangeLog: Move relevant entries
1500 * c-family/stub-upc.c (compiling_upc, flag_upc,
1501 flag_upc_instrument, flag_upc_instrument_functions,
1502 use_upc_dwarf2_extensions): Moved from c-common.c
1503 * upc/upc-lang.c (compiling_upc, flag_upc,
1504 flag_upc_instrument, flag_upc_instrument_functions,
1505 use_upc_dwarf2_extensions): Moved from c-common.c
1506 * objc/objc-act.c (objc_gimplify_expr): Add additional
1507 parameters to c_gimplify_expr() call, that are used
1508 by upc's tree rewrites.
1509 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1510 * gcc/cp/lex.c (init_reswords): If not compiling
1511 UPC, then mask off the UPC keywords.
1512 * cp/Make-lang.in (C_STUB_OBJS): Use this
1513 make macro to link with c-family/stub-objc.o
1514 and c-family/stub-upc.o.
1515 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1516 * java/Make-lang.in (C_STUB_OBJS): Likewise.
1517 * objc/Make-lang.in: Link with c-family/stub-upc.o
1518 to avoid undefined references.
1519 c-parser.c: Fix line indentation.
1520 * libcpp/include/cpplib.h: Remove CL_UPC from
1521 the list of language kinds accepted by the
1522 C preprocessor. This is not necessary because
1523 UPC is a derivative of C99, and does not need
1524 a different language kind.
1525 * c-fmaily/c-opts.c (c_common_handle_option):
1526 Call set_std_c99() when processing the
1527 "--lang upc" switch, instead of setting the
1528 language kind to CL_UPC.
1529 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1531 2010-07-03 Gary Funck <gary@intrepid.com>
1533 Merge trunk version 161517 into gupc branch.
1534 * gcc/stub-upc.c: Move to gcc/c-family/.
1535 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1536 Add 'unused' attributes to avoid "set, but
1537 not referenced" warnings.
1538 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1541 2010-03-01 Gary Funck <gary@intrepid.com>
1543 Create gupc branch from trunk version 157149.
1544 2011-10-04 Gary Funck <gary@intrepid.com>
1546 Merge trunk version 179421 into gupc branch.
1548 * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1549 argument to the call to check_qualified_type().
1551 2011-09-22 Gary Funck <gary@intrepid.com>
1553 * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1555 (dump_upc_type_quals): New.
1557 2011-09-15 Nenad Vukicevic <nenad@intrepid.com>
1559 Add to FLAGS the flags needed to disable inlining of
1560 UPC run-time access routines.
1561 * testsuite/lib/target-supports.exp
1562 (add_options_for_upc_library_calls): New.
1564 2011-09-15 Gary Funck <gary@intrepid.com>
1566 Fix ICE involving shared bit field accesses.
1567 * tree.c (build3_stat): Propagate TEEE_SHARED()
1568 TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1570 2011-09-13 Gary Funck <gary@intrepid.com>
1572 Merge trunk version 178795 into gupc branch.
1573 Incorporates fix to PR bootstrap/50010 for x86-32.
1575 2011-09-08 Gary Funck <gary@intrepid.com>
1577 Merge trunk version 178557 into gupc branch.
1579 2011-09-07 Gary Funck <gary@intrepid.com>
1581 Ensure that UPC pointer-to-shared type alignment is
1582 propagated to the final type. Revert to long-standing
1583 alignment policy: twice the size of a "C" pointer.
1584 * tree.c (build_pointer_type): Propagate the alignment
1585 of the UPC pointer-to-shared representation type
1586 into the newly built pointer type.
1588 2011-08-30 Gary Funck <gary@intrepid.com>
1590 * tree.h (check_qualified_type): Change 'const_tree'
1591 argument types back to 'tree' to avoid complaints
1592 of assignment drops qualifiers for invocations of the
1593 newly implemented TYPE_BLOCK_FACTOR() macro, which
1594 invokes hash functions with 'tree' pointer values that
1595 are not const qualified.
1596 * tree.c (check_qualified_type, check_aligned_type): Ditto.
1597 * c-typeck.c (comptypes_internal): Ditto.
1599 2011-08-29 Gary Funck <gary@intrepid.com>
1601 Fixes for regressions noted running "make check"
1603 * fold-const.c (fold_unary_loc): Execute UPC-specific
1604 checks for a cast-of-a-cast, only if one of the
1605 operands is a UPC pointer-to-shared value.
1606 * opts.c (print_specific_help): Fix a comparison
1607 in an assert that checks that there are enough
1608 bits reserved for the number of languages defined
1611 2011-08-29 Gary Funck <gary@intrepid.com>
1613 Implement a hash table to record UPC block factors.
1614 * c-family/stub-upc.c (upc_block_factor_insert,
1615 upc_block_factor_lookup): New dummy stub procedures.
1616 * c-family/c-common.c (c_sizeof_or_alignof_type):
1617 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1618 * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1619 to copy (hashed) UPC blocking factor.
1620 (set_type_quals): Likewise.
1621 * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1622 TYPE_HAS_THREADS_FACTOR().
1623 (type_common.block_factor): Delete.
1624 (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1625 TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1626 (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1627 UPC blocking factors greater than one.
1628 * dwarf2out.c (modified_type_die): Re-implement
1629 logic that records UPC blocking factor in the generated
1630 DWARF2 debugging information.
1631 (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1632 TYPE_HAS_THREADS_FACTOR().
1633 * c-decl.c (finish_decl, grokdeclarator):
1634 Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1635 * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1636 used by UPC, and print UPC-specific information.
1638 2011-08-28 Gary Funck <gary@intrepid.com>
1640 Re-work the type machinery to fully support and to unify support
1641 for the UPC layout qualifier (blocking factor).
1642 * c-family/stub-upc.c (upc_set_block_factor): Delete.
1643 (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1644 and update prototype.
1645 * c-family/c-common.c (complete_array_type): call newly
1646 defined c_build_qualified_type_1() instead of
1647 upc_set_block_factor().
1648 * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1649 upc_apply_layout_qualifier() and update prototype.
1650 (upc_set_block_factor): Delete prototype.
1651 * c-family/c-common.h (c_build_qualified_type): redefine
1652 as a pre-processor macro that invokes c_build_qualified_type_1()
1653 with a null UPC layout qualifier.
1654 (c_build_qualified_type_1): New. Add layout qualifier argument
1655 to old c_build_qualified_type() prototype.
1656 * tree.c (set_type_quals, check_qualified_type):
1657 Add layout qualifier as argument.
1658 (check_aligned_type): Add check for UPC block factor equality.
1659 (get_qualified_type_1): Rename from get_qualified_type() and
1660 add layout qualifier as argument.
1661 (build_qualified_type_1): Rename from build_qualified_type() and
1662 add layout qualifier as argument.
1663 * tree.h (check_qualified_type): Add layout qualifier as argument
1665 (get_qualified_type): Re-define as a as a pre-processor macro
1666 that invokes get_qualified_type_1() with a null
1667 UPC layout qualifier.
1668 (get_qualified_type_1): Rename from get_qualified_type() and
1669 add layout qualifier as argument.
1670 * cp/tree.c (c_build_qualified_type_1): Rename from
1671 c_build_qualified_type() and add (unused) layout qualifier
1673 * c-decl.c (finish_decl): re-format long error messages.
1674 (grokdeclarator): Re-work the logic so that it calls
1675 upc_grok_layout_qualifier() to handle the UPC layout
1676 qualifier, if present.
1677 * c-typeck.c (qualify_type, common_pointer_type,
1678 build_component_ref): Re-work the logic so that it calls
1679 upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1681 (c_build_qualified_type_1): Rename from c_build_qualified_type()
1682 and add layout qualifier argument.
1683 * print_tree.c (print_node): Re-format a long line.
1685 2011-08-26 Gary Funck <gary@intrepid.com>
1687 Merge trunk version 177949 into gupc branch.
1688 * c-family/c-common.h (enum rid): Bump the number of type modifiers
1690 * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1691 to add new rliterals column value.
1693 2011-08-26 Gary Funck <gary@intrepid.com>
1695 * convert.c (convert_to_integer): Fix the check for the
1696 difference between two UPC pointers-to-shared values.
1698 2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
1700 * configure.ac: Fix the name for --with-upc-pts-packed-bits
1701 option. Support --with-upc-packed-bits as deprecated. Fix the code to
1702 correctly check packed bits.
1703 * configure: Re-generate.
1705 2011-08-16 Gary Funck <gary@intrepid.com>
1707 * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1708 the barrier id expression is not an integer expression.
1710 2011-08-12 Gary Funck <gary@intrepid.com>
1712 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1714 * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1715 Set mode of UPC pointer-to-shared rep. to an
1716 integral mode of size at least as large as the
1717 size of the representation's struct type.
1719 2011-08-12 Gary Funck <gary@intrepid.com>
1721 Rework/simplify the UPC genericize pass.
1722 * c-family/stub-upc.c (upc_apply_layout_qualifier,
1723 upc_build_pointer_type): New.
1724 (upc_set_block_factor): Adjust to new calling sequence.
1725 (upc_build_shared_var_addr): Delete.
1726 * c-family/c-common.c (complete_array_type): Adjust call
1727 to upc_set_block_factor().
1728 * c-family/c-upc.h (upc_apply_layout_qualifier,
1729 upc_build_pointer_type): New.
1730 (upc_build_shared_var_addr): Delete.
1731 (upc_set_block_factor): Adjust to new calling sequence.
1732 * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1733 * c-decl.c (grokdeclarator): Call newly defined
1734 upc_apply_layout_qualifier() instead of upc_set_block_factor().
1735 * c-decl.c (grokdeclarator): Split long UPC-related error
1736 messages into two lines.
1737 * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1738 directly. Revert that change to trunk. (upc_genericize() will
1739 handle lowering the expressions that take the address of a
1741 * config/i386/i386.c (ix86_promote_function_mode): For UPC
1742 pointers-to-shared, return the type mode of the UPC pointer-to-shared
1743 representation type.
1745 2011-08-10 Gary Funck <gary@intrepid.com>
1747 Implement additional fixes for recent merge with trunk.
1748 * explow.c (promote_mode): Do not attempt to promote
1749 the mode for UPC pointer-to-shared types.
1750 * config/i386/i386.c (function_value_64): Ditto.
1752 2011-08-07 Gary Funck <gary@intrepid.com>
1754 Merge trunk version 177548 into gupc branch.
1755 * config/i386/i386.c (ix86_promote_function_mode):
1756 Do not promote UPC pointers-to-shared to Pmode.
1757 * c-family/c-ommon.c (pointer_int_sum):
1758 Also check the pointer operand, rather than just
1759 its type, when making the decision to derive
1760 the equivalent unshared type.
1761 * tree.c (build2_stat): If the type of the result
1762 passed in as an argument is a UPC shared type,
1763 derive the unshared equivalent when calculating
1764 the result type of the node.
1766 2011-07-15 Nenad Vukicevic <nenad@intrepid.com>
1768 * config/darwin.c: Disable var_tracking option
1769 on -O0 as it is supposed to run only when optimization
1770 is applied. See GCC bug 49743.
1772 2011-07-06 Gary Funck <gary@intrepid.com>
1774 Re-implement the pass that lowers trees generated by
1775 the UPC front-end into GENERIC. Previously this was
1776 done within the gimplification framework, but this
1777 required that gimplification be run before inlining
1778 and various other passes, which did not fit in well
1779 with the current design of the middle-end passes.
1780 Now, the lowering is done by a newly defined language
1781 specific genericize hook. With this change, we are
1782 are able to undo some extensions made to the gimplify
1783 logic, and thus can revert several files to trunk.
1785 * c-decl.c: Add a check for UPC deprecated names which
1786 may appear as undefined function names.
1787 * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1788 LTI_upc_getaddr): Remove definitions of unused UPC
1789 library function names. These were defined back when
1790 the libfunc interface was used to call these routines.
1791 * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1792 in UPC lowering (genericize) pass.
1793 * langhooks.h (gimplify_expr): Revert to trunk's definition.
1794 (instrument_func): Delete this hook. Now handled in
1796 * tree-pass.h: Revert to trunk.
1797 * c-typeck.c (build_unary_op): Adjust reference to
1798 upc_genericize() in a comment.
1799 * gimplify.c (create_tmp_var_raw): Delete logic that
1800 was converting UPC shared types into unshared types
1801 to be used for temporaries. Now handled in upc_genericize().
1802 Replace with an assertion check.
1803 (prepare_gimple_addressable): Revert to trunk's definition.
1804 No longer needed as an externally called function.
1805 (flag_instrument_functions_exclude_p): Re-define as
1806 an externally called function.
1807 (gimplify_function_tree): Delete code that implemented
1808 call to UPC's language specific function instrumentation hook.
1809 * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1810 (prepare_gimple_addressable): Delete extern definition;
1811 revert to trunk's definition.
1812 * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1813 (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1814 * c-family/c-gimplify.c: Revert to trunk.
1815 * cp/cp-gimplify.c: Revert to trunk.
1816 * cp/cp-tree.h: Revert to trunk.
1817 * explow.c: Revert to trunk.
1818 * langhooks.c: Revert to trunk.
1819 * libfuncs.h: Revert to trunk.
1820 * objc/objc-act.c: Revert to trunk.
1822 2011-06-30 Gary Funck <gary@intrepid.com>
1824 * c-family/c.opt: Bring options definitions up-to-date
1825 with respect to changes made in the trunk.
1827 2011-06-29 Gary Funck <gary@intrepid.com>
1829 Merge trunk version 175584 into gupc branch.
1831 2011-06-13 Gary Funck <gary@intrepid.com>
1834 * include/cpplib.h (enum c_lang):
1835 Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1836 This keeps all the "C" variants together.
1837 * init.c (lang_defaults): Add an entry for UPC.
1839 2011-06-09 Gary Funck <gary@intrepid.com>
1841 * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1842 a 32-bit target, the size expression overflowed, the result was
1843 error_mark_node, and an ICE was triggered on an attempt to evaluate
1844 C_TYPE_VARIABLE_SIZE() on the error node.
1845 (upc_blocksizeof_expr, upc_blocksizeof_type,
1846 upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1847 Make similar changes to avoid further processing of error_mark_node.
1849 2011-06-07 Gary Funck <gary@intrepid.com>
1851 * sel-sched.c (move_op): Incorporate the following
1852 patch to eliminate ICE at -O3 on IA64/Altix.
1854 2011-06-07 Alexander Monakov <amonakov@ispras.ru>
1856 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
1857 code_motion_path_driver returned 0 or 1.
1858 (sel_region_finish): Clear h_d_i_d.
1860 2011-06-02 Gary Funck <gary@intrepid.com>
1862 Merge trunk version 174558 into gupc branch.
1864 2011-05-30 Gary Funck <gary@intrepid.com>
1866 * configure.ac: Make the default order of the virtual
1867 address field in a UPC pointer-to-shared to be "first".
1868 This reverts to the previous setting, and is a short term
1869 measure to work around a bug found on the IA64,
1870 where vaddr=last led to incorrect code generation.
1871 Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1872 in AC_DEFINE(), to agree with recent changes in files
1873 that reference this define.
1874 configure, config.in: Regenerate.
1876 2011-05-26 Gary Funck <gary@intrepid.com>
1878 * configure.ac: Fix typo when referring to $upc_vaddr_order.
1879 configure: Regenerate.
1881 * ../fixincludes/fixincl.x: Revert to trunk.
1882 This file is auto-generated, and should not be merged.
1884 2011-05-18 Gary Funck <gary@intrepid.com>
1886 Merge trunk version 173845 into gupc branch.
1888 2011-05-17 Gary Funck <gary@intrepid.com>
1890 * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1891 c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1893 * c-family/c-pragma.c: Remove conditional compilation
1894 with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1895 Test 'compiling_upc' when compiling to determine if
1896 the "upc" and "pupc" pragmas should be registered.
1898 * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1899 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1900 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1901 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1902 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1903 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1904 Move these target-dependent definitions from config/upc-conf.h
1907 * configure.ac: Improve the logic for UPC-related options.
1908 Delete references to pre-processor definitions that have
1909 been moved to "upc/upc-pts.h".
1911 * configure, config.in: Regenerate.
1913 * Makefile.in (UPC_PTS_REP): Remove definition and revert
1914 to trunk. This substitution variable was used to
1915 configure the representation-specific versions of
1916 the tree rewrites that operate on UPC pointer-to-shared
1919 * c-parser.c (c_parser_upc_forall_statement): Remove
1920 reference to UPC_FORALL_DEPTH_NAME, and call
1921 newly defined upc_rts_forall_depth_var() instead.
1923 * config/upc-config.h: Delete. Various definitions
1924 moved to "upc/upc-rts-names.h", "defaults.h", and
1927 * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1928 HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1929 UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1930 UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1931 UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1932 UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1933 UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1934 UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1935 New. Document UPC target macros.
1936 doc/tm.texi: Regenerate.
1938 2011-05-07 Gary Funck <gary@intrepid.com>
1940 * ../configure.ac: Disable build of libupc
1941 on non POSIX hosted systems. Use AS_HELP_STRING
1942 to define messages. Remove 'word-pair' as a
1943 possible --with-upc-pts UPC pointer-to-shared
1946 * ../configure: Regenerate.
1948 * configure.ac: Use AS_HELP_STRING to define messages.
1949 Remove 'word-pair' as a possible --with-upc-pts
1950 UPC pointer-to-shared representation.
1951 (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1952 (UPC_MAX_BLOCK_SIZE): Correct the default value.
1954 * configure: Regenerate.
1956 * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1959 * ChangeLog.upc: Fix some typos.
1961 2011-05-07 Gary Funck <gary@intrepid.com>
1963 * ../maintainer-scripts/gcc_release: Add "upc"
1964 as one of the released languages.
1966 2011-05-06 Gary Funck <gary@intrepid.com>
1968 Eliminate compilation warnings, by fixing
1969 #include's and updating function prototypes.
1971 * c-family/c-cppbuiltin.c: Include c-upc.h.
1973 * optabs.c (gen_libfunc): Change type of 'suffix'
1974 parameter to conform with prototype.
1976 * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1977 ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1980 * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1983 * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1984 argument values to cp_gimplify_expr.
1986 * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1987 HAVE_UPC_NUMA_SUPPORT): Regenerate. Remove
1988 pre-processor definitions that are no longer
1989 needed to build the 'upc' command (upc-cmd.c)
1990 because the linker specs. defined in libupc
1991 take care of linking in the needed libraries.
1993 * c-parser.c (c_parser_upc_forall_statement):
1994 initialize affinity_loc to avoid "maybe unused" warning.
1995 (c_parser_upc_sync_statement): Remove un-needed
1996 'ret' variable. Cast return value from
1997 'upc_build_sync_stmt' to 'void' to avoid
1998 compile-time warning.
2000 * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2001 integer constant, not a string. Range is restricted
2002 to maximum positive 32-bit integer (2+ billion) to
2003 fit in with the use of 'int' in the front-end's
2004 switch handling logic.
2006 2011-05-06 Gary Funck <gary@intrepid.com>
2008 Upgrade c-family source files to conform with modularity
2009 improvements. Mainly, remove #include of c-tree.h in files
2010 under c-family, and define a new UPC-specific #include file,
2011 c-upc.h, and use it.
2013 * c-family/stub-upc.c: Remove #include of c-tree.h and
2014 upc/upc-act.h. Replace with #include of c-common.h
2016 (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2017 upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2018 upc_localsizeof_expr, upc_localsizeof_type,
2019 upc_shared_type_p): Delete.
2021 * c-family/c-opts.c: Add #include of c-upc.h
2023 * c-family/c-common.c: Remove #include of c-tree.h and
2024 add #include of c-upc.h.
2026 * c-family/c-upc.h: New. Define API for UPC-specific functions
2027 (mostly implemented in upc/upc-act.c).
2029 * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2030 Remove extern definitions.
2032 * c-family/c-pragma.c: Remove #include of c-tree.h.
2033 Add #include of c-upc.h.
2035 * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New. Move from
2037 (upc_shared_type_p, upc_pts_cvt_op_p): New. Move from
2038 upc/upc-act.c, and define as a macro.
2039 (expand_affinity_test): Remove unused external definition.
2040 (build_upc_unshared_type): Add external definition.
2041 (upc_shared_type_p): Remove external definition.
2043 * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2045 * dojump.c: Remove #include of c-tree.h.
2047 * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2049 (count_upc_threads_refs, is_multiple_of_upc_threads,
2050 set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2051 upc_build_shared_var_addr, upc_build_sync_stmt,
2052 upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2053 upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2054 c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2055 upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2056 upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2057 permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2058 set_upc_consistency_mode, get_upc_consistency_mode,
2059 push_upc_consistency_mode, pop_upc_consistency_mode,
2061 Move external definitions to c-family/c-upc.h.
2062 (upc_blocksizeof_type, upc_localsizeof_type,
2063 upc_elemsizeof_type): Remove external definitions;
2064 these functions were moved to c-parser.c.
2066 * c-decl.c: Add #include of c-upc.h.
2068 * c-typeck.c: Add #include of c-upc.h.
2070 * c-convert.c: Add #include of c-upc.h.
2072 * ChangeLog.upc: Fix typo.
2074 * Makefile.in: Add references to c-family/c-upc.h, everywhere
2075 there is a reference to c-family/c-objc.h.
2076 Remove extraneous reference to upc-act.h.
2078 * c-parser.c: Add #include of c-upc.h.
2079 (upc_blocksizeof_expr, upc_blocksizeof_type,
2080 upc_elemsizeof_expr, upc_elemsizeof_type,
2081 upc_localsizeof_expr, upc_localsizeof_type):
2082 Move from upc/upc-act.c.
2084 * tree.c (build_upc_unshared_type): New.
2085 Move upc_get_unshared_type from upc/upc-act.c and rename
2086 to build_upc_unshared_type.
2087 c-family/c-common.c (pointer_int_sum): refer to renamed
2088 build_upc_unshared_type function.
2089 c-convert.c (convert): Ditto.
2090 convert.c (convert_to_pointer): Ditto.
2091 c-typeck.c (build_unary_op, build_modify_expr,
2092 really_start_incremental_init): Ditto.
2093 gimplify.c (create_tmp_var_raw): Ditto.
2094 tree.c (build1_stat): Ditto.
2095 tree.h (upc_get_unshared_type): Rename to
2096 build_upc_unshared_type.
2098 2011-05-06 Gary Funck <gary@intrepid.com>
2100 Merge trunk version 173471 into gupc branch.
2102 2011-05-05 Gary Funck <gary@intrepid.com>
2104 Make changes that bring the GUPC branch more closely in sync.
2105 with the GCC trunk. Revert any fixes that are not UPC-specific.
2106 Remove gratuitous re-formatting.
2108 * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2109 This file should have been removed in a previous merge
2111 * ../configure.ac: Remove Cray Catamount/CNL support.
2112 * ../configure: Regenerate.
2113 * ../config.sub: Remove Cray Catamount/CNL support.
2114 * config.gcc: Remove Cray Catamount/CNL support.
2115 * ../maintainer-scripts/gcc_release: Revert to trunk.
2116 * c-family/c-common.h: Define parse_optimize_options. Its definition
2117 was missed in a previous merge with the trunk.
2118 * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2120 * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2121 in addition to ARRAY_TYPE.
2122 * c-typeck.c: Remove an extra newline character.
2123 * varasm.c: Revert a fix that improved an error message
2124 when TLS common data is unimplemented.
2125 * varasm.c: Revert a gcc_assert that had been added which
2126 checked for a null DECL_SIZE_UNIT field.
2127 * emultls.c: Revert to trunk. Remove possible fix.
2128 * Makefile.in: Revert extra blank line that is present
2129 in the trunk version.
2130 * Makefile.in: Revert a fix that handled long shell
2131 argument lists for plugin headers.
2132 * config/ia64/ia64.opt: Revert an option setting
2133 that increased the default TLS address range.
2134 * config/ia64/crtbegin.asm: Revert to trunk.
2135 Removes an extra newline character.
2136 * ChangeLog.upc: Spell check.
2138 2011-05-03 Gary Funck <gary@intrepid.com>
2140 * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2141 (c_apply_type_quals_to_decl): Ditto.
2142 * c-family/c-common.h: Ditto.
2144 * c-decl.c (merge_decls): Ditto.
2145 * c-typeck.c (qualify_type, default_conversion,
2146 build_component_ref, build_unary_op,
2147 c_build_qualified_type): Ditto.
2148 * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2150 2011-04-29 Gary Funck <gary@intrepid.com>
2152 * c-decl.c (finish_decl): Improve error diagnostics.
2153 (grokdeclarator): Ditto.
2155 * c-typeck.c (build_c_cast): Improve error diagnostics.
2156 (convert_for_assignment): Ditto.
2157 (build_binary_op): Ditto.
2159 * c-parser.c (c_parser_upc_forall_statement):
2160 Improve error diagnostics.
2162 * convert.c (convert_to_integer): Improve error diagnostics.
2164 2011-04-24 Gary Funck <gary@intrepid.com>
2166 * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2167 occurred if there is an error in the barrier id
2168 expression. Map error_mark_node into NULL.
2170 2011-04-22 Gary Funck <gary@intrepid.com>
2172 Merge trunk version 172873 into gupc branch.
2174 2011-04-19 Gary Funck <gary@intrepid.com>
2176 Merge trunk version 172359 into gupc branch.
2178 2011-04-14 Gary Funck <gary@intrepid.com>
2180 * c-family/c.opt: Add UPC as a valid language for various
2181 switches where it is valid for "C", that were not updated
2182 in previous merges with trunk.
2184 2011-04-13 Gary Funck <gary@intrepid.com>
2186 * c-family/c.opt (fupc-pre-include): New option definition.
2187 * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2188 -fno-upc-pre-include is asserted.
2190 2011-04-07 Gary Funck <gary@intrepid.com>
2192 Merge trunk version 172158 into gupc branch.
2193 to bring in the following fix.
2195 2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2198 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2199 if old and new states differ.
2201 2011-04-06 Gary Funck <gary@intrepid.com>
2203 Merge trunk version 171966 into gupc branch.
2205 2011-04-01 Gary Funck <gary@intrepid.com>
2207 * tree.h (tree_base): Move UPC flag bits into bit fields
2208 located just before spare bits. Decrement spare bits.
2209 Rename 'shared_flag' -> 'upc_shared_flag',
2210 'relaxed_flag' -> 'upc_relaxed_flag',
2211 'strict_flag' -> 'upc_strict_flag, and adjust macros
2212 that reference them accordingly.
2214 2011-04-01 Gary Funck <gary@intrepid.com>
2216 * c-decl.c (grokdeclarator): Fix formatting of
2217 code that sets UPC block size on scalars.
2219 2011-04-01 Gary Funck <gary@intrepid.com>
2221 * c-decl.c (grokdeclarator): Revert use of white space
2222 to match the trunk (to rationalize diffs).
2223 * c-typeck.c (convert_for_assignment): Ditto.
2224 * tree-ssa.c (useless_type_conversion_p): Ditto.
2226 2011-03-23 Gary Funck <gary@intrepid.com>
2228 * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2229 the GCC 4.6 release branch.
2231 2011-03-21 Gary Funck <gary@intrepid.com>
2233 Merge trunk version 171202 into gupc branch.
2235 2011-03-20 Gary Funck <gary@intrepid.com>
2237 * varasm.c: Call error() directly with a format specifier,
2238 rather than using sprintf() to format the message.
2239 This should make it easier to internationalize UPC's error messages.
2241 2011-03-20 Gary Funck <gary@intrepid.com>
2243 * configure.ac: Fix the check for gnu ld when enabling
2244 UPC link script support.
2245 configure: Regenerate (also picks up changes from previous
2248 2011-03-20 Gary Funck <gary@intrepid.com>
2250 Move UPC start files, end files, and linker specs.
2251 into libupc. This reduces the impact on common GCC
2252 configuration files, and ensures that these UPC-specific
2253 components are only built when the UPC language dialect is selected.
2256 * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2257 linker specs. Fix typo in -fupc-debug message.
2259 * config/upc-conf.h, config/darwin.h: Move defines for
2260 UPC-related section begins/ends into libupc/config/default/
2263 * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2264 UPC-related linker compiler specifications,
2265 accessed via %:include().
2267 * configure.ac, configure: Remove logic related to building
2268 upc-crtbegin/end. Remove config. tests for numa and cpu
2269 affinity (previously used by the 'upc' driver); these
2270 settings are now propagated by target-specific compiler
2271 specs. built by libupc. Regenerate autoconf.
2273 * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2274 linker compiler specifications, accessed via %:include().
2275 Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2278 * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2280 * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2281 config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2282 config/ia64/linux.h, config/mips/t-iris,
2283 config/mips/iris6.h: Revert to trunk version 167307.
2286 * configure, configure.ac, config.host, Makefile.in:
2287 Revert to trunk version 167307.
2289 2011-02-23 Gary Funck <gary@intrepid.com>
2291 * c-decl.c (undeclared_variable): fix typo. Inadvertently
2292 removed negation on following 'if'.
2294 2011-02-22 Gary Funck <gary@intrepid.com>
2296 * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2297 to check for the usage of certain deprecated UPC keywords.
2298 * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2299 * c-tree.h (undeclared_variable): Define prototype.
2301 2011-02-12 Gary Funck <gary@intrepid.com>
2303 * c-typeck.c: (build_c_cast, convert_for_assignment)
2304 Diagnose an attempt to convert from an integer to
2305 a pointer-to-shared as an error. Also, fix various
2306 error messages so that they use the preferred term
2307 pointer-to-shared instead of "shared pointer".
2309 2011-02-07 Gary Funck <gary@intrepid.com>
2311 * c-typeck.c: (convert_for_assignment)
2312 Fix typo. in error message.
2314 2011-01-23 Gary Funck <gary@intrepid.com>
2316 * c-typeck.c: (c_build_qualified_type)
2317 derive UPC block size by calling upc_get_block_size(),
2318 to ensure that the element type of an array of an array
2319 is derived correctly.
2321 2010-12-29 Gary Funck <gary@intrepid.com>
2323 Merge trunk version 168314 into gupc branch.
2325 2010-12-15 Gary Funck <gary@intrepid.com>
2327 Merge trunk version 167307 into gupc branch.
2329 2010-10-19 Gary Funck <gary@intrepid.com>
2331 * c-typeck.c: Fix typo in previous fix
2332 which led to a mis-compare for equal block sizes.
2334 2010-10-18 Gary Funck <gary@intrepid.com>
2336 * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2337 diagnosed as an error
2339 The conversion from any type (shared or not) to
2340 a shared type is likely either meaningless or an error. This update
2341 makes any conversion to a shared type, an error.
2343 2010-10-18 Gary Funck <gary@intrepid.com>
2345 * c-typeck.c: Fix bug: passing int to shared pointer arg.
2346 generates spurious warning
2348 Add a #define procedure that does the same thing as
2349 WARN_FOR_ASSIGNMENT but issues an error diagnostic instead. Use
2350 this procedure to diagnose passing an integer value to a
2351 pointer-to-shared as an error.
2353 2010-10-18 Gary Funck <gary@intrepid.com>
2355 * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2356 matching routine declaration.
2358 When checking for type compatibility, shared qualified types must
2359 have the same block factor. This check was missing from
2360 comptypes_internal(). This update adds the check for blocking
2363 2010-10-17 Gary Funck <gary@intrepid.com>
2365 * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2368 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2370 2010-10-17 Gary Funck <gary@intrepid.com>
2372 * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2373 45869 - [4.5/4.6 Regression] type mismatch in shift expression
2374 produces ice with -O3 and -m32.
2376 See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2378 2010-10-17 Gary Funck <gary@intrepid.com>
2380 * c-common.c: Diagnose the application of the various "*sizeof"
2381 operations on generic pointer-to-shared as a compilation error.
2383 2010-10-17 Gary Funck <gary@intrepid.com>
2385 * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2386 message regarding a function parameter being declared with a shared
2389 The parameter's 'name' value is not defined at this point, and
2390 cannot be used in the error message. This update removes the
2391 reference to 'name', and eliminates the segfault.
2393 2010-10-16 Gary Funck <gary@intrepid.com>
2395 * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2397 The gcc/Makefile.in rules for install-plugin had to be re-written to
2398 break up a long list of header files that exceeded the command line
2399 limitation imposed by Irix.
2401 Access functions for TFmode types had to be implemented.
2402 Apparently, this is the mode used for the SGI/MIPS port to represent
2405 2010-10-14 Gary Funck <gary@intrepid.com>
2407 * c-decl.c: Fix bug: Multiple equal blocking factors specified
2408 via typedef chain should not be diagnosed as an error.
2410 If the block size that is given by the typedef is equal to the block
2411 size given explicitly in the variable declaration, then do not
2412 complain. The easiest way to make this check was to create a
2413 temporary type that is a clone of the element type and then set its
2414 block size using the given layout qualifier. Then compare the block
2415 size of the temporary (the declaration) to the block size specified
2416 in the typedef. This complexity is needed, because the '[*]' block
2417 size needs to be calculated, and the '[]' needs to be mapped into a
2420 2010-10-10 Gary Funck <gary@intrepid.com>
2422 * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2425 The compiler properly detected the presence of two or more layout
2426 qualifiers as an error, but then hit an assertion check, because the
2427 code that followed the error expected to see a qualifier and not a
2428 layout specifier. The fix is simple: just return immediately after
2429 detecting the error.
2431 2010-10-10 Gary Funck <gary@intrepid.com>
2433 * c-decl.c: Improve error diagnostics for various cases of UPC
2434 shared array type declarations.
2436 Add the check for this error: "In the dynamic translation
2437 environment, THREADS may not appear in declarations of shared arrays
2438 with indefinite block size". Also, fix up a few of the other
2439 related error diagnostics.
2441 2010-10-09 Gary Funck <gary@intrepid.com>
2443 * c-common.c: Fix bug: segfault on incomplete array definition.
2445 This turned out to be a bit complicated. The logic in
2446 upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2447 the THREADS identifier in the case where the blocking factor has
2448 been set to indefinite ([]). This can happen when indefinite array
2449 declarations are processed for shared arrays. At that time, the
2450 file scope has been closed and THREADS is no longer in scope. Some
2451 more work is needed on upc_lang_layout_decl(). It has some
2452 duplication, and notably duplicates the two branches of the if
2453 having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2454 caller of this routine (layout_decl()).
2456 The method of forcing a layout qualifier of [] in the indefinite
2457 declaration handler is odd a well. The code that just does the
2458 setting of the block factor, needs to moved into its own routine
2459 that doesn't depend upon a declspec for '[]' to be passed in, just
2460 in order to set the blocking factor to some value (in this case, 0).
2461 Also, the logic for how that shared type is constructed is strange.
2462 First the type with 0 blocking factor is set. Then the shared
2463 qualifier is removed from the type, and then added back later. The
2464 intermediate type has a blocking factor set, but it has no shared
2465 qualifier. Fixing this will require some thought. It is tempting
2466 just to make indefinite shared arrays an error, rather than forcing
2467 the dimension to be '1'.
2469 This likely fixes a serious error in the previous update to
2470 upc_lang_layout_decl(), where it didn't have the logic to set
2471 TYPE_SIZE_UNIT() in the main part of the 'if' statement. This means
2472 the previous update would fail on many tests.
2474 2010-10-09 Gary Funck <gary@intrepid.com>
2476 * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2477 (decl) is null, which can happen if some layout error occurred
2480 2010-10-09 Gary Funck <gary@intrepid.com>
2482 * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2483 "variable-sized" when compiled in dynamic threads.
2485 This long-standing bug is easily fixed. Just check
2486 for the situation that the non-constant sized type is shared and
2487 that it does not have a dimension that references a multiple of
2488 threads. If this criteria is met, then issue a meaningful
2491 2010-10-01 Gary Funck <gary@intrepid.com>
2493 * configure, configure.ac: Update manual page, and bug reporting
2496 Update "man" page to reflect debugging switches. Also, some general
2497 clean up. Change the bug reporting URL to point to gccupc.org.
2499 2010-09-27 Gary Funck <gary@intrepid.com>
2501 * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2502 the UPC forall depth count variable is not found.
2504 The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2505 The compiler will generate code that references this variable in
2506 order to implement nested upc_forall semantics. If there is a
2507 compiler build or install problem, this variable may not be found.
2508 In this case, terminate with an internal_error().
2510 2010-09-26 Gary Funck <gary@intrepid.com>
2512 * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2513 mis-diagnosed as syntax error.
2515 Fix a failure exhibited by the Berkeley test case,
2516 bug873a.upc, which has the code:
2518 upc_forall (;;;d) {...} The compiler did not properly handle
2519 the empty "condition" clause, and did not recover well when it was
2520 determined that the use of a double value, "d" above, was neither a
2521 pointer-to-shared nor an integer expression. The update implements a
2522 fix for both issues.
2524 See also: gcc/c-parser.c gcc/upc/upc-act.c
2526 2010-09-23 Gary Funck <gary@intrepid.com>
2528 * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2529 incorporated into the referencing type.
2531 This was semi-fixed a few times before. This update fixes a few
2532 more places where the layout qualifier wasn't being propagated
2533 through typedef's properly. What made this a bit tricky is shown in
2534 the example cited in the bug report:
2536 typedef shared [5] int A_t; A_t A[5*THREADS];
2538 In the typedef, the blocksize is being applied to a shared *scalar*,
2539 and the code was applying the blocksize only to arrays. This update
2540 handles shared scalars correctly.
2542 2010-09-22 Gary Funck <gary@intrepid.com>
2544 * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2545 upc_forall() semantics are not implemented
2547 The checkforall test in the Berkeley harness test suite indicated
2548 that GCC/UPC was not properly implementing nested upc_forall
2549 semantics. Nested upc_forall statements (both statically or
2550 dynamically nested) must implement their affinity clause as if it
2551 were "continue"; thus all steps in the loop must execute without
2552 regard for affinity. To implement these semantics a global depth
2553 counter, __upc_forall_depth, is maintained by the generated code
2554 that implements upc_forall.
2556 See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2557 gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2558 libupc/include/upc.h libupc/smp/upc_main.c
2560 2010-09-19 Gary Funck <gary@intrepid.com>
2562 * c-decl.c: c-decl.c: zero out the layout specifier, after
2563 processing an array type.
2565 Fix the previous fix, that moved the setting of the type's layout
2566 qualifier to the outside of the array type processing loop. What is
2567 missing from the fix is that the layout_qualifier variable needs to
2568 be cleared after setting the type's blocksize.
2570 2010-09-19 Gary Funck <gary@intrepid.com>
2572 * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2573 given blocksize is greater than UPC_MAX_BLOCKSIZE.
2575 The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2576 the actual maximum block size. Therefore, the message was correct,
2577 but the underlying value that was being checked was wrong. Change
2578 the values so that they agree with the actual implementation-defined
2581 2010-09-11 Gary Funck <gary@intrepid.com>
2583 * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2584 multi-dimensional shared array with dynamic threads.
2586 This declaration caused an internal compiler error when compiled
2587 with dynamic threads:
2588 shared [*] int A[THREADS][16]; The bug was discovered when
2589 compiling the RTED_UPC test suite.
2591 The fix is to process layout qualifiers after the entire array type
2592 has been built. Otherwise, we try to calculate the blocksize on a
2593 shared array type that has not had its "size depends upon the value
2594 of THREADS" flag set.
2596 Also, added a test case.
2598 See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2600 2010-07-11 Gary Funck <gary@intrepid.com>
2602 Fix a bug where a statement in c_build_qualified_type()
2603 in the trunk had been inadvertently deleted.
2604 This bug showed up in the IA64 port, because jmpbuf's
2605 on that architecture must be 16 byte aligned, and they were not.
2606 c-typeck.c (c_build_qualified_type): Revive the deleted line.
2608 2010-07-08 Gary Funck <gary@intrepid.com>
2610 Make changes so that other language compilers
2611 will build and bootstrap.
2612 * c-family/c-common.c (compiling_upc, flag_upc,
2613 flag_upc_instrument, flag_upc_instrument_functions,
2614 use_upc_dwarf2_extensions): Move to stub-upc.c and
2616 * c-family/c-common.h (use_upc_dwarf2_extensions,
2617 compiling_upc): Add extern definitions - needed
2618 to compile/build other language front ends.
2619 * c-family/c.opt: Fix the spelling of ObjC.
2620 It had been incorrectly spelled as Objc.
2621 * c-family/c.opt: Add UPC for the various switches
2622 that are valid for both C and ObjC.
2623 * c-fmaily/c-opts.c: Add CL_UPC to the list of
2624 supported options switches when compiling assembly
2626 * lto/lto-lang.c (use_upc_dwarf2_extensions,
2627 flag_upc_instrument, flag_upc_instrument_functions):
2628 Remove these definitions. They have been moved
2629 to c-family/stub-upc.c.
2630 * upc/ChangeLog: Move relevant entries
2632 * c-family/stub-upc.c (compiling_upc, flag_upc,
2633 flag_upc_instrument, flag_upc_instrument_functions,
2634 use_upc_dwarf2_extensions): Moved from c-common.c
2635 * upc/upc-lang.c (compiling_upc, flag_upc,
2636 flag_upc_instrument, flag_upc_instrument_functions,
2637 use_upc_dwarf2_extensions): Moved from c-common.c
2638 * objc/objc-act.c (objc_gimplify_expr): Add additional
2639 parameters to c_gimplify_expr() call, that are used
2640 by upc's tree rewrites.
2641 * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2642 * gcc/cp/lex.c (init_reswords): If not compiling
2643 UPC, then mask off the UPC keywords.
2644 * cp/Make-lang.in (C_STUB_OBJS): Use this
2645 make macro to link with c-family/stub-objc.o
2646 and c-family/stub-upc.o.
2647 * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2648 * java/Make-lang.in (C_STUB_OBJS): Likewise.
2649 * objc/Make-lang.in: Link with c-family/stub-upc.o
2650 to avoid undefined references.
2651 c-parser.c: Fix line indentation.
2652 * libcpp/include/cpplib.h: Remove CL_UPC from
2653 the list of language kinds accepted by the
2654 C preprocessor. This is not necessary because
2655 UPC is a derivative of C99, and does not need
2656 a different language kind.
2657 * c-fmaily/c-opts.c (c_common_handle_option):
2658 Call set_std_c99() when processing the
2659 "--lang upc" switch, instead of setting the
2660 language kind to CL_UPC.
2661 * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2663 2010-07-03 Gary Funck <gary@intrepid.com>
2665 Merge trunk version 161517 into gupc branch.
2666 * gcc/stub-upc.c: Move to gcc/c-family/.
2667 * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2668 Add 'unused' attributes to avoid "set, but
2669 not referenced" warnings.
2670 * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2673 2010-03-01 Gary Funck <gary@intrepid.com>
2675 Create gupc branch from trunk version 157149.