Merge trunk version 202725 into gupc branch.
[official-gcc.git] / gcc / ChangeLog.upc
blobb74a18192801a01dc1b288491f6e156855835198
1 2013-09-18 Gary Funck  <gary@intrepid.com>
3         Merge trunk version 202725 into gupc branch.
5 2013-09-16 Gary Funck  <gary@intrepid.com>
7         Merge trunk version 202619 into gupc branch.
9 2013-09-09 Gary Funck  <gary@intrepid.com>
11         Merge trunk version 202382 into gupc branch.
13 2013-09-02 Gary Funck  <gary@intrepid.com>
15         Merge trunk version 202159 into gupc branch.
17 2013-08-26 Gary Funck  <gary@intrepid.com>
19         Merge trunk version 202008 into gupc branch.
21 2013-08-19 Gary Funck  <gary@intrepid.com>
23         Merge trunk version 201832 into gupc branch.
25 2013-08-05 Gary Funck  <gary@intrepid.com>
27         Merge trunk version 201483 into gupc branch.
29 2013-07-29 Gary Funck  <gary@intrepid.com>
31         Merge trunk version 201301 into gupc branch.
33 2013-07-22 Gary Funck  <gary@intrepid.com>
35         Merge trunk version 201119 into gupc branch.
37 2013-07-15 Gary Funck  <gary@intrepid.com>
39         Merge trunk version 200955 into gupc branch.
41 2013-07-08 Gary Funck  <gary@intrepid.com>
43         Merge trunk version 200775 into gupc branch.
45 2013-07-01 Gary Funck  <gary@intrepid.com>
47         Merge trunk version 200575 into gupc branch.
49 2013-06-24 Gary Funck  <gary@intrepid.com>
51         Merge trunk version 200361 into gupc branch.
53 2013-06-19 Gary Funck  <gary@intrepid.com>
55         Merge trunk version 200149 into gupc branch.
57 2013-06-03 Gary Funck  <gary@intrepid.com>
59         Merge trunk version 199596 into gupc branch.
61 2013-05-27 Gary Funck  <gary@intrepid.com>
63         Merge trunk version 199350 into gupc branch.
65 2013-05-20 Gary Funck  <gary@intrepid.com>
67         Merge trunk version 199093 into gupc branch.
69 2013-05-13 Gary Funck  <gary@intrepid.com>
71         Merge trunk version 198815 into gupc branch.
73 2013-05-06 Gary Funck  <gary@intrepid.com>
75         Merge trunk version 198622 into gupc branch.
77 2013-04-29 Gary Funck  <gary@intrepid.com>
79         Merge trunk version 198433 into gupc branch.
81 2013-04-15 Gary Funck  <gary@intrepid.com>
83         Merge trunk version 197958 into gupc branch.
85 2013-04-08 Gary Funck  <gary@intrepid.com>
87         Merge trunk version 197571 into gupc branch.
89 2013-04-04 Gary Funck  <gary@intrepid.com>
91         Per the UPC 1.3 specification, the type of the
92         optional barrier/notify/wait expression is not constrained to
93         'int'. Instead, any type that is assignment compatible
94         with an 'int' type is permitted.
95         * c/c-parser.c (c_parser_upc_sync_statement): Do not check
96         the optional expression type here.  Let upc_build_sync_stmt()
97         handle it.
98         * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
99         * c/c-typeck.c (c_cvt_expr_for_assign): New.  Also, call
100         error_at() in lieu of error() when the source location is known.
101         * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
102         to check/convert the optional synchronization statement
103         expression.
105 2013-04-02 Gary Funck  <gary@intrepid.com>
107         Merge trunk version 197340 into gupc branch.
109 2013-04-02 Gary Funck  <gary@intrepid.com>
111         Revert revision 178346 (2011-08-30)
112         which changed the prototype of check_qualified_type and related
113         functions so that their parameters were just 'tree' and not
114         'const_tree'.  This seemed necessary at the time because of a
115         change to TYPE_BLOCK_FACTOR(), which in turn called function
116         that hashed the type node pointer.  The hash functions did
117         not accept "const void *" pointers.  Implement a work around
118         that removes this restriction.
119         * c/c-typeck.c: Revert.
120         * tree.c: Revert.
121         * tree.h: Revert.  Change prototype of upc_block_factor_lookup()
122         to accept a 'const_tree' pointer to a type node.
123         * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
124         * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
125         input argument and convert this to 'tree' for use with hash function.
127 2013-03-25 Gary Funck  <gary@intrepid.com>
129         Merge trunk version 197029 into gupc branch.
131 2013-03-21 Gary Funck  <gary@intrepid.com>
133         Released GUPC 4.8.0.3 based on version 196601.
134         This release version was committed on 2013-03-11.
135         * DATESTAMP: Bump date stamp.
137 2013-03-18 Gary Funck  <gary@intrepid.com>
139         Merge trunk version 196771 into gupc branch.
140         * DEV-PHASE: Bump release identifier to 4.9.0-1.
142 2013-03-11 Gary Funck  <gary@intrepid.com>
144         Merge trunk version 196592 into gupc branch.
146 2013-03-04 Gary Funck  <gary@intrepid.com>
148         Merge trunk version 196422 into gupc branch.
150 2013-02-25 Gary Funck  <gary@intrepid.com>
152         Merge trunk version 196253 into gupc branch.
154 2013-02-18 Gary Funck  <gary@intrepid.com>
156         Merge trunk version 196115 into gupc branch.
158 2013-02-11 Gary Funck  <gary@intrepid.com>
160         Merge trunk version 195937 into gupc branch.
162 2013-02-04 Gary Funck  <gary@intrepid.com>
164         Merge trunk version 195707 into gupc branch.
166 2013-01-28 Gary Funck  <gary@intrepid.com>
168         Merge trunk version 195502 into gupc branch.
170 2013-01-21 Gary Funck  <gary@intrepid.com>
172         Merge trunk version 195330 into gupc branch.
174 2013-01-14 Gary Funck  <gary@intrepid.com>
176         Merge trunk version 195164 into gupc branch.
178 2013-01-07 Gary Funck  <gary@intrepid.com>
180         Merge trunk version 194962 into gupc branch.
182 2012-12-24 Gary Funck  <gary@intrepid.com>
184         Merge trunk version 194709 into gupc branch.
186 2012-12-17 Gary Funck  <gary@intrepid.com>
188         Merge trunk version 194552 into gupc branch.
190 2012-12-10 Gary Funck  <gary@intrepid.com>
192         Merge trunk version 194351 into gupc branch.
194 2012-12-03 Gary Funck  <gary@intrepid.com>
196         Merge trunk version 194076 into gupc branch.
198 2012-11-30  Gary Funck  <gary@intrepid.com>
200         Released GUPC 4.8.0.2 based on version 193446.
201         Date of release: 2012-11-12.
202         * DEV-PHASE: Bump release identifier to 4.8.0-3.
203         * DATESTAMP: Bump date stamp.
205 2012-11-26 Gary Funck  <gary@intrepid.com>
207         Merge trunk version 193807 into gupc branch.
209 2012-11-20 Gary Funck  <gary@intrepid.com>
211         Merge trunk version 193672 into gupc branch.
213 2012-11-19 Gary Funck  <gary@intrepid.com>
215         Merge trunk version 193617 into gupc branch.
217 2012-11-15 Gary Funck  <gary@intrepid.com>
219         Merge trunk version 193426 into gupc branch.
221 2012-11-12  Gary Funck  <gary@intrepid.com>
223         Released GUPC 4.8.0.1 based on version 192948.
224         Date of release: 2012-10-29.
225         * DEV-PHASE: Bump release identifier to 4.8.0-2.
226         * DATESTAMP: Bump date stamp.
228 2012-11-05 Gary Funck  <gary@intrepid.com>
230         Merge trunk version 193152 into gupc branch.
232 2012-10-29 Gary Funck  <gary@intrepid.com>
234         Merge trunk version 192909 into gupc branch.
236 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
238         Remove unused --upc-pthreads-per-process compile switch.
239         * c-family/c.opt: Remove --upc-pthreads-per-process switch
240         that compiler/runtime do not use.
241         * c-family/c-opts.c (c_common_handle_option): Remove support for
242         --upc-pthreads-per-process switch.
243         * c-family/c-common.c: Ditto.
244         * c-family/c-common.h: Ditto.
246 2012-10-27 Gary Funck  <gary@intrepid.com>
248         * defaults.h: fix typos and formatting in UPC-related entries.
250 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
252         Place shared initialization code into the .text
253         section instead of a separate .upc_init section.
254         * defaults.h (UPC_INIT_SECTION_NAME): Delete.
255         (UPC_INIT_BEGIN_NAME): Delete.
256         (UPC_INIT_END_NAME): Delete.
257         * doc/tm.texi.in: Ditto.
258         * doc/tm.texi: Ditto.
260 2012-10-22 Gary Funck  <gary@intrepid.com>
262         Merge trunk version 192673 into gupc branch.
264 2012-10-15 Gary Funck  <gary@intrepid.com>
266         Merge trunk version 192449 into gupc branch.
268 2012-10-08 Gary Funck  <gary@intrepid.com>
270         Merge trunk version 192198 into gupc branch.
272 2012-10-01 Gary Funck  <gary@intrepid.com>
274         Merge trunk version 191931 into gupc branch.
276 2012-09-26  Gary Funck  <gary@intrepid.com>
278         Implement support for various UPC version 1.3 specification
279         additions and changes. Deprecate support for upc_local_alloc.
280         Add support for upc_tick (wall-clock timer) library.
281         Add support for collective de-allocation functions:
282         upc_all_free and upc_all_lock_free.
283         Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
284         libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
286 2012-09-24 Gary Funck  <gary@intrepid.com>
288         Merge trunk version 191658 into gupc branch.
290 2012-09-17  Gary Funck  <gary@intrepid.com>
292         Merge trunk version 191376 into gupc branch.
294 2012-09-10  Gary Funck  <gary@intrepid.com>
296         Merge trunk version 191141 into gupc branch.
298 2012-08-27  Gary Funck  <gary@intrepid.com>
300         Merge trunk version 190707 into gupc branch.
301         * tree.h (struct tree_base): Adjust various
302         UPC tree and type flags to refer to the
303         newly introduced u.bits field.
305 2012-08-20  Gary Funck  <gary@intrepid.com>
307         Merge trunk version 190524 into gupc branch.
308         Incorporates a fix in genoutput.c (to properly use
309         CONST_CAST) that led to build failures with
310         older versions of g++.
312 2012-08-16  Gary Funck  <gary@intrepid.com>
314         Merge trunk version 190437 into gupc branch.
315         Incorporates a fix for a build failure on the PPC
316         due to passing incorrect switches to the assembler.
317         Also, first merged trunk revision that compiles GCC
318         with the C++ compiler in the first stage.
320 2012-08-13  Gary Funck  <gary@intrepid.com>
322         Merge trunk version 190336 into gupc branch.
324 2012-08-09  Gary Funck  <gary@intrepid.com>
326         * c-family/c-common.c (c_fully_fold_internal): Do not fold
327         offsetof-like expressions when they are applied to UPC
328         shared types.
330 2012-08-06  Gary Funck  <gary@intrepid.com>
332         Merge trunk version 190173 into gupc branch.
334 2012-08-01  Gary Funck  <gary@intrepid.com>
336         Merge trunk version 190063 into gupc branch.
337         Incorporates fix for build failure on IA64.
339 2012-07-30  Gary Funck  <gary@intrepid.com>
341         Merge trunk version 189954 into gupc branch.
343 2012-07-27  Gary Funck  <gary@intrepid.com>
345         Merge trunk version 189856 into gupc branch.
346         Incorporates fix for bootstrap with a sub-set of language
347         specific source directories present.
348         * optabs.c: Revert to trunk.  Rather than defining opcodes
349         as a way of defining get/put runtime library function names,
350         generate them directly in gcc/upc/upc-genericize.c.
351         * optabs.h: Ditto.
352         * genopinit.c: Ditto.
354 2012-07-23  Gary Funck  <gary@intrepid.com>
356         Merge trunk version 189777 into gupc branch.
358 2012-07-16  Gary Funck  <gary@intrepid.com>
360         Merge trunk version 189545 into gupc branch.
362 2012-07-12  Gary Funck  <gary@intrepid.com>
364         Merge trunk version 189366 into gupc branch.
366 2012-07-05  Gary Funck  <gary@intrepid.com>
368         Merge trunk version 189274 into gupc branch.
369         Incorporates graphite build infrastructure changes.
371 2012-07-04  Gary Funck  <gary@intrepid.com>
373         Merge trunk version 189080 into gupc branch.
374         * Makefile.in: Adjust for move of C front-end files.
375         * c/Make-lang.in: Ditto.
377 2012-07-03  Gary Funck  <gary@intrepid.com>
379         Merge trunk version 189078 into gupc branch.
381 2012-06-25  Gary Funck  <gary@intrepid.com>
383         Merge trunk version 188931 into gupc branch.
385 2012-06-18  Gary Funck  <gary@intrepid.com>
387         Merge trunk version 188721 into gupc branch.
389 2012-06-11  Gary Funck  <gary@intrepid.com>
391         Merge trunk version 188380 into gupc branch.
393 2012-06-04  Gary Funck  <gary@intrepid.com>
395         Merge trunk version 188168 into gupc branch.
397 2012-05-29  Gary Funck  <gary@intrepid.com>
399         Merge trunk version 187927 into gupc branch.
401 2012-05-18  Gary Funck  <gary@intrepid.com>
403         Merge trunk version 187666 into gupc branch.
404         Incorporates fix for ICE in tree vectorization pass
405         when processing strided loads.
407 2012-05-17  Gary Funck  <gary@intrepid.com>
409         Merge trunk version 187578 into gupc branch.
411 2012-05-09  Gary Funck  <gary@intrepid.com>
413         Merge trunk version 187347 into gupc branch.
414         Incorporates fix for segfault in tree vectorization pass.
416 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
418         * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
419         Appropriate libraries and include files are added on the
420         command line to make it possible to compile with the driver
421         from the build tree.
423 2012-04-29  Nenad Vukicevic  <nenad@intrepid.com>
425         * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
426         PPC ABI. In the UPC 'struct' pointer-to-shared representation,
427         a function returns a pointer-to-shared in memory instead
428         of in registers.
429         (rs6000_pass_by_reference): Ditto.
431 2012-04-28  Gary Funck  <gary@intrepid.com>
433         * c-decl.c (grokdeclarator): Set 'type' to error node
434         after detecting "shared auto variable" error to avoid
435         downstream complications.
436         * upc-act.c: Fix a couple of spelling errors in comments.
438 2012-04-26  Gary Funck  <gary@intrepid.com>
440         * c-family/c-pragma.c (handle_pragma_upc):
441         Fix typo in warning message.
443 2012-04-17  Gary Funck  <gary@intrepid.com>
445         Merge trunk version 186486 into gupc branch.
447 2012-04-17  Gary Funck  <gary@intrepid.com>
449         * c-family/c-pragma.c (disable_pupc_mode): Return the previous
450         value of the pupc mode.  Fixes a compile-time warning.
451         * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
452         disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
453         Improve source formatting.
455 2012-04-09  Gary Funck  <gary@intrepid.com>
457         Merge trunk version 186243 into gupc branch.
458         Incorporates a powerpc 'ffi' fix.
460 2012-03-16  Gary Funck  <gary@intrepid.com>
462         Merge trunk version 185454 into gupc branch.
463         Incorporates a libgcc fix for builds on Darwin.
465 2012-03-13  Gary Funck  <gary@intrepid.com>
467         Merge trunk version 185278 into gupc branch.
468         * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
469         call build_pointer_type() to apply UPC-specific qualifiers.
470         * top-level/configure.ac: factor the checking for posix hostst
471         out of the libgomp section so that it can also be used by libgupc.
472         * top-level/configure: Re-generate.
473         * DEV-PHASE: bump to 4.8.0-1.
475 2012-03-12  Gary Funck  <gary@intrepid.com>
477         * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
478         the mode for a pointer for upc-pointer-to-shared types.
480 2012-03-04  Gary Funck  <gary@intrepid.com>
482         Merge trunk version 184900 into gupc branch.
484 2012-02-17  Gary Funck  <gary@intrepid.com>
486         Released GUPC 4.7.0.2 based on version 183992.
487         * DEV-PHASE: Bump release identifier to 4.7.0-3.
488         * DATESTAMP: Bump date stamp.
490 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
492         * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
493         code generation (same as #pragma pupc off).
494         (set_pupc_mode): New. Set/restore profiling mode.
495         * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
496         (set_pupc_mode): New. Prototype.
497         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
498         profiling code for shared variables initialization routines.
500 2012-01-31  Gary Funck  <gary@intrepid.com>
502         Merge trunk version 183751 into gupc branch.
503         Incorporates fix for bootstrap failure on openSUSE 12.1.
505 2012-01-10  Gary Funck  <gary@intrepid.com>
507         Merge trunk version 183072 into gupc branch.
508         Incorporates libcpp __BASE_FILE__ fix.
510 2011-12-20  Nenad Vukicevic <nenad@intrepid.com>
512         * top-level/Makefile.def (flags_to_pass): Added GUPC
513         defines. Fixes the make error when upc is not specified as one
514         of the languages to build.
515         * top-level/Makefile.in: Re-generate.
517 2011-11-22  Gary Funck  <gary@intrepid.com>
519         * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
520         * dwarf2out.c (gen_compile_unit_die): Check for
521         the "GNU UPC" language string in lieu of "GCC UPC".
522         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
524 2011-11-18  Gary Funck  <gary@intrepid.com>
526         Merge trunk version 181552 into gupc branch.
527         Incorporates libgcc/libunwind fix for IA64.
529 2011-11-19  Gary Funck  <gary@intrepid.com>
531         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
532         Add check for UPC when defining the language type value
533         in a traceback entry.
535 2011-11-18  Gary Funck  <gary@intrepid.com>
537         Merge trunk version 181493 into gupc branch.
538         Incorporates final fix for PR target/49992.
540 2011-11-09  Nenad Vukicevic <nenad@intrepid.com>
542         * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
543         change that converted relative include paths into absolute
544         ones, as it does not work with older version of make (3.80).
546 2011-10-27  Nenad Vukicevic <nenad@intrepid.com>
548         Apply patch for Darwin build - PR49992.
549         * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
550         * gcc/configure.ac: Ditto.
551         * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
552         * gcc/ada/gcc-interface/Makefile.in: Ditto.
553         * top-level/configure: Re-generate.
554         * gcc/configure: Re-genrate.
556 2011-10-26  Gary Funck  <gary@intrepid.com>
558         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
559         "libupc" to "libgupc".
560         * top-level/configure.ac: Implement support for cross-builds, and
561           adjust for rename of libupc to libgupc.
562         * top-level/Makefile.tpl: Ditto.
563         * top-level/Makefile.def: Ditto.
564         * top-level/configure: Re-generate.
565         * top-level/Makefile.in: Re-generate.
566         * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
567         * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
568         * doc/tm.texi: Re-generate.
569         * tree-pretty-print.c (dump_block_node): Delete unused variable.
570         * gcc.c: Adjust for rename of libupc to libgupc.
571         * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
572         Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
573         Change "xupc" to "xgupc".
574         * configure.ac: Change "GCC UPC" to "GNU UPC".
575         * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
576         so that they are absolute paths.  This is needed because
577         the upc-crtstuff builds are in the libgupc library build
578         directories which are not at the same level as libgcc.
579         * config/darwin.h: Adjust for rename of libupc to libgupc.
581 2011-10-20  Gary Funck  <gary@intrepid.com>
583         Merge trunk version 180276 into gupc branch.
584         Incorporates fix for PR bootstrap/50709.
586 2011-10-20  Gary Funck  <gary@intrepid.com>
588         Merge trunk version 180246 into gupc branch.
590 2011-10-19  Gary Funck  <gary@intrepid.com>
592         Merge trunk version 180233 into gupc branch.
593         Incorporates fix for PR debug/49310 (var tracking).
595 2011-10-11  Nenad Vukicevic <nenad@intrepid.com>
597         * testsuite/lib/upc-dg.exp: Limit number of torture runs to
598         only four (O0 static/dynamic, O3 static/dynamic).
599         Detect -fupc-threads-0 as an option for dynamic threads
600         compile environment.
602 2011-10-10  Gary Funck  <gary@intrepid.com>
604         * tree.c (check_qualified_type, check_aligned_type):
605         Call tree_int_cst_equal() to compare UPC blocking factors
606         if the corresponding tree pointers are not equal.
607         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
609 2011-10-07  Nenad Vukicevic <nenad@intrepid.com>
611         Add configuration checks for struct/packed builds so we can
612         use upc_struct_pts/upc_packed_pts selectors in the testsuite.
613         * testsuite/lib/target-supports.exp
614         (check_effective_target_upc_struct_pts): New.
615         (check_effective_target_upc_packed_pts): New.
617 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
619         Add to FLAGS the flags needed to disable inlining of
620         UPC run-time access routines.
621         * testsuite/lib/target-supports.exp
622         (add_options_for_upc_library_calls): New.
624 2011-09-15  Gary Funck  <gary@intrepid.com>
626         Fix ICE involving shared bit field accesses.
627         * tree.c (build3_stat): Propagate TEEE_SHARED()
628         and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
630 2011-09-13  Gary Funck  <gary@intrepid.com>
632         Merge trunk version 178795 into gupc branch.
633         Incorporates fix to PR bootstrap/50010 for x86-32.
635 2011-09-08  Gary Funck  <gary@intrepid.com>
637         Merge trunk version 178557 into gupc branch.
639 2011-09-07  Gary Funck  <gary@intrepid.com>
641         Ensure that UPC pointer-to-shared type alignment is
642         propagated to the final type.  Revert to long-standing
643         alignment policy: twice the size of a "C" pointer.
644         * tree.c (build_pointer_type): Propagate the alignment
645         of the UPC pointer-to-shared representation type
646         into the newly built pointer type.
648 2011-08-30  Gary Funck  <gary@intrepid.com>
650         * tree.h (check_qualified_type): Change 'const_tree'
651         argument types back to 'tree' to avoid complaints
652         of assignment drops qualifiers for invocations of the
653         newly implemented TYPE_BLOCK_FACTOR() macro, which
654         invokes hash functions with 'tree' pointer values that
655         are not const qualified.
656         * tree.c (check_qualified_type, check_aligned_type): Ditto.
657         * c-typeck.c (comptypes_internal): Ditto.
659 2011-08-29  Gary Funck  <gary@intrepid.com>
661         Fixes for regressions noted running "make check"
662         versus GCC trunk.
663         * fold-const.c (fold_unary_loc): Execute UPC-specific
664         checks for a cast-of-a-cast, only if one of the
665         operands is a UPC pointer-to-shared value.
666         * opts.c (print_specific_help):  Fix a comparison
667         in an assert that checks that there are enough
668         bits reserved for the number of languages defined
669         in the .opt files.
671 2011-08-29  Gary Funck  <gary@intrepid.com>
673         Implement a hash table to record UPC block factors.
674         * c-family/stub-upc.c (upc_block_factor_insert,
675         upc_block_factor_lookup): New dummy stub procedures.
676         * c-family/c-common.c (c_sizeof_or_alignof_type):
677         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
678         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
679         to copy (hashed) UPC blocking factor.
680         (set_type_quals): Likewise.
681         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
682         TYPE_HAS_THREADS_FACTOR().
683         (type_common.block_factor): Delete.
684         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
685         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
686         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
687         UPC blocking factors greater than one.
688         * dwarf2out.c (modified_type_die): Re-implement
689         logic that records UPC blocking factor in the generated
690         DWARF2 debugging information.
691         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
692         TYPE_HAS_THREADS_FACTOR().
693         * c-decl.c (finish_decl, grokdeclarator):
694         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
695         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
696         used by UPC, and print UPC-specific information.
698 2011-08-28  Gary Funck  <gary@intrepid.com>
700         Re-work the type machinery to fully support and to unify support
701         for the UPC layout qualifier (blocking factor).
702         * c-family/stub-upc.c (upc_set_block_factor): Delete.
703           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
704           and update prototype.
705         * c-family/c-common.c (complete_array_type): call newly
706           defined c_build_qualified_type_1() instead of
707           upc_set_block_factor().
708         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
709           upc_apply_layout_qualifier() and update prototype.
710           (upc_set_block_factor): Delete prototype.
711         * c-family/c-common.h (c_build_qualified_type): redefine
712           as a pre-processor macro that invokes c_build_qualified_type_1()
713           with a null UPC layout qualifier.
714           (c_build_qualified_type_1): New.  Add layout qualifier argument
715           to old c_build_qualified_type() prototype.
716         * tree.c (set_type_quals, check_qualified_type):
717           Add layout qualifier as argument.
718           (check_aligned_type): Add check for UPC block factor equality.
719           (get_qualified_type_1): Rename from get_qualified_type() and
720           add layout qualifier as argument.
721           (build_qualified_type_1): Rename from build_qualified_type() and
722           add layout qualifier as argument.
723         * tree.h (check_qualified_type): Add layout qualifier as argument
724           to the prototype.
725           (get_qualified_type): Re-define as a as a pre-processor macro
726           that invokes get_qualified_type_1() with a null
727           UPC layout qualifier.
728           (get_qualified_type_1): Rename from get_qualified_type() and
729           add layout qualifier as argument.
730         * cp/tree.c (c_build_qualified_type_1): Rename from
731           c_build_qualified_type() and add (unused) layout qualifier
732           argument.
733         * c-decl.c (finish_decl): re-format long error messages.
734           (grokdeclarator): Re-work the logic so that it calls
735           upc_grok_layout_qualifier() to handle the UPC layout
736           qualifier, if present.
737         * c-typeck.c (qualify_type, common_pointer_type,
738           build_component_ref): Re-work the logic so that it calls
739           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
740           if present.
741           (c_build_qualified_type_1): Rename from c_build_qualified_type()
742           and add layout qualifier argument.
743         * print_tree.c (print_node): Re-format a long line.
745 2011-08-26  Gary Funck  <gary@intrepid.com>
747         Merge trunk version 177949 into gupc branch.
748         * c-family/c-common.h (enum rid): Bump the number of type modifiers
749           in the comment.
750         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
751           to add new rliterals column value.
753 2011-08-26  Gary Funck  <gary@intrepid.com>
755         * convert.c (convert_to_integer): Fix the check for the
756           difference between two UPC pointers-to-shared values.
758 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
760         * configure.ac: Fix the name for --with-upc-pts-packed-bits
761           option. Support --with-upc-packed-bits as deprecated. Fix the code to
762           correctly check packed bits.
763         * configure: Re-generate.
765 2011-08-16  Gary Funck  <gary@intrepid.com>
767         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
768           the barrier id expression is not an integer expression.
770 2011-08-12  Gary Funck  <gary@intrepid.com>
772         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
773           (revert to trunk).
774         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
775           Set mode of UPC pointer-to-shared rep. to an
776           integral mode of size at least as large as the
777           size of the representation's struct type.
779 2011-08-12  Gary Funck  <gary@intrepid.com>
781         Rework/simplify the UPC genericize pass.
782         * c-family/stub-upc.c (upc_apply_layout_qualifier,
783           upc_build_pointer_type): New.
784           (upc_set_block_factor): Adjust to new calling sequence.
785           (upc_build_shared_var_addr): Delete.
786         * c-family/c-common.c (complete_array_type): Adjust call
787           to upc_set_block_factor().
788         * c-family/c-upc.h (upc_apply_layout_qualifier,
789           upc_build_pointer_type): New.
790           (upc_build_shared_var_addr): Delete.
791           (upc_set_block_factor): Adjust to new calling sequence.
792         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
793         * c-decl.c (grokdeclarator): Call newly defined
794           upc_apply_layout_qualifier() instead of upc_set_block_factor().
795         * c-decl.c (grokdeclarator): Split long UPC-related error
796           messages into two lines.
797         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
798           directly.  Revert that change to trunk. (upc_genericize() will
799           handle lowering the expressions that take the address of a
800           UPC variable).
801         * config/i386/i386.c (ix86_promote_function_mode): For UPC
802           pointers-to-shared, return the type mode of the UPC pointer-to-shared
803           representation type.
805 2011-08-10  Gary Funck  <gary@intrepid.com>
807         Implement additional fixes for recent merge with trunk.
808         * explow.c (promote_mode): Do not attempt to promote
809           the mode for UPC pointer-to-shared types.
810         * config/i386/i386.c (function_value_64): Ditto.
812 2011-08-07  Gary Funck  <gary@intrepid.com>
814         Merge trunk version 177548 into gupc branch.
815         * config/i386/i386.c (ix86_promote_function_mode):
816           Do not promote UPC pointers-to-shared to Pmode.
817         * c-family/c-ommon.c (pointer_int_sum):
818           Also check the pointer operand, rather than just
819           its type, when making the decision to derive
820           the equivalent unshared type.
821         * tree.c (build2_stat): If the type of the result
822           passed in as an argument is a UPC shared type,
823           derive the unshared equivalent when calculating
824           the result type of the node.
826 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
828         * config/darwin.c: Disable var_tracking option
829           on -O0 as it is supposed to run only when optimization
830           is applied. See GCC bug 49743.
832 2011-07-06  Gary Funck  <gary@intrepid.com>
834         Re-implement the pass that lowers trees generated by
835         the UPC front-end into GENERIC.  Previously this was
836         done within the gimplification framework, but this
837         required that gimplification be run before inlining
838         and various other passes, which did not fit in well
839         with the current design of the middle-end passes.
840         Now, the lowering is done by a newly defined language
841         specific genericize hook.  With this change, we are
842         are able to undo some extensions made to the gimplify
843         logic, and thus can revert several files to trunk.
845         * c-decl.c: Add a check for UPC deprecated names which
846           may appear as undefined function names.
847         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
848           LTI_upc_getaddr): Remove definitions of unused UPC
849           library function names.  These were defined back when
850           the libfunc interface was used to call these routines.
851         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
852           in UPC lowering (genericize) pass.
853         * langhooks.h (gimplify_expr): Revert to trunk's definition.
854           (instrument_func): Delete this hook.  Now handled in
855           upc_genericize().
856         * tree-pass.h: Revert to trunk.
857         * c-typeck.c (build_unary_op): Adjust reference to
858           upc_genericize() in a comment.
859         * gimplify.c (create_tmp_var_raw): Delete logic that
860           was converting UPC shared types into unshared types
861           to be used for temporaries.  Now handled in  upc_genericize().
862           Replace with an assertion check.
863           (prepare_gimple_addressable): Revert to trunk's definition.
864           No longer needed as an externally called function.
865           (flag_instrument_functions_exclude_p): Re-define as
866           an externally called function.
867           (gimplify_function_tree): Delete code that implemented
868           call to UPC's language specific function instrumentation hook.
869         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
870           (prepare_gimple_addressable): Delete extern definition;
871           revert to trunk's definition.
872         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
873           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
874         * c-family/c-gimplify.c: Revert to trunk.
875         * cp/cp-gimplify.c: Revert to trunk.
876         * cp/cp-tree.h: Revert to trunk.
877         * explow.c: Revert to trunk.
878         * langhooks.c: Revert to trunk.
879         * libfuncs.h: Revert to trunk.
880         * objc/objc-act.c: Revert to trunk.
882 2011-06-30  Gary Funck  <gary@intrepid.com>
884         * c-family/c.opt: Bring options definitions up-to-date
885         with respect to changes made in the trunk.
887 2011-06-29  Gary Funck  <gary@intrepid.com>
889         Merge trunk version 175584 into gupc branch.
891 2011-06-13  Gary Funck  <gary@intrepid.com>
893 libcpp/
894         * include/cpplib.h (enum c_lang):
895         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
896         This keeps all the "C" variants together.
897         * init.c (lang_defaults): Add an entry for UPC.
899 2011-06-09  Gary Funck  <gary@intrepid.com>
901         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
902         a 32-bit target, the size expression overflowed, the result was
903         error_mark_node, and an ICE was triggered on an attempt to evaluate
904         C_TYPE_VARIABLE_SIZE() on the error node.
905         (upc_blocksizeof_expr, upc_blocksizeof_type,
906         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
907         Make similar changes to avoid further processing of error_mark_node.
909 2011-06-07  Gary Funck  <gary@intrepid.com>
911         * sel-sched.c (move_op): Incorporate the following
912         patch to eliminate ICE at -O3 on IA64/Altix.
914 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
916         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
917         code_motion_path_driver returned 0 or 1.
918         (sel_region_finish): Clear h_d_i_d.
920 2011-06-02  Gary Funck  <gary@intrepid.com>
922         Merge trunk version 174558 into gupc branch.
924 2011-05-30  Gary Funck  <gary@intrepid.com>
926         * configure.ac: Make the default order of the virtual
927           address field in a UPC pointer-to-shared to be "first".
928           This reverts to the previous setting, and is a short term
929           measure to work around a bug found on the IA64,
930           where vaddr=last led to incorrect code generation.
931           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
932           in AC_DEFINE(), to agree with recent changes in files
933           that reference this define.
934           configure, config.in: Regenerate.
936 2011-05-26  Gary Funck  <gary@intrepid.com>
938         * configure.ac: Fix typo when referring to $upc_vaddr_order.
939           configure: Regenerate.
941         * ../fixincludes/fixincl.x: Revert to trunk.
942           This file is auto-generated, and should not be merged.
944 2011-05-18  Gary Funck  <gary@intrepid.com>
946         Merge trunk version 173845 into gupc branch.
948 2011-05-17  Gary Funck  <gary@intrepid.com>
950         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
951           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
953         * c-family/c-pragma.c: Remove conditional compilation
954           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
955           Test 'compiling_upc' when compiling to determine if
956           the "upc" and "pupc" pragmas should be registered.
958         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
959           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
960           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
961           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
962           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
963           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
964           Move these target-dependent definitions from config/upc-conf.h
965           to here.
967         * configure.ac: Improve the logic for UPC-related options.
968           Delete references to pre-processor definitions that have
969           been moved to "upc/upc-pts.h".
971         * configure, config.in: Regenerate.
973         * Makefile.in (UPC_PTS_REP): Remove definition and revert
974           to trunk.  This substitution variable was used to
975           configure the representation-specific versions of
976           the tree rewrites that operate on UPC pointer-to-shared
977           types and objects.
979         * c-parser.c (c_parser_upc_forall_statement): Remove
980           reference to UPC_FORALL_DEPTH_NAME, and call
981           newly defined upc_rts_forall_depth_var() instead.
983         * config/upc-config.h: Delete. Various definitions
984           moved to "upc/upc-rts-names.h", "defaults.h", and
985           "upc/upc-pts.h".
987         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
988           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
989           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
990           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
991           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
992           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
993           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
994           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
995           New.  Document UPC target macros.
996           doc/tm.texi: Regenerate.
998 2011-05-07  Gary Funck  <gary@intrepid.com>
1000         * ../configure.ac: Disable build of libupc
1001           on non POSIX hosted systems.  Use AS_HELP_STRING
1002           to define messages.  Remove 'word-pair' as a
1003           possible --with-upc-pts UPC pointer-to-shared
1004           representation.
1006         * ../configure: Regenerate.
1008         * configure.ac: Use AS_HELP_STRING to define messages.
1009           Remove 'word-pair' as a possible --with-upc-pts
1010           UPC pointer-to-shared representation.
1011           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1012           (UPC_MAX_BLOCK_SIZE): Correct the default value.
1014         * configure: Regenerate.
1016         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1017           definition.
1019         * ChangeLog.upc: Fix some typos.
1021 2011-05-07  Gary Funck  <gary@intrepid.com>
1023         * ../maintainer-scripts/gcc_release: Add "upc"
1024           as one of the released languages.
1026 2011-05-06  Gary Funck  <gary@intrepid.com>
1028         Eliminate compilation warnings, by fixing
1029         #include's and updating function prototypes.
1031         * c-family/c-cppbuiltin.c: Include c-upc.h.
1033         * optabs.c (gen_libfunc): Change type of 'suffix'
1034           parameter to conform with prototype.
1036         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1037           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1038           hook used by UPC.
1040         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1041           the prototype.
1043         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1044           argument values to cp_gimplify_expr.
1046         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1047           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
1048           pre-processor definitions that are no longer
1049           needed to build the 'upc' command (upc-cmd.c)
1050           because the linker specs. defined in libupc
1051           take care of linking in the needed libraries.
1053         * c-parser.c (c_parser_upc_forall_statement):
1054           initialize affinity_loc to avoid "maybe unused" warning.
1055           (c_parser_upc_sync_statement): Remove un-needed
1056           'ret' variable.  Cast return value from
1057           'upc_build_sync_stmt' to 'void' to avoid
1058           compile-time warning.
1060         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1061           integer constant, not a string.  Range is restricted
1062           to maximum positive 32-bit integer (2+ billion) to
1063           fit in with the use of 'int' in the front-end's
1064           switch handling logic.
1066 2011-05-06  Gary Funck  <gary@intrepid.com>
1068         Upgrade c-family source files to conform with modularity
1069         improvements.  Mainly, remove #include of c-tree.h in files
1070         under c-family, and define a new UPC-specific #include file,
1071         c-upc.h, and use it.
1073         * c-family/stub-upc.c: Remove #include of c-tree.h and
1074           upc/upc-act.h.  Replace with #include of c-common.h
1075           and c-upc.h.
1076           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1077           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1078           upc_localsizeof_expr, upc_localsizeof_type,
1079           upc_shared_type_p): Delete.
1081         * c-family/c-opts.c: Add #include of c-upc.h
1083         * c-family/c-common.c: Remove #include of c-tree.h and
1084           add #include of c-upc.h.
1086         * c-family/c-upc.h: New. Define API for UPC-specific functions
1087           (mostly implemented in upc/upc-act.c).
1089         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
1090           Remove extern definitions.
1092         * c-family/c-pragma.c: Remove #include of c-tree.h.
1093           Add #include of c-upc.h.
1095         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
1096           c-tree.h.
1097           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
1098           upc/upc-act.c, and define as a macro.
1099           (expand_affinity_test): Remove unused external definition.
1100           (build_upc_unshared_type): Add external definition.
1101           (upc_shared_type_p): Remove external definition.
1103         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1105         * dojump.c: Remove #include of c-tree.h.
1107         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1108           and move to tree.h.
1109           (count_upc_threads_refs, is_multiple_of_upc_threads,
1110           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1111           upc_build_shared_var_addr, upc_build_sync_stmt,
1112           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1113           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1114           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1115           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1116           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1117           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1118           set_upc_consistency_mode, get_upc_consistency_mode,
1119           push_upc_consistency_mode, pop_upc_consistency_mode,
1120           get_upc_pupc_mode):
1121           Move external definitions to c-family/c-upc.h.
1122           (upc_blocksizeof_type, upc_localsizeof_type,
1123           upc_elemsizeof_type): Remove external definitions;
1124           these functions were moved to c-parser.c.
1126         * c-decl.c: Add #include of c-upc.h.
1128         * c-typeck.c: Add #include of c-upc.h.
1130         * c-convert.c: Add #include of c-upc.h.
1132         * ChangeLog.upc: Fix typo.
1134         * Makefile.in: Add references to c-family/c-upc.h, everywhere
1135           there is a reference to c-family/c-objc.h.
1136           Remove extraneous reference to upc-act.h.
1138         * c-parser.c: Add #include of c-upc.h.
1139           (upc_blocksizeof_expr, upc_blocksizeof_type,
1140           upc_elemsizeof_expr, upc_elemsizeof_type,
1141           upc_localsizeof_expr, upc_localsizeof_type):
1142           Move from upc/upc-act.c.
1144         * tree.c (build_upc_unshared_type): New.
1145           Move upc_get_unshared_type from upc/upc-act.c and rename
1146           to build_upc_unshared_type.
1147           c-family/c-common.c (pointer_int_sum): refer to renamed
1148           build_upc_unshared_type function.
1149           c-convert.c (convert): Ditto.
1150           convert.c (convert_to_pointer): Ditto.
1151           c-typeck.c (build_unary_op, build_modify_expr,
1152           really_start_incremental_init): Ditto.
1153           gimplify.c (create_tmp_var_raw): Ditto.
1154           tree.c (build1_stat): Ditto.
1155           tree.h (upc_get_unshared_type): Rename to
1156           build_upc_unshared_type.
1158 2011-05-06  Gary Funck  <gary@intrepid.com>
1160         Merge trunk version 173471 into gupc branch.
1162 2011-05-05  Gary Funck  <gary@intrepid.com>
1164         Make changes that bring the GUPC branch more closely in sync.
1165         with the GCC trunk.  Revert any fixes that are not UPC-specific.
1166         Remove gratuitous re-formatting.
1168         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1169           This file should have been removed in a previous merge
1170           with the trunk.
1171         * ../configure.ac: Remove Cray Catamount/CNL support.
1172         * ../configure: Regenerate.
1173         * ../config.sub: Remove Cray Catamount/CNL support.
1174         * config.gcc: Remove Cray Catamount/CNL support.
1175         * ../maintainer-scripts/gcc_release: Revert to trunk.
1176         * c-family/c-common.h: Define parse_optimize_options.  Its definition
1177           was missed in a previous merge with the trunk.
1178         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1179           procedure.
1180         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1181           in addition to ARRAY_TYPE.
1182         * c-typeck.c: Remove an extra newline character.
1183         * varasm.c: Revert a fix that improved an error message
1184           when TLS common data is unimplemented.
1185         * varasm.c: Revert a gcc_assert that had been added which
1186           checked for a null DECL_SIZE_UNIT field.
1187         * emultls.c: Revert to trunk. Remove possible fix.
1188         * Makefile.in: Revert extra blank line that is present
1189           in the trunk version.
1190         * Makefile.in: Revert a fix that handled long shell
1191           argument lists for plugin headers.
1192         * config/ia64/ia64.opt: Revert an option setting
1193           that increased the default TLS address range.
1194         * config/ia64/crtbegin.asm: Revert to trunk.
1195           Removes an extra newline character.
1196         * ChangeLog.upc: Spell check.
1198 2011-05-03  Gary Funck  <gary@intrepid.com>
1200         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1201           (c_apply_type_quals_to_decl): Ditto.
1202         * c-family/c-common.h: Ditto.
1203         * dojump.c: Ditto.
1204         * c-decl.c (merge_decls): Ditto.
1205         * c-typeck.c (qualify_type, default_conversion,
1206           build_component_ref, build_unary_op,
1207           c_build_qualified_type): Ditto.
1208         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1210 2011-04-29  Gary Funck  <gary@intrepid.com>
1212         * c-decl.c (finish_decl): Improve error diagnostics.
1213           (grokdeclarator): Ditto.
1215         * c-typeck.c (build_c_cast): Improve error diagnostics.
1216           (convert_for_assignment): Ditto.
1217           (build_binary_op): Ditto.
1219         * c-parser.c (c_parser_upc_forall_statement):
1220           Improve error diagnostics.
1222         * convert.c (convert_to_integer):  Improve error diagnostics.
1224 2011-04-24  Gary Funck  <gary@intrepid.com>
1226         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1227           occurred if there is an error in the barrier id
1228           expression.  Map error_mark_node into NULL.
1230 2011-04-22  Gary Funck  <gary@intrepid.com>
1232         Merge trunk version 172873 into gupc branch.
1234 2011-04-19  Gary Funck  <gary@intrepid.com>
1236         Merge trunk version 172359 into gupc branch.
1238 2011-04-14  Gary Funck  <gary@intrepid.com>
1240         * c-family/c.opt: Add UPC as a valid language for various
1241           switches where it is valid for "C", that were not updated
1242           in previous merges with trunk.
1244 2011-04-13  Gary Funck  <gary@intrepid.com>
1246         * c-family/c.opt (fupc-pre-include): New option definition.
1247         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1248           -fno-upc-pre-include is asserted.
1250 2011-04-07  Gary Funck  <gary@intrepid.com>
1252         Merge trunk version 172158 into gupc branch.
1253         to bring in the following fix.
1255 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
1257         PR bootstrap/48403
1258         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1259         if old and new states differ.
1261 2011-04-06  Gary Funck  <gary@intrepid.com>
1263         Merge trunk version 171966 into gupc branch.
1265 2011-04-01  Gary Funck  <gary@intrepid.com>
1267         * tree.h (tree_base): Move UPC flag bits into bit fields
1268           located just before spare bits.  Decrement spare bits.
1269           Rename 'shared_flag' -> 'upc_shared_flag',
1270           'relaxed_flag' -> 'upc_relaxed_flag',
1271           'strict_flag' -> 'upc_strict_flag, and adjust macros
1272           that reference them accordingly.
1274 2011-04-01  Gary Funck  <gary@intrepid.com>
1276         * c-decl.c (grokdeclarator): Fix formatting of
1277           code that sets UPC block size on scalars.
1279 2011-04-01  Gary Funck  <gary@intrepid.com>
1281         * c-decl.c (grokdeclarator): Revert use of white space
1282           to match the trunk (to rationalize diffs).
1283         * c-typeck.c (convert_for_assignment): Ditto.
1284         * tree-ssa.c (useless_type_conversion_p): Ditto.
1286 2011-03-23  Gary Funck  <gary@intrepid.com>
1288         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1289           the GCC 4.6 release branch.
1291 2011-03-21  Gary Funck  <gary@intrepid.com>
1293         Merge trunk version 171202 into gupc branch.
1295 2011-03-20  Gary Funck  <gary@intrepid.com>
1297         * varasm.c: Call error() directly with a format specifier,
1298           rather than using sprintf() to format the message.
1299           This should make it easier to internationalize UPC's error messages.
1301 2011-03-20  Gary Funck  <gary@intrepid.com>
1303         * configure.ac: Fix the check for gnu ld when enabling
1304           UPC link script support.
1305           configure: Regenerate (also picks up changes from previous
1306           merge with trunk).
1308 2011-03-20  Gary Funck  <gary@intrepid.com>
1310         Move UPC start files, end files, and linker specs.
1311         into libupc.  This reduces the impact on common GCC
1312         configuration files, and ensures that these UPC-specific
1313         components are only built when the UPC language dialect is selected.
1316 gcc/
1317         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1318           linker specs. Fix typo in -fupc-debug message.
1320         * config/upc-conf.h, config/darwin.h: Move defines for
1321           UPC-related section begins/ends into libupc/config/default/
1322           upc-crt-config.h.
1324         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1325           UPC-related linker compiler specifications,
1326           accessed via %:include().
1328         * configure.ac, configure: Remove logic related to building
1329           upc-crtbegin/end. Remove config. tests for numa and cpu
1330           affinity (previously used by the 'upc' driver); these
1331           settings are now propagated by target-specific compiler
1332           specs. built by libupc.  Regenerate autoconf.
1334         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1335           linker compiler specifications, accessed via %:include().
1336           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1337           'link_upc_spec'.
1339         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1341         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1342           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1343           config/ia64/linux.h, config/mips/t-iris,
1344           config/mips/iris6.h: Revert to trunk version 167307.
1346 libgcc/
1347         * configure, configure.ac, config.host, Makefile.in:
1348           Revert to trunk version 167307.
1350 2011-02-23  Gary Funck  <gary@intrepid.com>
1352         * c-decl.c (undeclared_variable): fix typo. Inadvertently
1353         removed negation on following 'if'.
1355 2011-02-22  Gary Funck  <gary@intrepid.com>
1357         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1358         to check for the usage of certain deprecated UPC keywords.
1359         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1360         * c-tree.h (undeclared_variable): Define prototype.
1362 2011-02-12  Gary Funck  <gary@intrepid.com>
1364         * c-typeck.c: (build_c_cast, convert_for_assignment)
1365           Diagnose an attempt to convert from an integer to
1366           a pointer-to-shared as an error.  Also, fix various
1367           error messages so that they use the preferred term
1368           pointer-to-shared instead of "shared pointer".
1370 2011-02-07  Gary Funck  <gary@intrepid.com>
1372         * c-typeck.c: (convert_for_assignment)
1373           Fix typo. in error message.
1375 2011-01-23  Gary Funck  <gary@intrepid.com>
1377         * c-typeck.c: (c_build_qualified_type)
1378           derive UPC block size by calling upc_get_block_size(),
1379           to ensure that the element type of an array of an array
1380           is derived correctly.
1382 2010-12-29  Gary Funck  <gary@intrepid.com>
1384         Merge trunk version 168314 into gupc branch.
1386 2010-12-15  Gary Funck  <gary@intrepid.com>
1388         Merge trunk version 167307 into gupc branch.
1390 2010-10-19  Gary Funck  <gary@intrepid.com>
1392         * c-typeck.c: Fix typo in previous fix
1393           which led to a mis-compare for equal block sizes.
1395 2010-10-18  Gary Funck  <gary@intrepid.com>
1397         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1398           diagnosed as an error
1400           The conversion from any type (shared or not) to
1401           a shared type is likely either meaningless or an error.  This update
1402           makes any conversion to a shared type, an error.
1404 2010-10-18  Gary Funck  <gary@intrepid.com>
1406         * c-typeck.c: Fix bug: passing int to shared pointer arg.
1407           generates spurious warning
1409           Add a #define procedure that does the same thing as
1410           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
1411           this procedure to diagnose passing an integer value to a
1412           pointer-to-shared as an error.
1414 2010-10-18  Gary Funck  <gary@intrepid.com>
1416         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1417           matching routine declaration.
1419           When checking for type compatibility, shared qualified types must
1420           have the same block factor.  This check was missing from
1421           comptypes_internal().  This update adds the check for blocking
1422           factor equality.
1424 2010-10-17  Gary Funck  <gary@intrepid.com>
1426         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1427           found (-O1 -g)
1429           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1431 2010-10-17  Gary Funck  <gary@intrepid.com>
1433         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1434           45869 - [4.5/4.6 Regression] type mismatch in shift expression
1435           produces ice with -O3 and -m32.
1437           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1439 2010-10-17  Gary Funck  <gary@intrepid.com>
1441         * c-common.c: Diagnose the application of the various "*sizeof"
1442           operations on generic pointer-to-shared as a compilation error.
1444 2010-10-17  Gary Funck  <gary@intrepid.com>
1446         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1447           message regarding a function parameter being declared with a shared
1448           qualifier.
1450           The parameter's 'name' value is not defined at this point, and
1451           cannot be used in the error message.  This update removes the
1452           reference to 'name', and eliminates the segfault.
1454 2010-10-16  Gary Funck  <gary@intrepid.com>
1456         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1458           The gcc/Makefile.in rules for install-plugin had to be re-written to
1459           break up a long list of header files that exceeded the command line
1460           limitation imposed by Irix.
1462           Access functions for TFmode types had to be implemented.
1463           Apparently, this is the mode used for the SGI/MIPS port to represent
1464           "long float".
1466 2010-10-14  Gary Funck  <gary@intrepid.com>
1468         * c-decl.c: Fix bug: Multiple equal blocking factors specified
1469           via typedef chain should not be diagnosed as an error.
1471           If the block size that is given by the typedef is equal to the block
1472           size given explicitly in the variable declaration, then do not
1473           complain.  The easiest way to make this check was to create a
1474           temporary type that is a clone of the element type and then set its
1475           block size using the given layout qualifier.  Then compare the block
1476           size of the temporary (the declaration) to the block size specified
1477           in the typedef.  This complexity is needed, because the '[*]' block
1478           size needs to be calculated, and the '[]' needs to be mapped into a
1479           zero block size.
1481 2010-10-10  Gary Funck  <gary@intrepid.com>
1483         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1484           specified
1486           The compiler properly detected the presence of two or more layout
1487           qualifiers as an error, but then hit an assertion check, because the
1488           code that followed the error expected to see a qualifier and not a
1489           layout specifier.  The fix is simple: just return immediately after
1490           detecting the error.
1492 2010-10-10  Gary Funck  <gary@intrepid.com>
1494         * c-decl.c: Improve error diagnostics for various cases of UPC
1495           shared array type declarations.
1497           Add the check for this error: "In the dynamic translation
1498           environment, THREADS may not appear in declarations of shared arrays
1499           with indefinite block size".  Also, fix up a few of the other
1500           related error diagnostics.
1502 2010-10-09  Gary Funck  <gary@intrepid.com>
1504         * c-common.c: Fix bug: segfault on incomplete array definition.
1506           This turned out to be a bit complicated.   The logic in
1507           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1508           the THREADS identifier in the case where the blocking factor has
1509           been set to indefinite ([]).  This can happen when indefinite array
1510           declarations are processed for shared arrays.  At that time, the
1511           file scope has been closed and THREADS is no longer in scope.  Some
1512           more work is needed on upc_lang_layout_decl().  It has some
1513           duplication, and notably duplicates the two branches of the if
1514           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1515           caller of this routine (layout_decl()).
1517           The method of forcing a layout qualifier of [] in the indefinite
1518           declaration handler is odd a well.  The code that just does the
1519           setting of the block factor, needs to moved into its own routine
1520           that doesn't depend upon a declspec for '[]' to be passed in, just
1521           in order to set the blocking factor to some value (in this case, 0).
1522           Also, the logic for how that shared type is constructed is strange.
1523           First the type with 0 blocking factor is set.  Then the shared
1524           qualifier is removed from the type, and then added back later.  The
1525           intermediate type has a blocking factor set, but it has no shared
1526           qualifier.  Fixing this will require some thought.  It is tempting
1527           just to make indefinite shared arrays an error, rather than forcing
1528           the dimension to be '1'.
1530           This likely fixes a serious error in the previous update to
1531           upc_lang_layout_decl(), where it didn't have the logic to set
1532           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
1533           the previous update would fail on many tests.
1535 2010-10-09  Gary Funck  <gary@intrepid.com>
1537         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1538           (decl) is null, which can happen if some layout error occurred
1539           upstream.
1541 2010-10-09  Gary Funck  <gary@intrepid.com>
1543         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1544           "variable-sized" when compiled in dynamic threads.
1546           This long-standing bug is easily fixed.  Just check
1547           for the situation that the non-constant sized type is shared and
1548           that it does not have a dimension that references a multiple of
1549           threads.  If this criteria is met, then issue a meaningful
1550           diagnostic.
1552 2010-10-01  Gary Funck  <gary@intrepid.com>
1554         * configure, configure.ac: Update manual page, and bug reporting
1555           URL.
1557           Update "man" page to reflect debugging switches.  Also, some general
1558           clean up.  Change the bug reporting URL to point to gccupc.org.
1560 2010-09-27  Gary Funck  <gary@intrepid.com>
1562         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1563           the UPC forall depth count variable is not found.
1565           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1566           The compiler will generate code that references this variable in
1567           order to implement nested upc_forall semantics.  If there is a
1568           compiler build or install problem, this variable may not be found.
1569           In this case, terminate with an internal_error().
1571 2010-09-26  Gary Funck  <gary@intrepid.com>
1573         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1574           mis-diagnosed as syntax error.
1576           Fix a failure exhibited by the Berkeley test case,
1577           bug873a.upc, which has the code:
1578                double d;
1579                upc_forall (;;;d) {...} The compiler did not properly handle
1580           the empty "condition" clause, and did not recover well when it was
1581           determined that the use of a double value, "d" above, was neither a
1582           pointer-to-shared nor an integer expression.  The update implements a
1583           fix for both issues.
1585           See also: gcc/c-parser.c gcc/upc/upc-act.c
1587 2010-09-23  Gary Funck  <gary@intrepid.com>
1589         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1590           incorporated into the referencing type.
1592           This was semi-fixed a few times before.  This update fixes a few
1593           more places where the layout qualifier wasn't being propagated
1594           through typedef's properly.  What made this a bit tricky is shown in
1595           the example cited in the bug report:
1597           typedef shared [5] int A_t; A_t A[5*THREADS];
1599           In the typedef, the blocksize is being applied to a shared *scalar*,
1600           and the code was applying the blocksize only to arrays.  This update
1601           handles shared scalars correctly.
1603 2010-09-22  Gary Funck  <gary@intrepid.com>
1605         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1606           upc_forall() semantics are not implemented
1608           The checkforall test in the Berkeley harness test suite indicated
1609           that GCC/UPC was not properly implementing nested upc_forall
1610           semantics.  Nested upc_forall statements (both statically or
1611           dynamically nested) must implement their affinity clause as if it
1612           were "continue"; thus all steps in the loop must execute without
1613           regard for affinity.  To implement these semantics a global depth
1614           counter, __upc_forall_depth, is maintained by the generated code
1615           that implements upc_forall.
1617           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1618           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1619           libupc/include/upc.h libupc/smp/upc_main.c
1621 2010-09-19  Gary Funck  <gary@intrepid.com>
1623         * c-decl.c: c-decl.c: zero out the layout specifier, after
1624           processing an array type.
1626           Fix the previous fix, that moved the setting of the type's layout
1627           qualifier to the outside of the array type processing loop.  What is
1628           missing from the fix is that the layout_qualifier variable needs to
1629           be cleared after setting the type's blocksize.
1631 2010-09-19  Gary Funck  <gary@intrepid.com>
1633         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1634           given blocksize is greater than UPC_MAX_BLOCKSIZE.
1636           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1637           the actual maximum block size.  Therefore, the message was correct,
1638           but the underlying value that was being checked was wrong.  Change
1639           the values so that they agree with the actual implementation-defined
1640           limit.
1642 2010-09-11  Gary Funck  <gary@intrepid.com>
1644         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1645           multi-dimensional shared array with dynamic threads.
1647           This declaration caused an internal compiler error when compiled
1648           with dynamic threads:
1649               shared [*] int A[THREADS][16]; The bug was discovered when
1650           compiling the RTED_UPC test suite.
1652           The fix is to process layout qualifiers after the entire array type
1653           has been built.  Otherwise, we try to calculate the blocksize on a
1654           shared array type that has not had its "size depends upon the value
1655           of THREADS" flag set.
1657           Also, added a test case.
1659           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1661 2010-07-11  Gary Funck  <gary@intrepid.com>
1663         Fix a bug where a statement in c_build_qualified_type()
1664         in the trunk had been inadvertently deleted.
1665         This bug showed up in the IA64 port, because jmpbuf's
1666         on that architecture must be 16 byte aligned, and they were not.
1667         c-typeck.c (c_build_qualified_type): Revive the deleted line.
1669 2010-07-08  Gary Funck  <gary@intrepid.com>
1671         Make changes so that other language compilers
1672         will build and bootstrap.
1673         * c-family/c-common.c (compiling_upc, flag_upc,
1674         flag_upc_instrument, flag_upc_instrument_functions,
1675         use_upc_dwarf2_extensions): Move to stub-upc.c and
1676         upc-lang.c.
1677         * c-family/c-common.h (use_upc_dwarf2_extensions,
1678         compiling_upc): Add extern definitions - needed
1679         to compile/build other language front ends.
1680         * c-family/c.opt: Fix the spelling of ObjC.
1681         It had been incorrectly spelled as Objc.
1682         * c-family/c.opt: Add UPC for the various switches
1683         that are valid for both C and ObjC.
1684         * c-fmaily/c-opts.c: Add CL_UPC to the list of
1685         supported options switches when compiling assembly
1686         language.
1687         * lto/lto-lang.c (use_upc_dwarf2_extensions,
1688         flag_upc_instrument, flag_upc_instrument_functions):
1689         Remove these definitions.  They have been moved
1690         to c-family/stub-upc.c.
1691         * upc/ChangeLog: Move relevant entries
1692         to ChangeLog.upc.
1693         * c-family/stub-upc.c (compiling_upc, flag_upc,
1694         flag_upc_instrument, flag_upc_instrument_functions,
1695         use_upc_dwarf2_extensions): Moved from c-common.c
1696         * upc/upc-lang.c (compiling_upc, flag_upc,
1697         flag_upc_instrument, flag_upc_instrument_functions,
1698         use_upc_dwarf2_extensions): Moved from c-common.c
1699         * objc/objc-act.c (objc_gimplify_expr): Add additional
1700         parameters to c_gimplify_expr() call, that are used
1701         by upc's tree rewrites.
1702         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1703         * gcc/cp/lex.c (init_reswords): If not compiling
1704         UPC, then mask off the UPC keywords.
1705         * cp/Make-lang.in (C_STUB_OBJS): Use this
1706         make macro to link with c-family/stub-objc.o
1707         and c-family/stub-upc.o.
1708         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1709         * java/Make-lang.in (C_STUB_OBJS): Likewise.
1710         * objc/Make-lang.in: Link with c-family/stub-upc.o
1711         to avoid undefined references.
1712         c-parser.c: Fix line indentation.
1713         * libcpp/include/cpplib.h: Remove CL_UPC from
1714         the list of language kinds accepted by the
1715         C preprocessor.  This is not necessary because
1716         UPC is a derivative of C99, and does not need
1717         a different language kind.
1718         * c-fmaily/c-opts.c (c_common_handle_option):
1719         Call set_std_c99() when processing the
1720         "--lang upc" switch, instead of setting the
1721         language kind to CL_UPC.
1722         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1724 2010-07-03  Gary Funck  <gary@intrepid.com>
1726         Merge trunk version 161517 into gupc branch.
1727         * gcc/stub-upc.c: Move to gcc/c-family/.
1728         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1729         Add 'unused' attributes to avoid "set, but
1730         not referenced" warnings.
1731         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1732         Likewise.
1734 2010-03-01 Gary Funck  <gary@intrepid.com>
1736         Create gupc branch from trunk version 157149.
1737 2011-10-04  Gary Funck  <gary@intrepid.com>
1739         Merge trunk version 179421 into gupc branch.
1741         * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1742         argument to the call to check_qualified_type().
1744 2011-09-22  Gary Funck  <gary@intrepid.com>
1746         * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1747         information.
1748         (dump_upc_type_quals): New.
1750 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
1752         Add to FLAGS the flags needed to disable inlining of
1753         UPC run-time access routines.
1754         * testsuite/lib/target-supports.exp
1755         (add_options_for_upc_library_calls): New.
1757 2011-09-15  Gary Funck  <gary@intrepid.com>
1759         Fix ICE involving shared bit field accesses.
1760         * tree.c (build3_stat): Propagate TEEE_SHARED()
1761         TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1763 2011-09-13  Gary Funck  <gary@intrepid.com>
1765         Merge trunk version 178795 into gupc branch.
1766         Incorporates fix to PR bootstrap/50010 for x86-32.
1768 2011-09-08  Gary Funck  <gary@intrepid.com>
1770         Merge trunk version 178557 into gupc branch.
1772 2011-09-07  Gary Funck  <gary@intrepid.com>
1774         Ensure that UPC pointer-to-shared type alignment is
1775         propagated to the final type.  Revert to long-standing
1776         alignment policy: twice the size of a "C" pointer.
1777         * tree.c (build_pointer_type): Propagate the alignment
1778         of the UPC pointer-to-shared representation type
1779         into the newly built pointer type.
1781 2011-08-30  Gary Funck  <gary@intrepid.com>
1783         * tree.h (check_qualified_type): Change 'const_tree'
1784         argument types back to 'tree' to avoid complaints
1785         of assignment drops qualifiers for invocations of the
1786         newly implemented TYPE_BLOCK_FACTOR() macro, which
1787         invokes hash functions with 'tree' pointer values that
1788         are not const qualified.
1789         * tree.c (check_qualified_type, check_aligned_type): Ditto.
1790         * c-typeck.c (comptypes_internal): Ditto.
1792 2011-08-29  Gary Funck  <gary@intrepid.com>
1794         Fixes for regressions noted running "make check"
1795         versus GCC trunk.
1796         * fold-const.c (fold_unary_loc): Execute UPC-specific
1797         checks for a cast-of-a-cast, only if one of the
1798         operands is a UPC pointer-to-shared value.
1799         * opts.c (print_specific_help):  Fix a comparison
1800         in an assert that checks that there are enough
1801         bits reserved for the number of languages defined
1802         in the .opt files.
1804 2011-08-29  Gary Funck  <gary@intrepid.com>
1806         Implement a hash table to record UPC block factors.
1807         * c-family/stub-upc.c (upc_block_factor_insert,
1808         upc_block_factor_lookup): New dummy stub procedures.
1809         * c-family/c-common.c (c_sizeof_or_alignof_type):
1810         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1811         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1812         to copy (hashed) UPC blocking factor.
1813         (set_type_quals): Likewise.
1814         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1815         TYPE_HAS_THREADS_FACTOR().
1816         (type_common.block_factor): Delete.
1817         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1818         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1819         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1820         UPC blocking factors greater than one.
1821         * dwarf2out.c (modified_type_die): Re-implement
1822         logic that records UPC blocking factor in the generated
1823         DWARF2 debugging information.
1824         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1825         TYPE_HAS_THREADS_FACTOR().
1826         * c-decl.c (finish_decl, grokdeclarator):
1827         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1828         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1829         used by UPC, and print UPC-specific information.
1831 2011-08-28  Gary Funck  <gary@intrepid.com>
1833         Re-work the type machinery to fully support and to unify support
1834         for the UPC layout qualifier (blocking factor).
1835         * c-family/stub-upc.c (upc_set_block_factor): Delete.
1836           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1837           and update prototype.
1838         * c-family/c-common.c (complete_array_type): call newly
1839           defined c_build_qualified_type_1() instead of
1840           upc_set_block_factor().
1841         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1842           upc_apply_layout_qualifier() and update prototype.
1843           (upc_set_block_factor): Delete prototype.
1844         * c-family/c-common.h (c_build_qualified_type): redefine
1845           as a pre-processor macro that invokes c_build_qualified_type_1()
1846           with a null UPC layout qualifier.
1847           (c_build_qualified_type_1): New.  Add layout qualifier argument
1848           to old c_build_qualified_type() prototype.
1849         * tree.c (set_type_quals, check_qualified_type):
1850           Add layout qualifier as argument.
1851           (check_aligned_type): Add check for UPC block factor equality.
1852           (get_qualified_type_1): Rename from get_qualified_type() and
1853           add layout qualifier as argument.
1854           (build_qualified_type_1): Rename from build_qualified_type() and
1855           add layout qualifier as argument.
1856         * tree.h (check_qualified_type): Add layout qualifier as argument
1857           to the prototype.
1858           (get_qualified_type): Re-define as a as a pre-processor macro
1859           that invokes get_qualified_type_1() with a null
1860           UPC layout qualifier.
1861           (get_qualified_type_1): Rename from get_qualified_type() and
1862           add layout qualifier as argument.
1863         * cp/tree.c (c_build_qualified_type_1): Rename from
1864           c_build_qualified_type() and add (unused) layout qualifier
1865           argument.
1866         * c-decl.c (finish_decl): re-format long error messages.
1867           (grokdeclarator): Re-work the logic so that it calls
1868           upc_grok_layout_qualifier() to handle the UPC layout
1869           qualifier, if present.
1870         * c-typeck.c (qualify_type, common_pointer_type,
1871           build_component_ref): Re-work the logic so that it calls
1872           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1873           if present.
1874           (c_build_qualified_type_1): Rename from c_build_qualified_type()
1875           and add layout qualifier argument.
1876         * print_tree.c (print_node): Re-format a long line.
1878 2011-08-26  Gary Funck  <gary@intrepid.com>
1880         Merge trunk version 177949 into gupc branch.
1881         * c-family/c-common.h (enum rid): Bump the number of type modifiers
1882           in the comment.
1883         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1884           to add new rliterals column value.
1886 2011-08-26  Gary Funck  <gary@intrepid.com>
1888         * convert.c (convert_to_integer): Fix the check for the
1889           difference between two UPC pointers-to-shared values.
1891 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
1893         * configure.ac: Fix the name for --with-upc-pts-packed-bits
1894           option. Support --with-upc-packed-bits as deprecated. Fix the code to
1895           correctly check packed bits.
1896         * configure: Re-generate.
1898 2011-08-16  Gary Funck  <gary@intrepid.com>
1900         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1901           the barrier id expression is not an integer expression.
1903 2011-08-12  Gary Funck  <gary@intrepid.com>
1905         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1906           (revert to trunk).
1907         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1908           Set mode of UPC pointer-to-shared rep. to an
1909           integral mode of size at least as large as the
1910           size of the representation's struct type.
1912 2011-08-12  Gary Funck  <gary@intrepid.com>
1914         Rework/simplify the UPC genericize pass.
1915         * c-family/stub-upc.c (upc_apply_layout_qualifier,
1916           upc_build_pointer_type): New.
1917           (upc_set_block_factor): Adjust to new calling sequence.
1918           (upc_build_shared_var_addr): Delete.
1919         * c-family/c-common.c (complete_array_type): Adjust call
1920           to upc_set_block_factor().
1921         * c-family/c-upc.h (upc_apply_layout_qualifier,
1922           upc_build_pointer_type): New.
1923           (upc_build_shared_var_addr): Delete.
1924           (upc_set_block_factor): Adjust to new calling sequence.
1925         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1926         * c-decl.c (grokdeclarator): Call newly defined
1927           upc_apply_layout_qualifier() instead of upc_set_block_factor().
1928         * c-decl.c (grokdeclarator): Split long UPC-related error
1929           messages into two lines.
1930         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1931           directly.  Revert that change to trunk. (upc_genericize() will
1932           handle lowering the expressions that take the address of a
1933           UPC variable).
1934         * config/i386/i386.c (ix86_promote_function_mode): For UPC
1935           pointers-to-shared, return the type mode of the UPC pointer-to-shared
1936           representation type.
1938 2011-08-10  Gary Funck  <gary@intrepid.com>
1940         Implement additional fixes for recent merge with trunk.
1941         * explow.c (promote_mode): Do not attempt to promote
1942           the mode for UPC pointer-to-shared types.
1943         * config/i386/i386.c (function_value_64): Ditto.
1945 2011-08-07  Gary Funck  <gary@intrepid.com>
1947         Merge trunk version 177548 into gupc branch.
1948         * config/i386/i386.c (ix86_promote_function_mode):
1949           Do not promote UPC pointers-to-shared to Pmode.
1950         * c-family/c-ommon.c (pointer_int_sum):
1951           Also check the pointer operand, rather than just
1952           its type, when making the decision to derive
1953           the equivalent unshared type.
1954         * tree.c (build2_stat): If the type of the result
1955           passed in as an argument is a UPC shared type,
1956           derive the unshared equivalent when calculating
1957           the result type of the node.
1959 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
1961         * config/darwin.c: Disable var_tracking option
1962           on -O0 as it is supposed to run only when optimization
1963           is applied. See GCC bug 49743.
1965 2011-07-06  Gary Funck  <gary@intrepid.com>
1967         Re-implement the pass that lowers trees generated by
1968         the UPC front-end into GENERIC.  Previously this was
1969         done within the gimplification framework, but this
1970         required that gimplification be run before inlining
1971         and various other passes, which did not fit in well
1972         with the current design of the middle-end passes.
1973         Now, the lowering is done by a newly defined language
1974         specific genericize hook.  With this change, we are
1975         are able to undo some extensions made to the gimplify
1976         logic, and thus can revert several files to trunk.
1978         * c-decl.c: Add a check for UPC deprecated names which
1979           may appear as undefined function names.
1980         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1981           LTI_upc_getaddr): Remove definitions of unused UPC
1982           library function names.  These were defined back when
1983           the libfunc interface was used to call these routines.
1984         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1985           in UPC lowering (genericize) pass.
1986         * langhooks.h (gimplify_expr): Revert to trunk's definition.
1987           (instrument_func): Delete this hook.  Now handled in
1988           upc_genericize().
1989         * tree-pass.h: Revert to trunk.
1990         * c-typeck.c (build_unary_op): Adjust reference to
1991           upc_genericize() in a comment.
1992         * gimplify.c (create_tmp_var_raw): Delete logic that
1993           was converting UPC shared types into unshared types
1994           to be used for temporaries.  Now handled in  upc_genericize().
1995           Replace with an assertion check.
1996           (prepare_gimple_addressable): Revert to trunk's definition.
1997           No longer needed as an externally called function.
1998           (flag_instrument_functions_exclude_p): Re-define as
1999           an externally called function.
2000           (gimplify_function_tree): Delete code that implemented
2001           call to UPC's language specific function instrumentation hook.
2002         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2003           (prepare_gimple_addressable): Delete extern definition;
2004           revert to trunk's definition.
2005         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2006           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2007         * c-family/c-gimplify.c: Revert to trunk.
2008         * cp/cp-gimplify.c: Revert to trunk.
2009         * cp/cp-tree.h: Revert to trunk.
2010         * explow.c: Revert to trunk.
2011         * langhooks.c: Revert to trunk.
2012         * libfuncs.h: Revert to trunk.
2013         * objc/objc-act.c: Revert to trunk.
2015 2011-06-30  Gary Funck  <gary@intrepid.com>
2017         * c-family/c.opt: Bring options definitions up-to-date
2018         with respect to changes made in the trunk.
2020 2011-06-29  Gary Funck  <gary@intrepid.com>
2022         Merge trunk version 175584 into gupc branch.
2024 2011-06-13  Gary Funck  <gary@intrepid.com>
2026 libcpp/
2027         * include/cpplib.h (enum c_lang):
2028         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2029         This keeps all the "C" variants together.
2030         * init.c (lang_defaults): Add an entry for UPC.
2032 2011-06-09  Gary Funck  <gary@intrepid.com>
2034         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2035         a 32-bit target, the size expression overflowed, the result was
2036         error_mark_node, and an ICE was triggered on an attempt to evaluate
2037         C_TYPE_VARIABLE_SIZE() on the error node.
2038         (upc_blocksizeof_expr, upc_blocksizeof_type,
2039         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2040         Make similar changes to avoid further processing of error_mark_node.
2042 2011-06-07  Gary Funck  <gary@intrepid.com>
2044         * sel-sched.c (move_op): Incorporate the following
2045         patch to eliminate ICE at -O3 on IA64/Altix.
2047 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
2049         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
2050         code_motion_path_driver returned 0 or 1.
2051         (sel_region_finish): Clear h_d_i_d.
2053 2011-06-02  Gary Funck  <gary@intrepid.com>
2055         Merge trunk version 174558 into gupc branch.
2057 2011-05-30  Gary Funck  <gary@intrepid.com>
2059         * configure.ac: Make the default order of the virtual
2060           address field in a UPC pointer-to-shared to be "first".
2061           This reverts to the previous setting, and is a short term
2062           measure to work around a bug found on the IA64,
2063           where vaddr=last led to incorrect code generation.
2064           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2065           in AC_DEFINE(), to agree with recent changes in files
2066           that reference this define.
2067           configure, config.in: Regenerate.
2069 2011-05-26  Gary Funck  <gary@intrepid.com>
2071         * configure.ac: Fix typo when referring to $upc_vaddr_order.
2072           configure: Regenerate.
2074         * ../fixincludes/fixincl.x: Revert to trunk.
2075           This file is auto-generated, and should not be merged.
2077 2011-05-18  Gary Funck  <gary@intrepid.com>
2079         Merge trunk version 173845 into gupc branch.
2081 2011-05-17  Gary Funck  <gary@intrepid.com>
2083         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2084           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2086         * c-family/c-pragma.c: Remove conditional compilation
2087           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2088           Test 'compiling_upc' when compiling to determine if
2089           the "upc" and "pupc" pragmas should be registered.
2091         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2092           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2093           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2094           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2095           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2096           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2097           Move these target-dependent definitions from config/upc-conf.h
2098           to here.
2100         * configure.ac: Improve the logic for UPC-related options.
2101           Delete references to pre-processor definitions that have
2102           been moved to "upc/upc-pts.h".
2104         * configure, config.in: Regenerate.
2106         * Makefile.in (UPC_PTS_REP): Remove definition and revert
2107           to trunk.  This substitution variable was used to
2108           configure the representation-specific versions of
2109           the tree rewrites that operate on UPC pointer-to-shared
2110           types and objects.
2112         * c-parser.c (c_parser_upc_forall_statement): Remove
2113           reference to UPC_FORALL_DEPTH_NAME, and call
2114           newly defined upc_rts_forall_depth_var() instead.
2116         * config/upc-config.h: Delete. Various definitions
2117           moved to "upc/upc-rts-names.h", "defaults.h", and
2118           "upc/upc-pts.h".
2120         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2121           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2122           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2123           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2124           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2125           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2126           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2127           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2128           New.  Document UPC target macros.
2129           doc/tm.texi: Regenerate.
2131 2011-05-07  Gary Funck  <gary@intrepid.com>
2133         * ../configure.ac: Disable build of libupc
2134           on non POSIX hosted systems.  Use AS_HELP_STRING
2135           to define messages.  Remove 'word-pair' as a
2136           possible --with-upc-pts UPC pointer-to-shared
2137           representation.
2139         * ../configure: Regenerate.
2141         * configure.ac: Use AS_HELP_STRING to define messages.
2142           Remove 'word-pair' as a possible --with-upc-pts
2143           UPC pointer-to-shared representation.
2144           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2145           (UPC_MAX_BLOCK_SIZE): Correct the default value.
2147         * configure: Regenerate.
2149         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2150           definition.
2152         * ChangeLog.upc: Fix some typos.
2154 2011-05-07  Gary Funck  <gary@intrepid.com>
2156         * ../maintainer-scripts/gcc_release: Add "upc"
2157           as one of the released languages.
2159 2011-05-06  Gary Funck  <gary@intrepid.com>
2161         Eliminate compilation warnings, by fixing
2162         #include's and updating function prototypes.
2164         * c-family/c-cppbuiltin.c: Include c-upc.h.
2166         * optabs.c (gen_libfunc): Change type of 'suffix'
2167           parameter to conform with prototype.
2169         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2170           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2171           hook used by UPC.
2173         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2174           the prototype.
2176         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2177           argument values to cp_gimplify_expr.
2179         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2180           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
2181           pre-processor definitions that are no longer
2182           needed to build the 'upc' command (upc-cmd.c)
2183           because the linker specs. defined in libupc
2184           take care of linking in the needed libraries.
2186         * c-parser.c (c_parser_upc_forall_statement):
2187           initialize affinity_loc to avoid "maybe unused" warning.
2188           (c_parser_upc_sync_statement): Remove un-needed
2189           'ret' variable.  Cast return value from
2190           'upc_build_sync_stmt' to 'void' to avoid
2191           compile-time warning.
2193         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2194           integer constant, not a string.  Range is restricted
2195           to maximum positive 32-bit integer (2+ billion) to
2196           fit in with the use of 'int' in the front-end's
2197           switch handling logic.
2199 2011-05-06  Gary Funck  <gary@intrepid.com>
2201         Upgrade c-family source files to conform with modularity
2202         improvements.  Mainly, remove #include of c-tree.h in files
2203         under c-family, and define a new UPC-specific #include file,
2204         c-upc.h, and use it.
2206         * c-family/stub-upc.c: Remove #include of c-tree.h and
2207           upc/upc-act.h.  Replace with #include of c-common.h
2208           and c-upc.h.
2209           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2210           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2211           upc_localsizeof_expr, upc_localsizeof_type,
2212           upc_shared_type_p): Delete.
2214         * c-family/c-opts.c: Add #include of c-upc.h
2216         * c-family/c-common.c: Remove #include of c-tree.h and
2217           add #include of c-upc.h.
2219         * c-family/c-upc.h: New. Define API for UPC-specific functions
2220           (mostly implemented in upc/upc-act.c).
2222         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2223           Remove extern definitions.
2225         * c-family/c-pragma.c: Remove #include of c-tree.h.
2226           Add #include of c-upc.h.
2228         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
2229           c-tree.h.
2230           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
2231           upc/upc-act.c, and define as a macro.
2232           (expand_affinity_test): Remove unused external definition.
2233           (build_upc_unshared_type): Add external definition.
2234           (upc_shared_type_p): Remove external definition.
2236         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2238         * dojump.c: Remove #include of c-tree.h.
2240         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2241           and move to tree.h.
2242           (count_upc_threads_refs, is_multiple_of_upc_threads,
2243           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2244           upc_build_shared_var_addr, upc_build_sync_stmt,
2245           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2246           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2247           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2248           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2249           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2250           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2251           set_upc_consistency_mode, get_upc_consistency_mode,
2252           push_upc_consistency_mode, pop_upc_consistency_mode,
2253           get_upc_pupc_mode):
2254           Move external definitions to c-family/c-upc.h.
2255           (upc_blocksizeof_type, upc_localsizeof_type,
2256           upc_elemsizeof_type): Remove external definitions;
2257           these functions were moved to c-parser.c.
2259         * c-decl.c: Add #include of c-upc.h.
2261         * c-typeck.c: Add #include of c-upc.h.
2263         * c-convert.c: Add #include of c-upc.h.
2265         * ChangeLog.upc: Fix typo.
2267         * Makefile.in: Add references to c-family/c-upc.h, everywhere
2268           there is a reference to c-family/c-objc.h.
2269           Remove extraneous reference to upc-act.h.
2271         * c-parser.c: Add #include of c-upc.h.
2272           (upc_blocksizeof_expr, upc_blocksizeof_type,
2273           upc_elemsizeof_expr, upc_elemsizeof_type,
2274           upc_localsizeof_expr, upc_localsizeof_type):
2275           Move from upc/upc-act.c.
2277         * tree.c (build_upc_unshared_type): New.
2278           Move upc_get_unshared_type from upc/upc-act.c and rename
2279           to build_upc_unshared_type.
2280           c-family/c-common.c (pointer_int_sum): refer to renamed
2281           build_upc_unshared_type function.
2282           c-convert.c (convert): Ditto.
2283           convert.c (convert_to_pointer): Ditto.
2284           c-typeck.c (build_unary_op, build_modify_expr,
2285           really_start_incremental_init): Ditto.
2286           gimplify.c (create_tmp_var_raw): Ditto.
2287           tree.c (build1_stat): Ditto.
2288           tree.h (upc_get_unshared_type): Rename to
2289           build_upc_unshared_type.
2291 2011-05-06  Gary Funck  <gary@intrepid.com>
2293         Merge trunk version 173471 into gupc branch.
2295 2011-05-05  Gary Funck  <gary@intrepid.com>
2297         Make changes that bring the GUPC branch more closely in sync.
2298         with the GCC trunk.  Revert any fixes that are not UPC-specific.
2299         Remove gratuitous re-formatting.
2301         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2302           This file should have been removed in a previous merge
2303           with the trunk.
2304         * ../configure.ac: Remove Cray Catamount/CNL support.
2305         * ../configure: Regenerate.
2306         * ../config.sub: Remove Cray Catamount/CNL support.
2307         * config.gcc: Remove Cray Catamount/CNL support.
2308         * ../maintainer-scripts/gcc_release: Revert to trunk.
2309         * c-family/c-common.h: Define parse_optimize_options.  Its definition
2310           was missed in a previous merge with the trunk.
2311         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2312           procedure.
2313         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2314           in addition to ARRAY_TYPE.
2315         * c-typeck.c: Remove an extra newline character.
2316         * varasm.c: Revert a fix that improved an error message
2317           when TLS common data is unimplemented.
2318         * varasm.c: Revert a gcc_assert that had been added which
2319           checked for a null DECL_SIZE_UNIT field.
2320         * emultls.c: Revert to trunk. Remove possible fix.
2321         * Makefile.in: Revert extra blank line that is present
2322           in the trunk version.
2323         * Makefile.in: Revert a fix that handled long shell
2324           argument lists for plugin headers.
2325         * config/ia64/ia64.opt: Revert an option setting
2326           that increased the default TLS address range.
2327         * config/ia64/crtbegin.asm: Revert to trunk.
2328           Removes an extra newline character.
2329         * ChangeLog.upc: Spell check.
2331 2011-05-03  Gary Funck  <gary@intrepid.com>
2333         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2334           (c_apply_type_quals_to_decl): Ditto.
2335         * c-family/c-common.h: Ditto.
2336         * dojump.c: Ditto.
2337         * c-decl.c (merge_decls): Ditto.
2338         * c-typeck.c (qualify_type, default_conversion,
2339           build_component_ref, build_unary_op,
2340           c_build_qualified_type): Ditto.
2341         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2343 2011-04-29  Gary Funck  <gary@intrepid.com>
2345         * c-decl.c (finish_decl): Improve error diagnostics.
2346           (grokdeclarator): Ditto.
2348         * c-typeck.c (build_c_cast): Improve error diagnostics.
2349           (convert_for_assignment): Ditto.
2350           (build_binary_op): Ditto.
2352         * c-parser.c (c_parser_upc_forall_statement):
2353           Improve error diagnostics.
2355         * convert.c (convert_to_integer):  Improve error diagnostics.
2357 2011-04-24  Gary Funck  <gary@intrepid.com>
2359         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2360           occurred if there is an error in the barrier id
2361           expression.  Map error_mark_node into NULL.
2363 2011-04-22  Gary Funck  <gary@intrepid.com>
2365         Merge trunk version 172873 into gupc branch.
2367 2011-04-19  Gary Funck  <gary@intrepid.com>
2369         Merge trunk version 172359 into gupc branch.
2371 2011-04-14  Gary Funck  <gary@intrepid.com>
2373         * c-family/c.opt: Add UPC as a valid language for various
2374           switches where it is valid for "C", that were not updated
2375           in previous merges with trunk.
2377 2011-04-13  Gary Funck  <gary@intrepid.com>
2379         * c-family/c.opt (fupc-pre-include): New option definition.
2380         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2381           -fno-upc-pre-include is asserted.
2383 2011-04-07  Gary Funck  <gary@intrepid.com>
2385         Merge trunk version 172158 into gupc branch.
2386         to bring in the following fix.
2388 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
2390         PR bootstrap/48403
2391         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2392         if old and new states differ.
2394 2011-04-06  Gary Funck  <gary@intrepid.com>
2396         Merge trunk version 171966 into gupc branch.
2398 2011-04-01  Gary Funck  <gary@intrepid.com>
2400         * tree.h (tree_base): Move UPC flag bits into bit fields
2401           located just before spare bits.  Decrement spare bits.
2402           Rename 'shared_flag' -> 'upc_shared_flag',
2403           'relaxed_flag' -> 'upc_relaxed_flag',
2404           'strict_flag' -> 'upc_strict_flag, and adjust macros
2405           that reference them accordingly.
2407 2011-04-01  Gary Funck  <gary@intrepid.com>
2409         * c-decl.c (grokdeclarator): Fix formatting of
2410           code that sets UPC block size on scalars.
2412 2011-04-01  Gary Funck  <gary@intrepid.com>
2414         * c-decl.c (grokdeclarator): Revert use of white space
2415           to match the trunk (to rationalize diffs).
2416         * c-typeck.c (convert_for_assignment): Ditto.
2417         * tree-ssa.c (useless_type_conversion_p): Ditto.
2419 2011-03-23  Gary Funck  <gary@intrepid.com>
2421         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2422           the GCC 4.6 release branch.
2424 2011-03-21  Gary Funck  <gary@intrepid.com>
2426         Merge trunk version 171202 into gupc branch.
2428 2011-03-20  Gary Funck  <gary@intrepid.com>
2430         * varasm.c: Call error() directly with a format specifier,
2431           rather than using sprintf() to format the message.
2432           This should make it easier to internationalize UPC's error messages.
2434 2011-03-20  Gary Funck  <gary@intrepid.com>
2436         * configure.ac: Fix the check for gnu ld when enabling
2437           UPC link script support.
2438           configure: Regenerate (also picks up changes from previous
2439           merge with trunk).
2441 2011-03-20  Gary Funck  <gary@intrepid.com>
2443         Move UPC start files, end files, and linker specs.
2444         into libupc.  This reduces the impact on common GCC
2445         configuration files, and ensures that these UPC-specific
2446         components are only built when the UPC language dialect is selected.
2448 gcc/
2449         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2450           linker specs. Fix typo in -fupc-debug message.
2452         * config/upc-conf.h, config/darwin.h: Move defines for
2453           UPC-related section begins/ends into libupc/config/default/
2454           upc-crt-config.h.
2456         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2457           UPC-related linker compiler specifications,
2458           accessed via %:include().
2460         * configure.ac, configure: Remove logic related to building
2461           upc-crtbegin/end. Remove config. tests for numa and cpu
2462           affinity (previously used by the 'upc' driver); these
2463           settings are now propagated by target-specific compiler
2464           specs. built by libupc.  Regenerate autoconf.
2466         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2467           linker compiler specifications, accessed via %:include().
2468           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2469           'link_upc_spec'.
2471         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2473         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2474           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2475           config/ia64/linux.h, config/mips/t-iris,
2476           config/mips/iris6.h: Revert to trunk version 167307.
2478 libgcc/
2479         * configure, configure.ac, config.host, Makefile.in:
2480           Revert to trunk version 167307.
2482 2011-02-23  Gary Funck  <gary@intrepid.com>
2484         * c-decl.c (undeclared_variable): fix typo. Inadvertently
2485         removed negation on following 'if'.
2487 2011-02-22  Gary Funck  <gary@intrepid.com>
2489         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2490         to check for the usage of certain deprecated UPC keywords.
2491         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2492         * c-tree.h (undeclared_variable): Define prototype.
2494 2011-02-12  Gary Funck  <gary@intrepid.com>
2496         * c-typeck.c: (build_c_cast, convert_for_assignment)
2497           Diagnose an attempt to convert from an integer to
2498           a pointer-to-shared as an error.  Also, fix various
2499           error messages so that they use the preferred term
2500           pointer-to-shared instead of "shared pointer".
2502 2011-02-07  Gary Funck  <gary@intrepid.com>
2504         * c-typeck.c: (convert_for_assignment)
2505           Fix typo. in error message.
2507 2011-01-23  Gary Funck  <gary@intrepid.com>
2509         * c-typeck.c: (c_build_qualified_type)
2510           derive UPC block size by calling upc_get_block_size(),
2511           to ensure that the element type of an array of an array
2512           is derived correctly.
2514 2010-12-29  Gary Funck  <gary@intrepid.com>
2516         Merge trunk version 168314 into gupc branch.
2518 2010-12-15  Gary Funck  <gary@intrepid.com>
2520         Merge trunk version 167307 into gupc branch.
2522 2010-10-19  Gary Funck  <gary@intrepid.com>
2524         * c-typeck.c: Fix typo in previous fix
2525           which led to a mis-compare for equal block sizes.
2527 2010-10-18  Gary Funck  <gary@intrepid.com>
2529         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2530           diagnosed as an error
2532           The conversion from any type (shared or not) to
2533           a shared type is likely either meaningless or an error.  This update
2534           makes any conversion to a shared type, an error.
2536 2010-10-18  Gary Funck  <gary@intrepid.com>
2538         * c-typeck.c: Fix bug: passing int to shared pointer arg.
2539           generates spurious warning
2541           Add a #define procedure that does the same thing as
2542           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
2543           this procedure to diagnose passing an integer value to a
2544           pointer-to-shared as an error.
2546 2010-10-18  Gary Funck  <gary@intrepid.com>
2548         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2549           matching routine declaration.
2551           When checking for type compatibility, shared qualified types must
2552           have the same block factor.  This check was missing from
2553           comptypes_internal().  This update adds the check for blocking
2554           factor equality.
2556 2010-10-17  Gary Funck  <gary@intrepid.com>
2558         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2559           found (-O1 -g)
2561           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2563 2010-10-17  Gary Funck  <gary@intrepid.com>
2565         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2566           45869 - [4.5/4.6 Regression] type mismatch in shift expression
2567           produces ice with -O3 and -m32.
2569           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2571 2010-10-17  Gary Funck  <gary@intrepid.com>
2573         * c-common.c: Diagnose the application of the various "*sizeof"
2574           operations on generic pointer-to-shared as a compilation error.
2576 2010-10-17  Gary Funck  <gary@intrepid.com>
2578         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2579           message regarding a function parameter being declared with a shared
2580           qualifier.
2582           The parameter's 'name' value is not defined at this point, and
2583           cannot be used in the error message.  This update removes the
2584           reference to 'name', and eliminates the segfault.
2586 2010-10-16  Gary Funck  <gary@intrepid.com>
2588         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2590           The gcc/Makefile.in rules for install-plugin had to be re-written to
2591           break up a long list of header files that exceeded the command line
2592           limitation imposed by Irix.
2594           Access functions for TFmode types had to be implemented.
2595           Apparently, this is the mode used for the SGI/MIPS port to represent
2596           "long float".
2598 2010-10-14  Gary Funck  <gary@intrepid.com>
2600         * c-decl.c: Fix bug: Multiple equal blocking factors specified
2601           via typedef chain should not be diagnosed as an error.
2603           If the block size that is given by the typedef is equal to the block
2604           size given explicitly in the variable declaration, then do not
2605           complain.  The easiest way to make this check was to create a
2606           temporary type that is a clone of the element type and then set its
2607           block size using the given layout qualifier.  Then compare the block
2608           size of the temporary (the declaration) to the block size specified
2609           in the typedef.  This complexity is needed, because the '[*]' block
2610           size needs to be calculated, and the '[]' needs to be mapped into a
2611           zero block size.
2613 2010-10-10  Gary Funck  <gary@intrepid.com>
2615         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2616           specified
2618           The compiler properly detected the presence of two or more layout
2619           qualifiers as an error, but then hit an assertion check, because the
2620           code that followed the error expected to see a qualifier and not a
2621           layout specifier.  The fix is simple: just return immediately after
2622           detecting the error.
2624 2010-10-10  Gary Funck  <gary@intrepid.com>
2626         * c-decl.c: Improve error diagnostics for various cases of UPC
2627           shared array type declarations.
2629           Add the check for this error: "In the dynamic translation
2630           environment, THREADS may not appear in declarations of shared arrays
2631           with indefinite block size".  Also, fix up a few of the other
2632           related error diagnostics.
2634 2010-10-09  Gary Funck  <gary@intrepid.com>
2636         * c-common.c: Fix bug: segfault on incomplete array definition.
2638           This turned out to be a bit complicated.   The logic in
2639           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2640           the THREADS identifier in the case where the blocking factor has
2641           been set to indefinite ([]).  This can happen when indefinite array
2642           declarations are processed for shared arrays.  At that time, the
2643           file scope has been closed and THREADS is no longer in scope.  Some
2644           more work is needed on upc_lang_layout_decl().  It has some
2645           duplication, and notably duplicates the two branches of the if
2646           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2647           caller of this routine (layout_decl()).
2649           The method of forcing a layout qualifier of [] in the indefinite
2650           declaration handler is odd a well.  The code that just does the
2651           setting of the block factor, needs to moved into its own routine
2652           that doesn't depend upon a declspec for '[]' to be passed in, just
2653           in order to set the blocking factor to some value (in this case, 0).
2654           Also, the logic for how that shared type is constructed is strange.
2655           First the type with 0 blocking factor is set.  Then the shared
2656           qualifier is removed from the type, and then added back later.  The
2657           intermediate type has a blocking factor set, but it has no shared
2658           qualifier.  Fixing this will require some thought.  It is tempting
2659           just to make indefinite shared arrays an error, rather than forcing
2660           the dimension to be '1'.
2662           This likely fixes a serious error in the previous update to
2663           upc_lang_layout_decl(), where it didn't have the logic to set
2664           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
2665           the previous update would fail on many tests.
2667 2010-10-09  Gary Funck  <gary@intrepid.com>
2669         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2670           (decl) is null, which can happen if some layout error occurred
2671           upstream.
2673 2010-10-09  Gary Funck  <gary@intrepid.com>
2675         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2676           "variable-sized" when compiled in dynamic threads.
2678           This long-standing bug is easily fixed.  Just check
2679           for the situation that the non-constant sized type is shared and
2680           that it does not have a dimension that references a multiple of
2681           threads.  If this criteria is met, then issue a meaningful
2682           diagnostic.
2684 2010-10-01  Gary Funck  <gary@intrepid.com>
2686         * configure, configure.ac: Update manual page, and bug reporting
2687           URL.
2689           Update "man" page to reflect debugging switches.  Also, some general
2690           clean up.  Change the bug reporting URL to point to gccupc.org.
2692 2010-09-27  Gary Funck  <gary@intrepid.com>
2694         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2695           the UPC forall depth count variable is not found.
2697           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2698           The compiler will generate code that references this variable in
2699           order to implement nested upc_forall semantics.  If there is a
2700           compiler build or install problem, this variable may not be found.
2701           In this case, terminate with an internal_error().
2703 2010-09-26  Gary Funck  <gary@intrepid.com>
2705         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2706           mis-diagnosed as syntax error.
2708           Fix a failure exhibited by the Berkeley test case,
2709           bug873a.upc, which has the code:
2710                double d;
2711                upc_forall (;;;d) {...} The compiler did not properly handle
2712           the empty "condition" clause, and did not recover well when it was
2713           determined that the use of a double value, "d" above, was neither a
2714           pointer-to-shared nor an integer expression.  The update implements a
2715           fix for both issues.
2717           See also: gcc/c-parser.c gcc/upc/upc-act.c
2719 2010-09-23  Gary Funck  <gary@intrepid.com>
2721         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2722           incorporated into the referencing type.
2724           This was semi-fixed a few times before.  This update fixes a few
2725           more places where the layout qualifier wasn't being propagated
2726           through typedef's properly.  What made this a bit tricky is shown in
2727           the example cited in the bug report:
2729           typedef shared [5] int A_t; A_t A[5*THREADS];
2731           In the typedef, the blocksize is being applied to a shared *scalar*,
2732           and the code was applying the blocksize only to arrays.  This update
2733           handles shared scalars correctly.
2735 2010-09-22  Gary Funck  <gary@intrepid.com>
2737         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2738           upc_forall() semantics are not implemented
2740           The checkforall test in the Berkeley harness test suite indicated
2741           that GCC/UPC was not properly implementing nested upc_forall
2742           semantics.  Nested upc_forall statements (both statically or
2743           dynamically nested) must implement their affinity clause as if it
2744           were "continue"; thus all steps in the loop must execute without
2745           regard for affinity.  To implement these semantics a global depth
2746           counter, __upc_forall_depth, is maintained by the generated code
2747           that implements upc_forall.
2749           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2750           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2751           libupc/include/upc.h libupc/smp/upc_main.c
2753 2010-09-19  Gary Funck  <gary@intrepid.com>
2755         * c-decl.c: c-decl.c: zero out the layout specifier, after
2756           processing an array type.
2758           Fix the previous fix, that moved the setting of the type's layout
2759           qualifier to the outside of the array type processing loop.  What is
2760           missing from the fix is that the layout_qualifier variable needs to
2761           be cleared after setting the type's blocksize.
2763 2010-09-19  Gary Funck  <gary@intrepid.com>
2765         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2766           given blocksize is greater than UPC_MAX_BLOCKSIZE.
2768           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2769           the actual maximum block size.  Therefore, the message was correct,
2770           but the underlying value that was being checked was wrong.  Change
2771           the values so that they agree with the actual implementation-defined
2772           limit.
2774 2010-09-11  Gary Funck  <gary@intrepid.com>
2776         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2777           multi-dimensional shared array with dynamic threads.
2779           This declaration caused an internal compiler error when compiled
2780           with dynamic threads:
2781               shared [*] int A[THREADS][16]; The bug was discovered when
2782           compiling the RTED_UPC test suite.
2784           The fix is to process layout qualifiers after the entire array type
2785           has been built.  Otherwise, we try to calculate the blocksize on a
2786           shared array type that has not had its "size depends upon the value
2787           of THREADS" flag set.
2789           Also, added a test case.
2791           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2793 2010-07-11  Gary Funck  <gary@intrepid.com>
2795         Fix a bug where a statement in c_build_qualified_type()
2796         in the trunk had been inadvertently deleted.
2797         This bug showed up in the IA64 port, because jmpbuf's
2798         on that architecture must be 16 byte aligned, and they were not.
2799         c-typeck.c (c_build_qualified_type): Revive the deleted line.
2801 2010-07-08  Gary Funck  <gary@intrepid.com>
2803         Make changes so that other language compilers
2804         will build and bootstrap.
2805         * c-family/c-common.c (compiling_upc, flag_upc,
2806         flag_upc_instrument, flag_upc_instrument_functions,
2807         use_upc_dwarf2_extensions): Move to stub-upc.c and
2808         upc-lang.c.
2809         * c-family/c-common.h (use_upc_dwarf2_extensions,
2810         compiling_upc): Add extern definitions - needed
2811         to compile/build other language front ends.
2812         * c-family/c.opt: Fix the spelling of ObjC.
2813         It had been incorrectly spelled as Objc.
2814         * c-family/c.opt: Add UPC for the various switches
2815         that are valid for both C and ObjC.
2816         * c-fmaily/c-opts.c: Add CL_UPC to the list of
2817         supported options switches when compiling assembly
2818         language.
2819         * lto/lto-lang.c (use_upc_dwarf2_extensions,
2820         flag_upc_instrument, flag_upc_instrument_functions):
2821         Remove these definitions.  They have been moved
2822         to c-family/stub-upc.c.
2823         * upc/ChangeLog: Move relevant entries
2824         to ChangeLog.upc.
2825         * c-family/stub-upc.c (compiling_upc, flag_upc,
2826         flag_upc_instrument, flag_upc_instrument_functions,
2827         use_upc_dwarf2_extensions): Moved from c-common.c
2828         * upc/upc-lang.c (compiling_upc, flag_upc,
2829         flag_upc_instrument, flag_upc_instrument_functions,
2830         use_upc_dwarf2_extensions): Moved from c-common.c
2831         * objc/objc-act.c (objc_gimplify_expr): Add additional
2832         parameters to c_gimplify_expr() call, that are used
2833         by upc's tree rewrites.
2834         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2835         * gcc/cp/lex.c (init_reswords): If not compiling
2836         UPC, then mask off the UPC keywords.
2837         * cp/Make-lang.in (C_STUB_OBJS): Use this
2838         make macro to link with c-family/stub-objc.o
2839         and c-family/stub-upc.o.
2840         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2841         * java/Make-lang.in (C_STUB_OBJS): Likewise.
2842         * objc/Make-lang.in: Link with c-family/stub-upc.o
2843         to avoid undefined references.
2844         c-parser.c: Fix line indentation.
2845         * libcpp/include/cpplib.h: Remove CL_UPC from
2846         the list of language kinds accepted by the
2847         C preprocessor.  This is not necessary because
2848         UPC is a derivative of C99, and does not need
2849         a different language kind.
2850         * c-fmaily/c-opts.c (c_common_handle_option):
2851         Call set_std_c99() when processing the
2852         "--lang upc" switch, instead of setting the
2853         language kind to CL_UPC.
2854         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2856 2010-07-03  Gary Funck  <gary@intrepid.com>
2858         Merge trunk version 161517 into gupc branch.
2859         * gcc/stub-upc.c: Move to gcc/c-family/.
2860         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2861         Add 'unused' attributes to avoid "set, but
2862         not referenced" warnings.
2863         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2864         Likewise.
2866 2010-03-01 Gary Funck  <gary@intrepid.com>
2868         Create gupc branch from trunk version 157149.