Merge trunk version 204942 into gupc branch.
[official-gcc.git] / gcc / ChangeLog.upc
blob0e99fdde3dee42227fcf6499cf8dc9b739c40738
1 2013-11-18 Gary Funck  <gary@intrepid.com>
3         Merge trunk version 204942 into gupc branch.
5 2013-11-15 Gary Funck  <gary@intrepid.com>
7         Merge trunk version 204894 into gupc branch.
9 2013-11-15 Gary Funck  <gary@intrepid.com>
11         Merge trunk version 204659 into gupc branch.
13 2013-11-04 Gary Funck  <gary@intrepid.com>
15         Merge trunk version 204345 into gupc branch.
17 2013-10-31 Gary Funck  <gary@intrepid.com>
19         Released GUPC 4.9.0.1 based on version 203902.
20         This release version was committed on 2013-10-21.
21         * DEV-PHASE: Bump to 4.9.0.2.
22         * DATESTAMP: Bump date stamp.
24 2013-10-28 Gary Funck  <gary@intrepid.com>
26         Merge trunk version 204119 into gupc branch.
28 2013-10-21 Gary Funck  <gary@intrepid.com>
30         Merge trunk version 203886 into gupc branch.
32 2013-10-14 Gary Funck  <gary@intrepid.com>
34         Merge trunk version 203514 into gupc branch.
36 2013-10-07 Gary Funck  <gary@intrepid.com>
38         Merge trunk version 203240 into gupc branch.
40 2013-10-01 Gary Funck  <gary@intrepid.com>
42         Implement pointer-to-shared -> integer conversions.
43         Required per UPC 1.3 Specification.
44         c/c-typeck.c (build_c_cast): Remove logic that diagnosed
45         PTS->int conversions as an error.  Rewrite into a CONVERT_EXPR
46         for later processing by upc_genericize().
48 2013-09-30 Gary Funck  <gary@intrepid.com>
50         Merge trunk version 203026 into gupc branch.
52 2013-09-23 Gary Funck  <gary@intrepid.com>
54         Merge trunk version 202825 into gupc branch.
56 2013-09-18 Gary Funck  <gary@intrepid.com>
58         Merge trunk version 202725 into gupc branch.
60 2013-09-16 Gary Funck  <gary@intrepid.com>
62         Merge trunk version 202619 into gupc branch.
64 2013-09-09 Gary Funck  <gary@intrepid.com>
66         Merge trunk version 202382 into gupc branch.
68 2013-09-02 Gary Funck  <gary@intrepid.com>
70         Merge trunk version 202159 into gupc branch.
72 2013-08-26 Gary Funck  <gary@intrepid.com>
74         Merge trunk version 202008 into gupc branch.
76 2013-08-19 Gary Funck  <gary@intrepid.com>
78         Merge trunk version 201832 into gupc branch.
80 2013-08-05 Gary Funck  <gary@intrepid.com>
82         Merge trunk version 201483 into gupc branch.
84 2013-07-29 Gary Funck  <gary@intrepid.com>
86         Merge trunk version 201301 into gupc branch.
88 2013-07-22 Gary Funck  <gary@intrepid.com>
90         Merge trunk version 201119 into gupc branch.
92 2013-07-15 Gary Funck  <gary@intrepid.com>
94         Merge trunk version 200955 into gupc branch.
96 2013-07-08 Gary Funck  <gary@intrepid.com>
98         Merge trunk version 200775 into gupc branch.
100 2013-07-01 Gary Funck  <gary@intrepid.com>
102         Merge trunk version 200575 into gupc branch.
104 2013-06-24 Gary Funck  <gary@intrepid.com>
106         Merge trunk version 200361 into gupc branch.
108 2013-06-19 Gary Funck  <gary@intrepid.com>
110         Merge trunk version 200149 into gupc branch.
112 2013-06-03 Gary Funck  <gary@intrepid.com>
114         Merge trunk version 199596 into gupc branch.
116 2013-05-27 Gary Funck  <gary@intrepid.com>
118         Merge trunk version 199350 into gupc branch.
120 2013-05-20 Gary Funck  <gary@intrepid.com>
122         Merge trunk version 199093 into gupc branch.
124 2013-05-13 Gary Funck  <gary@intrepid.com>
126         Merge trunk version 198815 into gupc branch.
128 2013-05-06 Gary Funck  <gary@intrepid.com>
130         Merge trunk version 198622 into gupc branch.
132 2013-04-29 Gary Funck  <gary@intrepid.com>
134         Merge trunk version 198433 into gupc branch.
136 2013-04-15 Gary Funck  <gary@intrepid.com>
138         Merge trunk version 197958 into gupc branch.
140 2013-04-08 Gary Funck  <gary@intrepid.com>
142         Merge trunk version 197571 into gupc branch.
144 2013-04-04 Gary Funck  <gary@intrepid.com>
146         Per the UPC 1.3 specification, the type of the
147         optional barrier/notify/wait expression is not constrained to
148         'int'. Instead, any type that is assignment compatible
149         with an 'int' type is permitted.
150         * c/c-parser.c (c_parser_upc_sync_statement): Do not check
151         the optional expression type here.  Let upc_build_sync_stmt()
152         handle it.
153         * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
154         * c/c-typeck.c (c_cvt_expr_for_assign): New.  Also, call
155         error_at() in lieu of error() when the source location is known.
156         * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
157         to check/convert the optional synchronization statement
158         expression.
160 2013-04-02 Gary Funck  <gary@intrepid.com>
162         Merge trunk version 197340 into gupc branch.
164 2013-04-02 Gary Funck  <gary@intrepid.com>
166         Revert revision 178346 (2011-08-30)
167         which changed the prototype of check_qualified_type and related
168         functions so that their parameters were just 'tree' and not
169         'const_tree'.  This seemed necessary at the time because of a
170         change to TYPE_BLOCK_FACTOR(), which in turn called function
171         that hashed the type node pointer.  The hash functions did
172         not accept "const void *" pointers.  Implement a work around
173         that removes this restriction.
174         * c/c-typeck.c: Revert.
175         * tree.c: Revert.
176         * tree.h: Revert.  Change prototype of upc_block_factor_lookup()
177         to accept a 'const_tree' pointer to a type node.
178         * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
179         * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
180         input argument and convert this to 'tree' for use with hash function.
182 2013-03-25 Gary Funck  <gary@intrepid.com>
184         Merge trunk version 197029 into gupc branch.
186 2013-03-21 Gary Funck  <gary@intrepid.com>
188         Released GUPC 4.8.0.3 based on version 196601.
189         This release version was committed on 2013-03-11.
190         * DATESTAMP: Bump date stamp.
192 2013-03-18 Gary Funck  <gary@intrepid.com>
194         Merge trunk version 196771 into gupc branch.
195         * DEV-PHASE: Bump release identifier to 4.9.0-1.
197 2013-03-11 Gary Funck  <gary@intrepid.com>
199         Merge trunk version 196592 into gupc branch.
201 2013-03-04 Gary Funck  <gary@intrepid.com>
203         Merge trunk version 196422 into gupc branch.
205 2013-02-25 Gary Funck  <gary@intrepid.com>
207         Merge trunk version 196253 into gupc branch.
209 2013-02-18 Gary Funck  <gary@intrepid.com>
211         Merge trunk version 196115 into gupc branch.
213 2013-02-11 Gary Funck  <gary@intrepid.com>
215         Merge trunk version 195937 into gupc branch.
217 2013-02-04 Gary Funck  <gary@intrepid.com>
219         Merge trunk version 195707 into gupc branch.
221 2013-01-28 Gary Funck  <gary@intrepid.com>
223         Merge trunk version 195502 into gupc branch.
225 2013-01-21 Gary Funck  <gary@intrepid.com>
227         Merge trunk version 195330 into gupc branch.
229 2013-01-14 Gary Funck  <gary@intrepid.com>
231         Merge trunk version 195164 into gupc branch.
233 2013-01-07 Gary Funck  <gary@intrepid.com>
235         Merge trunk version 194962 into gupc branch.
237 2012-12-24 Gary Funck  <gary@intrepid.com>
239         Merge trunk version 194709 into gupc branch.
241 2012-12-17 Gary Funck  <gary@intrepid.com>
243         Merge trunk version 194552 into gupc branch.
245 2012-12-10 Gary Funck  <gary@intrepid.com>
247         Merge trunk version 194351 into gupc branch.
249 2012-12-03 Gary Funck  <gary@intrepid.com>
251         Merge trunk version 194076 into gupc branch.
253 2012-11-30  Gary Funck  <gary@intrepid.com>
255         Released GUPC 4.8.0.2 based on version 193446.
256         Date of release: 2012-11-12.
257         * DEV-PHASE: Bump release identifier to 4.8.0-3.
258         * DATESTAMP: Bump date stamp.
260 2012-11-26 Gary Funck  <gary@intrepid.com>
262         Merge trunk version 193807 into gupc branch.
264 2012-11-20 Gary Funck  <gary@intrepid.com>
266         Merge trunk version 193672 into gupc branch.
268 2012-11-19 Gary Funck  <gary@intrepid.com>
270         Merge trunk version 193617 into gupc branch.
272 2012-11-15 Gary Funck  <gary@intrepid.com>
274         Merge trunk version 193426 into gupc branch.
276 2012-11-12  Gary Funck  <gary@intrepid.com>
278         Released GUPC 4.8.0.1 based on version 192948.
279         Date of release: 2012-10-29.
280         * DEV-PHASE: Bump release identifier to 4.8.0-2.
281         * DATESTAMP: Bump date stamp.
283 2012-11-05 Gary Funck  <gary@intrepid.com>
285         Merge trunk version 193152 into gupc branch.
287 2012-10-29 Gary Funck  <gary@intrepid.com>
289         Merge trunk version 192909 into gupc branch.
291 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
293         Remove unused --upc-pthreads-per-process compile switch.
294         * c-family/c.opt: Remove --upc-pthreads-per-process switch
295         that compiler/runtime do not use.
296         * c-family/c-opts.c (c_common_handle_option): Remove support for
297         --upc-pthreads-per-process switch.
298         * c-family/c-common.c: Ditto.
299         * c-family/c-common.h: Ditto.
301 2012-10-27 Gary Funck  <gary@intrepid.com>
303         * defaults.h: fix typos and formatting in UPC-related entries.
305 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
307         Place shared initialization code into the .text
308         section instead of a separate .upc_init section.
309         * defaults.h (UPC_INIT_SECTION_NAME): Delete.
310         (UPC_INIT_BEGIN_NAME): Delete.
311         (UPC_INIT_END_NAME): Delete.
312         * doc/tm.texi.in: Ditto.
313         * doc/tm.texi: Ditto.
315 2012-10-22 Gary Funck  <gary@intrepid.com>
317         Merge trunk version 192673 into gupc branch.
319 2012-10-15 Gary Funck  <gary@intrepid.com>
321         Merge trunk version 192449 into gupc branch.
323 2012-10-08 Gary Funck  <gary@intrepid.com>
325         Merge trunk version 192198 into gupc branch.
327 2012-10-01 Gary Funck  <gary@intrepid.com>
329         Merge trunk version 191931 into gupc branch.
331 2012-09-26  Gary Funck  <gary@intrepid.com>
333         Implement support for various UPC version 1.3 specification
334         additions and changes. Deprecate support for upc_local_alloc.
335         Add support for upc_tick (wall-clock timer) library.
336         Add support for collective de-allocation functions:
337         upc_all_free and upc_all_lock_free.
338         Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
339         libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
341 2012-09-24 Gary Funck  <gary@intrepid.com>
343         Merge trunk version 191658 into gupc branch.
345 2012-09-17  Gary Funck  <gary@intrepid.com>
347         Merge trunk version 191376 into gupc branch.
349 2012-09-10  Gary Funck  <gary@intrepid.com>
351         Merge trunk version 191141 into gupc branch.
353 2012-08-27  Gary Funck  <gary@intrepid.com>
355         Merge trunk version 190707 into gupc branch.
356         * tree.h (struct tree_base): Adjust various
357         UPC tree and type flags to refer to the
358         newly introduced u.bits field.
360 2012-08-20  Gary Funck  <gary@intrepid.com>
362         Merge trunk version 190524 into gupc branch.
363         Incorporates a fix in genoutput.c (to properly use
364         CONST_CAST) that led to build failures with
365         older versions of g++.
367 2012-08-16  Gary Funck  <gary@intrepid.com>
369         Merge trunk version 190437 into gupc branch.
370         Incorporates a fix for a build failure on the PPC
371         due to passing incorrect switches to the assembler.
372         Also, first merged trunk revision that compiles GCC
373         with the C++ compiler in the first stage.
375 2012-08-13  Gary Funck  <gary@intrepid.com>
377         Merge trunk version 190336 into gupc branch.
379 2012-08-09  Gary Funck  <gary@intrepid.com>
381         * c-family/c-common.c (c_fully_fold_internal): Do not fold
382         offsetof-like expressions when they are applied to UPC
383         shared types.
385 2012-08-06  Gary Funck  <gary@intrepid.com>
387         Merge trunk version 190173 into gupc branch.
389 2012-08-01  Gary Funck  <gary@intrepid.com>
391         Merge trunk version 190063 into gupc branch.
392         Incorporates fix for build failure on IA64.
394 2012-07-30  Gary Funck  <gary@intrepid.com>
396         Merge trunk version 189954 into gupc branch.
398 2012-07-27  Gary Funck  <gary@intrepid.com>
400         Merge trunk version 189856 into gupc branch.
401         Incorporates fix for bootstrap with a sub-set of language
402         specific source directories present.
403         * optabs.c: Revert to trunk.  Rather than defining opcodes
404         as a way of defining get/put runtime library function names,
405         generate them directly in gcc/upc/upc-genericize.c.
406         * optabs.h: Ditto.
407         * genopinit.c: Ditto.
409 2012-07-23  Gary Funck  <gary@intrepid.com>
411         Merge trunk version 189777 into gupc branch.
413 2012-07-16  Gary Funck  <gary@intrepid.com>
415         Merge trunk version 189545 into gupc branch.
417 2012-07-12  Gary Funck  <gary@intrepid.com>
419         Merge trunk version 189366 into gupc branch.
421 2012-07-05  Gary Funck  <gary@intrepid.com>
423         Merge trunk version 189274 into gupc branch.
424         Incorporates graphite build infrastructure changes.
426 2012-07-04  Gary Funck  <gary@intrepid.com>
428         Merge trunk version 189080 into gupc branch.
429         * Makefile.in: Adjust for move of C front-end files.
430         * c/Make-lang.in: Ditto.
432 2012-07-03  Gary Funck  <gary@intrepid.com>
434         Merge trunk version 189078 into gupc branch.
436 2012-06-25  Gary Funck  <gary@intrepid.com>
438         Merge trunk version 188931 into gupc branch.
440 2012-06-18  Gary Funck  <gary@intrepid.com>
442         Merge trunk version 188721 into gupc branch.
444 2012-06-11  Gary Funck  <gary@intrepid.com>
446         Merge trunk version 188380 into gupc branch.
448 2012-06-04  Gary Funck  <gary@intrepid.com>
450         Merge trunk version 188168 into gupc branch.
452 2012-05-29  Gary Funck  <gary@intrepid.com>
454         Merge trunk version 187927 into gupc branch.
456 2012-05-18  Gary Funck  <gary@intrepid.com>
458         Merge trunk version 187666 into gupc branch.
459         Incorporates fix for ICE in tree vectorization pass
460         when processing strided loads.
462 2012-05-17  Gary Funck  <gary@intrepid.com>
464         Merge trunk version 187578 into gupc branch.
466 2012-05-09  Gary Funck  <gary@intrepid.com>
468         Merge trunk version 187347 into gupc branch.
469         Incorporates fix for segfault in tree vectorization pass.
471 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
473         * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
474         Appropriate libraries and include files are added on the
475         command line to make it possible to compile with the driver
476         from the build tree.
478 2012-04-29  Nenad Vukicevic  <nenad@intrepid.com>
480         * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
481         PPC ABI. In the UPC 'struct' pointer-to-shared representation,
482         a function returns a pointer-to-shared in memory instead
483         of in registers.
484         (rs6000_pass_by_reference): Ditto.
486 2012-04-28  Gary Funck  <gary@intrepid.com>
488         * c-decl.c (grokdeclarator): Set 'type' to error node
489         after detecting "shared auto variable" error to avoid
490         downstream complications.
491         * upc-act.c: Fix a couple of spelling errors in comments.
493 2012-04-26  Gary Funck  <gary@intrepid.com>
495         * c-family/c-pragma.c (handle_pragma_upc):
496         Fix typo in warning message.
498 2012-04-17  Gary Funck  <gary@intrepid.com>
500         Merge trunk version 186486 into gupc branch.
502 2012-04-17  Gary Funck  <gary@intrepid.com>
504         * c-family/c-pragma.c (disable_pupc_mode): Return the previous
505         value of the pupc mode.  Fixes a compile-time warning.
506         * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
507         disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
508         Improve source formatting.
510 2012-04-09  Gary Funck  <gary@intrepid.com>
512         Merge trunk version 186243 into gupc branch.
513         Incorporates a powerpc 'ffi' fix.
515 2012-03-16  Gary Funck  <gary@intrepid.com>
517         Merge trunk version 185454 into gupc branch.
518         Incorporates a libgcc fix for builds on Darwin.
520 2012-03-13  Gary Funck  <gary@intrepid.com>
522         Merge trunk version 185278 into gupc branch.
523         * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
524         call build_pointer_type() to apply UPC-specific qualifiers.
525         * top-level/configure.ac: factor the checking for posix hostst
526         out of the libgomp section so that it can also be used by libgupc.
527         * top-level/configure: Re-generate.
528         * DEV-PHASE: bump to 4.8.0-1.
530 2012-03-12  Gary Funck  <gary@intrepid.com>
532         * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
533         the mode for a pointer for upc-pointer-to-shared types.
535 2012-03-04  Gary Funck  <gary@intrepid.com>
537         Merge trunk version 184900 into gupc branch.
539 2012-02-17  Gary Funck  <gary@intrepid.com>
541         Released GUPC 4.7.0.2 based on version 183992.
542         * DEV-PHASE: Bump release identifier to 4.7.0-3.
543         * DATESTAMP: Bump date stamp.
545 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
547         * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
548         code generation (same as #pragma pupc off).
549         (set_pupc_mode): New. Set/restore profiling mode.
550         * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
551         (set_pupc_mode): New. Prototype.
552         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
553         profiling code for shared variables initialization routines.
555 2012-01-31  Gary Funck  <gary@intrepid.com>
557         Merge trunk version 183751 into gupc branch.
558         Incorporates fix for bootstrap failure on openSUSE 12.1.
560 2012-01-10  Gary Funck  <gary@intrepid.com>
562         Merge trunk version 183072 into gupc branch.
563         Incorporates libcpp __BASE_FILE__ fix.
565 2011-12-20  Nenad Vukicevic <nenad@intrepid.com>
567         * top-level/Makefile.def (flags_to_pass): Added GUPC
568         defines. Fixes the make error when upc is not specified as one
569         of the languages to build.
570         * top-level/Makefile.in: Re-generate.
572 2011-11-22  Gary Funck  <gary@intrepid.com>
574         * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
575         * dwarf2out.c (gen_compile_unit_die): Check for
576         the "GNU UPC" language string in lieu of "GCC UPC".
577         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
579 2011-11-18  Gary Funck  <gary@intrepid.com>
581         Merge trunk version 181552 into gupc branch.
582         Incorporates libgcc/libunwind fix for IA64.
584 2011-11-19  Gary Funck  <gary@intrepid.com>
586         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
587         Add check for UPC when defining the language type value
588         in a traceback entry.
590 2011-11-18  Gary Funck  <gary@intrepid.com>
592         Merge trunk version 181493 into gupc branch.
593         Incorporates final fix for PR target/49992.
595 2011-11-09  Nenad Vukicevic <nenad@intrepid.com>
597         * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
598         change that converted relative include paths into absolute
599         ones, as it does not work with older version of make (3.80).
601 2011-10-27  Nenad Vukicevic <nenad@intrepid.com>
603         Apply patch for Darwin build - PR49992.
604         * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
605         * gcc/configure.ac: Ditto.
606         * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
607         * gcc/ada/gcc-interface/Makefile.in: Ditto.
608         * top-level/configure: Re-generate.
609         * gcc/configure: Re-genrate.
611 2011-10-26  Gary Funck  <gary@intrepid.com>
613         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
614         "libupc" to "libgupc".
615         * top-level/configure.ac: Implement support for cross-builds, and
616           adjust for rename of libupc to libgupc.
617         * top-level/Makefile.tpl: Ditto.
618         * top-level/Makefile.def: Ditto.
619         * top-level/configure: Re-generate.
620         * top-level/Makefile.in: Re-generate.
621         * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
622         * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
623         * doc/tm.texi: Re-generate.
624         * tree-pretty-print.c (dump_block_node): Delete unused variable.
625         * gcc.c: Adjust for rename of libupc to libgupc.
626         * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
627         Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
628         Change "xupc" to "xgupc".
629         * configure.ac: Change "GCC UPC" to "GNU UPC".
630         * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
631         so that they are absolute paths.  This is needed because
632         the upc-crtstuff builds are in the libgupc library build
633         directories which are not at the same level as libgcc.
634         * config/darwin.h: Adjust for rename of libupc to libgupc.
636 2011-10-20  Gary Funck  <gary@intrepid.com>
638         Merge trunk version 180276 into gupc branch.
639         Incorporates fix for PR bootstrap/50709.
641 2011-10-20  Gary Funck  <gary@intrepid.com>
643         Merge trunk version 180246 into gupc branch.
645 2011-10-19  Gary Funck  <gary@intrepid.com>
647         Merge trunk version 180233 into gupc branch.
648         Incorporates fix for PR debug/49310 (var tracking).
650 2011-10-11  Nenad Vukicevic <nenad@intrepid.com>
652         * testsuite/lib/upc-dg.exp: Limit number of torture runs to
653         only four (O0 static/dynamic, O3 static/dynamic).
654         Detect -fupc-threads-0 as an option for dynamic threads
655         compile environment.
657 2011-10-10  Gary Funck  <gary@intrepid.com>
659         * tree.c (check_qualified_type, check_aligned_type):
660         Call tree_int_cst_equal() to compare UPC blocking factors
661         if the corresponding tree pointers are not equal.
662         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
664 2011-10-07  Nenad Vukicevic <nenad@intrepid.com>
666         Add configuration checks for struct/packed builds so we can
667         use upc_struct_pts/upc_packed_pts selectors in the testsuite.
668         * testsuite/lib/target-supports.exp
669         (check_effective_target_upc_struct_pts): New.
670         (check_effective_target_upc_packed_pts): New.
672 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
674         Add to FLAGS the flags needed to disable inlining of
675         UPC run-time access routines.
676         * testsuite/lib/target-supports.exp
677         (add_options_for_upc_library_calls): New.
679 2011-09-15  Gary Funck  <gary@intrepid.com>
681         Fix ICE involving shared bit field accesses.
682         * tree.c (build3_stat): Propagate TEEE_SHARED()
683         and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
685 2011-09-13  Gary Funck  <gary@intrepid.com>
687         Merge trunk version 178795 into gupc branch.
688         Incorporates fix to PR bootstrap/50010 for x86-32.
690 2011-09-08  Gary Funck  <gary@intrepid.com>
692         Merge trunk version 178557 into gupc branch.
694 2011-09-07  Gary Funck  <gary@intrepid.com>
696         Ensure that UPC pointer-to-shared type alignment is
697         propagated to the final type.  Revert to long-standing
698         alignment policy: twice the size of a "C" pointer.
699         * tree.c (build_pointer_type): Propagate the alignment
700         of the UPC pointer-to-shared representation type
701         into the newly built pointer type.
703 2011-08-30  Gary Funck  <gary@intrepid.com>
705         * tree.h (check_qualified_type): Change 'const_tree'
706         argument types back to 'tree' to avoid complaints
707         of assignment drops qualifiers for invocations of the
708         newly implemented TYPE_BLOCK_FACTOR() macro, which
709         invokes hash functions with 'tree' pointer values that
710         are not const qualified.
711         * tree.c (check_qualified_type, check_aligned_type): Ditto.
712         * c-typeck.c (comptypes_internal): Ditto.
714 2011-08-29  Gary Funck  <gary@intrepid.com>
716         Fixes for regressions noted running "make check"
717         versus GCC trunk.
718         * fold-const.c (fold_unary_loc): Execute UPC-specific
719         checks for a cast-of-a-cast, only if one of the
720         operands is a UPC pointer-to-shared value.
721         * opts.c (print_specific_help):  Fix a comparison
722         in an assert that checks that there are enough
723         bits reserved for the number of languages defined
724         in the .opt files.
726 2011-08-29  Gary Funck  <gary@intrepid.com>
728         Implement a hash table to record UPC block factors.
729         * c-family/stub-upc.c (upc_block_factor_insert,
730         upc_block_factor_lookup): New dummy stub procedures.
731         * c-family/c-common.c (c_sizeof_or_alignof_type):
732         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
733         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
734         to copy (hashed) UPC blocking factor.
735         (set_type_quals): Likewise.
736         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
737         TYPE_HAS_THREADS_FACTOR().
738         (type_common.block_factor): Delete.
739         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
740         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
741         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
742         UPC blocking factors greater than one.
743         * dwarf2out.c (modified_type_die): Re-implement
744         logic that records UPC blocking factor in the generated
745         DWARF2 debugging information.
746         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
747         TYPE_HAS_THREADS_FACTOR().
748         * c-decl.c (finish_decl, grokdeclarator):
749         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
750         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
751         used by UPC, and print UPC-specific information.
753 2011-08-28  Gary Funck  <gary@intrepid.com>
755         Re-work the type machinery to fully support and to unify support
756         for the UPC layout qualifier (blocking factor).
757         * c-family/stub-upc.c (upc_set_block_factor): Delete.
758           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
759           and update prototype.
760         * c-family/c-common.c (complete_array_type): call newly
761           defined c_build_qualified_type_1() instead of
762           upc_set_block_factor().
763         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
764           upc_apply_layout_qualifier() and update prototype.
765           (upc_set_block_factor): Delete prototype.
766         * c-family/c-common.h (c_build_qualified_type): redefine
767           as a pre-processor macro that invokes c_build_qualified_type_1()
768           with a null UPC layout qualifier.
769           (c_build_qualified_type_1): New.  Add layout qualifier argument
770           to old c_build_qualified_type() prototype.
771         * tree.c (set_type_quals, check_qualified_type):
772           Add layout qualifier as argument.
773           (check_aligned_type): Add check for UPC block factor equality.
774           (get_qualified_type_1): Rename from get_qualified_type() and
775           add layout qualifier as argument.
776           (build_qualified_type_1): Rename from build_qualified_type() and
777           add layout qualifier as argument.
778         * tree.h (check_qualified_type): Add layout qualifier as argument
779           to the prototype.
780           (get_qualified_type): Re-define as a as a pre-processor macro
781           that invokes get_qualified_type_1() with a null
782           UPC layout qualifier.
783           (get_qualified_type_1): Rename from get_qualified_type() and
784           add layout qualifier as argument.
785         * cp/tree.c (c_build_qualified_type_1): Rename from
786           c_build_qualified_type() and add (unused) layout qualifier
787           argument.
788         * c-decl.c (finish_decl): re-format long error messages.
789           (grokdeclarator): Re-work the logic so that it calls
790           upc_grok_layout_qualifier() to handle the UPC layout
791           qualifier, if present.
792         * c-typeck.c (qualify_type, common_pointer_type,
793           build_component_ref): Re-work the logic so that it calls
794           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
795           if present.
796           (c_build_qualified_type_1): Rename from c_build_qualified_type()
797           and add layout qualifier argument.
798         * print_tree.c (print_node): Re-format a long line.
800 2011-08-26  Gary Funck  <gary@intrepid.com>
802         Merge trunk version 177949 into gupc branch.
803         * c-family/c-common.h (enum rid): Bump the number of type modifiers
804           in the comment.
805         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
806           to add new rliterals column value.
808 2011-08-26  Gary Funck  <gary@intrepid.com>
810         * convert.c (convert_to_integer): Fix the check for the
811           difference between two UPC pointers-to-shared values.
813 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
815         * configure.ac: Fix the name for --with-upc-pts-packed-bits
816           option. Support --with-upc-packed-bits as deprecated. Fix the code to
817           correctly check packed bits.
818         * configure: Re-generate.
820 2011-08-16  Gary Funck  <gary@intrepid.com>
822         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
823           the barrier id expression is not an integer expression.
825 2011-08-12  Gary Funck  <gary@intrepid.com>
827         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
828           (revert to trunk).
829         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
830           Set mode of UPC pointer-to-shared rep. to an
831           integral mode of size at least as large as the
832           size of the representation's struct type.
834 2011-08-12  Gary Funck  <gary@intrepid.com>
836         Rework/simplify the UPC genericize pass.
837         * c-family/stub-upc.c (upc_apply_layout_qualifier,
838           upc_build_pointer_type): New.
839           (upc_set_block_factor): Adjust to new calling sequence.
840           (upc_build_shared_var_addr): Delete.
841         * c-family/c-common.c (complete_array_type): Adjust call
842           to upc_set_block_factor().
843         * c-family/c-upc.h (upc_apply_layout_qualifier,
844           upc_build_pointer_type): New.
845           (upc_build_shared_var_addr): Delete.
846           (upc_set_block_factor): Adjust to new calling sequence.
847         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
848         * c-decl.c (grokdeclarator): Call newly defined
849           upc_apply_layout_qualifier() instead of upc_set_block_factor().
850         * c-decl.c (grokdeclarator): Split long UPC-related error
851           messages into two lines.
852         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
853           directly.  Revert that change to trunk. (upc_genericize() will
854           handle lowering the expressions that take the address of a
855           UPC variable).
856         * config/i386/i386.c (ix86_promote_function_mode): For UPC
857           pointers-to-shared, return the type mode of the UPC pointer-to-shared
858           representation type.
860 2011-08-10  Gary Funck  <gary@intrepid.com>
862         Implement additional fixes for recent merge with trunk.
863         * explow.c (promote_mode): Do not attempt to promote
864           the mode for UPC pointer-to-shared types.
865         * config/i386/i386.c (function_value_64): Ditto.
867 2011-08-07  Gary Funck  <gary@intrepid.com>
869         Merge trunk version 177548 into gupc branch.
870         * config/i386/i386.c (ix86_promote_function_mode):
871           Do not promote UPC pointers-to-shared to Pmode.
872         * c-family/c-ommon.c (pointer_int_sum):
873           Also check the pointer operand, rather than just
874           its type, when making the decision to derive
875           the equivalent unshared type.
876         * tree.c (build2_stat): If the type of the result
877           passed in as an argument is a UPC shared type,
878           derive the unshared equivalent when calculating
879           the result type of the node.
881 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
883         * config/darwin.c: Disable var_tracking option
884           on -O0 as it is supposed to run only when optimization
885           is applied. See GCC bug 49743.
887 2011-07-06  Gary Funck  <gary@intrepid.com>
889         Re-implement the pass that lowers trees generated by
890         the UPC front-end into GENERIC.  Previously this was
891         done within the gimplification framework, but this
892         required that gimplification be run before inlining
893         and various other passes, which did not fit in well
894         with the current design of the middle-end passes.
895         Now, the lowering is done by a newly defined language
896         specific genericize hook.  With this change, we are
897         are able to undo some extensions made to the gimplify
898         logic, and thus can revert several files to trunk.
900         * c-decl.c: Add a check for UPC deprecated names which
901           may appear as undefined function names.
902         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
903           LTI_upc_getaddr): Remove definitions of unused UPC
904           library function names.  These were defined back when
905           the libfunc interface was used to call these routines.
906         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
907           in UPC lowering (genericize) pass.
908         * langhooks.h (gimplify_expr): Revert to trunk's definition.
909           (instrument_func): Delete this hook.  Now handled in
910           upc_genericize().
911         * tree-pass.h: Revert to trunk.
912         * c-typeck.c (build_unary_op): Adjust reference to
913           upc_genericize() in a comment.
914         * gimplify.c (create_tmp_var_raw): Delete logic that
915           was converting UPC shared types into unshared types
916           to be used for temporaries.  Now handled in  upc_genericize().
917           Replace with an assertion check.
918           (prepare_gimple_addressable): Revert to trunk's definition.
919           No longer needed as an externally called function.
920           (flag_instrument_functions_exclude_p): Re-define as
921           an externally called function.
922           (gimplify_function_tree): Delete code that implemented
923           call to UPC's language specific function instrumentation hook.
924         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
925           (prepare_gimple_addressable): Delete extern definition;
926           revert to trunk's definition.
927         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
928           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
929         * c-family/c-gimplify.c: Revert to trunk.
930         * cp/cp-gimplify.c: Revert to trunk.
931         * cp/cp-tree.h: Revert to trunk.
932         * explow.c: Revert to trunk.
933         * langhooks.c: Revert to trunk.
934         * libfuncs.h: Revert to trunk.
935         * objc/objc-act.c: Revert to trunk.
937 2011-06-30  Gary Funck  <gary@intrepid.com>
939         * c-family/c.opt: Bring options definitions up-to-date
940         with respect to changes made in the trunk.
942 2011-06-29  Gary Funck  <gary@intrepid.com>
944         Merge trunk version 175584 into gupc branch.
946 2011-06-13  Gary Funck  <gary@intrepid.com>
948 libcpp/
949         * include/cpplib.h (enum c_lang):
950         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
951         This keeps all the "C" variants together.
952         * init.c (lang_defaults): Add an entry for UPC.
954 2011-06-09  Gary Funck  <gary@intrepid.com>
956         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
957         a 32-bit target, the size expression overflowed, the result was
958         error_mark_node, and an ICE was triggered on an attempt to evaluate
959         C_TYPE_VARIABLE_SIZE() on the error node.
960         (upc_blocksizeof_expr, upc_blocksizeof_type,
961         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
962         Make similar changes to avoid further processing of error_mark_node.
964 2011-06-07  Gary Funck  <gary@intrepid.com>
966         * sel-sched.c (move_op): Incorporate the following
967         patch to eliminate ICE at -O3 on IA64/Altix.
969 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
971         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
972         code_motion_path_driver returned 0 or 1.
973         (sel_region_finish): Clear h_d_i_d.
975 2011-06-02  Gary Funck  <gary@intrepid.com>
977         Merge trunk version 174558 into gupc branch.
979 2011-05-30  Gary Funck  <gary@intrepid.com>
981         * configure.ac: Make the default order of the virtual
982           address field in a UPC pointer-to-shared to be "first".
983           This reverts to the previous setting, and is a short term
984           measure to work around a bug found on the IA64,
985           where vaddr=last led to incorrect code generation.
986           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
987           in AC_DEFINE(), to agree with recent changes in files
988           that reference this define.
989           configure, config.in: Regenerate.
991 2011-05-26  Gary Funck  <gary@intrepid.com>
993         * configure.ac: Fix typo when referring to $upc_vaddr_order.
994           configure: Regenerate.
996         * ../fixincludes/fixincl.x: Revert to trunk.
997           This file is auto-generated, and should not be merged.
999 2011-05-18  Gary Funck  <gary@intrepid.com>
1001         Merge trunk version 173845 into gupc branch.
1003 2011-05-17  Gary Funck  <gary@intrepid.com>
1005         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1006           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1008         * c-family/c-pragma.c: Remove conditional compilation
1009           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1010           Test 'compiling_upc' when compiling to determine if
1011           the "upc" and "pupc" pragmas should be registered.
1013         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1014           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1015           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1016           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1017           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1018           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1019           Move these target-dependent definitions from config/upc-conf.h
1020           to here.
1022         * configure.ac: Improve the logic for UPC-related options.
1023           Delete references to pre-processor definitions that have
1024           been moved to "upc/upc-pts.h".
1026         * configure, config.in: Regenerate.
1028         * Makefile.in (UPC_PTS_REP): Remove definition and revert
1029           to trunk.  This substitution variable was used to
1030           configure the representation-specific versions of
1031           the tree rewrites that operate on UPC pointer-to-shared
1032           types and objects.
1034         * c-parser.c (c_parser_upc_forall_statement): Remove
1035           reference to UPC_FORALL_DEPTH_NAME, and call
1036           newly defined upc_rts_forall_depth_var() instead.
1038         * config/upc-config.h: Delete. Various definitions
1039           moved to "upc/upc-rts-names.h", "defaults.h", and
1040           "upc/upc-pts.h".
1042         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1043           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1044           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1045           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1046           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1047           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1048           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1049           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1050           New.  Document UPC target macros.
1051           doc/tm.texi: Regenerate.
1053 2011-05-07  Gary Funck  <gary@intrepid.com>
1055         * ../configure.ac: Disable build of libupc
1056           on non POSIX hosted systems.  Use AS_HELP_STRING
1057           to define messages.  Remove 'word-pair' as a
1058           possible --with-upc-pts UPC pointer-to-shared
1059           representation.
1061         * ../configure: Regenerate.
1063         * configure.ac: Use AS_HELP_STRING to define messages.
1064           Remove 'word-pair' as a possible --with-upc-pts
1065           UPC pointer-to-shared representation.
1066           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1067           (UPC_MAX_BLOCK_SIZE): Correct the default value.
1069         * configure: Regenerate.
1071         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1072           definition.
1074         * ChangeLog.upc: Fix some typos.
1076 2011-05-07  Gary Funck  <gary@intrepid.com>
1078         * ../maintainer-scripts/gcc_release: Add "upc"
1079           as one of the released languages.
1081 2011-05-06  Gary Funck  <gary@intrepid.com>
1083         Eliminate compilation warnings, by fixing
1084         #include's and updating function prototypes.
1086         * c-family/c-cppbuiltin.c: Include c-upc.h.
1088         * optabs.c (gen_libfunc): Change type of 'suffix'
1089           parameter to conform with prototype.
1091         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1092           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1093           hook used by UPC.
1095         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1096           the prototype.
1098         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1099           argument values to cp_gimplify_expr.
1101         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1102           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
1103           pre-processor definitions that are no longer
1104           needed to build the 'upc' command (upc-cmd.c)
1105           because the linker specs. defined in libupc
1106           take care of linking in the needed libraries.
1108         * c-parser.c (c_parser_upc_forall_statement):
1109           initialize affinity_loc to avoid "maybe unused" warning.
1110           (c_parser_upc_sync_statement): Remove un-needed
1111           'ret' variable.  Cast return value from
1112           'upc_build_sync_stmt' to 'void' to avoid
1113           compile-time warning.
1115         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1116           integer constant, not a string.  Range is restricted
1117           to maximum positive 32-bit integer (2+ billion) to
1118           fit in with the use of 'int' in the front-end's
1119           switch handling logic.
1121 2011-05-06  Gary Funck  <gary@intrepid.com>
1123         Upgrade c-family source files to conform with modularity
1124         improvements.  Mainly, remove #include of c-tree.h in files
1125         under c-family, and define a new UPC-specific #include file,
1126         c-upc.h, and use it.
1128         * c-family/stub-upc.c: Remove #include of c-tree.h and
1129           upc/upc-act.h.  Replace with #include of c-common.h
1130           and c-upc.h.
1131           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1132           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1133           upc_localsizeof_expr, upc_localsizeof_type,
1134           upc_shared_type_p): Delete.
1136         * c-family/c-opts.c: Add #include of c-upc.h
1138         * c-family/c-common.c: Remove #include of c-tree.h and
1139           add #include of c-upc.h.
1141         * c-family/c-upc.h: New. Define API for UPC-specific functions
1142           (mostly implemented in upc/upc-act.c).
1144         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
1145           Remove extern definitions.
1147         * c-family/c-pragma.c: Remove #include of c-tree.h.
1148           Add #include of c-upc.h.
1150         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
1151           c-tree.h.
1152           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
1153           upc/upc-act.c, and define as a macro.
1154           (expand_affinity_test): Remove unused external definition.
1155           (build_upc_unshared_type): Add external definition.
1156           (upc_shared_type_p): Remove external definition.
1158         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1160         * dojump.c: Remove #include of c-tree.h.
1162         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1163           and move to tree.h.
1164           (count_upc_threads_refs, is_multiple_of_upc_threads,
1165           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1166           upc_build_shared_var_addr, upc_build_sync_stmt,
1167           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1168           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1169           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1170           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1171           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1172           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1173           set_upc_consistency_mode, get_upc_consistency_mode,
1174           push_upc_consistency_mode, pop_upc_consistency_mode,
1175           get_upc_pupc_mode):
1176           Move external definitions to c-family/c-upc.h.
1177           (upc_blocksizeof_type, upc_localsizeof_type,
1178           upc_elemsizeof_type): Remove external definitions;
1179           these functions were moved to c-parser.c.
1181         * c-decl.c: Add #include of c-upc.h.
1183         * c-typeck.c: Add #include of c-upc.h.
1185         * c-convert.c: Add #include of c-upc.h.
1187         * ChangeLog.upc: Fix typo.
1189         * Makefile.in: Add references to c-family/c-upc.h, everywhere
1190           there is a reference to c-family/c-objc.h.
1191           Remove extraneous reference to upc-act.h.
1193         * c-parser.c: Add #include of c-upc.h.
1194           (upc_blocksizeof_expr, upc_blocksizeof_type,
1195           upc_elemsizeof_expr, upc_elemsizeof_type,
1196           upc_localsizeof_expr, upc_localsizeof_type):
1197           Move from upc/upc-act.c.
1199         * tree.c (build_upc_unshared_type): New.
1200           Move upc_get_unshared_type from upc/upc-act.c and rename
1201           to build_upc_unshared_type.
1202           c-family/c-common.c (pointer_int_sum): refer to renamed
1203           build_upc_unshared_type function.
1204           c-convert.c (convert): Ditto.
1205           convert.c (convert_to_pointer): Ditto.
1206           c-typeck.c (build_unary_op, build_modify_expr,
1207           really_start_incremental_init): Ditto.
1208           gimplify.c (create_tmp_var_raw): Ditto.
1209           tree.c (build1_stat): Ditto.
1210           tree.h (upc_get_unshared_type): Rename to
1211           build_upc_unshared_type.
1213 2011-05-06  Gary Funck  <gary@intrepid.com>
1215         Merge trunk version 173471 into gupc branch.
1217 2011-05-05  Gary Funck  <gary@intrepid.com>
1219         Make changes that bring the GUPC branch more closely in sync.
1220         with the GCC trunk.  Revert any fixes that are not UPC-specific.
1221         Remove gratuitous re-formatting.
1223         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1224           This file should have been removed in a previous merge
1225           with the trunk.
1226         * ../configure.ac: Remove Cray Catamount/CNL support.
1227         * ../configure: Regenerate.
1228         * ../config.sub: Remove Cray Catamount/CNL support.
1229         * config.gcc: Remove Cray Catamount/CNL support.
1230         * ../maintainer-scripts/gcc_release: Revert to trunk.
1231         * c-family/c-common.h: Define parse_optimize_options.  Its definition
1232           was missed in a previous merge with the trunk.
1233         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1234           procedure.
1235         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1236           in addition to ARRAY_TYPE.
1237         * c-typeck.c: Remove an extra newline character.
1238         * varasm.c: Revert a fix that improved an error message
1239           when TLS common data is unimplemented.
1240         * varasm.c: Revert a gcc_assert that had been added which
1241           checked for a null DECL_SIZE_UNIT field.
1242         * emultls.c: Revert to trunk. Remove possible fix.
1243         * Makefile.in: Revert extra blank line that is present
1244           in the trunk version.
1245         * Makefile.in: Revert a fix that handled long shell
1246           argument lists for plugin headers.
1247         * config/ia64/ia64.opt: Revert an option setting
1248           that increased the default TLS address range.
1249         * config/ia64/crtbegin.asm: Revert to trunk.
1250           Removes an extra newline character.
1251         * ChangeLog.upc: Spell check.
1253 2011-05-03  Gary Funck  <gary@intrepid.com>
1255         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1256           (c_apply_type_quals_to_decl): Ditto.
1257         * c-family/c-common.h: Ditto.
1258         * dojump.c: Ditto.
1259         * c-decl.c (merge_decls): Ditto.
1260         * c-typeck.c (qualify_type, default_conversion,
1261           build_component_ref, build_unary_op,
1262           c_build_qualified_type): Ditto.
1263         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1265 2011-04-29  Gary Funck  <gary@intrepid.com>
1267         * c-decl.c (finish_decl): Improve error diagnostics.
1268           (grokdeclarator): Ditto.
1270         * c-typeck.c (build_c_cast): Improve error diagnostics.
1271           (convert_for_assignment): Ditto.
1272           (build_binary_op): Ditto.
1274         * c-parser.c (c_parser_upc_forall_statement):
1275           Improve error diagnostics.
1277         * convert.c (convert_to_integer):  Improve error diagnostics.
1279 2011-04-24  Gary Funck  <gary@intrepid.com>
1281         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1282           occurred if there is an error in the barrier id
1283           expression.  Map error_mark_node into NULL.
1285 2011-04-22  Gary Funck  <gary@intrepid.com>
1287         Merge trunk version 172873 into gupc branch.
1289 2011-04-19  Gary Funck  <gary@intrepid.com>
1291         Merge trunk version 172359 into gupc branch.
1293 2011-04-14  Gary Funck  <gary@intrepid.com>
1295         * c-family/c.opt: Add UPC as a valid language for various
1296           switches where it is valid for "C", that were not updated
1297           in previous merges with trunk.
1299 2011-04-13  Gary Funck  <gary@intrepid.com>
1301         * c-family/c.opt (fupc-pre-include): New option definition.
1302         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1303           -fno-upc-pre-include is asserted.
1305 2011-04-07  Gary Funck  <gary@intrepid.com>
1307         Merge trunk version 172158 into gupc branch.
1308         to bring in the following fix.
1310 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
1312         PR bootstrap/48403
1313         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1314         if old and new states differ.
1316 2011-04-06  Gary Funck  <gary@intrepid.com>
1318         Merge trunk version 171966 into gupc branch.
1320 2011-04-01  Gary Funck  <gary@intrepid.com>
1322         * tree.h (tree_base): Move UPC flag bits into bit fields
1323           located just before spare bits.  Decrement spare bits.
1324           Rename 'shared_flag' -> 'upc_shared_flag',
1325           'relaxed_flag' -> 'upc_relaxed_flag',
1326           'strict_flag' -> 'upc_strict_flag, and adjust macros
1327           that reference them accordingly.
1329 2011-04-01  Gary Funck  <gary@intrepid.com>
1331         * c-decl.c (grokdeclarator): Fix formatting of
1332           code that sets UPC block size on scalars.
1334 2011-04-01  Gary Funck  <gary@intrepid.com>
1336         * c-decl.c (grokdeclarator): Revert use of white space
1337           to match the trunk (to rationalize diffs).
1338         * c-typeck.c (convert_for_assignment): Ditto.
1339         * tree-ssa.c (useless_type_conversion_p): Ditto.
1341 2011-03-23  Gary Funck  <gary@intrepid.com>
1343         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1344           the GCC 4.6 release branch.
1346 2011-03-21  Gary Funck  <gary@intrepid.com>
1348         Merge trunk version 171202 into gupc branch.
1350 2011-03-20  Gary Funck  <gary@intrepid.com>
1352         * varasm.c: Call error() directly with a format specifier,
1353           rather than using sprintf() to format the message.
1354           This should make it easier to internationalize UPC's error messages.
1356 2011-03-20  Gary Funck  <gary@intrepid.com>
1358         * configure.ac: Fix the check for gnu ld when enabling
1359           UPC link script support.
1360           configure: Regenerate (also picks up changes from previous
1361           merge with trunk).
1363 2011-03-20  Gary Funck  <gary@intrepid.com>
1365         Move UPC start files, end files, and linker specs.
1366         into libupc.  This reduces the impact on common GCC
1367         configuration files, and ensures that these UPC-specific
1368         components are only built when the UPC language dialect is selected.
1371 gcc/
1372         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1373           linker specs. Fix typo in -fupc-debug message.
1375         * config/upc-conf.h, config/darwin.h: Move defines for
1376           UPC-related section begins/ends into libupc/config/default/
1377           upc-crt-config.h.
1379         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1380           UPC-related linker compiler specifications,
1381           accessed via %:include().
1383         * configure.ac, configure: Remove logic related to building
1384           upc-crtbegin/end. Remove config. tests for numa and cpu
1385           affinity (previously used by the 'upc' driver); these
1386           settings are now propagated by target-specific compiler
1387           specs. built by libupc.  Regenerate autoconf.
1389         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1390           linker compiler specifications, accessed via %:include().
1391           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1392           'link_upc_spec'.
1394         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1396         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1397           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1398           config/ia64/linux.h, config/mips/t-iris,
1399           config/mips/iris6.h: Revert to trunk version 167307.
1401 libgcc/
1402         * configure, configure.ac, config.host, Makefile.in:
1403           Revert to trunk version 167307.
1405 2011-02-23  Gary Funck  <gary@intrepid.com>
1407         * c-decl.c (undeclared_variable): fix typo. Inadvertently
1408         removed negation on following 'if'.
1410 2011-02-22  Gary Funck  <gary@intrepid.com>
1412         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1413         to check for the usage of certain deprecated UPC keywords.
1414         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1415         * c-tree.h (undeclared_variable): Define prototype.
1417 2011-02-12  Gary Funck  <gary@intrepid.com>
1419         * c-typeck.c: (build_c_cast, convert_for_assignment)
1420           Diagnose an attempt to convert from an integer to
1421           a pointer-to-shared as an error.  Also, fix various
1422           error messages so that they use the preferred term
1423           pointer-to-shared instead of "shared pointer".
1425 2011-02-07  Gary Funck  <gary@intrepid.com>
1427         * c-typeck.c: (convert_for_assignment)
1428           Fix typo. in error message.
1430 2011-01-23  Gary Funck  <gary@intrepid.com>
1432         * c-typeck.c: (c_build_qualified_type)
1433           derive UPC block size by calling upc_get_block_size(),
1434           to ensure that the element type of an array of an array
1435           is derived correctly.
1437 2010-12-29  Gary Funck  <gary@intrepid.com>
1439         Merge trunk version 168314 into gupc branch.
1441 2010-12-15  Gary Funck  <gary@intrepid.com>
1443         Merge trunk version 167307 into gupc branch.
1445 2010-10-19  Gary Funck  <gary@intrepid.com>
1447         * c-typeck.c: Fix typo in previous fix
1448           which led to a mis-compare for equal block sizes.
1450 2010-10-18  Gary Funck  <gary@intrepid.com>
1452         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1453           diagnosed as an error
1455           The conversion from any type (shared or not) to
1456           a shared type is likely either meaningless or an error.  This update
1457           makes any conversion to a shared type, an error.
1459 2010-10-18  Gary Funck  <gary@intrepid.com>
1461         * c-typeck.c: Fix bug: passing int to shared pointer arg.
1462           generates spurious warning
1464           Add a #define procedure that does the same thing as
1465           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
1466           this procedure to diagnose passing an integer value to a
1467           pointer-to-shared as an error.
1469 2010-10-18  Gary Funck  <gary@intrepid.com>
1471         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1472           matching routine declaration.
1474           When checking for type compatibility, shared qualified types must
1475           have the same block factor.  This check was missing from
1476           comptypes_internal().  This update adds the check for blocking
1477           factor equality.
1479 2010-10-17  Gary Funck  <gary@intrepid.com>
1481         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1482           found (-O1 -g)
1484           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1486 2010-10-17  Gary Funck  <gary@intrepid.com>
1488         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1489           45869 - [4.5/4.6 Regression] type mismatch in shift expression
1490           produces ice with -O3 and -m32.
1492           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1494 2010-10-17  Gary Funck  <gary@intrepid.com>
1496         * c-common.c: Diagnose the application of the various "*sizeof"
1497           operations on generic pointer-to-shared as a compilation error.
1499 2010-10-17  Gary Funck  <gary@intrepid.com>
1501         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1502           message regarding a function parameter being declared with a shared
1503           qualifier.
1505           The parameter's 'name' value is not defined at this point, and
1506           cannot be used in the error message.  This update removes the
1507           reference to 'name', and eliminates the segfault.
1509 2010-10-16  Gary Funck  <gary@intrepid.com>
1511         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1513           The gcc/Makefile.in rules for install-plugin had to be re-written to
1514           break up a long list of header files that exceeded the command line
1515           limitation imposed by Irix.
1517           Access functions for TFmode types had to be implemented.
1518           Apparently, this is the mode used for the SGI/MIPS port to represent
1519           "long float".
1521 2010-10-14  Gary Funck  <gary@intrepid.com>
1523         * c-decl.c: Fix bug: Multiple equal blocking factors specified
1524           via typedef chain should not be diagnosed as an error.
1526           If the block size that is given by the typedef is equal to the block
1527           size given explicitly in the variable declaration, then do not
1528           complain.  The easiest way to make this check was to create a
1529           temporary type that is a clone of the element type and then set its
1530           block size using the given layout qualifier.  Then compare the block
1531           size of the temporary (the declaration) to the block size specified
1532           in the typedef.  This complexity is needed, because the '[*]' block
1533           size needs to be calculated, and the '[]' needs to be mapped into a
1534           zero block size.
1536 2010-10-10  Gary Funck  <gary@intrepid.com>
1538         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1539           specified
1541           The compiler properly detected the presence of two or more layout
1542           qualifiers as an error, but then hit an assertion check, because the
1543           code that followed the error expected to see a qualifier and not a
1544           layout specifier.  The fix is simple: just return immediately after
1545           detecting the error.
1547 2010-10-10  Gary Funck  <gary@intrepid.com>
1549         * c-decl.c: Improve error diagnostics for various cases of UPC
1550           shared array type declarations.
1552           Add the check for this error: "In the dynamic translation
1553           environment, THREADS may not appear in declarations of shared arrays
1554           with indefinite block size".  Also, fix up a few of the other
1555           related error diagnostics.
1557 2010-10-09  Gary Funck  <gary@intrepid.com>
1559         * c-common.c: Fix bug: segfault on incomplete array definition.
1561           This turned out to be a bit complicated.   The logic in
1562           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1563           the THREADS identifier in the case where the blocking factor has
1564           been set to indefinite ([]).  This can happen when indefinite array
1565           declarations are processed for shared arrays.  At that time, the
1566           file scope has been closed and THREADS is no longer in scope.  Some
1567           more work is needed on upc_lang_layout_decl().  It has some
1568           duplication, and notably duplicates the two branches of the if
1569           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1570           caller of this routine (layout_decl()).
1572           The method of forcing a layout qualifier of [] in the indefinite
1573           declaration handler is odd a well.  The code that just does the
1574           setting of the block factor, needs to moved into its own routine
1575           that doesn't depend upon a declspec for '[]' to be passed in, just
1576           in order to set the blocking factor to some value (in this case, 0).
1577           Also, the logic for how that shared type is constructed is strange.
1578           First the type with 0 blocking factor is set.  Then the shared
1579           qualifier is removed from the type, and then added back later.  The
1580           intermediate type has a blocking factor set, but it has no shared
1581           qualifier.  Fixing this will require some thought.  It is tempting
1582           just to make indefinite shared arrays an error, rather than forcing
1583           the dimension to be '1'.
1585           This likely fixes a serious error in the previous update to
1586           upc_lang_layout_decl(), where it didn't have the logic to set
1587           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
1588           the previous update would fail on many tests.
1590 2010-10-09  Gary Funck  <gary@intrepid.com>
1592         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1593           (decl) is null, which can happen if some layout error occurred
1594           upstream.
1596 2010-10-09  Gary Funck  <gary@intrepid.com>
1598         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1599           "variable-sized" when compiled in dynamic threads.
1601           This long-standing bug is easily fixed.  Just check
1602           for the situation that the non-constant sized type is shared and
1603           that it does not have a dimension that references a multiple of
1604           threads.  If this criteria is met, then issue a meaningful
1605           diagnostic.
1607 2010-10-01  Gary Funck  <gary@intrepid.com>
1609         * configure, configure.ac: Update manual page, and bug reporting
1610           URL.
1612           Update "man" page to reflect debugging switches.  Also, some general
1613           clean up.  Change the bug reporting URL to point to gccupc.org.
1615 2010-09-27  Gary Funck  <gary@intrepid.com>
1617         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1618           the UPC forall depth count variable is not found.
1620           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1621           The compiler will generate code that references this variable in
1622           order to implement nested upc_forall semantics.  If there is a
1623           compiler build or install problem, this variable may not be found.
1624           In this case, terminate with an internal_error().
1626 2010-09-26  Gary Funck  <gary@intrepid.com>
1628         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1629           mis-diagnosed as syntax error.
1631           Fix a failure exhibited by the Berkeley test case,
1632           bug873a.upc, which has the code:
1633                double d;
1634                upc_forall (;;;d) {...} The compiler did not properly handle
1635           the empty "condition" clause, and did not recover well when it was
1636           determined that the use of a double value, "d" above, was neither a
1637           pointer-to-shared nor an integer expression.  The update implements a
1638           fix for both issues.
1640           See also: gcc/c-parser.c gcc/upc/upc-act.c
1642 2010-09-23  Gary Funck  <gary@intrepid.com>
1644         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1645           incorporated into the referencing type.
1647           This was semi-fixed a few times before.  This update fixes a few
1648           more places where the layout qualifier wasn't being propagated
1649           through typedef's properly.  What made this a bit tricky is shown in
1650           the example cited in the bug report:
1652           typedef shared [5] int A_t; A_t A[5*THREADS];
1654           In the typedef, the blocksize is being applied to a shared *scalar*,
1655           and the code was applying the blocksize only to arrays.  This update
1656           handles shared scalars correctly.
1658 2010-09-22  Gary Funck  <gary@intrepid.com>
1660         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1661           upc_forall() semantics are not implemented
1663           The checkforall test in the Berkeley harness test suite indicated
1664           that GCC/UPC was not properly implementing nested upc_forall
1665           semantics.  Nested upc_forall statements (both statically or
1666           dynamically nested) must implement their affinity clause as if it
1667           were "continue"; thus all steps in the loop must execute without
1668           regard for affinity.  To implement these semantics a global depth
1669           counter, __upc_forall_depth, is maintained by the generated code
1670           that implements upc_forall.
1672           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1673           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1674           libupc/include/upc.h libupc/smp/upc_main.c
1676 2010-09-19  Gary Funck  <gary@intrepid.com>
1678         * c-decl.c: c-decl.c: zero out the layout specifier, after
1679           processing an array type.
1681           Fix the previous fix, that moved the setting of the type's layout
1682           qualifier to the outside of the array type processing loop.  What is
1683           missing from the fix is that the layout_qualifier variable needs to
1684           be cleared after setting the type's blocksize.
1686 2010-09-19  Gary Funck  <gary@intrepid.com>
1688         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1689           given blocksize is greater than UPC_MAX_BLOCKSIZE.
1691           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1692           the actual maximum block size.  Therefore, the message was correct,
1693           but the underlying value that was being checked was wrong.  Change
1694           the values so that they agree with the actual implementation-defined
1695           limit.
1697 2010-09-11  Gary Funck  <gary@intrepid.com>
1699         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1700           multi-dimensional shared array with dynamic threads.
1702           This declaration caused an internal compiler error when compiled
1703           with dynamic threads:
1704               shared [*] int A[THREADS][16]; The bug was discovered when
1705           compiling the RTED_UPC test suite.
1707           The fix is to process layout qualifiers after the entire array type
1708           has been built.  Otherwise, we try to calculate the blocksize on a
1709           shared array type that has not had its "size depends upon the value
1710           of THREADS" flag set.
1712           Also, added a test case.
1714           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1716 2010-07-11  Gary Funck  <gary@intrepid.com>
1718         Fix a bug where a statement in c_build_qualified_type()
1719         in the trunk had been inadvertently deleted.
1720         This bug showed up in the IA64 port, because jmpbuf's
1721         on that architecture must be 16 byte aligned, and they were not.
1722         c-typeck.c (c_build_qualified_type): Revive the deleted line.
1724 2010-07-08  Gary Funck  <gary@intrepid.com>
1726         Make changes so that other language compilers
1727         will build and bootstrap.
1728         * c-family/c-common.c (compiling_upc, flag_upc,
1729         flag_upc_instrument, flag_upc_instrument_functions,
1730         use_upc_dwarf2_extensions): Move to stub-upc.c and
1731         upc-lang.c.
1732         * c-family/c-common.h (use_upc_dwarf2_extensions,
1733         compiling_upc): Add extern definitions - needed
1734         to compile/build other language front ends.
1735         * c-family/c.opt: Fix the spelling of ObjC.
1736         It had been incorrectly spelled as Objc.
1737         * c-family/c.opt: Add UPC for the various switches
1738         that are valid for both C and ObjC.
1739         * c-fmaily/c-opts.c: Add CL_UPC to the list of
1740         supported options switches when compiling assembly
1741         language.
1742         * lto/lto-lang.c (use_upc_dwarf2_extensions,
1743         flag_upc_instrument, flag_upc_instrument_functions):
1744         Remove these definitions.  They have been moved
1745         to c-family/stub-upc.c.
1746         * upc/ChangeLog: Move relevant entries
1747         to ChangeLog.upc.
1748         * c-family/stub-upc.c (compiling_upc, flag_upc,
1749         flag_upc_instrument, flag_upc_instrument_functions,
1750         use_upc_dwarf2_extensions): Moved from c-common.c
1751         * upc/upc-lang.c (compiling_upc, flag_upc,
1752         flag_upc_instrument, flag_upc_instrument_functions,
1753         use_upc_dwarf2_extensions): Moved from c-common.c
1754         * objc/objc-act.c (objc_gimplify_expr): Add additional
1755         parameters to c_gimplify_expr() call, that are used
1756         by upc's tree rewrites.
1757         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1758         * gcc/cp/lex.c (init_reswords): If not compiling
1759         UPC, then mask off the UPC keywords.
1760         * cp/Make-lang.in (C_STUB_OBJS): Use this
1761         make macro to link with c-family/stub-objc.o
1762         and c-family/stub-upc.o.
1763         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1764         * java/Make-lang.in (C_STUB_OBJS): Likewise.
1765         * objc/Make-lang.in: Link with c-family/stub-upc.o
1766         to avoid undefined references.
1767         c-parser.c: Fix line indentation.
1768         * libcpp/include/cpplib.h: Remove CL_UPC from
1769         the list of language kinds accepted by the
1770         C preprocessor.  This is not necessary because
1771         UPC is a derivative of C99, and does not need
1772         a different language kind.
1773         * c-fmaily/c-opts.c (c_common_handle_option):
1774         Call set_std_c99() when processing the
1775         "--lang upc" switch, instead of setting the
1776         language kind to CL_UPC.
1777         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1779 2010-07-03  Gary Funck  <gary@intrepid.com>
1781         Merge trunk version 161517 into gupc branch.
1782         * gcc/stub-upc.c: Move to gcc/c-family/.
1783         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1784         Add 'unused' attributes to avoid "set, but
1785         not referenced" warnings.
1786         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1787         Likewise.
1789 2010-03-01 Gary Funck  <gary@intrepid.com>
1791         Create gupc branch from trunk version 157149.
1792 2011-10-04  Gary Funck  <gary@intrepid.com>
1794         Merge trunk version 179421 into gupc branch.
1796         * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1797         argument to the call to check_qualified_type().
1799 2011-09-22  Gary Funck  <gary@intrepid.com>
1801         * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1802         information.
1803         (dump_upc_type_quals): New.
1805 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
1807         Add to FLAGS the flags needed to disable inlining of
1808         UPC run-time access routines.
1809         * testsuite/lib/target-supports.exp
1810         (add_options_for_upc_library_calls): New.
1812 2011-09-15  Gary Funck  <gary@intrepid.com>
1814         Fix ICE involving shared bit field accesses.
1815         * tree.c (build3_stat): Propagate TEEE_SHARED()
1816         TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1818 2011-09-13  Gary Funck  <gary@intrepid.com>
1820         Merge trunk version 178795 into gupc branch.
1821         Incorporates fix to PR bootstrap/50010 for x86-32.
1823 2011-09-08  Gary Funck  <gary@intrepid.com>
1825         Merge trunk version 178557 into gupc branch.
1827 2011-09-07  Gary Funck  <gary@intrepid.com>
1829         Ensure that UPC pointer-to-shared type alignment is
1830         propagated to the final type.  Revert to long-standing
1831         alignment policy: twice the size of a "C" pointer.
1832         * tree.c (build_pointer_type): Propagate the alignment
1833         of the UPC pointer-to-shared representation type
1834         into the newly built pointer type.
1836 2011-08-30  Gary Funck  <gary@intrepid.com>
1838         * tree.h (check_qualified_type): Change 'const_tree'
1839         argument types back to 'tree' to avoid complaints
1840         of assignment drops qualifiers for invocations of the
1841         newly implemented TYPE_BLOCK_FACTOR() macro, which
1842         invokes hash functions with 'tree' pointer values that
1843         are not const qualified.
1844         * tree.c (check_qualified_type, check_aligned_type): Ditto.
1845         * c-typeck.c (comptypes_internal): Ditto.
1847 2011-08-29  Gary Funck  <gary@intrepid.com>
1849         Fixes for regressions noted running "make check"
1850         versus GCC trunk.
1851         * fold-const.c (fold_unary_loc): Execute UPC-specific
1852         checks for a cast-of-a-cast, only if one of the
1853         operands is a UPC pointer-to-shared value.
1854         * opts.c (print_specific_help):  Fix a comparison
1855         in an assert that checks that there are enough
1856         bits reserved for the number of languages defined
1857         in the .opt files.
1859 2011-08-29  Gary Funck  <gary@intrepid.com>
1861         Implement a hash table to record UPC block factors.
1862         * c-family/stub-upc.c (upc_block_factor_insert,
1863         upc_block_factor_lookup): New dummy stub procedures.
1864         * c-family/c-common.c (c_sizeof_or_alignof_type):
1865         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1866         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1867         to copy (hashed) UPC blocking factor.
1868         (set_type_quals): Likewise.
1869         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1870         TYPE_HAS_THREADS_FACTOR().
1871         (type_common.block_factor): Delete.
1872         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1873         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1874         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1875         UPC blocking factors greater than one.
1876         * dwarf2out.c (modified_type_die): Re-implement
1877         logic that records UPC blocking factor in the generated
1878         DWARF2 debugging information.
1879         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1880         TYPE_HAS_THREADS_FACTOR().
1881         * c-decl.c (finish_decl, grokdeclarator):
1882         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1883         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1884         used by UPC, and print UPC-specific information.
1886 2011-08-28  Gary Funck  <gary@intrepid.com>
1888         Re-work the type machinery to fully support and to unify support
1889         for the UPC layout qualifier (blocking factor).
1890         * c-family/stub-upc.c (upc_set_block_factor): Delete.
1891           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1892           and update prototype.
1893         * c-family/c-common.c (complete_array_type): call newly
1894           defined c_build_qualified_type_1() instead of
1895           upc_set_block_factor().
1896         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1897           upc_apply_layout_qualifier() and update prototype.
1898           (upc_set_block_factor): Delete prototype.
1899         * c-family/c-common.h (c_build_qualified_type): redefine
1900           as a pre-processor macro that invokes c_build_qualified_type_1()
1901           with a null UPC layout qualifier.
1902           (c_build_qualified_type_1): New.  Add layout qualifier argument
1903           to old c_build_qualified_type() prototype.
1904         * tree.c (set_type_quals, check_qualified_type):
1905           Add layout qualifier as argument.
1906           (check_aligned_type): Add check for UPC block factor equality.
1907           (get_qualified_type_1): Rename from get_qualified_type() and
1908           add layout qualifier as argument.
1909           (build_qualified_type_1): Rename from build_qualified_type() and
1910           add layout qualifier as argument.
1911         * tree.h (check_qualified_type): Add layout qualifier as argument
1912           to the prototype.
1913           (get_qualified_type): Re-define as a as a pre-processor macro
1914           that invokes get_qualified_type_1() with a null
1915           UPC layout qualifier.
1916           (get_qualified_type_1): Rename from get_qualified_type() and
1917           add layout qualifier as argument.
1918         * cp/tree.c (c_build_qualified_type_1): Rename from
1919           c_build_qualified_type() and add (unused) layout qualifier
1920           argument.
1921         * c-decl.c (finish_decl): re-format long error messages.
1922           (grokdeclarator): Re-work the logic so that it calls
1923           upc_grok_layout_qualifier() to handle the UPC layout
1924           qualifier, if present.
1925         * c-typeck.c (qualify_type, common_pointer_type,
1926           build_component_ref): Re-work the logic so that it calls
1927           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1928           if present.
1929           (c_build_qualified_type_1): Rename from c_build_qualified_type()
1930           and add layout qualifier argument.
1931         * print_tree.c (print_node): Re-format a long line.
1933 2011-08-26  Gary Funck  <gary@intrepid.com>
1935         Merge trunk version 177949 into gupc branch.
1936         * c-family/c-common.h (enum rid): Bump the number of type modifiers
1937           in the comment.
1938         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1939           to add new rliterals column value.
1941 2011-08-26  Gary Funck  <gary@intrepid.com>
1943         * convert.c (convert_to_integer): Fix the check for the
1944           difference between two UPC pointers-to-shared values.
1946 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
1948         * configure.ac: Fix the name for --with-upc-pts-packed-bits
1949           option. Support --with-upc-packed-bits as deprecated. Fix the code to
1950           correctly check packed bits.
1951         * configure: Re-generate.
1953 2011-08-16  Gary Funck  <gary@intrepid.com>
1955         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1956           the barrier id expression is not an integer expression.
1958 2011-08-12  Gary Funck  <gary@intrepid.com>
1960         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1961           (revert to trunk).
1962         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1963           Set mode of UPC pointer-to-shared rep. to an
1964           integral mode of size at least as large as the
1965           size of the representation's struct type.
1967 2011-08-12  Gary Funck  <gary@intrepid.com>
1969         Rework/simplify the UPC genericize pass.
1970         * c-family/stub-upc.c (upc_apply_layout_qualifier,
1971           upc_build_pointer_type): New.
1972           (upc_set_block_factor): Adjust to new calling sequence.
1973           (upc_build_shared_var_addr): Delete.
1974         * c-family/c-common.c (complete_array_type): Adjust call
1975           to upc_set_block_factor().
1976         * c-family/c-upc.h (upc_apply_layout_qualifier,
1977           upc_build_pointer_type): New.
1978           (upc_build_shared_var_addr): Delete.
1979           (upc_set_block_factor): Adjust to new calling sequence.
1980         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1981         * c-decl.c (grokdeclarator): Call newly defined
1982           upc_apply_layout_qualifier() instead of upc_set_block_factor().
1983         * c-decl.c (grokdeclarator): Split long UPC-related error
1984           messages into two lines.
1985         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1986           directly.  Revert that change to trunk. (upc_genericize() will
1987           handle lowering the expressions that take the address of a
1988           UPC variable).
1989         * config/i386/i386.c (ix86_promote_function_mode): For UPC
1990           pointers-to-shared, return the type mode of the UPC pointer-to-shared
1991           representation type.
1993 2011-08-10  Gary Funck  <gary@intrepid.com>
1995         Implement additional fixes for recent merge with trunk.
1996         * explow.c (promote_mode): Do not attempt to promote
1997           the mode for UPC pointer-to-shared types.
1998         * config/i386/i386.c (function_value_64): Ditto.
2000 2011-08-07  Gary Funck  <gary@intrepid.com>
2002         Merge trunk version 177548 into gupc branch.
2003         * config/i386/i386.c (ix86_promote_function_mode):
2004           Do not promote UPC pointers-to-shared to Pmode.
2005         * c-family/c-ommon.c (pointer_int_sum):
2006           Also check the pointer operand, rather than just
2007           its type, when making the decision to derive
2008           the equivalent unshared type.
2009         * tree.c (build2_stat): If the type of the result
2010           passed in as an argument is a UPC shared type,
2011           derive the unshared equivalent when calculating
2012           the result type of the node.
2014 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
2016         * config/darwin.c: Disable var_tracking option
2017           on -O0 as it is supposed to run only when optimization
2018           is applied. See GCC bug 49743.
2020 2011-07-06  Gary Funck  <gary@intrepid.com>
2022         Re-implement the pass that lowers trees generated by
2023         the UPC front-end into GENERIC.  Previously this was
2024         done within the gimplification framework, but this
2025         required that gimplification be run before inlining
2026         and various other passes, which did not fit in well
2027         with the current design of the middle-end passes.
2028         Now, the lowering is done by a newly defined language
2029         specific genericize hook.  With this change, we are
2030         are able to undo some extensions made to the gimplify
2031         logic, and thus can revert several files to trunk.
2033         * c-decl.c: Add a check for UPC deprecated names which
2034           may appear as undefined function names.
2035         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2036           LTI_upc_getaddr): Remove definitions of unused UPC
2037           library function names.  These were defined back when
2038           the libfunc interface was used to call these routines.
2039         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2040           in UPC lowering (genericize) pass.
2041         * langhooks.h (gimplify_expr): Revert to trunk's definition.
2042           (instrument_func): Delete this hook.  Now handled in
2043           upc_genericize().
2044         * tree-pass.h: Revert to trunk.
2045         * c-typeck.c (build_unary_op): Adjust reference to
2046           upc_genericize() in a comment.
2047         * gimplify.c (create_tmp_var_raw): Delete logic that
2048           was converting UPC shared types into unshared types
2049           to be used for temporaries.  Now handled in  upc_genericize().
2050           Replace with an assertion check.
2051           (prepare_gimple_addressable): Revert to trunk's definition.
2052           No longer needed as an externally called function.
2053           (flag_instrument_functions_exclude_p): Re-define as
2054           an externally called function.
2055           (gimplify_function_tree): Delete code that implemented
2056           call to UPC's language specific function instrumentation hook.
2057         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2058           (prepare_gimple_addressable): Delete extern definition;
2059           revert to trunk's definition.
2060         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2061           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2062         * c-family/c-gimplify.c: Revert to trunk.
2063         * cp/cp-gimplify.c: Revert to trunk.
2064         * cp/cp-tree.h: Revert to trunk.
2065         * explow.c: Revert to trunk.
2066         * langhooks.c: Revert to trunk.
2067         * libfuncs.h: Revert to trunk.
2068         * objc/objc-act.c: Revert to trunk.
2070 2011-06-30  Gary Funck  <gary@intrepid.com>
2072         * c-family/c.opt: Bring options definitions up-to-date
2073         with respect to changes made in the trunk.
2075 2011-06-29  Gary Funck  <gary@intrepid.com>
2077         Merge trunk version 175584 into gupc branch.
2079 2011-06-13  Gary Funck  <gary@intrepid.com>
2081 libcpp/
2082         * include/cpplib.h (enum c_lang):
2083         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2084         This keeps all the "C" variants together.
2085         * init.c (lang_defaults): Add an entry for UPC.
2087 2011-06-09  Gary Funck  <gary@intrepid.com>
2089         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2090         a 32-bit target, the size expression overflowed, the result was
2091         error_mark_node, and an ICE was triggered on an attempt to evaluate
2092         C_TYPE_VARIABLE_SIZE() on the error node.
2093         (upc_blocksizeof_expr, upc_blocksizeof_type,
2094         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2095         Make similar changes to avoid further processing of error_mark_node.
2097 2011-06-07  Gary Funck  <gary@intrepid.com>
2099         * sel-sched.c (move_op): Incorporate the following
2100         patch to eliminate ICE at -O3 on IA64/Altix.
2102 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
2104         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
2105         code_motion_path_driver returned 0 or 1.
2106         (sel_region_finish): Clear h_d_i_d.
2108 2011-06-02  Gary Funck  <gary@intrepid.com>
2110         Merge trunk version 174558 into gupc branch.
2112 2011-05-30  Gary Funck  <gary@intrepid.com>
2114         * configure.ac: Make the default order of the virtual
2115           address field in a UPC pointer-to-shared to be "first".
2116           This reverts to the previous setting, and is a short term
2117           measure to work around a bug found on the IA64,
2118           where vaddr=last led to incorrect code generation.
2119           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2120           in AC_DEFINE(), to agree with recent changes in files
2121           that reference this define.
2122           configure, config.in: Regenerate.
2124 2011-05-26  Gary Funck  <gary@intrepid.com>
2126         * configure.ac: Fix typo when referring to $upc_vaddr_order.
2127           configure: Regenerate.
2129         * ../fixincludes/fixincl.x: Revert to trunk.
2130           This file is auto-generated, and should not be merged.
2132 2011-05-18  Gary Funck  <gary@intrepid.com>
2134         Merge trunk version 173845 into gupc branch.
2136 2011-05-17  Gary Funck  <gary@intrepid.com>
2138         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2139           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2141         * c-family/c-pragma.c: Remove conditional compilation
2142           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2143           Test 'compiling_upc' when compiling to determine if
2144           the "upc" and "pupc" pragmas should be registered.
2146         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2147           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2148           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2149           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2150           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2151           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2152           Move these target-dependent definitions from config/upc-conf.h
2153           to here.
2155         * configure.ac: Improve the logic for UPC-related options.
2156           Delete references to pre-processor definitions that have
2157           been moved to "upc/upc-pts.h".
2159         * configure, config.in: Regenerate.
2161         * Makefile.in (UPC_PTS_REP): Remove definition and revert
2162           to trunk.  This substitution variable was used to
2163           configure the representation-specific versions of
2164           the tree rewrites that operate on UPC pointer-to-shared
2165           types and objects.
2167         * c-parser.c (c_parser_upc_forall_statement): Remove
2168           reference to UPC_FORALL_DEPTH_NAME, and call
2169           newly defined upc_rts_forall_depth_var() instead.
2171         * config/upc-config.h: Delete. Various definitions
2172           moved to "upc/upc-rts-names.h", "defaults.h", and
2173           "upc/upc-pts.h".
2175         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2176           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2177           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2178           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2179           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2180           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2181           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2182           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2183           New.  Document UPC target macros.
2184           doc/tm.texi: Regenerate.
2186 2011-05-07  Gary Funck  <gary@intrepid.com>
2188         * ../configure.ac: Disable build of libupc
2189           on non POSIX hosted systems.  Use AS_HELP_STRING
2190           to define messages.  Remove 'word-pair' as a
2191           possible --with-upc-pts UPC pointer-to-shared
2192           representation.
2194         * ../configure: Regenerate.
2196         * configure.ac: Use AS_HELP_STRING to define messages.
2197           Remove 'word-pair' as a possible --with-upc-pts
2198           UPC pointer-to-shared representation.
2199           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2200           (UPC_MAX_BLOCK_SIZE): Correct the default value.
2202         * configure: Regenerate.
2204         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2205           definition.
2207         * ChangeLog.upc: Fix some typos.
2209 2011-05-07  Gary Funck  <gary@intrepid.com>
2211         * ../maintainer-scripts/gcc_release: Add "upc"
2212           as one of the released languages.
2214 2011-05-06  Gary Funck  <gary@intrepid.com>
2216         Eliminate compilation warnings, by fixing
2217         #include's and updating function prototypes.
2219         * c-family/c-cppbuiltin.c: Include c-upc.h.
2221         * optabs.c (gen_libfunc): Change type of 'suffix'
2222           parameter to conform with prototype.
2224         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2225           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2226           hook used by UPC.
2228         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2229           the prototype.
2231         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2232           argument values to cp_gimplify_expr.
2234         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2235           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
2236           pre-processor definitions that are no longer
2237           needed to build the 'upc' command (upc-cmd.c)
2238           because the linker specs. defined in libupc
2239           take care of linking in the needed libraries.
2241         * c-parser.c (c_parser_upc_forall_statement):
2242           initialize affinity_loc to avoid "maybe unused" warning.
2243           (c_parser_upc_sync_statement): Remove un-needed
2244           'ret' variable.  Cast return value from
2245           'upc_build_sync_stmt' to 'void' to avoid
2246           compile-time warning.
2248         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2249           integer constant, not a string.  Range is restricted
2250           to maximum positive 32-bit integer (2+ billion) to
2251           fit in with the use of 'int' in the front-end's
2252           switch handling logic.
2254 2011-05-06  Gary Funck  <gary@intrepid.com>
2256         Upgrade c-family source files to conform with modularity
2257         improvements.  Mainly, remove #include of c-tree.h in files
2258         under c-family, and define a new UPC-specific #include file,
2259         c-upc.h, and use it.
2261         * c-family/stub-upc.c: Remove #include of c-tree.h and
2262           upc/upc-act.h.  Replace with #include of c-common.h
2263           and c-upc.h.
2264           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2265           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2266           upc_localsizeof_expr, upc_localsizeof_type,
2267           upc_shared_type_p): Delete.
2269         * c-family/c-opts.c: Add #include of c-upc.h
2271         * c-family/c-common.c: Remove #include of c-tree.h and
2272           add #include of c-upc.h.
2274         * c-family/c-upc.h: New. Define API for UPC-specific functions
2275           (mostly implemented in upc/upc-act.c).
2277         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2278           Remove extern definitions.
2280         * c-family/c-pragma.c: Remove #include of c-tree.h.
2281           Add #include of c-upc.h.
2283         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
2284           c-tree.h.
2285           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
2286           upc/upc-act.c, and define as a macro.
2287           (expand_affinity_test): Remove unused external definition.
2288           (build_upc_unshared_type): Add external definition.
2289           (upc_shared_type_p): Remove external definition.
2291         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2293         * dojump.c: Remove #include of c-tree.h.
2295         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2296           and move to tree.h.
2297           (count_upc_threads_refs, is_multiple_of_upc_threads,
2298           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2299           upc_build_shared_var_addr, upc_build_sync_stmt,
2300           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2301           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2302           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2303           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2304           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2305           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2306           set_upc_consistency_mode, get_upc_consistency_mode,
2307           push_upc_consistency_mode, pop_upc_consistency_mode,
2308           get_upc_pupc_mode):
2309           Move external definitions to c-family/c-upc.h.
2310           (upc_blocksizeof_type, upc_localsizeof_type,
2311           upc_elemsizeof_type): Remove external definitions;
2312           these functions were moved to c-parser.c.
2314         * c-decl.c: Add #include of c-upc.h.
2316         * c-typeck.c: Add #include of c-upc.h.
2318         * c-convert.c: Add #include of c-upc.h.
2320         * ChangeLog.upc: Fix typo.
2322         * Makefile.in: Add references to c-family/c-upc.h, everywhere
2323           there is a reference to c-family/c-objc.h.
2324           Remove extraneous reference to upc-act.h.
2326         * c-parser.c: Add #include of c-upc.h.
2327           (upc_blocksizeof_expr, upc_blocksizeof_type,
2328           upc_elemsizeof_expr, upc_elemsizeof_type,
2329           upc_localsizeof_expr, upc_localsizeof_type):
2330           Move from upc/upc-act.c.
2332         * tree.c (build_upc_unshared_type): New.
2333           Move upc_get_unshared_type from upc/upc-act.c and rename
2334           to build_upc_unshared_type.
2335           c-family/c-common.c (pointer_int_sum): refer to renamed
2336           build_upc_unshared_type function.
2337           c-convert.c (convert): Ditto.
2338           convert.c (convert_to_pointer): Ditto.
2339           c-typeck.c (build_unary_op, build_modify_expr,
2340           really_start_incremental_init): Ditto.
2341           gimplify.c (create_tmp_var_raw): Ditto.
2342           tree.c (build1_stat): Ditto.
2343           tree.h (upc_get_unshared_type): Rename to
2344           build_upc_unshared_type.
2346 2011-05-06  Gary Funck  <gary@intrepid.com>
2348         Merge trunk version 173471 into gupc branch.
2350 2011-05-05  Gary Funck  <gary@intrepid.com>
2352         Make changes that bring the GUPC branch more closely in sync.
2353         with the GCC trunk.  Revert any fixes that are not UPC-specific.
2354         Remove gratuitous re-formatting.
2356         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2357           This file should have been removed in a previous merge
2358           with the trunk.
2359         * ../configure.ac: Remove Cray Catamount/CNL support.
2360         * ../configure: Regenerate.
2361         * ../config.sub: Remove Cray Catamount/CNL support.
2362         * config.gcc: Remove Cray Catamount/CNL support.
2363         * ../maintainer-scripts/gcc_release: Revert to trunk.
2364         * c-family/c-common.h: Define parse_optimize_options.  Its definition
2365           was missed in a previous merge with the trunk.
2366         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2367           procedure.
2368         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2369           in addition to ARRAY_TYPE.
2370         * c-typeck.c: Remove an extra newline character.
2371         * varasm.c: Revert a fix that improved an error message
2372           when TLS common data is unimplemented.
2373         * varasm.c: Revert a gcc_assert that had been added which
2374           checked for a null DECL_SIZE_UNIT field.
2375         * emultls.c: Revert to trunk. Remove possible fix.
2376         * Makefile.in: Revert extra blank line that is present
2377           in the trunk version.
2378         * Makefile.in: Revert a fix that handled long shell
2379           argument lists for plugin headers.
2380         * config/ia64/ia64.opt: Revert an option setting
2381           that increased the default TLS address range.
2382         * config/ia64/crtbegin.asm: Revert to trunk.
2383           Removes an extra newline character.
2384         * ChangeLog.upc: Spell check.
2386 2011-05-03  Gary Funck  <gary@intrepid.com>
2388         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2389           (c_apply_type_quals_to_decl): Ditto.
2390         * c-family/c-common.h: Ditto.
2391         * dojump.c: Ditto.
2392         * c-decl.c (merge_decls): Ditto.
2393         * c-typeck.c (qualify_type, default_conversion,
2394           build_component_ref, build_unary_op,
2395           c_build_qualified_type): Ditto.
2396         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2398 2011-04-29  Gary Funck  <gary@intrepid.com>
2400         * c-decl.c (finish_decl): Improve error diagnostics.
2401           (grokdeclarator): Ditto.
2403         * c-typeck.c (build_c_cast): Improve error diagnostics.
2404           (convert_for_assignment): Ditto.
2405           (build_binary_op): Ditto.
2407         * c-parser.c (c_parser_upc_forall_statement):
2408           Improve error diagnostics.
2410         * convert.c (convert_to_integer):  Improve error diagnostics.
2412 2011-04-24  Gary Funck  <gary@intrepid.com>
2414         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2415           occurred if there is an error in the barrier id
2416           expression.  Map error_mark_node into NULL.
2418 2011-04-22  Gary Funck  <gary@intrepid.com>
2420         Merge trunk version 172873 into gupc branch.
2422 2011-04-19  Gary Funck  <gary@intrepid.com>
2424         Merge trunk version 172359 into gupc branch.
2426 2011-04-14  Gary Funck  <gary@intrepid.com>
2428         * c-family/c.opt: Add UPC as a valid language for various
2429           switches where it is valid for "C", that were not updated
2430           in previous merges with trunk.
2432 2011-04-13  Gary Funck  <gary@intrepid.com>
2434         * c-family/c.opt (fupc-pre-include): New option definition.
2435         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2436           -fno-upc-pre-include is asserted.
2438 2011-04-07  Gary Funck  <gary@intrepid.com>
2440         Merge trunk version 172158 into gupc branch.
2441         to bring in the following fix.
2443 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
2445         PR bootstrap/48403
2446         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2447         if old and new states differ.
2449 2011-04-06  Gary Funck  <gary@intrepid.com>
2451         Merge trunk version 171966 into gupc branch.
2453 2011-04-01  Gary Funck  <gary@intrepid.com>
2455         * tree.h (tree_base): Move UPC flag bits into bit fields
2456           located just before spare bits.  Decrement spare bits.
2457           Rename 'shared_flag' -> 'upc_shared_flag',
2458           'relaxed_flag' -> 'upc_relaxed_flag',
2459           'strict_flag' -> 'upc_strict_flag, and adjust macros
2460           that reference them accordingly.
2462 2011-04-01  Gary Funck  <gary@intrepid.com>
2464         * c-decl.c (grokdeclarator): Fix formatting of
2465           code that sets UPC block size on scalars.
2467 2011-04-01  Gary Funck  <gary@intrepid.com>
2469         * c-decl.c (grokdeclarator): Revert use of white space
2470           to match the trunk (to rationalize diffs).
2471         * c-typeck.c (convert_for_assignment): Ditto.
2472         * tree-ssa.c (useless_type_conversion_p): Ditto.
2474 2011-03-23  Gary Funck  <gary@intrepid.com>
2476         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2477           the GCC 4.6 release branch.
2479 2011-03-21  Gary Funck  <gary@intrepid.com>
2481         Merge trunk version 171202 into gupc branch.
2483 2011-03-20  Gary Funck  <gary@intrepid.com>
2485         * varasm.c: Call error() directly with a format specifier,
2486           rather than using sprintf() to format the message.
2487           This should make it easier to internationalize UPC's error messages.
2489 2011-03-20  Gary Funck  <gary@intrepid.com>
2491         * configure.ac: Fix the check for gnu ld when enabling
2492           UPC link script support.
2493           configure: Regenerate (also picks up changes from previous
2494           merge with trunk).
2496 2011-03-20  Gary Funck  <gary@intrepid.com>
2498         Move UPC start files, end files, and linker specs.
2499         into libupc.  This reduces the impact on common GCC
2500         configuration files, and ensures that these UPC-specific
2501         components are only built when the UPC language dialect is selected.
2503 gcc/
2504         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2505           linker specs. Fix typo in -fupc-debug message.
2507         * config/upc-conf.h, config/darwin.h: Move defines for
2508           UPC-related section begins/ends into libupc/config/default/
2509           upc-crt-config.h.
2511         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2512           UPC-related linker compiler specifications,
2513           accessed via %:include().
2515         * configure.ac, configure: Remove logic related to building
2516           upc-crtbegin/end. Remove config. tests for numa and cpu
2517           affinity (previously used by the 'upc' driver); these
2518           settings are now propagated by target-specific compiler
2519           specs. built by libupc.  Regenerate autoconf.
2521         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2522           linker compiler specifications, accessed via %:include().
2523           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2524           'link_upc_spec'.
2526         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2528         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2529           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2530           config/ia64/linux.h, config/mips/t-iris,
2531           config/mips/iris6.h: Revert to trunk version 167307.
2533 libgcc/
2534         * configure, configure.ac, config.host, Makefile.in:
2535           Revert to trunk version 167307.
2537 2011-02-23  Gary Funck  <gary@intrepid.com>
2539         * c-decl.c (undeclared_variable): fix typo. Inadvertently
2540         removed negation on following 'if'.
2542 2011-02-22  Gary Funck  <gary@intrepid.com>
2544         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2545         to check for the usage of certain deprecated UPC keywords.
2546         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2547         * c-tree.h (undeclared_variable): Define prototype.
2549 2011-02-12  Gary Funck  <gary@intrepid.com>
2551         * c-typeck.c: (build_c_cast, convert_for_assignment)
2552           Diagnose an attempt to convert from an integer to
2553           a pointer-to-shared as an error.  Also, fix various
2554           error messages so that they use the preferred term
2555           pointer-to-shared instead of "shared pointer".
2557 2011-02-07  Gary Funck  <gary@intrepid.com>
2559         * c-typeck.c: (convert_for_assignment)
2560           Fix typo. in error message.
2562 2011-01-23  Gary Funck  <gary@intrepid.com>
2564         * c-typeck.c: (c_build_qualified_type)
2565           derive UPC block size by calling upc_get_block_size(),
2566           to ensure that the element type of an array of an array
2567           is derived correctly.
2569 2010-12-29  Gary Funck  <gary@intrepid.com>
2571         Merge trunk version 168314 into gupc branch.
2573 2010-12-15  Gary Funck  <gary@intrepid.com>
2575         Merge trunk version 167307 into gupc branch.
2577 2010-10-19  Gary Funck  <gary@intrepid.com>
2579         * c-typeck.c: Fix typo in previous fix
2580           which led to a mis-compare for equal block sizes.
2582 2010-10-18  Gary Funck  <gary@intrepid.com>
2584         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2585           diagnosed as an error
2587           The conversion from any type (shared or not) to
2588           a shared type is likely either meaningless or an error.  This update
2589           makes any conversion to a shared type, an error.
2591 2010-10-18  Gary Funck  <gary@intrepid.com>
2593         * c-typeck.c: Fix bug: passing int to shared pointer arg.
2594           generates spurious warning
2596           Add a #define procedure that does the same thing as
2597           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
2598           this procedure to diagnose passing an integer value to a
2599           pointer-to-shared as an error.
2601 2010-10-18  Gary Funck  <gary@intrepid.com>
2603         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2604           matching routine declaration.
2606           When checking for type compatibility, shared qualified types must
2607           have the same block factor.  This check was missing from
2608           comptypes_internal().  This update adds the check for blocking
2609           factor equality.
2611 2010-10-17  Gary Funck  <gary@intrepid.com>
2613         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2614           found (-O1 -g)
2616           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2618 2010-10-17  Gary Funck  <gary@intrepid.com>
2620         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2621           45869 - [4.5/4.6 Regression] type mismatch in shift expression
2622           produces ice with -O3 and -m32.
2624           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2626 2010-10-17  Gary Funck  <gary@intrepid.com>
2628         * c-common.c: Diagnose the application of the various "*sizeof"
2629           operations on generic pointer-to-shared as a compilation error.
2631 2010-10-17  Gary Funck  <gary@intrepid.com>
2633         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2634           message regarding a function parameter being declared with a shared
2635           qualifier.
2637           The parameter's 'name' value is not defined at this point, and
2638           cannot be used in the error message.  This update removes the
2639           reference to 'name', and eliminates the segfault.
2641 2010-10-16  Gary Funck  <gary@intrepid.com>
2643         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2645           The gcc/Makefile.in rules for install-plugin had to be re-written to
2646           break up a long list of header files that exceeded the command line
2647           limitation imposed by Irix.
2649           Access functions for TFmode types had to be implemented.
2650           Apparently, this is the mode used for the SGI/MIPS port to represent
2651           "long float".
2653 2010-10-14  Gary Funck  <gary@intrepid.com>
2655         * c-decl.c: Fix bug: Multiple equal blocking factors specified
2656           via typedef chain should not be diagnosed as an error.
2658           If the block size that is given by the typedef is equal to the block
2659           size given explicitly in the variable declaration, then do not
2660           complain.  The easiest way to make this check was to create a
2661           temporary type that is a clone of the element type and then set its
2662           block size using the given layout qualifier.  Then compare the block
2663           size of the temporary (the declaration) to the block size specified
2664           in the typedef.  This complexity is needed, because the '[*]' block
2665           size needs to be calculated, and the '[]' needs to be mapped into a
2666           zero block size.
2668 2010-10-10  Gary Funck  <gary@intrepid.com>
2670         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2671           specified
2673           The compiler properly detected the presence of two or more layout
2674           qualifiers as an error, but then hit an assertion check, because the
2675           code that followed the error expected to see a qualifier and not a
2676           layout specifier.  The fix is simple: just return immediately after
2677           detecting the error.
2679 2010-10-10  Gary Funck  <gary@intrepid.com>
2681         * c-decl.c: Improve error diagnostics for various cases of UPC
2682           shared array type declarations.
2684           Add the check for this error: "In the dynamic translation
2685           environment, THREADS may not appear in declarations of shared arrays
2686           with indefinite block size".  Also, fix up a few of the other
2687           related error diagnostics.
2689 2010-10-09  Gary Funck  <gary@intrepid.com>
2691         * c-common.c: Fix bug: segfault on incomplete array definition.
2693           This turned out to be a bit complicated.   The logic in
2694           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2695           the THREADS identifier in the case where the blocking factor has
2696           been set to indefinite ([]).  This can happen when indefinite array
2697           declarations are processed for shared arrays.  At that time, the
2698           file scope has been closed and THREADS is no longer in scope.  Some
2699           more work is needed on upc_lang_layout_decl().  It has some
2700           duplication, and notably duplicates the two branches of the if
2701           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2702           caller of this routine (layout_decl()).
2704           The method of forcing a layout qualifier of [] in the indefinite
2705           declaration handler is odd a well.  The code that just does the
2706           setting of the block factor, needs to moved into its own routine
2707           that doesn't depend upon a declspec for '[]' to be passed in, just
2708           in order to set the blocking factor to some value (in this case, 0).
2709           Also, the logic for how that shared type is constructed is strange.
2710           First the type with 0 blocking factor is set.  Then the shared
2711           qualifier is removed from the type, and then added back later.  The
2712           intermediate type has a blocking factor set, but it has no shared
2713           qualifier.  Fixing this will require some thought.  It is tempting
2714           just to make indefinite shared arrays an error, rather than forcing
2715           the dimension to be '1'.
2717           This likely fixes a serious error in the previous update to
2718           upc_lang_layout_decl(), where it didn't have the logic to set
2719           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
2720           the previous update would fail on many tests.
2722 2010-10-09  Gary Funck  <gary@intrepid.com>
2724         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2725           (decl) is null, which can happen if some layout error occurred
2726           upstream.
2728 2010-10-09  Gary Funck  <gary@intrepid.com>
2730         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2731           "variable-sized" when compiled in dynamic threads.
2733           This long-standing bug is easily fixed.  Just check
2734           for the situation that the non-constant sized type is shared and
2735           that it does not have a dimension that references a multiple of
2736           threads.  If this criteria is met, then issue a meaningful
2737           diagnostic.
2739 2010-10-01  Gary Funck  <gary@intrepid.com>
2741         * configure, configure.ac: Update manual page, and bug reporting
2742           URL.
2744           Update "man" page to reflect debugging switches.  Also, some general
2745           clean up.  Change the bug reporting URL to point to gccupc.org.
2747 2010-09-27  Gary Funck  <gary@intrepid.com>
2749         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2750           the UPC forall depth count variable is not found.
2752           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2753           The compiler will generate code that references this variable in
2754           order to implement nested upc_forall semantics.  If there is a
2755           compiler build or install problem, this variable may not be found.
2756           In this case, terminate with an internal_error().
2758 2010-09-26  Gary Funck  <gary@intrepid.com>
2760         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2761           mis-diagnosed as syntax error.
2763           Fix a failure exhibited by the Berkeley test case,
2764           bug873a.upc, which has the code:
2765                double d;
2766                upc_forall (;;;d) {...} The compiler did not properly handle
2767           the empty "condition" clause, and did not recover well when it was
2768           determined that the use of a double value, "d" above, was neither a
2769           pointer-to-shared nor an integer expression.  The update implements a
2770           fix for both issues.
2772           See also: gcc/c-parser.c gcc/upc/upc-act.c
2774 2010-09-23  Gary Funck  <gary@intrepid.com>
2776         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2777           incorporated into the referencing type.
2779           This was semi-fixed a few times before.  This update fixes a few
2780           more places where the layout qualifier wasn't being propagated
2781           through typedef's properly.  What made this a bit tricky is shown in
2782           the example cited in the bug report:
2784           typedef shared [5] int A_t; A_t A[5*THREADS];
2786           In the typedef, the blocksize is being applied to a shared *scalar*,
2787           and the code was applying the blocksize only to arrays.  This update
2788           handles shared scalars correctly.
2790 2010-09-22  Gary Funck  <gary@intrepid.com>
2792         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2793           upc_forall() semantics are not implemented
2795           The checkforall test in the Berkeley harness test suite indicated
2796           that GCC/UPC was not properly implementing nested upc_forall
2797           semantics.  Nested upc_forall statements (both statically or
2798           dynamically nested) must implement their affinity clause as if it
2799           were "continue"; thus all steps in the loop must execute without
2800           regard for affinity.  To implement these semantics a global depth
2801           counter, __upc_forall_depth, is maintained by the generated code
2802           that implements upc_forall.
2804           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2805           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2806           libupc/include/upc.h libupc/smp/upc_main.c
2808 2010-09-19  Gary Funck  <gary@intrepid.com>
2810         * c-decl.c: c-decl.c: zero out the layout specifier, after
2811           processing an array type.
2813           Fix the previous fix, that moved the setting of the type's layout
2814           qualifier to the outside of the array type processing loop.  What is
2815           missing from the fix is that the layout_qualifier variable needs to
2816           be cleared after setting the type's blocksize.
2818 2010-09-19  Gary Funck  <gary@intrepid.com>
2820         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2821           given blocksize is greater than UPC_MAX_BLOCKSIZE.
2823           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2824           the actual maximum block size.  Therefore, the message was correct,
2825           but the underlying value that was being checked was wrong.  Change
2826           the values so that they agree with the actual implementation-defined
2827           limit.
2829 2010-09-11  Gary Funck  <gary@intrepid.com>
2831         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2832           multi-dimensional shared array with dynamic threads.
2834           This declaration caused an internal compiler error when compiled
2835           with dynamic threads:
2836               shared [*] int A[THREADS][16]; The bug was discovered when
2837           compiling the RTED_UPC test suite.
2839           The fix is to process layout qualifiers after the entire array type
2840           has been built.  Otherwise, we try to calculate the blocksize on a
2841           shared array type that has not had its "size depends upon the value
2842           of THREADS" flag set.
2844           Also, added a test case.
2846           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2848 2010-07-11  Gary Funck  <gary@intrepid.com>
2850         Fix a bug where a statement in c_build_qualified_type()
2851         in the trunk had been inadvertently deleted.
2852         This bug showed up in the IA64 port, because jmpbuf's
2853         on that architecture must be 16 byte aligned, and they were not.
2854         c-typeck.c (c_build_qualified_type): Revive the deleted line.
2856 2010-07-08  Gary Funck  <gary@intrepid.com>
2858         Make changes so that other language compilers
2859         will build and bootstrap.
2860         * c-family/c-common.c (compiling_upc, flag_upc,
2861         flag_upc_instrument, flag_upc_instrument_functions,
2862         use_upc_dwarf2_extensions): Move to stub-upc.c and
2863         upc-lang.c.
2864         * c-family/c-common.h (use_upc_dwarf2_extensions,
2865         compiling_upc): Add extern definitions - needed
2866         to compile/build other language front ends.
2867         * c-family/c.opt: Fix the spelling of ObjC.
2868         It had been incorrectly spelled as Objc.
2869         * c-family/c.opt: Add UPC for the various switches
2870         that are valid for both C and ObjC.
2871         * c-fmaily/c-opts.c: Add CL_UPC to the list of
2872         supported options switches when compiling assembly
2873         language.
2874         * lto/lto-lang.c (use_upc_dwarf2_extensions,
2875         flag_upc_instrument, flag_upc_instrument_functions):
2876         Remove these definitions.  They have been moved
2877         to c-family/stub-upc.c.
2878         * upc/ChangeLog: Move relevant entries
2879         to ChangeLog.upc.
2880         * c-family/stub-upc.c (compiling_upc, flag_upc,
2881         flag_upc_instrument, flag_upc_instrument_functions,
2882         use_upc_dwarf2_extensions): Moved from c-common.c
2883         * upc/upc-lang.c (compiling_upc, flag_upc,
2884         flag_upc_instrument, flag_upc_instrument_functions,
2885         use_upc_dwarf2_extensions): Moved from c-common.c
2886         * objc/objc-act.c (objc_gimplify_expr): Add additional
2887         parameters to c_gimplify_expr() call, that are used
2888         by upc's tree rewrites.
2889         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2890         * gcc/cp/lex.c (init_reswords): If not compiling
2891         UPC, then mask off the UPC keywords.
2892         * cp/Make-lang.in (C_STUB_OBJS): Use this
2893         make macro to link with c-family/stub-objc.o
2894         and c-family/stub-upc.o.
2895         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2896         * java/Make-lang.in (C_STUB_OBJS): Likewise.
2897         * objc/Make-lang.in: Link with c-family/stub-upc.o
2898         to avoid undefined references.
2899         c-parser.c: Fix line indentation.
2900         * libcpp/include/cpplib.h: Remove CL_UPC from
2901         the list of language kinds accepted by the
2902         C preprocessor.  This is not necessary because
2903         UPC is a derivative of C99, and does not need
2904         a different language kind.
2905         * c-fmaily/c-opts.c (c_common_handle_option):
2906         Call set_std_c99() when processing the
2907         "--lang upc" switch, instead of setting the
2908         language kind to CL_UPC.
2909         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2911 2010-07-03  Gary Funck  <gary@intrepid.com>
2913         Merge trunk version 161517 into gupc branch.
2914         * gcc/stub-upc.c: Move to gcc/c-family/.
2915         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2916         Add 'unused' attributes to avoid "set, but
2917         not referenced" warnings.
2918         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2919         Likewise.
2921 2010-03-01 Gary Funck  <gary@intrepid.com>
2923         Create gupc branch from trunk version 157149.