Merge trunk version 204659 into gupc branch.
[official-gcc.git] / gcc / ChangeLog.upc
blob3671e641331496d43bc827b414c9e4e0af79dd55
1 2013-11-15 Gary Funck  <gary@intrepid.com>
3         Merge trunk version 204659 into gupc branch.
5 2013-11-04 Gary Funck  <gary@intrepid.com>
7         Merge trunk version 204345 into gupc branch.
9 2013-10-31 Gary Funck  <gary@intrepid.com>
11         Released GUPC 4.9.0.1 based on version 203902.
12         This release version was committed on 2013-10-21.
13         * DEV-PHASE: Bump to 4.9.0.2.
14         * DATESTAMP: Bump date stamp.
16 2013-10-28 Gary Funck  <gary@intrepid.com>
18         Merge trunk version 204119 into gupc branch.
20 2013-10-21 Gary Funck  <gary@intrepid.com>
22         Merge trunk version 203886 into gupc branch.
24 2013-10-14 Gary Funck  <gary@intrepid.com>
26         Merge trunk version 203514 into gupc branch.
28 2013-10-07 Gary Funck  <gary@intrepid.com>
30         Merge trunk version 203240 into gupc branch.
32 2013-10-01 Gary Funck  <gary@intrepid.com>
34         Implement pointer-to-shared -> integer conversions.
35         Required per UPC 1.3 Specification.
36         c/c-typeck.c (build_c_cast): Remove logic that diagnosed
37         PTS->int conversions as an error.  Rewrite into a CONVERT_EXPR
38         for later processing by upc_genericize().
40 2013-09-30 Gary Funck  <gary@intrepid.com>
42         Merge trunk version 203026 into gupc branch.
44 2013-09-23 Gary Funck  <gary@intrepid.com>
46         Merge trunk version 202825 into gupc branch.
48 2013-09-18 Gary Funck  <gary@intrepid.com>
50         Merge trunk version 202725 into gupc branch.
52 2013-09-16 Gary Funck  <gary@intrepid.com>
54         Merge trunk version 202619 into gupc branch.
56 2013-09-09 Gary Funck  <gary@intrepid.com>
58         Merge trunk version 202382 into gupc branch.
60 2013-09-02 Gary Funck  <gary@intrepid.com>
62         Merge trunk version 202159 into gupc branch.
64 2013-08-26 Gary Funck  <gary@intrepid.com>
66         Merge trunk version 202008 into gupc branch.
68 2013-08-19 Gary Funck  <gary@intrepid.com>
70         Merge trunk version 201832 into gupc branch.
72 2013-08-05 Gary Funck  <gary@intrepid.com>
74         Merge trunk version 201483 into gupc branch.
76 2013-07-29 Gary Funck  <gary@intrepid.com>
78         Merge trunk version 201301 into gupc branch.
80 2013-07-22 Gary Funck  <gary@intrepid.com>
82         Merge trunk version 201119 into gupc branch.
84 2013-07-15 Gary Funck  <gary@intrepid.com>
86         Merge trunk version 200955 into gupc branch.
88 2013-07-08 Gary Funck  <gary@intrepid.com>
90         Merge trunk version 200775 into gupc branch.
92 2013-07-01 Gary Funck  <gary@intrepid.com>
94         Merge trunk version 200575 into gupc branch.
96 2013-06-24 Gary Funck  <gary@intrepid.com>
98         Merge trunk version 200361 into gupc branch.
100 2013-06-19 Gary Funck  <gary@intrepid.com>
102         Merge trunk version 200149 into gupc branch.
104 2013-06-03 Gary Funck  <gary@intrepid.com>
106         Merge trunk version 199596 into gupc branch.
108 2013-05-27 Gary Funck  <gary@intrepid.com>
110         Merge trunk version 199350 into gupc branch.
112 2013-05-20 Gary Funck  <gary@intrepid.com>
114         Merge trunk version 199093 into gupc branch.
116 2013-05-13 Gary Funck  <gary@intrepid.com>
118         Merge trunk version 198815 into gupc branch.
120 2013-05-06 Gary Funck  <gary@intrepid.com>
122         Merge trunk version 198622 into gupc branch.
124 2013-04-29 Gary Funck  <gary@intrepid.com>
126         Merge trunk version 198433 into gupc branch.
128 2013-04-15 Gary Funck  <gary@intrepid.com>
130         Merge trunk version 197958 into gupc branch.
132 2013-04-08 Gary Funck  <gary@intrepid.com>
134         Merge trunk version 197571 into gupc branch.
136 2013-04-04 Gary Funck  <gary@intrepid.com>
138         Per the UPC 1.3 specification, the type of the
139         optional barrier/notify/wait expression is not constrained to
140         'int'. Instead, any type that is assignment compatible
141         with an 'int' type is permitted.
142         * c/c-parser.c (c_parser_upc_sync_statement): Do not check
143         the optional expression type here.  Let upc_build_sync_stmt()
144         handle it.
145         * c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
146         * c/c-typeck.c (c_cvt_expr_for_assign): New.  Also, call
147         error_at() in lieu of error() when the source location is known.
148         * upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
149         to check/convert the optional synchronization statement
150         expression.
152 2013-04-02 Gary Funck  <gary@intrepid.com>
154         Merge trunk version 197340 into gupc branch.
156 2013-04-02 Gary Funck  <gary@intrepid.com>
158         Revert revision 178346 (2011-08-30)
159         which changed the prototype of check_qualified_type and related
160         functions so that their parameters were just 'tree' and not
161         'const_tree'.  This seemed necessary at the time because of a
162         change to TYPE_BLOCK_FACTOR(), which in turn called function
163         that hashed the type node pointer.  The hash functions did
164         not accept "const void *" pointers.  Implement a work around
165         that removes this restriction.
166         * c/c-typeck.c: Revert.
167         * tree.c: Revert.
168         * tree.h: Revert.  Change prototype of upc_block_factor_lookup()
169         to accept a 'const_tree' pointer to a type node.
170         * c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
171         * upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
172         input argument and convert this to 'tree' for use with hash function.
174 2013-03-25 Gary Funck  <gary@intrepid.com>
176         Merge trunk version 197029 into gupc branch.
178 2013-03-21 Gary Funck  <gary@intrepid.com>
180         Released GUPC 4.8.0.3 based on version 196601.
181         This release version was committed on 2013-03-11.
182         * DATESTAMP: Bump date stamp.
184 2013-03-18 Gary Funck  <gary@intrepid.com>
186         Merge trunk version 196771 into gupc branch.
187         * DEV-PHASE: Bump release identifier to 4.9.0-1.
189 2013-03-11 Gary Funck  <gary@intrepid.com>
191         Merge trunk version 196592 into gupc branch.
193 2013-03-04 Gary Funck  <gary@intrepid.com>
195         Merge trunk version 196422 into gupc branch.
197 2013-02-25 Gary Funck  <gary@intrepid.com>
199         Merge trunk version 196253 into gupc branch.
201 2013-02-18 Gary Funck  <gary@intrepid.com>
203         Merge trunk version 196115 into gupc branch.
205 2013-02-11 Gary Funck  <gary@intrepid.com>
207         Merge trunk version 195937 into gupc branch.
209 2013-02-04 Gary Funck  <gary@intrepid.com>
211         Merge trunk version 195707 into gupc branch.
213 2013-01-28 Gary Funck  <gary@intrepid.com>
215         Merge trunk version 195502 into gupc branch.
217 2013-01-21 Gary Funck  <gary@intrepid.com>
219         Merge trunk version 195330 into gupc branch.
221 2013-01-14 Gary Funck  <gary@intrepid.com>
223         Merge trunk version 195164 into gupc branch.
225 2013-01-07 Gary Funck  <gary@intrepid.com>
227         Merge trunk version 194962 into gupc branch.
229 2012-12-24 Gary Funck  <gary@intrepid.com>
231         Merge trunk version 194709 into gupc branch.
233 2012-12-17 Gary Funck  <gary@intrepid.com>
235         Merge trunk version 194552 into gupc branch.
237 2012-12-10 Gary Funck  <gary@intrepid.com>
239         Merge trunk version 194351 into gupc branch.
241 2012-12-03 Gary Funck  <gary@intrepid.com>
243         Merge trunk version 194076 into gupc branch.
245 2012-11-30  Gary Funck  <gary@intrepid.com>
247         Released GUPC 4.8.0.2 based on version 193446.
248         Date of release: 2012-11-12.
249         * DEV-PHASE: Bump release identifier to 4.8.0-3.
250         * DATESTAMP: Bump date stamp.
252 2012-11-26 Gary Funck  <gary@intrepid.com>
254         Merge trunk version 193807 into gupc branch.
256 2012-11-20 Gary Funck  <gary@intrepid.com>
258         Merge trunk version 193672 into gupc branch.
260 2012-11-19 Gary Funck  <gary@intrepid.com>
262         Merge trunk version 193617 into gupc branch.
264 2012-11-15 Gary Funck  <gary@intrepid.com>
266         Merge trunk version 193426 into gupc branch.
268 2012-11-12  Gary Funck  <gary@intrepid.com>
270         Released GUPC 4.8.0.1 based on version 192948.
271         Date of release: 2012-10-29.
272         * DEV-PHASE: Bump release identifier to 4.8.0-2.
273         * DATESTAMP: Bump date stamp.
275 2012-11-05 Gary Funck  <gary@intrepid.com>
277         Merge trunk version 193152 into gupc branch.
279 2012-10-29 Gary Funck  <gary@intrepid.com>
281         Merge trunk version 192909 into gupc branch.
283 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
285         Remove unused --upc-pthreads-per-process compile switch.
286         * c-family/c.opt: Remove --upc-pthreads-per-process switch
287         that compiler/runtime do not use.
288         * c-family/c-opts.c (c_common_handle_option): Remove support for
289         --upc-pthreads-per-process switch.
290         * c-family/c-common.c: Ditto.
291         * c-family/c-common.h: Ditto.
293 2012-10-27 Gary Funck  <gary@intrepid.com>
295         * defaults.h: fix typos and formatting in UPC-related entries.
297 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
299         Place shared initialization code into the .text
300         section instead of a separate .upc_init section.
301         * defaults.h (UPC_INIT_SECTION_NAME): Delete.
302         (UPC_INIT_BEGIN_NAME): Delete.
303         (UPC_INIT_END_NAME): Delete.
304         * doc/tm.texi.in: Ditto.
305         * doc/tm.texi: Ditto.
307 2012-10-22 Gary Funck  <gary@intrepid.com>
309         Merge trunk version 192673 into gupc branch.
311 2012-10-15 Gary Funck  <gary@intrepid.com>
313         Merge trunk version 192449 into gupc branch.
315 2012-10-08 Gary Funck  <gary@intrepid.com>
317         Merge trunk version 192198 into gupc branch.
319 2012-10-01 Gary Funck  <gary@intrepid.com>
321         Merge trunk version 191931 into gupc branch.
323 2012-09-26  Gary Funck  <gary@intrepid.com>
325         Implement support for various UPC version 1.3 specification
326         additions and changes. Deprecate support for upc_local_alloc.
327         Add support for upc_tick (wall-clock timer) library.
328         Add support for collective de-allocation functions:
329         upc_all_free and upc_all_lock_free.
330         Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
331         libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
333 2012-09-24 Gary Funck  <gary@intrepid.com>
335         Merge trunk version 191658 into gupc branch.
337 2012-09-17  Gary Funck  <gary@intrepid.com>
339         Merge trunk version 191376 into gupc branch.
341 2012-09-10  Gary Funck  <gary@intrepid.com>
343         Merge trunk version 191141 into gupc branch.
345 2012-08-27  Gary Funck  <gary@intrepid.com>
347         Merge trunk version 190707 into gupc branch.
348         * tree.h (struct tree_base): Adjust various
349         UPC tree and type flags to refer to the
350         newly introduced u.bits field.
352 2012-08-20  Gary Funck  <gary@intrepid.com>
354         Merge trunk version 190524 into gupc branch.
355         Incorporates a fix in genoutput.c (to properly use
356         CONST_CAST) that led to build failures with
357         older versions of g++.
359 2012-08-16  Gary Funck  <gary@intrepid.com>
361         Merge trunk version 190437 into gupc branch.
362         Incorporates a fix for a build failure on the PPC
363         due to passing incorrect switches to the assembler.
364         Also, first merged trunk revision that compiles GCC
365         with the C++ compiler in the first stage.
367 2012-08-13  Gary Funck  <gary@intrepid.com>
369         Merge trunk version 190336 into gupc branch.
371 2012-08-09  Gary Funck  <gary@intrepid.com>
373         * c-family/c-common.c (c_fully_fold_internal): Do not fold
374         offsetof-like expressions when they are applied to UPC
375         shared types.
377 2012-08-06  Gary Funck  <gary@intrepid.com>
379         Merge trunk version 190173 into gupc branch.
381 2012-08-01  Gary Funck  <gary@intrepid.com>
383         Merge trunk version 190063 into gupc branch.
384         Incorporates fix for build failure on IA64.
386 2012-07-30  Gary Funck  <gary@intrepid.com>
388         Merge trunk version 189954 into gupc branch.
390 2012-07-27  Gary Funck  <gary@intrepid.com>
392         Merge trunk version 189856 into gupc branch.
393         Incorporates fix for bootstrap with a sub-set of language
394         specific source directories present.
395         * optabs.c: Revert to trunk.  Rather than defining opcodes
396         as a way of defining get/put runtime library function names,
397         generate them directly in gcc/upc/upc-genericize.c.
398         * optabs.h: Ditto.
399         * genopinit.c: Ditto.
401 2012-07-23  Gary Funck  <gary@intrepid.com>
403         Merge trunk version 189777 into gupc branch.
405 2012-07-16  Gary Funck  <gary@intrepid.com>
407         Merge trunk version 189545 into gupc branch.
409 2012-07-12  Gary Funck  <gary@intrepid.com>
411         Merge trunk version 189366 into gupc branch.
413 2012-07-05  Gary Funck  <gary@intrepid.com>
415         Merge trunk version 189274 into gupc branch.
416         Incorporates graphite build infrastructure changes.
418 2012-07-04  Gary Funck  <gary@intrepid.com>
420         Merge trunk version 189080 into gupc branch.
421         * Makefile.in: Adjust for move of C front-end files.
422         * c/Make-lang.in: Ditto.
424 2012-07-03  Gary Funck  <gary@intrepid.com>
426         Merge trunk version 189078 into gupc branch.
428 2012-06-25  Gary Funck  <gary@intrepid.com>
430         Merge trunk version 188931 into gupc branch.
432 2012-06-18  Gary Funck  <gary@intrepid.com>
434         Merge trunk version 188721 into gupc branch.
436 2012-06-11  Gary Funck  <gary@intrepid.com>
438         Merge trunk version 188380 into gupc branch.
440 2012-06-04  Gary Funck  <gary@intrepid.com>
442         Merge trunk version 188168 into gupc branch.
444 2012-05-29  Gary Funck  <gary@intrepid.com>
446         Merge trunk version 187927 into gupc branch.
448 2012-05-18  Gary Funck  <gary@intrepid.com>
450         Merge trunk version 187666 into gupc branch.
451         Incorporates fix for ICE in tree vectorization pass
452         when processing strided loads.
454 2012-05-17  Gary Funck  <gary@intrepid.com>
456         Merge trunk version 187578 into gupc branch.
458 2012-05-09  Gary Funck  <gary@intrepid.com>
460         Merge trunk version 187347 into gupc branch.
461         Incorporates fix for segfault in tree vectorization pass.
463 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
465         * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
466         Appropriate libraries and include files are added on the
467         command line to make it possible to compile with the driver
468         from the build tree.
470 2012-04-29  Nenad Vukicevic  <nenad@intrepid.com>
472         * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
473         PPC ABI. In the UPC 'struct' pointer-to-shared representation,
474         a function returns a pointer-to-shared in memory instead
475         of in registers.
476         (rs6000_pass_by_reference): Ditto.
478 2012-04-28  Gary Funck  <gary@intrepid.com>
480         * c-decl.c (grokdeclarator): Set 'type' to error node
481         after detecting "shared auto variable" error to avoid
482         downstream complications.
483         * upc-act.c: Fix a couple of spelling errors in comments.
485 2012-04-26  Gary Funck  <gary@intrepid.com>
487         * c-family/c-pragma.c (handle_pragma_upc):
488         Fix typo in warning message.
490 2012-04-17  Gary Funck  <gary@intrepid.com>
492         Merge trunk version 186486 into gupc branch.
494 2012-04-17  Gary Funck  <gary@intrepid.com>
496         * c-family/c-pragma.c (disable_pupc_mode): Return the previous
497         value of the pupc mode.  Fixes a compile-time warning.
498         * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
499         disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
500         Improve source formatting.
502 2012-04-09  Gary Funck  <gary@intrepid.com>
504         Merge trunk version 186243 into gupc branch.
505         Incorporates a powerpc 'ffi' fix.
507 2012-03-16  Gary Funck  <gary@intrepid.com>
509         Merge trunk version 185454 into gupc branch.
510         Incorporates a libgcc fix for builds on Darwin.
512 2012-03-13  Gary Funck  <gary@intrepid.com>
514         Merge trunk version 185278 into gupc branch.
515         * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
516         call build_pointer_type() to apply UPC-specific qualifiers.
517         * top-level/configure.ac: factor the checking for posix hostst
518         out of the libgomp section so that it can also be used by libgupc.
519         * top-level/configure: Re-generate.
520         * DEV-PHASE: bump to 4.8.0-1.
522 2012-03-12  Gary Funck  <gary@intrepid.com>
524         * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
525         the mode for a pointer for upc-pointer-to-shared types.
527 2012-03-04  Gary Funck  <gary@intrepid.com>
529         Merge trunk version 184900 into gupc branch.
531 2012-02-17  Gary Funck  <gary@intrepid.com>
533         Released GUPC 4.7.0.2 based on version 183992.
534         * DEV-PHASE: Bump release identifier to 4.7.0-3.
535         * DATESTAMP: Bump date stamp.
537 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
539         * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
540         code generation (same as #pragma pupc off).
541         (set_pupc_mode): New. Set/restore profiling mode.
542         * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
543         (set_pupc_mode): New. Prototype.
544         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
545         profiling code for shared variables initialization routines.
547 2012-01-31  Gary Funck  <gary@intrepid.com>
549         Merge trunk version 183751 into gupc branch.
550         Incorporates fix for bootstrap failure on openSUSE 12.1.
552 2012-01-10  Gary Funck  <gary@intrepid.com>
554         Merge trunk version 183072 into gupc branch.
555         Incorporates libcpp __BASE_FILE__ fix.
557 2011-12-20  Nenad Vukicevic <nenad@intrepid.com>
559         * top-level/Makefile.def (flags_to_pass): Added GUPC
560         defines. Fixes the make error when upc is not specified as one
561         of the languages to build.
562         * top-level/Makefile.in: Re-generate.
564 2011-11-22  Gary Funck  <gary@intrepid.com>
566         * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
567         * dwarf2out.c (gen_compile_unit_die): Check for
568         the "GNU UPC" language string in lieu of "GCC UPC".
569         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
571 2011-11-18  Gary Funck  <gary@intrepid.com>
573         Merge trunk version 181552 into gupc branch.
574         Incorporates libgcc/libunwind fix for IA64.
576 2011-11-19  Gary Funck  <gary@intrepid.com>
578         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
579         Add check for UPC when defining the language type value
580         in a traceback entry.
582 2011-11-18  Gary Funck  <gary@intrepid.com>
584         Merge trunk version 181493 into gupc branch.
585         Incorporates final fix for PR target/49992.
587 2011-11-09  Nenad Vukicevic <nenad@intrepid.com>
589         * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
590         change that converted relative include paths into absolute
591         ones, as it does not work with older version of make (3.80).
593 2011-10-27  Nenad Vukicevic <nenad@intrepid.com>
595         Apply patch for Darwin build - PR49992.
596         * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
597         * gcc/configure.ac: Ditto.
598         * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
599         * gcc/ada/gcc-interface/Makefile.in: Ditto.
600         * top-level/configure: Re-generate.
601         * gcc/configure: Re-genrate.
603 2011-10-26  Gary Funck  <gary@intrepid.com>
605         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
606         "libupc" to "libgupc".
607         * top-level/configure.ac: Implement support for cross-builds, and
608           adjust for rename of libupc to libgupc.
609         * top-level/Makefile.tpl: Ditto.
610         * top-level/Makefile.def: Ditto.
611         * top-level/configure: Re-generate.
612         * top-level/Makefile.in: Re-generate.
613         * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
614         * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
615         * doc/tm.texi: Re-generate.
616         * tree-pretty-print.c (dump_block_node): Delete unused variable.
617         * gcc.c: Adjust for rename of libupc to libgupc.
618         * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
619         Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
620         Change "xupc" to "xgupc".
621         * configure.ac: Change "GCC UPC" to "GNU UPC".
622         * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
623         so that they are absolute paths.  This is needed because
624         the upc-crtstuff builds are in the libgupc library build
625         directories which are not at the same level as libgcc.
626         * config/darwin.h: Adjust for rename of libupc to libgupc.
628 2011-10-20  Gary Funck  <gary@intrepid.com>
630         Merge trunk version 180276 into gupc branch.
631         Incorporates fix for PR bootstrap/50709.
633 2011-10-20  Gary Funck  <gary@intrepid.com>
635         Merge trunk version 180246 into gupc branch.
637 2011-10-19  Gary Funck  <gary@intrepid.com>
639         Merge trunk version 180233 into gupc branch.
640         Incorporates fix for PR debug/49310 (var tracking).
642 2011-10-11  Nenad Vukicevic <nenad@intrepid.com>
644         * testsuite/lib/upc-dg.exp: Limit number of torture runs to
645         only four (O0 static/dynamic, O3 static/dynamic).
646         Detect -fupc-threads-0 as an option for dynamic threads
647         compile environment.
649 2011-10-10  Gary Funck  <gary@intrepid.com>
651         * tree.c (check_qualified_type, check_aligned_type):
652         Call tree_int_cst_equal() to compare UPC blocking factors
653         if the corresponding tree pointers are not equal.
654         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
656 2011-10-07  Nenad Vukicevic <nenad@intrepid.com>
658         Add configuration checks for struct/packed builds so we can
659         use upc_struct_pts/upc_packed_pts selectors in the testsuite.
660         * testsuite/lib/target-supports.exp
661         (check_effective_target_upc_struct_pts): New.
662         (check_effective_target_upc_packed_pts): New.
664 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
666         Add to FLAGS the flags needed to disable inlining of
667         UPC run-time access routines.
668         * testsuite/lib/target-supports.exp
669         (add_options_for_upc_library_calls): New.
671 2011-09-15  Gary Funck  <gary@intrepid.com>
673         Fix ICE involving shared bit field accesses.
674         * tree.c (build3_stat): Propagate TEEE_SHARED()
675         and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
677 2011-09-13  Gary Funck  <gary@intrepid.com>
679         Merge trunk version 178795 into gupc branch.
680         Incorporates fix to PR bootstrap/50010 for x86-32.
682 2011-09-08  Gary Funck  <gary@intrepid.com>
684         Merge trunk version 178557 into gupc branch.
686 2011-09-07  Gary Funck  <gary@intrepid.com>
688         Ensure that UPC pointer-to-shared type alignment is
689         propagated to the final type.  Revert to long-standing
690         alignment policy: twice the size of a "C" pointer.
691         * tree.c (build_pointer_type): Propagate the alignment
692         of the UPC pointer-to-shared representation type
693         into the newly built pointer type.
695 2011-08-30  Gary Funck  <gary@intrepid.com>
697         * tree.h (check_qualified_type): Change 'const_tree'
698         argument types back to 'tree' to avoid complaints
699         of assignment drops qualifiers for invocations of the
700         newly implemented TYPE_BLOCK_FACTOR() macro, which
701         invokes hash functions with 'tree' pointer values that
702         are not const qualified.
703         * tree.c (check_qualified_type, check_aligned_type): Ditto.
704         * c-typeck.c (comptypes_internal): Ditto.
706 2011-08-29  Gary Funck  <gary@intrepid.com>
708         Fixes for regressions noted running "make check"
709         versus GCC trunk.
710         * fold-const.c (fold_unary_loc): Execute UPC-specific
711         checks for a cast-of-a-cast, only if one of the
712         operands is a UPC pointer-to-shared value.
713         * opts.c (print_specific_help):  Fix a comparison
714         in an assert that checks that there are enough
715         bits reserved for the number of languages defined
716         in the .opt files.
718 2011-08-29  Gary Funck  <gary@intrepid.com>
720         Implement a hash table to record UPC block factors.
721         * c-family/stub-upc.c (upc_block_factor_insert,
722         upc_block_factor_lookup): New dummy stub procedures.
723         * c-family/c-common.c (c_sizeof_or_alignof_type):
724         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
725         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
726         to copy (hashed) UPC blocking factor.
727         (set_type_quals): Likewise.
728         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
729         TYPE_HAS_THREADS_FACTOR().
730         (type_common.block_factor): Delete.
731         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
732         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
733         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
734         UPC blocking factors greater than one.
735         * dwarf2out.c (modified_type_die): Re-implement
736         logic that records UPC blocking factor in the generated
737         DWARF2 debugging information.
738         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
739         TYPE_HAS_THREADS_FACTOR().
740         * c-decl.c (finish_decl, grokdeclarator):
741         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
742         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
743         used by UPC, and print UPC-specific information.
745 2011-08-28  Gary Funck  <gary@intrepid.com>
747         Re-work the type machinery to fully support and to unify support
748         for the UPC layout qualifier (blocking factor).
749         * c-family/stub-upc.c (upc_set_block_factor): Delete.
750           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
751           and update prototype.
752         * c-family/c-common.c (complete_array_type): call newly
753           defined c_build_qualified_type_1() instead of
754           upc_set_block_factor().
755         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
756           upc_apply_layout_qualifier() and update prototype.
757           (upc_set_block_factor): Delete prototype.
758         * c-family/c-common.h (c_build_qualified_type): redefine
759           as a pre-processor macro that invokes c_build_qualified_type_1()
760           with a null UPC layout qualifier.
761           (c_build_qualified_type_1): New.  Add layout qualifier argument
762           to old c_build_qualified_type() prototype.
763         * tree.c (set_type_quals, check_qualified_type):
764           Add layout qualifier as argument.
765           (check_aligned_type): Add check for UPC block factor equality.
766           (get_qualified_type_1): Rename from get_qualified_type() and
767           add layout qualifier as argument.
768           (build_qualified_type_1): Rename from build_qualified_type() and
769           add layout qualifier as argument.
770         * tree.h (check_qualified_type): Add layout qualifier as argument
771           to the prototype.
772           (get_qualified_type): Re-define as a as a pre-processor macro
773           that invokes get_qualified_type_1() with a null
774           UPC layout qualifier.
775           (get_qualified_type_1): Rename from get_qualified_type() and
776           add layout qualifier as argument.
777         * cp/tree.c (c_build_qualified_type_1): Rename from
778           c_build_qualified_type() and add (unused) layout qualifier
779           argument.
780         * c-decl.c (finish_decl): re-format long error messages.
781           (grokdeclarator): Re-work the logic so that it calls
782           upc_grok_layout_qualifier() to handle the UPC layout
783           qualifier, if present.
784         * c-typeck.c (qualify_type, common_pointer_type,
785           build_component_ref): Re-work the logic so that it calls
786           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
787           if present.
788           (c_build_qualified_type_1): Rename from c_build_qualified_type()
789           and add layout qualifier argument.
790         * print_tree.c (print_node): Re-format a long line.
792 2011-08-26  Gary Funck  <gary@intrepid.com>
794         Merge trunk version 177949 into gupc branch.
795         * c-family/c-common.h (enum rid): Bump the number of type modifiers
796           in the comment.
797         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
798           to add new rliterals column value.
800 2011-08-26  Gary Funck  <gary@intrepid.com>
802         * convert.c (convert_to_integer): Fix the check for the
803           difference between two UPC pointers-to-shared values.
805 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
807         * configure.ac: Fix the name for --with-upc-pts-packed-bits
808           option. Support --with-upc-packed-bits as deprecated. Fix the code to
809           correctly check packed bits.
810         * configure: Re-generate.
812 2011-08-16  Gary Funck  <gary@intrepid.com>
814         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
815           the barrier id expression is not an integer expression.
817 2011-08-12  Gary Funck  <gary@intrepid.com>
819         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
820           (revert to trunk).
821         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
822           Set mode of UPC pointer-to-shared rep. to an
823           integral mode of size at least as large as the
824           size of the representation's struct type.
826 2011-08-12  Gary Funck  <gary@intrepid.com>
828         Rework/simplify the UPC genericize pass.
829         * c-family/stub-upc.c (upc_apply_layout_qualifier,
830           upc_build_pointer_type): New.
831           (upc_set_block_factor): Adjust to new calling sequence.
832           (upc_build_shared_var_addr): Delete.
833         * c-family/c-common.c (complete_array_type): Adjust call
834           to upc_set_block_factor().
835         * c-family/c-upc.h (upc_apply_layout_qualifier,
836           upc_build_pointer_type): New.
837           (upc_build_shared_var_addr): Delete.
838           (upc_set_block_factor): Adjust to new calling sequence.
839         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
840         * c-decl.c (grokdeclarator): Call newly defined
841           upc_apply_layout_qualifier() instead of upc_set_block_factor().
842         * c-decl.c (grokdeclarator): Split long UPC-related error
843           messages into two lines.
844         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
845           directly.  Revert that change to trunk. (upc_genericize() will
846           handle lowering the expressions that take the address of a
847           UPC variable).
848         * config/i386/i386.c (ix86_promote_function_mode): For UPC
849           pointers-to-shared, return the type mode of the UPC pointer-to-shared
850           representation type.
852 2011-08-10  Gary Funck  <gary@intrepid.com>
854         Implement additional fixes for recent merge with trunk.
855         * explow.c (promote_mode): Do not attempt to promote
856           the mode for UPC pointer-to-shared types.
857         * config/i386/i386.c (function_value_64): Ditto.
859 2011-08-07  Gary Funck  <gary@intrepid.com>
861         Merge trunk version 177548 into gupc branch.
862         * config/i386/i386.c (ix86_promote_function_mode):
863           Do not promote UPC pointers-to-shared to Pmode.
864         * c-family/c-ommon.c (pointer_int_sum):
865           Also check the pointer operand, rather than just
866           its type, when making the decision to derive
867           the equivalent unshared type.
868         * tree.c (build2_stat): If the type of the result
869           passed in as an argument is a UPC shared type,
870           derive the unshared equivalent when calculating
871           the result type of the node.
873 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
875         * config/darwin.c: Disable var_tracking option
876           on -O0 as it is supposed to run only when optimization
877           is applied. See GCC bug 49743.
879 2011-07-06  Gary Funck  <gary@intrepid.com>
881         Re-implement the pass that lowers trees generated by
882         the UPC front-end into GENERIC.  Previously this was
883         done within the gimplification framework, but this
884         required that gimplification be run before inlining
885         and various other passes, which did not fit in well
886         with the current design of the middle-end passes.
887         Now, the lowering is done by a newly defined language
888         specific genericize hook.  With this change, we are
889         are able to undo some extensions made to the gimplify
890         logic, and thus can revert several files to trunk.
892         * c-decl.c: Add a check for UPC deprecated names which
893           may appear as undefined function names.
894         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
895           LTI_upc_getaddr): Remove definitions of unused UPC
896           library function names.  These were defined back when
897           the libfunc interface was used to call these routines.
898         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
899           in UPC lowering (genericize) pass.
900         * langhooks.h (gimplify_expr): Revert to trunk's definition.
901           (instrument_func): Delete this hook.  Now handled in
902           upc_genericize().
903         * tree-pass.h: Revert to trunk.
904         * c-typeck.c (build_unary_op): Adjust reference to
905           upc_genericize() in a comment.
906         * gimplify.c (create_tmp_var_raw): Delete logic that
907           was converting UPC shared types into unshared types
908           to be used for temporaries.  Now handled in  upc_genericize().
909           Replace with an assertion check.
910           (prepare_gimple_addressable): Revert to trunk's definition.
911           No longer needed as an externally called function.
912           (flag_instrument_functions_exclude_p): Re-define as
913           an externally called function.
914           (gimplify_function_tree): Delete code that implemented
915           call to UPC's language specific function instrumentation hook.
916         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
917           (prepare_gimple_addressable): Delete extern definition;
918           revert to trunk's definition.
919         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
920           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
921         * c-family/c-gimplify.c: Revert to trunk.
922         * cp/cp-gimplify.c: Revert to trunk.
923         * cp/cp-tree.h: Revert to trunk.
924         * explow.c: Revert to trunk.
925         * langhooks.c: Revert to trunk.
926         * libfuncs.h: Revert to trunk.
927         * objc/objc-act.c: Revert to trunk.
929 2011-06-30  Gary Funck  <gary@intrepid.com>
931         * c-family/c.opt: Bring options definitions up-to-date
932         with respect to changes made in the trunk.
934 2011-06-29  Gary Funck  <gary@intrepid.com>
936         Merge trunk version 175584 into gupc branch.
938 2011-06-13  Gary Funck  <gary@intrepid.com>
940 libcpp/
941         * include/cpplib.h (enum c_lang):
942         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
943         This keeps all the "C" variants together.
944         * init.c (lang_defaults): Add an entry for UPC.
946 2011-06-09  Gary Funck  <gary@intrepid.com>
948         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
949         a 32-bit target, the size expression overflowed, the result was
950         error_mark_node, and an ICE was triggered on an attempt to evaluate
951         C_TYPE_VARIABLE_SIZE() on the error node.
952         (upc_blocksizeof_expr, upc_blocksizeof_type,
953         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
954         Make similar changes to avoid further processing of error_mark_node.
956 2011-06-07  Gary Funck  <gary@intrepid.com>
958         * sel-sched.c (move_op): Incorporate the following
959         patch to eliminate ICE at -O3 on IA64/Altix.
961 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
963         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
964         code_motion_path_driver returned 0 or 1.
965         (sel_region_finish): Clear h_d_i_d.
967 2011-06-02  Gary Funck  <gary@intrepid.com>
969         Merge trunk version 174558 into gupc branch.
971 2011-05-30  Gary Funck  <gary@intrepid.com>
973         * configure.ac: Make the default order of the virtual
974           address field in a UPC pointer-to-shared to be "first".
975           This reverts to the previous setting, and is a short term
976           measure to work around a bug found on the IA64,
977           where vaddr=last led to incorrect code generation.
978           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
979           in AC_DEFINE(), to agree with recent changes in files
980           that reference this define.
981           configure, config.in: Regenerate.
983 2011-05-26  Gary Funck  <gary@intrepid.com>
985         * configure.ac: Fix typo when referring to $upc_vaddr_order.
986           configure: Regenerate.
988         * ../fixincludes/fixincl.x: Revert to trunk.
989           This file is auto-generated, and should not be merged.
991 2011-05-18  Gary Funck  <gary@intrepid.com>
993         Merge trunk version 173845 into gupc branch.
995 2011-05-17  Gary Funck  <gary@intrepid.com>
997         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
998           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1000         * c-family/c-pragma.c: Remove conditional compilation
1001           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1002           Test 'compiling_upc' when compiling to determine if
1003           the "upc" and "pupc" pragmas should be registered.
1005         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1006           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1007           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1008           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1009           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1010           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1011           Move these target-dependent definitions from config/upc-conf.h
1012           to here.
1014         * configure.ac: Improve the logic for UPC-related options.
1015           Delete references to pre-processor definitions that have
1016           been moved to "upc/upc-pts.h".
1018         * configure, config.in: Regenerate.
1020         * Makefile.in (UPC_PTS_REP): Remove definition and revert
1021           to trunk.  This substitution variable was used to
1022           configure the representation-specific versions of
1023           the tree rewrites that operate on UPC pointer-to-shared
1024           types and objects.
1026         * c-parser.c (c_parser_upc_forall_statement): Remove
1027           reference to UPC_FORALL_DEPTH_NAME, and call
1028           newly defined upc_rts_forall_depth_var() instead.
1030         * config/upc-config.h: Delete. Various definitions
1031           moved to "upc/upc-rts-names.h", "defaults.h", and
1032           "upc/upc-pts.h".
1034         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1035           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1036           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1037           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1038           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1039           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1040           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1041           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1042           New.  Document UPC target macros.
1043           doc/tm.texi: Regenerate.
1045 2011-05-07  Gary Funck  <gary@intrepid.com>
1047         * ../configure.ac: Disable build of libupc
1048           on non POSIX hosted systems.  Use AS_HELP_STRING
1049           to define messages.  Remove 'word-pair' as a
1050           possible --with-upc-pts UPC pointer-to-shared
1051           representation.
1053         * ../configure: Regenerate.
1055         * configure.ac: Use AS_HELP_STRING to define messages.
1056           Remove 'word-pair' as a possible --with-upc-pts
1057           UPC pointer-to-shared representation.
1058           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
1059           (UPC_MAX_BLOCK_SIZE): Correct the default value.
1061         * configure: Regenerate.
1063         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
1064           definition.
1066         * ChangeLog.upc: Fix some typos.
1068 2011-05-07  Gary Funck  <gary@intrepid.com>
1070         * ../maintainer-scripts/gcc_release: Add "upc"
1071           as one of the released languages.
1073 2011-05-06  Gary Funck  <gary@intrepid.com>
1075         Eliminate compilation warnings, by fixing
1076         #include's and updating function prototypes.
1078         * c-family/c-cppbuiltin.c: Include c-upc.h.
1080         * optabs.c (gen_libfunc): Change type of 'suffix'
1081           parameter to conform with prototype.
1083         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
1084           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
1085           hook used by UPC.
1087         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
1088           the prototype.
1090         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
1091           argument values to cp_gimplify_expr.
1093         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
1094           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
1095           pre-processor definitions that are no longer
1096           needed to build the 'upc' command (upc-cmd.c)
1097           because the linker specs. defined in libupc
1098           take care of linking in the needed libraries.
1100         * c-parser.c (c_parser_upc_forall_statement):
1101           initialize affinity_loc to avoid "maybe unused" warning.
1102           (c_parser_upc_sync_statement): Remove un-needed
1103           'ret' variable.  Cast return value from
1104           'upc_build_sync_stmt' to 'void' to avoid
1105           compile-time warning.
1107         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
1108           integer constant, not a string.  Range is restricted
1109           to maximum positive 32-bit integer (2+ billion) to
1110           fit in with the use of 'int' in the front-end's
1111           switch handling logic.
1113 2011-05-06  Gary Funck  <gary@intrepid.com>
1115         Upgrade c-family source files to conform with modularity
1116         improvements.  Mainly, remove #include of c-tree.h in files
1117         under c-family, and define a new UPC-specific #include file,
1118         c-upc.h, and use it.
1120         * c-family/stub-upc.c: Remove #include of c-tree.h and
1121           upc/upc-act.h.  Replace with #include of c-common.h
1122           and c-upc.h.
1123           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
1124           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
1125           upc_localsizeof_expr, upc_localsizeof_type,
1126           upc_shared_type_p): Delete.
1128         * c-family/c-opts.c: Add #include of c-upc.h
1130         * c-family/c-common.c: Remove #include of c-tree.h and
1131           add #include of c-upc.h.
1133         * c-family/c-upc.h: New. Define API for UPC-specific functions
1134           (mostly implemented in upc/upc-act.c).
1136         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
1137           Remove extern definitions.
1139         * c-family/c-pragma.c: Remove #include of c-tree.h.
1140           Add #include of c-upc.h.
1142         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
1143           c-tree.h.
1144           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
1145           upc/upc-act.c, and define as a macro.
1146           (expand_affinity_test): Remove unused external definition.
1147           (build_upc_unshared_type): Add external definition.
1148           (upc_shared_type_p): Remove external definition.
1150         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
1152         * dojump.c: Remove #include of c-tree.h.
1154         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
1155           and move to tree.h.
1156           (count_upc_threads_refs, is_multiple_of_upc_threads,
1157           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
1158           upc_build_shared_var_addr, upc_build_sync_stmt,
1159           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
1160           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
1161           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
1162           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
1163           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
1164           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
1165           set_upc_consistency_mode, get_upc_consistency_mode,
1166           push_upc_consistency_mode, pop_upc_consistency_mode,
1167           get_upc_pupc_mode):
1168           Move external definitions to c-family/c-upc.h.
1169           (upc_blocksizeof_type, upc_localsizeof_type,
1170           upc_elemsizeof_type): Remove external definitions;
1171           these functions were moved to c-parser.c.
1173         * c-decl.c: Add #include of c-upc.h.
1175         * c-typeck.c: Add #include of c-upc.h.
1177         * c-convert.c: Add #include of c-upc.h.
1179         * ChangeLog.upc: Fix typo.
1181         * Makefile.in: Add references to c-family/c-upc.h, everywhere
1182           there is a reference to c-family/c-objc.h.
1183           Remove extraneous reference to upc-act.h.
1185         * c-parser.c: Add #include of c-upc.h.
1186           (upc_blocksizeof_expr, upc_blocksizeof_type,
1187           upc_elemsizeof_expr, upc_elemsizeof_type,
1188           upc_localsizeof_expr, upc_localsizeof_type):
1189           Move from upc/upc-act.c.
1191         * tree.c (build_upc_unshared_type): New.
1192           Move upc_get_unshared_type from upc/upc-act.c and rename
1193           to build_upc_unshared_type.
1194           c-family/c-common.c (pointer_int_sum): refer to renamed
1195           build_upc_unshared_type function.
1196           c-convert.c (convert): Ditto.
1197           convert.c (convert_to_pointer): Ditto.
1198           c-typeck.c (build_unary_op, build_modify_expr,
1199           really_start_incremental_init): Ditto.
1200           gimplify.c (create_tmp_var_raw): Ditto.
1201           tree.c (build1_stat): Ditto.
1202           tree.h (upc_get_unshared_type): Rename to
1203           build_upc_unshared_type.
1205 2011-05-06  Gary Funck  <gary@intrepid.com>
1207         Merge trunk version 173471 into gupc branch.
1209 2011-05-05  Gary Funck  <gary@intrepid.com>
1211         Make changes that bring the GUPC branch more closely in sync.
1212         with the GCC trunk.  Revert any fixes that are not UPC-specific.
1213         Remove gratuitous re-formatting.
1215         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1216           This file should have been removed in a previous merge
1217           with the trunk.
1218         * ../configure.ac: Remove Cray Catamount/CNL support.
1219         * ../configure: Regenerate.
1220         * ../config.sub: Remove Cray Catamount/CNL support.
1221         * config.gcc: Remove Cray Catamount/CNL support.
1222         * ../maintainer-scripts/gcc_release: Revert to trunk.
1223         * c-family/c-common.h: Define parse_optimize_options.  Its definition
1224           was missed in a previous merge with the trunk.
1225         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1226           procedure.
1227         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1228           in addition to ARRAY_TYPE.
1229         * c-typeck.c: Remove an extra newline character.
1230         * varasm.c: Revert a fix that improved an error message
1231           when TLS common data is unimplemented.
1232         * varasm.c: Revert a gcc_assert that had been added which
1233           checked for a null DECL_SIZE_UNIT field.
1234         * emultls.c: Revert to trunk. Remove possible fix.
1235         * Makefile.in: Revert extra blank line that is present
1236           in the trunk version.
1237         * Makefile.in: Revert a fix that handled long shell
1238           argument lists for plugin headers.
1239         * config/ia64/ia64.opt: Revert an option setting
1240           that increased the default TLS address range.
1241         * config/ia64/crtbegin.asm: Revert to trunk.
1242           Removes an extra newline character.
1243         * ChangeLog.upc: Spell check.
1245 2011-05-03  Gary Funck  <gary@intrepid.com>
1247         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1248           (c_apply_type_quals_to_decl): Ditto.
1249         * c-family/c-common.h: Ditto.
1250         * dojump.c: Ditto.
1251         * c-decl.c (merge_decls): Ditto.
1252         * c-typeck.c (qualify_type, default_conversion,
1253           build_component_ref, build_unary_op,
1254           c_build_qualified_type): Ditto.
1255         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1257 2011-04-29  Gary Funck  <gary@intrepid.com>
1259         * c-decl.c (finish_decl): Improve error diagnostics.
1260           (grokdeclarator): Ditto.
1262         * c-typeck.c (build_c_cast): Improve error diagnostics.
1263           (convert_for_assignment): Ditto.
1264           (build_binary_op): Ditto.
1266         * c-parser.c (c_parser_upc_forall_statement):
1267           Improve error diagnostics.
1269         * convert.c (convert_to_integer):  Improve error diagnostics.
1271 2011-04-24  Gary Funck  <gary@intrepid.com>
1273         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1274           occurred if there is an error in the barrier id
1275           expression.  Map error_mark_node into NULL.
1277 2011-04-22  Gary Funck  <gary@intrepid.com>
1279         Merge trunk version 172873 into gupc branch.
1281 2011-04-19  Gary Funck  <gary@intrepid.com>
1283         Merge trunk version 172359 into gupc branch.
1285 2011-04-14  Gary Funck  <gary@intrepid.com>
1287         * c-family/c.opt: Add UPC as a valid language for various
1288           switches where it is valid for "C", that were not updated
1289           in previous merges with trunk.
1291 2011-04-13  Gary Funck  <gary@intrepid.com>
1293         * c-family/c.opt (fupc-pre-include): New option definition.
1294         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1295           -fno-upc-pre-include is asserted.
1297 2011-04-07  Gary Funck  <gary@intrepid.com>
1299         Merge trunk version 172158 into gupc branch.
1300         to bring in the following fix.
1302 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
1304         PR bootstrap/48403
1305         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1306         if old and new states differ.
1308 2011-04-06  Gary Funck  <gary@intrepid.com>
1310         Merge trunk version 171966 into gupc branch.
1312 2011-04-01  Gary Funck  <gary@intrepid.com>
1314         * tree.h (tree_base): Move UPC flag bits into bit fields
1315           located just before spare bits.  Decrement spare bits.
1316           Rename 'shared_flag' -> 'upc_shared_flag',
1317           'relaxed_flag' -> 'upc_relaxed_flag',
1318           'strict_flag' -> 'upc_strict_flag, and adjust macros
1319           that reference them accordingly.
1321 2011-04-01  Gary Funck  <gary@intrepid.com>
1323         * c-decl.c (grokdeclarator): Fix formatting of
1324           code that sets UPC block size on scalars.
1326 2011-04-01  Gary Funck  <gary@intrepid.com>
1328         * c-decl.c (grokdeclarator): Revert use of white space
1329           to match the trunk (to rationalize diffs).
1330         * c-typeck.c (convert_for_assignment): Ditto.
1331         * tree-ssa.c (useless_type_conversion_p): Ditto.
1333 2011-03-23  Gary Funck  <gary@intrepid.com>
1335         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1336           the GCC 4.6 release branch.
1338 2011-03-21  Gary Funck  <gary@intrepid.com>
1340         Merge trunk version 171202 into gupc branch.
1342 2011-03-20  Gary Funck  <gary@intrepid.com>
1344         * varasm.c: Call error() directly with a format specifier,
1345           rather than using sprintf() to format the message.
1346           This should make it easier to internationalize UPC's error messages.
1348 2011-03-20  Gary Funck  <gary@intrepid.com>
1350         * configure.ac: Fix the check for gnu ld when enabling
1351           UPC link script support.
1352           configure: Regenerate (also picks up changes from previous
1353           merge with trunk).
1355 2011-03-20  Gary Funck  <gary@intrepid.com>
1357         Move UPC start files, end files, and linker specs.
1358         into libupc.  This reduces the impact on common GCC
1359         configuration files, and ensures that these UPC-specific
1360         components are only built when the UPC language dialect is selected.
1363 gcc/
1364         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1365           linker specs. Fix typo in -fupc-debug message.
1367         * config/upc-conf.h, config/darwin.h: Move defines for
1368           UPC-related section begins/ends into libupc/config/default/
1369           upc-crt-config.h.
1371         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1372           UPC-related linker compiler specifications,
1373           accessed via %:include().
1375         * configure.ac, configure: Remove logic related to building
1376           upc-crtbegin/end. Remove config. tests for numa and cpu
1377           affinity (previously used by the 'upc' driver); these
1378           settings are now propagated by target-specific compiler
1379           specs. built by libupc.  Regenerate autoconf.
1381         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1382           linker compiler specifications, accessed via %:include().
1383           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1384           'link_upc_spec'.
1386         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1388         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1389           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1390           config/ia64/linux.h, config/mips/t-iris,
1391           config/mips/iris6.h: Revert to trunk version 167307.
1393 libgcc/
1394         * configure, configure.ac, config.host, Makefile.in:
1395           Revert to trunk version 167307.
1397 2011-02-23  Gary Funck  <gary@intrepid.com>
1399         * c-decl.c (undeclared_variable): fix typo. Inadvertently
1400         removed negation on following 'if'.
1402 2011-02-22  Gary Funck  <gary@intrepid.com>
1404         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1405         to check for the usage of certain deprecated UPC keywords.
1406         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1407         * c-tree.h (undeclared_variable): Define prototype.
1409 2011-02-12  Gary Funck  <gary@intrepid.com>
1411         * c-typeck.c: (build_c_cast, convert_for_assignment)
1412           Diagnose an attempt to convert from an integer to
1413           a pointer-to-shared as an error.  Also, fix various
1414           error messages so that they use the preferred term
1415           pointer-to-shared instead of "shared pointer".
1417 2011-02-07  Gary Funck  <gary@intrepid.com>
1419         * c-typeck.c: (convert_for_assignment)
1420           Fix typo. in error message.
1422 2011-01-23  Gary Funck  <gary@intrepid.com>
1424         * c-typeck.c: (c_build_qualified_type)
1425           derive UPC block size by calling upc_get_block_size(),
1426           to ensure that the element type of an array of an array
1427           is derived correctly.
1429 2010-12-29  Gary Funck  <gary@intrepid.com>
1431         Merge trunk version 168314 into gupc branch.
1433 2010-12-15  Gary Funck  <gary@intrepid.com>
1435         Merge trunk version 167307 into gupc branch.
1437 2010-10-19  Gary Funck  <gary@intrepid.com>
1439         * c-typeck.c: Fix typo in previous fix
1440           which led to a mis-compare for equal block sizes.
1442 2010-10-18  Gary Funck  <gary@intrepid.com>
1444         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1445           diagnosed as an error
1447           The conversion from any type (shared or not) to
1448           a shared type is likely either meaningless or an error.  This update
1449           makes any conversion to a shared type, an error.
1451 2010-10-18  Gary Funck  <gary@intrepid.com>
1453         * c-typeck.c: Fix bug: passing int to shared pointer arg.
1454           generates spurious warning
1456           Add a #define procedure that does the same thing as
1457           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
1458           this procedure to diagnose passing an integer value to a
1459           pointer-to-shared as an error.
1461 2010-10-18  Gary Funck  <gary@intrepid.com>
1463         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1464           matching routine declaration.
1466           When checking for type compatibility, shared qualified types must
1467           have the same block factor.  This check was missing from
1468           comptypes_internal().  This update adds the check for blocking
1469           factor equality.
1471 2010-10-17  Gary Funck  <gary@intrepid.com>
1473         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1474           found (-O1 -g)
1476           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1478 2010-10-17  Gary Funck  <gary@intrepid.com>
1480         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1481           45869 - [4.5/4.6 Regression] type mismatch in shift expression
1482           produces ice with -O3 and -m32.
1484           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1486 2010-10-17  Gary Funck  <gary@intrepid.com>
1488         * c-common.c: Diagnose the application of the various "*sizeof"
1489           operations on generic pointer-to-shared as a compilation error.
1491 2010-10-17  Gary Funck  <gary@intrepid.com>
1493         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1494           message regarding a function parameter being declared with a shared
1495           qualifier.
1497           The parameter's 'name' value is not defined at this point, and
1498           cannot be used in the error message.  This update removes the
1499           reference to 'name', and eliminates the segfault.
1501 2010-10-16  Gary Funck  <gary@intrepid.com>
1503         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1505           The gcc/Makefile.in rules for install-plugin had to be re-written to
1506           break up a long list of header files that exceeded the command line
1507           limitation imposed by Irix.
1509           Access functions for TFmode types had to be implemented.
1510           Apparently, this is the mode used for the SGI/MIPS port to represent
1511           "long float".
1513 2010-10-14  Gary Funck  <gary@intrepid.com>
1515         * c-decl.c: Fix bug: Multiple equal blocking factors specified
1516           via typedef chain should not be diagnosed as an error.
1518           If the block size that is given by the typedef is equal to the block
1519           size given explicitly in the variable declaration, then do not
1520           complain.  The easiest way to make this check was to create a
1521           temporary type that is a clone of the element type and then set its
1522           block size using the given layout qualifier.  Then compare the block
1523           size of the temporary (the declaration) to the block size specified
1524           in the typedef.  This complexity is needed, because the '[*]' block
1525           size needs to be calculated, and the '[]' needs to be mapped into a
1526           zero block size.
1528 2010-10-10  Gary Funck  <gary@intrepid.com>
1530         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1531           specified
1533           The compiler properly detected the presence of two or more layout
1534           qualifiers as an error, but then hit an assertion check, because the
1535           code that followed the error expected to see a qualifier and not a
1536           layout specifier.  The fix is simple: just return immediately after
1537           detecting the error.
1539 2010-10-10  Gary Funck  <gary@intrepid.com>
1541         * c-decl.c: Improve error diagnostics for various cases of UPC
1542           shared array type declarations.
1544           Add the check for this error: "In the dynamic translation
1545           environment, THREADS may not appear in declarations of shared arrays
1546           with indefinite block size".  Also, fix up a few of the other
1547           related error diagnostics.
1549 2010-10-09  Gary Funck  <gary@intrepid.com>
1551         * c-common.c: Fix bug: segfault on incomplete array definition.
1553           This turned out to be a bit complicated.   The logic in
1554           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1555           the THREADS identifier in the case where the blocking factor has
1556           been set to indefinite ([]).  This can happen when indefinite array
1557           declarations are processed for shared arrays.  At that time, the
1558           file scope has been closed and THREADS is no longer in scope.  Some
1559           more work is needed on upc_lang_layout_decl().  It has some
1560           duplication, and notably duplicates the two branches of the if
1561           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1562           caller of this routine (layout_decl()).
1564           The method of forcing a layout qualifier of [] in the indefinite
1565           declaration handler is odd a well.  The code that just does the
1566           setting of the block factor, needs to moved into its own routine
1567           that doesn't depend upon a declspec for '[]' to be passed in, just
1568           in order to set the blocking factor to some value (in this case, 0).
1569           Also, the logic for how that shared type is constructed is strange.
1570           First the type with 0 blocking factor is set.  Then the shared
1571           qualifier is removed from the type, and then added back later.  The
1572           intermediate type has a blocking factor set, but it has no shared
1573           qualifier.  Fixing this will require some thought.  It is tempting
1574           just to make indefinite shared arrays an error, rather than forcing
1575           the dimension to be '1'.
1577           This likely fixes a serious error in the previous update to
1578           upc_lang_layout_decl(), where it didn't have the logic to set
1579           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
1580           the previous update would fail on many tests.
1582 2010-10-09  Gary Funck  <gary@intrepid.com>
1584         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1585           (decl) is null, which can happen if some layout error occurred
1586           upstream.
1588 2010-10-09  Gary Funck  <gary@intrepid.com>
1590         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1591           "variable-sized" when compiled in dynamic threads.
1593           This long-standing bug is easily fixed.  Just check
1594           for the situation that the non-constant sized type is shared and
1595           that it does not have a dimension that references a multiple of
1596           threads.  If this criteria is met, then issue a meaningful
1597           diagnostic.
1599 2010-10-01  Gary Funck  <gary@intrepid.com>
1601         * configure, configure.ac: Update manual page, and bug reporting
1602           URL.
1604           Update "man" page to reflect debugging switches.  Also, some general
1605           clean up.  Change the bug reporting URL to point to gccupc.org.
1607 2010-09-27  Gary Funck  <gary@intrepid.com>
1609         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1610           the UPC forall depth count variable is not found.
1612           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1613           The compiler will generate code that references this variable in
1614           order to implement nested upc_forall semantics.  If there is a
1615           compiler build or install problem, this variable may not be found.
1616           In this case, terminate with an internal_error().
1618 2010-09-26  Gary Funck  <gary@intrepid.com>
1620         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1621           mis-diagnosed as syntax error.
1623           Fix a failure exhibited by the Berkeley test case,
1624           bug873a.upc, which has the code:
1625                double d;
1626                upc_forall (;;;d) {...} The compiler did not properly handle
1627           the empty "condition" clause, and did not recover well when it was
1628           determined that the use of a double value, "d" above, was neither a
1629           pointer-to-shared nor an integer expression.  The update implements a
1630           fix for both issues.
1632           See also: gcc/c-parser.c gcc/upc/upc-act.c
1634 2010-09-23  Gary Funck  <gary@intrepid.com>
1636         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1637           incorporated into the referencing type.
1639           This was semi-fixed a few times before.  This update fixes a few
1640           more places where the layout qualifier wasn't being propagated
1641           through typedef's properly.  What made this a bit tricky is shown in
1642           the example cited in the bug report:
1644           typedef shared [5] int A_t; A_t A[5*THREADS];
1646           In the typedef, the blocksize is being applied to a shared *scalar*,
1647           and the code was applying the blocksize only to arrays.  This update
1648           handles shared scalars correctly.
1650 2010-09-22  Gary Funck  <gary@intrepid.com>
1652         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1653           upc_forall() semantics are not implemented
1655           The checkforall test in the Berkeley harness test suite indicated
1656           that GCC/UPC was not properly implementing nested upc_forall
1657           semantics.  Nested upc_forall statements (both statically or
1658           dynamically nested) must implement their affinity clause as if it
1659           were "continue"; thus all steps in the loop must execute without
1660           regard for affinity.  To implement these semantics a global depth
1661           counter, __upc_forall_depth, is maintained by the generated code
1662           that implements upc_forall.
1664           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1665           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1666           libupc/include/upc.h libupc/smp/upc_main.c
1668 2010-09-19  Gary Funck  <gary@intrepid.com>
1670         * c-decl.c: c-decl.c: zero out the layout specifier, after
1671           processing an array type.
1673           Fix the previous fix, that moved the setting of the type's layout
1674           qualifier to the outside of the array type processing loop.  What is
1675           missing from the fix is that the layout_qualifier variable needs to
1676           be cleared after setting the type's blocksize.
1678 2010-09-19  Gary Funck  <gary@intrepid.com>
1680         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1681           given blocksize is greater than UPC_MAX_BLOCKSIZE.
1683           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1684           the actual maximum block size.  Therefore, the message was correct,
1685           but the underlying value that was being checked was wrong.  Change
1686           the values so that they agree with the actual implementation-defined
1687           limit.
1689 2010-09-11  Gary Funck  <gary@intrepid.com>
1691         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1692           multi-dimensional shared array with dynamic threads.
1694           This declaration caused an internal compiler error when compiled
1695           with dynamic threads:
1696               shared [*] int A[THREADS][16]; The bug was discovered when
1697           compiling the RTED_UPC test suite.
1699           The fix is to process layout qualifiers after the entire array type
1700           has been built.  Otherwise, we try to calculate the blocksize on a
1701           shared array type that has not had its "size depends upon the value
1702           of THREADS" flag set.
1704           Also, added a test case.
1706           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1708 2010-07-11  Gary Funck  <gary@intrepid.com>
1710         Fix a bug where a statement in c_build_qualified_type()
1711         in the trunk had been inadvertently deleted.
1712         This bug showed up in the IA64 port, because jmpbuf's
1713         on that architecture must be 16 byte aligned, and they were not.
1714         c-typeck.c (c_build_qualified_type): Revive the deleted line.
1716 2010-07-08  Gary Funck  <gary@intrepid.com>
1718         Make changes so that other language compilers
1719         will build and bootstrap.
1720         * c-family/c-common.c (compiling_upc, flag_upc,
1721         flag_upc_instrument, flag_upc_instrument_functions,
1722         use_upc_dwarf2_extensions): Move to stub-upc.c and
1723         upc-lang.c.
1724         * c-family/c-common.h (use_upc_dwarf2_extensions,
1725         compiling_upc): Add extern definitions - needed
1726         to compile/build other language front ends.
1727         * c-family/c.opt: Fix the spelling of ObjC.
1728         It had been incorrectly spelled as Objc.
1729         * c-family/c.opt: Add UPC for the various switches
1730         that are valid for both C and ObjC.
1731         * c-fmaily/c-opts.c: Add CL_UPC to the list of
1732         supported options switches when compiling assembly
1733         language.
1734         * lto/lto-lang.c (use_upc_dwarf2_extensions,
1735         flag_upc_instrument, flag_upc_instrument_functions):
1736         Remove these definitions.  They have been moved
1737         to c-family/stub-upc.c.
1738         * upc/ChangeLog: Move relevant entries
1739         to ChangeLog.upc.
1740         * c-family/stub-upc.c (compiling_upc, flag_upc,
1741         flag_upc_instrument, flag_upc_instrument_functions,
1742         use_upc_dwarf2_extensions): Moved from c-common.c
1743         * upc/upc-lang.c (compiling_upc, flag_upc,
1744         flag_upc_instrument, flag_upc_instrument_functions,
1745         use_upc_dwarf2_extensions): Moved from c-common.c
1746         * objc/objc-act.c (objc_gimplify_expr): Add additional
1747         parameters to c_gimplify_expr() call, that are used
1748         by upc's tree rewrites.
1749         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1750         * gcc/cp/lex.c (init_reswords): If not compiling
1751         UPC, then mask off the UPC keywords.
1752         * cp/Make-lang.in (C_STUB_OBJS): Use this
1753         make macro to link with c-family/stub-objc.o
1754         and c-family/stub-upc.o.
1755         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1756         * java/Make-lang.in (C_STUB_OBJS): Likewise.
1757         * objc/Make-lang.in: Link with c-family/stub-upc.o
1758         to avoid undefined references.
1759         c-parser.c: Fix line indentation.
1760         * libcpp/include/cpplib.h: Remove CL_UPC from
1761         the list of language kinds accepted by the
1762         C preprocessor.  This is not necessary because
1763         UPC is a derivative of C99, and does not need
1764         a different language kind.
1765         * c-fmaily/c-opts.c (c_common_handle_option):
1766         Call set_std_c99() when processing the
1767         "--lang upc" switch, instead of setting the
1768         language kind to CL_UPC.
1769         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1771 2010-07-03  Gary Funck  <gary@intrepid.com>
1773         Merge trunk version 161517 into gupc branch.
1774         * gcc/stub-upc.c: Move to gcc/c-family/.
1775         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1776         Add 'unused' attributes to avoid "set, but
1777         not referenced" warnings.
1778         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1779         Likewise.
1781 2010-03-01 Gary Funck  <gary@intrepid.com>
1783         Create gupc branch from trunk version 157149.
1784 2011-10-04  Gary Funck  <gary@intrepid.com>
1786         Merge trunk version 179421 into gupc branch.
1788         * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1789         argument to the call to check_qualified_type().
1791 2011-09-22  Gary Funck  <gary@intrepid.com>
1793         * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1794         information.
1795         (dump_upc_type_quals): New.
1797 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
1799         Add to FLAGS the flags needed to disable inlining of
1800         UPC run-time access routines.
1801         * testsuite/lib/target-supports.exp
1802         (add_options_for_upc_library_calls): New.
1804 2011-09-15  Gary Funck  <gary@intrepid.com>
1806         Fix ICE involving shared bit field accesses.
1807         * tree.c (build3_stat): Propagate TEEE_SHARED()
1808         TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1810 2011-09-13  Gary Funck  <gary@intrepid.com>
1812         Merge trunk version 178795 into gupc branch.
1813         Incorporates fix to PR bootstrap/50010 for x86-32.
1815 2011-09-08  Gary Funck  <gary@intrepid.com>
1817         Merge trunk version 178557 into gupc branch.
1819 2011-09-07  Gary Funck  <gary@intrepid.com>
1821         Ensure that UPC pointer-to-shared type alignment is
1822         propagated to the final type.  Revert to long-standing
1823         alignment policy: twice the size of a "C" pointer.
1824         * tree.c (build_pointer_type): Propagate the alignment
1825         of the UPC pointer-to-shared representation type
1826         into the newly built pointer type.
1828 2011-08-30  Gary Funck  <gary@intrepid.com>
1830         * tree.h (check_qualified_type): Change 'const_tree'
1831         argument types back to 'tree' to avoid complaints
1832         of assignment drops qualifiers for invocations of the
1833         newly implemented TYPE_BLOCK_FACTOR() macro, which
1834         invokes hash functions with 'tree' pointer values that
1835         are not const qualified.
1836         * tree.c (check_qualified_type, check_aligned_type): Ditto.
1837         * c-typeck.c (comptypes_internal): Ditto.
1839 2011-08-29  Gary Funck  <gary@intrepid.com>
1841         Fixes for regressions noted running "make check"
1842         versus GCC trunk.
1843         * fold-const.c (fold_unary_loc): Execute UPC-specific
1844         checks for a cast-of-a-cast, only if one of the
1845         operands is a UPC pointer-to-shared value.
1846         * opts.c (print_specific_help):  Fix a comparison
1847         in an assert that checks that there are enough
1848         bits reserved for the number of languages defined
1849         in the .opt files.
1851 2011-08-29  Gary Funck  <gary@intrepid.com>
1853         Implement a hash table to record UPC block factors.
1854         * c-family/stub-upc.c (upc_block_factor_insert,
1855         upc_block_factor_lookup): New dummy stub procedures.
1856         * c-family/c-common.c (c_sizeof_or_alignof_type):
1857         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1858         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1859         to copy (hashed) UPC blocking factor.
1860         (set_type_quals): Likewise.
1861         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1862         TYPE_HAS_THREADS_FACTOR().
1863         (type_common.block_factor): Delete.
1864         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1865         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1866         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1867         UPC blocking factors greater than one.
1868         * dwarf2out.c (modified_type_die): Re-implement
1869         logic that records UPC blocking factor in the generated
1870         DWARF2 debugging information.
1871         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1872         TYPE_HAS_THREADS_FACTOR().
1873         * c-decl.c (finish_decl, grokdeclarator):
1874         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1875         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1876         used by UPC, and print UPC-specific information.
1878 2011-08-28  Gary Funck  <gary@intrepid.com>
1880         Re-work the type machinery to fully support and to unify support
1881         for the UPC layout qualifier (blocking factor).
1882         * c-family/stub-upc.c (upc_set_block_factor): Delete.
1883           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1884           and update prototype.
1885         * c-family/c-common.c (complete_array_type): call newly
1886           defined c_build_qualified_type_1() instead of
1887           upc_set_block_factor().
1888         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1889           upc_apply_layout_qualifier() and update prototype.
1890           (upc_set_block_factor): Delete prototype.
1891         * c-family/c-common.h (c_build_qualified_type): redefine
1892           as a pre-processor macro that invokes c_build_qualified_type_1()
1893           with a null UPC layout qualifier.
1894           (c_build_qualified_type_1): New.  Add layout qualifier argument
1895           to old c_build_qualified_type() prototype.
1896         * tree.c (set_type_quals, check_qualified_type):
1897           Add layout qualifier as argument.
1898           (check_aligned_type): Add check for UPC block factor equality.
1899           (get_qualified_type_1): Rename from get_qualified_type() and
1900           add layout qualifier as argument.
1901           (build_qualified_type_1): Rename from build_qualified_type() and
1902           add layout qualifier as argument.
1903         * tree.h (check_qualified_type): Add layout qualifier as argument
1904           to the prototype.
1905           (get_qualified_type): Re-define as a as a pre-processor macro
1906           that invokes get_qualified_type_1() with a null
1907           UPC layout qualifier.
1908           (get_qualified_type_1): Rename from get_qualified_type() and
1909           add layout qualifier as argument.
1910         * cp/tree.c (c_build_qualified_type_1): Rename from
1911           c_build_qualified_type() and add (unused) layout qualifier
1912           argument.
1913         * c-decl.c (finish_decl): re-format long error messages.
1914           (grokdeclarator): Re-work the logic so that it calls
1915           upc_grok_layout_qualifier() to handle the UPC layout
1916           qualifier, if present.
1917         * c-typeck.c (qualify_type, common_pointer_type,
1918           build_component_ref): Re-work the logic so that it calls
1919           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1920           if present.
1921           (c_build_qualified_type_1): Rename from c_build_qualified_type()
1922           and add layout qualifier argument.
1923         * print_tree.c (print_node): Re-format a long line.
1925 2011-08-26  Gary Funck  <gary@intrepid.com>
1927         Merge trunk version 177949 into gupc branch.
1928         * c-family/c-common.h (enum rid): Bump the number of type modifiers
1929           in the comment.
1930         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1931           to add new rliterals column value.
1933 2011-08-26  Gary Funck  <gary@intrepid.com>
1935         * convert.c (convert_to_integer): Fix the check for the
1936           difference between two UPC pointers-to-shared values.
1938 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
1940         * configure.ac: Fix the name for --with-upc-pts-packed-bits
1941           option. Support --with-upc-packed-bits as deprecated. Fix the code to
1942           correctly check packed bits.
1943         * configure: Re-generate.
1945 2011-08-16  Gary Funck  <gary@intrepid.com>
1947         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1948           the barrier id expression is not an integer expression.
1950 2011-08-12  Gary Funck  <gary@intrepid.com>
1952         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1953           (revert to trunk).
1954         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1955           Set mode of UPC pointer-to-shared rep. to an
1956           integral mode of size at least as large as the
1957           size of the representation's struct type.
1959 2011-08-12  Gary Funck  <gary@intrepid.com>
1961         Rework/simplify the UPC genericize pass.
1962         * c-family/stub-upc.c (upc_apply_layout_qualifier,
1963           upc_build_pointer_type): New.
1964           (upc_set_block_factor): Adjust to new calling sequence.
1965           (upc_build_shared_var_addr): Delete.
1966         * c-family/c-common.c (complete_array_type): Adjust call
1967           to upc_set_block_factor().
1968         * c-family/c-upc.h (upc_apply_layout_qualifier,
1969           upc_build_pointer_type): New.
1970           (upc_build_shared_var_addr): Delete.
1971           (upc_set_block_factor): Adjust to new calling sequence.
1972         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1973         * c-decl.c (grokdeclarator): Call newly defined
1974           upc_apply_layout_qualifier() instead of upc_set_block_factor().
1975         * c-decl.c (grokdeclarator): Split long UPC-related error
1976           messages into two lines.
1977         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1978           directly.  Revert that change to trunk. (upc_genericize() will
1979           handle lowering the expressions that take the address of a
1980           UPC variable).
1981         * config/i386/i386.c (ix86_promote_function_mode): For UPC
1982           pointers-to-shared, return the type mode of the UPC pointer-to-shared
1983           representation type.
1985 2011-08-10  Gary Funck  <gary@intrepid.com>
1987         Implement additional fixes for recent merge with trunk.
1988         * explow.c (promote_mode): Do not attempt to promote
1989           the mode for UPC pointer-to-shared types.
1990         * config/i386/i386.c (function_value_64): Ditto.
1992 2011-08-07  Gary Funck  <gary@intrepid.com>
1994         Merge trunk version 177548 into gupc branch.
1995         * config/i386/i386.c (ix86_promote_function_mode):
1996           Do not promote UPC pointers-to-shared to Pmode.
1997         * c-family/c-ommon.c (pointer_int_sum):
1998           Also check the pointer operand, rather than just
1999           its type, when making the decision to derive
2000           the equivalent unshared type.
2001         * tree.c (build2_stat): If the type of the result
2002           passed in as an argument is a UPC shared type,
2003           derive the unshared equivalent when calculating
2004           the result type of the node.
2006 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
2008         * config/darwin.c: Disable var_tracking option
2009           on -O0 as it is supposed to run only when optimization
2010           is applied. See GCC bug 49743.
2012 2011-07-06  Gary Funck  <gary@intrepid.com>
2014         Re-implement the pass that lowers trees generated by
2015         the UPC front-end into GENERIC.  Previously this was
2016         done within the gimplification framework, but this
2017         required that gimplification be run before inlining
2018         and various other passes, which did not fit in well
2019         with the current design of the middle-end passes.
2020         Now, the lowering is done by a newly defined language
2021         specific genericize hook.  With this change, we are
2022         are able to undo some extensions made to the gimplify
2023         logic, and thus can revert several files to trunk.
2025         * c-decl.c: Add a check for UPC deprecated names which
2026           may appear as undefined function names.
2027         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
2028           LTI_upc_getaddr): Remove definitions of unused UPC
2029           library function names.  These were defined back when
2030           the libfunc interface was used to call these routines.
2031         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
2032           in UPC lowering (genericize) pass.
2033         * langhooks.h (gimplify_expr): Revert to trunk's definition.
2034           (instrument_func): Delete this hook.  Now handled in
2035           upc_genericize().
2036         * tree-pass.h: Revert to trunk.
2037         * c-typeck.c (build_unary_op): Adjust reference to
2038           upc_genericize() in a comment.
2039         * gimplify.c (create_tmp_var_raw): Delete logic that
2040           was converting UPC shared types into unshared types
2041           to be used for temporaries.  Now handled in  upc_genericize().
2042           Replace with an assertion check.
2043           (prepare_gimple_addressable): Revert to trunk's definition.
2044           No longer needed as an externally called function.
2045           (flag_instrument_functions_exclude_p): Re-define as
2046           an externally called function.
2047           (gimplify_function_tree): Delete code that implemented
2048           call to UPC's language specific function instrumentation hook.
2049         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
2050           (prepare_gimple_addressable): Delete extern definition;
2051           revert to trunk's definition.
2052         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
2053           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
2054         * c-family/c-gimplify.c: Revert to trunk.
2055         * cp/cp-gimplify.c: Revert to trunk.
2056         * cp/cp-tree.h: Revert to trunk.
2057         * explow.c: Revert to trunk.
2058         * langhooks.c: Revert to trunk.
2059         * libfuncs.h: Revert to trunk.
2060         * objc/objc-act.c: Revert to trunk.
2062 2011-06-30  Gary Funck  <gary@intrepid.com>
2064         * c-family/c.opt: Bring options definitions up-to-date
2065         with respect to changes made in the trunk.
2067 2011-06-29  Gary Funck  <gary@intrepid.com>
2069         Merge trunk version 175584 into gupc branch.
2071 2011-06-13  Gary Funck  <gary@intrepid.com>
2073 libcpp/
2074         * include/cpplib.h (enum c_lang):
2075         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
2076         This keeps all the "C" variants together.
2077         * init.c (lang_defaults): Add an entry for UPC.
2079 2011-06-09  Gary Funck  <gary@intrepid.com>
2081         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
2082         a 32-bit target, the size expression overflowed, the result was
2083         error_mark_node, and an ICE was triggered on an attempt to evaluate
2084         C_TYPE_VARIABLE_SIZE() on the error node.
2085         (upc_blocksizeof_expr, upc_blocksizeof_type,
2086         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
2087         Make similar changes to avoid further processing of error_mark_node.
2089 2011-06-07  Gary Funck  <gary@intrepid.com>
2091         * sel-sched.c (move_op): Incorporate the following
2092         patch to eliminate ICE at -O3 on IA64/Altix.
2094 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
2096         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
2097         code_motion_path_driver returned 0 or 1.
2098         (sel_region_finish): Clear h_d_i_d.
2100 2011-06-02  Gary Funck  <gary@intrepid.com>
2102         Merge trunk version 174558 into gupc branch.
2104 2011-05-30  Gary Funck  <gary@intrepid.com>
2106         * configure.ac: Make the default order of the virtual
2107           address field in a UPC pointer-to-shared to be "first".
2108           This reverts to the previous setting, and is a short term
2109           measure to work around a bug found on the IA64,
2110           where vaddr=last led to incorrect code generation.
2111           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
2112           in AC_DEFINE(), to agree with recent changes in files
2113           that reference this define.
2114           configure, config.in: Regenerate.
2116 2011-05-26  Gary Funck  <gary@intrepid.com>
2118         * configure.ac: Fix typo when referring to $upc_vaddr_order.
2119           configure: Regenerate.
2121         * ../fixincludes/fixincl.x: Revert to trunk.
2122           This file is auto-generated, and should not be merged.
2124 2011-05-18  Gary Funck  <gary@intrepid.com>
2126         Merge trunk version 173845 into gupc branch.
2128 2011-05-17  Gary Funck  <gary@intrepid.com>
2130         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
2131           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
2133         * c-family/c-pragma.c: Remove conditional compilation
2134           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
2135           Test 'compiling_upc' when compiling to determine if
2136           the "upc" and "pupc" pragmas should be registered.
2138         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2139           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2140           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2141           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2142           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2143           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
2144           Move these target-dependent definitions from config/upc-conf.h
2145           to here.
2147         * configure.ac: Improve the logic for UPC-related options.
2148           Delete references to pre-processor definitions that have
2149           been moved to "upc/upc-pts.h".
2151         * configure, config.in: Regenerate.
2153         * Makefile.in (UPC_PTS_REP): Remove definition and revert
2154           to trunk.  This substitution variable was used to
2155           configure the representation-specific versions of
2156           the tree rewrites that operate on UPC pointer-to-shared
2157           types and objects.
2159         * c-parser.c (c_parser_upc_forall_statement): Remove
2160           reference to UPC_FORALL_DEPTH_NAME, and call
2161           newly defined upc_rts_forall_depth_var() instead.
2163         * config/upc-config.h: Delete. Various definitions
2164           moved to "upc/upc-rts-names.h", "defaults.h", and
2165           "upc/upc-pts.h".
2167         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
2168           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
2169           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
2170           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
2171           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
2172           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
2173           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
2174           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
2175           New.  Document UPC target macros.
2176           doc/tm.texi: Regenerate.
2178 2011-05-07  Gary Funck  <gary@intrepid.com>
2180         * ../configure.ac: Disable build of libupc
2181           on non POSIX hosted systems.  Use AS_HELP_STRING
2182           to define messages.  Remove 'word-pair' as a
2183           possible --with-upc-pts UPC pointer-to-shared
2184           representation.
2186         * ../configure: Regenerate.
2188         * configure.ac: Use AS_HELP_STRING to define messages.
2189           Remove 'word-pair' as a possible --with-upc-pts
2190           UPC pointer-to-shared representation.
2191           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2192           (UPC_MAX_BLOCK_SIZE): Correct the default value.
2194         * configure: Regenerate.
2196         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2197           definition.
2199         * ChangeLog.upc: Fix some typos.
2201 2011-05-07  Gary Funck  <gary@intrepid.com>
2203         * ../maintainer-scripts/gcc_release: Add "upc"
2204           as one of the released languages.
2206 2011-05-06  Gary Funck  <gary@intrepid.com>
2208         Eliminate compilation warnings, by fixing
2209         #include's and updating function prototypes.
2211         * c-family/c-cppbuiltin.c: Include c-upc.h.
2213         * optabs.c (gen_libfunc): Change type of 'suffix'
2214           parameter to conform with prototype.
2216         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2217           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2218           hook used by UPC.
2220         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2221           the prototype.
2223         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2224           argument values to cp_gimplify_expr.
2226         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2227           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
2228           pre-processor definitions that are no longer
2229           needed to build the 'upc' command (upc-cmd.c)
2230           because the linker specs. defined in libupc
2231           take care of linking in the needed libraries.
2233         * c-parser.c (c_parser_upc_forall_statement):
2234           initialize affinity_loc to avoid "maybe unused" warning.
2235           (c_parser_upc_sync_statement): Remove un-needed
2236           'ret' variable.  Cast return value from
2237           'upc_build_sync_stmt' to 'void' to avoid
2238           compile-time warning.
2240         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2241           integer constant, not a string.  Range is restricted
2242           to maximum positive 32-bit integer (2+ billion) to
2243           fit in with the use of 'int' in the front-end's
2244           switch handling logic.
2246 2011-05-06  Gary Funck  <gary@intrepid.com>
2248         Upgrade c-family source files to conform with modularity
2249         improvements.  Mainly, remove #include of c-tree.h in files
2250         under c-family, and define a new UPC-specific #include file,
2251         c-upc.h, and use it.
2253         * c-family/stub-upc.c: Remove #include of c-tree.h and
2254           upc/upc-act.h.  Replace with #include of c-common.h
2255           and c-upc.h.
2256           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2257           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2258           upc_localsizeof_expr, upc_localsizeof_type,
2259           upc_shared_type_p): Delete.
2261         * c-family/c-opts.c: Add #include of c-upc.h
2263         * c-family/c-common.c: Remove #include of c-tree.h and
2264           add #include of c-upc.h.
2266         * c-family/c-upc.h: New. Define API for UPC-specific functions
2267           (mostly implemented in upc/upc-act.c).
2269         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2270           Remove extern definitions.
2272         * c-family/c-pragma.c: Remove #include of c-tree.h.
2273           Add #include of c-upc.h.
2275         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
2276           c-tree.h.
2277           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
2278           upc/upc-act.c, and define as a macro.
2279           (expand_affinity_test): Remove unused external definition.
2280           (build_upc_unshared_type): Add external definition.
2281           (upc_shared_type_p): Remove external definition.
2283         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2285         * dojump.c: Remove #include of c-tree.h.
2287         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2288           and move to tree.h.
2289           (count_upc_threads_refs, is_multiple_of_upc_threads,
2290           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2291           upc_build_shared_var_addr, upc_build_sync_stmt,
2292           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2293           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2294           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2295           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2296           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2297           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2298           set_upc_consistency_mode, get_upc_consistency_mode,
2299           push_upc_consistency_mode, pop_upc_consistency_mode,
2300           get_upc_pupc_mode):
2301           Move external definitions to c-family/c-upc.h.
2302           (upc_blocksizeof_type, upc_localsizeof_type,
2303           upc_elemsizeof_type): Remove external definitions;
2304           these functions were moved to c-parser.c.
2306         * c-decl.c: Add #include of c-upc.h.
2308         * c-typeck.c: Add #include of c-upc.h.
2310         * c-convert.c: Add #include of c-upc.h.
2312         * ChangeLog.upc: Fix typo.
2314         * Makefile.in: Add references to c-family/c-upc.h, everywhere
2315           there is a reference to c-family/c-objc.h.
2316           Remove extraneous reference to upc-act.h.
2318         * c-parser.c: Add #include of c-upc.h.
2319           (upc_blocksizeof_expr, upc_blocksizeof_type,
2320           upc_elemsizeof_expr, upc_elemsizeof_type,
2321           upc_localsizeof_expr, upc_localsizeof_type):
2322           Move from upc/upc-act.c.
2324         * tree.c (build_upc_unshared_type): New.
2325           Move upc_get_unshared_type from upc/upc-act.c and rename
2326           to build_upc_unshared_type.
2327           c-family/c-common.c (pointer_int_sum): refer to renamed
2328           build_upc_unshared_type function.
2329           c-convert.c (convert): Ditto.
2330           convert.c (convert_to_pointer): Ditto.
2331           c-typeck.c (build_unary_op, build_modify_expr,
2332           really_start_incremental_init): Ditto.
2333           gimplify.c (create_tmp_var_raw): Ditto.
2334           tree.c (build1_stat): Ditto.
2335           tree.h (upc_get_unshared_type): Rename to
2336           build_upc_unshared_type.
2338 2011-05-06  Gary Funck  <gary@intrepid.com>
2340         Merge trunk version 173471 into gupc branch.
2342 2011-05-05  Gary Funck  <gary@intrepid.com>
2344         Make changes that bring the GUPC branch more closely in sync.
2345         with the GCC trunk.  Revert any fixes that are not UPC-specific.
2346         Remove gratuitous re-formatting.
2348         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2349           This file should have been removed in a previous merge
2350           with the trunk.
2351         * ../configure.ac: Remove Cray Catamount/CNL support.
2352         * ../configure: Regenerate.
2353         * ../config.sub: Remove Cray Catamount/CNL support.
2354         * config.gcc: Remove Cray Catamount/CNL support.
2355         * ../maintainer-scripts/gcc_release: Revert to trunk.
2356         * c-family/c-common.h: Define parse_optimize_options.  Its definition
2357           was missed in a previous merge with the trunk.
2358         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2359           procedure.
2360         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2361           in addition to ARRAY_TYPE.
2362         * c-typeck.c: Remove an extra newline character.
2363         * varasm.c: Revert a fix that improved an error message
2364           when TLS common data is unimplemented.
2365         * varasm.c: Revert a gcc_assert that had been added which
2366           checked for a null DECL_SIZE_UNIT field.
2367         * emultls.c: Revert to trunk. Remove possible fix.
2368         * Makefile.in: Revert extra blank line that is present
2369           in the trunk version.
2370         * Makefile.in: Revert a fix that handled long shell
2371           argument lists for plugin headers.
2372         * config/ia64/ia64.opt: Revert an option setting
2373           that increased the default TLS address range.
2374         * config/ia64/crtbegin.asm: Revert to trunk.
2375           Removes an extra newline character.
2376         * ChangeLog.upc: Spell check.
2378 2011-05-03  Gary Funck  <gary@intrepid.com>
2380         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2381           (c_apply_type_quals_to_decl): Ditto.
2382         * c-family/c-common.h: Ditto.
2383         * dojump.c: Ditto.
2384         * c-decl.c (merge_decls): Ditto.
2385         * c-typeck.c (qualify_type, default_conversion,
2386           build_component_ref, build_unary_op,
2387           c_build_qualified_type): Ditto.
2388         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2390 2011-04-29  Gary Funck  <gary@intrepid.com>
2392         * c-decl.c (finish_decl): Improve error diagnostics.
2393           (grokdeclarator): Ditto.
2395         * c-typeck.c (build_c_cast): Improve error diagnostics.
2396           (convert_for_assignment): Ditto.
2397           (build_binary_op): Ditto.
2399         * c-parser.c (c_parser_upc_forall_statement):
2400           Improve error diagnostics.
2402         * convert.c (convert_to_integer):  Improve error diagnostics.
2404 2011-04-24  Gary Funck  <gary@intrepid.com>
2406         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2407           occurred if there is an error in the barrier id
2408           expression.  Map error_mark_node into NULL.
2410 2011-04-22  Gary Funck  <gary@intrepid.com>
2412         Merge trunk version 172873 into gupc branch.
2414 2011-04-19  Gary Funck  <gary@intrepid.com>
2416         Merge trunk version 172359 into gupc branch.
2418 2011-04-14  Gary Funck  <gary@intrepid.com>
2420         * c-family/c.opt: Add UPC as a valid language for various
2421           switches where it is valid for "C", that were not updated
2422           in previous merges with trunk.
2424 2011-04-13  Gary Funck  <gary@intrepid.com>
2426         * c-family/c.opt (fupc-pre-include): New option definition.
2427         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2428           -fno-upc-pre-include is asserted.
2430 2011-04-07  Gary Funck  <gary@intrepid.com>
2432         Merge trunk version 172158 into gupc branch.
2433         to bring in the following fix.
2435 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
2437         PR bootstrap/48403
2438         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2439         if old and new states differ.
2441 2011-04-06  Gary Funck  <gary@intrepid.com>
2443         Merge trunk version 171966 into gupc branch.
2445 2011-04-01  Gary Funck  <gary@intrepid.com>
2447         * tree.h (tree_base): Move UPC flag bits into bit fields
2448           located just before spare bits.  Decrement spare bits.
2449           Rename 'shared_flag' -> 'upc_shared_flag',
2450           'relaxed_flag' -> 'upc_relaxed_flag',
2451           'strict_flag' -> 'upc_strict_flag, and adjust macros
2452           that reference them accordingly.
2454 2011-04-01  Gary Funck  <gary@intrepid.com>
2456         * c-decl.c (grokdeclarator): Fix formatting of
2457           code that sets UPC block size on scalars.
2459 2011-04-01  Gary Funck  <gary@intrepid.com>
2461         * c-decl.c (grokdeclarator): Revert use of white space
2462           to match the trunk (to rationalize diffs).
2463         * c-typeck.c (convert_for_assignment): Ditto.
2464         * tree-ssa.c (useless_type_conversion_p): Ditto.
2466 2011-03-23  Gary Funck  <gary@intrepid.com>
2468         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2469           the GCC 4.6 release branch.
2471 2011-03-21  Gary Funck  <gary@intrepid.com>
2473         Merge trunk version 171202 into gupc branch.
2475 2011-03-20  Gary Funck  <gary@intrepid.com>
2477         * varasm.c: Call error() directly with a format specifier,
2478           rather than using sprintf() to format the message.
2479           This should make it easier to internationalize UPC's error messages.
2481 2011-03-20  Gary Funck  <gary@intrepid.com>
2483         * configure.ac: Fix the check for gnu ld when enabling
2484           UPC link script support.
2485           configure: Regenerate (also picks up changes from previous
2486           merge with trunk).
2488 2011-03-20  Gary Funck  <gary@intrepid.com>
2490         Move UPC start files, end files, and linker specs.
2491         into libupc.  This reduces the impact on common GCC
2492         configuration files, and ensures that these UPC-specific
2493         components are only built when the UPC language dialect is selected.
2495 gcc/
2496         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2497           linker specs. Fix typo in -fupc-debug message.
2499         * config/upc-conf.h, config/darwin.h: Move defines for
2500           UPC-related section begins/ends into libupc/config/default/
2501           upc-crt-config.h.
2503         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2504           UPC-related linker compiler specifications,
2505           accessed via %:include().
2507         * configure.ac, configure: Remove logic related to building
2508           upc-crtbegin/end. Remove config. tests for numa and cpu
2509           affinity (previously used by the 'upc' driver); these
2510           settings are now propagated by target-specific compiler
2511           specs. built by libupc.  Regenerate autoconf.
2513         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2514           linker compiler specifications, accessed via %:include().
2515           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2516           'link_upc_spec'.
2518         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2520         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2521           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2522           config/ia64/linux.h, config/mips/t-iris,
2523           config/mips/iris6.h: Revert to trunk version 167307.
2525 libgcc/
2526         * configure, configure.ac, config.host, Makefile.in:
2527           Revert to trunk version 167307.
2529 2011-02-23  Gary Funck  <gary@intrepid.com>
2531         * c-decl.c (undeclared_variable): fix typo. Inadvertently
2532         removed negation on following 'if'.
2534 2011-02-22  Gary Funck  <gary@intrepid.com>
2536         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2537         to check for the usage of certain deprecated UPC keywords.
2538         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2539         * c-tree.h (undeclared_variable): Define prototype.
2541 2011-02-12  Gary Funck  <gary@intrepid.com>
2543         * c-typeck.c: (build_c_cast, convert_for_assignment)
2544           Diagnose an attempt to convert from an integer to
2545           a pointer-to-shared as an error.  Also, fix various
2546           error messages so that they use the preferred term
2547           pointer-to-shared instead of "shared pointer".
2549 2011-02-07  Gary Funck  <gary@intrepid.com>
2551         * c-typeck.c: (convert_for_assignment)
2552           Fix typo. in error message.
2554 2011-01-23  Gary Funck  <gary@intrepid.com>
2556         * c-typeck.c: (c_build_qualified_type)
2557           derive UPC block size by calling upc_get_block_size(),
2558           to ensure that the element type of an array of an array
2559           is derived correctly.
2561 2010-12-29  Gary Funck  <gary@intrepid.com>
2563         Merge trunk version 168314 into gupc branch.
2565 2010-12-15  Gary Funck  <gary@intrepid.com>
2567         Merge trunk version 167307 into gupc branch.
2569 2010-10-19  Gary Funck  <gary@intrepid.com>
2571         * c-typeck.c: Fix typo in previous fix
2572           which led to a mis-compare for equal block sizes.
2574 2010-10-18  Gary Funck  <gary@intrepid.com>
2576         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2577           diagnosed as an error
2579           The conversion from any type (shared or not) to
2580           a shared type is likely either meaningless or an error.  This update
2581           makes any conversion to a shared type, an error.
2583 2010-10-18  Gary Funck  <gary@intrepid.com>
2585         * c-typeck.c: Fix bug: passing int to shared pointer arg.
2586           generates spurious warning
2588           Add a #define procedure that does the same thing as
2589           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
2590           this procedure to diagnose passing an integer value to a
2591           pointer-to-shared as an error.
2593 2010-10-18  Gary Funck  <gary@intrepid.com>
2595         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2596           matching routine declaration.
2598           When checking for type compatibility, shared qualified types must
2599           have the same block factor.  This check was missing from
2600           comptypes_internal().  This update adds the check for blocking
2601           factor equality.
2603 2010-10-17  Gary Funck  <gary@intrepid.com>
2605         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2606           found (-O1 -g)
2608           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2610 2010-10-17  Gary Funck  <gary@intrepid.com>
2612         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2613           45869 - [4.5/4.6 Regression] type mismatch in shift expression
2614           produces ice with -O3 and -m32.
2616           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2618 2010-10-17  Gary Funck  <gary@intrepid.com>
2620         * c-common.c: Diagnose the application of the various "*sizeof"
2621           operations on generic pointer-to-shared as a compilation error.
2623 2010-10-17  Gary Funck  <gary@intrepid.com>
2625         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2626           message regarding a function parameter being declared with a shared
2627           qualifier.
2629           The parameter's 'name' value is not defined at this point, and
2630           cannot be used in the error message.  This update removes the
2631           reference to 'name', and eliminates the segfault.
2633 2010-10-16  Gary Funck  <gary@intrepid.com>
2635         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2637           The gcc/Makefile.in rules for install-plugin had to be re-written to
2638           break up a long list of header files that exceeded the command line
2639           limitation imposed by Irix.
2641           Access functions for TFmode types had to be implemented.
2642           Apparently, this is the mode used for the SGI/MIPS port to represent
2643           "long float".
2645 2010-10-14  Gary Funck  <gary@intrepid.com>
2647         * c-decl.c: Fix bug: Multiple equal blocking factors specified
2648           via typedef chain should not be diagnosed as an error.
2650           If the block size that is given by the typedef is equal to the block
2651           size given explicitly in the variable declaration, then do not
2652           complain.  The easiest way to make this check was to create a
2653           temporary type that is a clone of the element type and then set its
2654           block size using the given layout qualifier.  Then compare the block
2655           size of the temporary (the declaration) to the block size specified
2656           in the typedef.  This complexity is needed, because the '[*]' block
2657           size needs to be calculated, and the '[]' needs to be mapped into a
2658           zero block size.
2660 2010-10-10  Gary Funck  <gary@intrepid.com>
2662         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2663           specified
2665           The compiler properly detected the presence of two or more layout
2666           qualifiers as an error, but then hit an assertion check, because the
2667           code that followed the error expected to see a qualifier and not a
2668           layout specifier.  The fix is simple: just return immediately after
2669           detecting the error.
2671 2010-10-10  Gary Funck  <gary@intrepid.com>
2673         * c-decl.c: Improve error diagnostics for various cases of UPC
2674           shared array type declarations.
2676           Add the check for this error: "In the dynamic translation
2677           environment, THREADS may not appear in declarations of shared arrays
2678           with indefinite block size".  Also, fix up a few of the other
2679           related error diagnostics.
2681 2010-10-09  Gary Funck  <gary@intrepid.com>
2683         * c-common.c: Fix bug: segfault on incomplete array definition.
2685           This turned out to be a bit complicated.   The logic in
2686           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2687           the THREADS identifier in the case where the blocking factor has
2688           been set to indefinite ([]).  This can happen when indefinite array
2689           declarations are processed for shared arrays.  At that time, the
2690           file scope has been closed and THREADS is no longer in scope.  Some
2691           more work is needed on upc_lang_layout_decl().  It has some
2692           duplication, and notably duplicates the two branches of the if
2693           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2694           caller of this routine (layout_decl()).
2696           The method of forcing a layout qualifier of [] in the indefinite
2697           declaration handler is odd a well.  The code that just does the
2698           setting of the block factor, needs to moved into its own routine
2699           that doesn't depend upon a declspec for '[]' to be passed in, just
2700           in order to set the blocking factor to some value (in this case, 0).
2701           Also, the logic for how that shared type is constructed is strange.
2702           First the type with 0 blocking factor is set.  Then the shared
2703           qualifier is removed from the type, and then added back later.  The
2704           intermediate type has a blocking factor set, but it has no shared
2705           qualifier.  Fixing this will require some thought.  It is tempting
2706           just to make indefinite shared arrays an error, rather than forcing
2707           the dimension to be '1'.
2709           This likely fixes a serious error in the previous update to
2710           upc_lang_layout_decl(), where it didn't have the logic to set
2711           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
2712           the previous update would fail on many tests.
2714 2010-10-09  Gary Funck  <gary@intrepid.com>
2716         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2717           (decl) is null, which can happen if some layout error occurred
2718           upstream.
2720 2010-10-09  Gary Funck  <gary@intrepid.com>
2722         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2723           "variable-sized" when compiled in dynamic threads.
2725           This long-standing bug is easily fixed.  Just check
2726           for the situation that the non-constant sized type is shared and
2727           that it does not have a dimension that references a multiple of
2728           threads.  If this criteria is met, then issue a meaningful
2729           diagnostic.
2731 2010-10-01  Gary Funck  <gary@intrepid.com>
2733         * configure, configure.ac: Update manual page, and bug reporting
2734           URL.
2736           Update "man" page to reflect debugging switches.  Also, some general
2737           clean up.  Change the bug reporting URL to point to gccupc.org.
2739 2010-09-27  Gary Funck  <gary@intrepid.com>
2741         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2742           the UPC forall depth count variable is not found.
2744           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2745           The compiler will generate code that references this variable in
2746           order to implement nested upc_forall semantics.  If there is a
2747           compiler build or install problem, this variable may not be found.
2748           In this case, terminate with an internal_error().
2750 2010-09-26  Gary Funck  <gary@intrepid.com>
2752         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2753           mis-diagnosed as syntax error.
2755           Fix a failure exhibited by the Berkeley test case,
2756           bug873a.upc, which has the code:
2757                double d;
2758                upc_forall (;;;d) {...} The compiler did not properly handle
2759           the empty "condition" clause, and did not recover well when it was
2760           determined that the use of a double value, "d" above, was neither a
2761           pointer-to-shared nor an integer expression.  The update implements a
2762           fix for both issues.
2764           See also: gcc/c-parser.c gcc/upc/upc-act.c
2766 2010-09-23  Gary Funck  <gary@intrepid.com>
2768         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2769           incorporated into the referencing type.
2771           This was semi-fixed a few times before.  This update fixes a few
2772           more places where the layout qualifier wasn't being propagated
2773           through typedef's properly.  What made this a bit tricky is shown in
2774           the example cited in the bug report:
2776           typedef shared [5] int A_t; A_t A[5*THREADS];
2778           In the typedef, the blocksize is being applied to a shared *scalar*,
2779           and the code was applying the blocksize only to arrays.  This update
2780           handles shared scalars correctly.
2782 2010-09-22  Gary Funck  <gary@intrepid.com>
2784         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2785           upc_forall() semantics are not implemented
2787           The checkforall test in the Berkeley harness test suite indicated
2788           that GCC/UPC was not properly implementing nested upc_forall
2789           semantics.  Nested upc_forall statements (both statically or
2790           dynamically nested) must implement their affinity clause as if it
2791           were "continue"; thus all steps in the loop must execute without
2792           regard for affinity.  To implement these semantics a global depth
2793           counter, __upc_forall_depth, is maintained by the generated code
2794           that implements upc_forall.
2796           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2797           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2798           libupc/include/upc.h libupc/smp/upc_main.c
2800 2010-09-19  Gary Funck  <gary@intrepid.com>
2802         * c-decl.c: c-decl.c: zero out the layout specifier, after
2803           processing an array type.
2805           Fix the previous fix, that moved the setting of the type's layout
2806           qualifier to the outside of the array type processing loop.  What is
2807           missing from the fix is that the layout_qualifier variable needs to
2808           be cleared after setting the type's blocksize.
2810 2010-09-19  Gary Funck  <gary@intrepid.com>
2812         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2813           given blocksize is greater than UPC_MAX_BLOCKSIZE.
2815           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2816           the actual maximum block size.  Therefore, the message was correct,
2817           but the underlying value that was being checked was wrong.  Change
2818           the values so that they agree with the actual implementation-defined
2819           limit.
2821 2010-09-11  Gary Funck  <gary@intrepid.com>
2823         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2824           multi-dimensional shared array with dynamic threads.
2826           This declaration caused an internal compiler error when compiled
2827           with dynamic threads:
2828               shared [*] int A[THREADS][16]; The bug was discovered when
2829           compiling the RTED_UPC test suite.
2831           The fix is to process layout qualifiers after the entire array type
2832           has been built.  Otherwise, we try to calculate the blocksize on a
2833           shared array type that has not had its "size depends upon the value
2834           of THREADS" flag set.
2836           Also, added a test case.
2838           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2840 2010-07-11  Gary Funck  <gary@intrepid.com>
2842         Fix a bug where a statement in c_build_qualified_type()
2843         in the trunk had been inadvertently deleted.
2844         This bug showed up in the IA64 port, because jmpbuf's
2845         on that architecture must be 16 byte aligned, and they were not.
2846         c-typeck.c (c_build_qualified_type): Revive the deleted line.
2848 2010-07-08  Gary Funck  <gary@intrepid.com>
2850         Make changes so that other language compilers
2851         will build and bootstrap.
2852         * c-family/c-common.c (compiling_upc, flag_upc,
2853         flag_upc_instrument, flag_upc_instrument_functions,
2854         use_upc_dwarf2_extensions): Move to stub-upc.c and
2855         upc-lang.c.
2856         * c-family/c-common.h (use_upc_dwarf2_extensions,
2857         compiling_upc): Add extern definitions - needed
2858         to compile/build other language front ends.
2859         * c-family/c.opt: Fix the spelling of ObjC.
2860         It had been incorrectly spelled as Objc.
2861         * c-family/c.opt: Add UPC for the various switches
2862         that are valid for both C and ObjC.
2863         * c-fmaily/c-opts.c: Add CL_UPC to the list of
2864         supported options switches when compiling assembly
2865         language.
2866         * lto/lto-lang.c (use_upc_dwarf2_extensions,
2867         flag_upc_instrument, flag_upc_instrument_functions):
2868         Remove these definitions.  They have been moved
2869         to c-family/stub-upc.c.
2870         * upc/ChangeLog: Move relevant entries
2871         to ChangeLog.upc.
2872         * c-family/stub-upc.c (compiling_upc, flag_upc,
2873         flag_upc_instrument, flag_upc_instrument_functions,
2874         use_upc_dwarf2_extensions): Moved from c-common.c
2875         * upc/upc-lang.c (compiling_upc, flag_upc,
2876         flag_upc_instrument, flag_upc_instrument_functions,
2877         use_upc_dwarf2_extensions): Moved from c-common.c
2878         * objc/objc-act.c (objc_gimplify_expr): Add additional
2879         parameters to c_gimplify_expr() call, that are used
2880         by upc's tree rewrites.
2881         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2882         * gcc/cp/lex.c (init_reswords): If not compiling
2883         UPC, then mask off the UPC keywords.
2884         * cp/Make-lang.in (C_STUB_OBJS): Use this
2885         make macro to link with c-family/stub-objc.o
2886         and c-family/stub-upc.o.
2887         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2888         * java/Make-lang.in (C_STUB_OBJS): Likewise.
2889         * objc/Make-lang.in: Link with c-family/stub-upc.o
2890         to avoid undefined references.
2891         c-parser.c: Fix line indentation.
2892         * libcpp/include/cpplib.h: Remove CL_UPC from
2893         the list of language kinds accepted by the
2894         C preprocessor.  This is not necessary because
2895         UPC is a derivative of C99, and does not need
2896         a different language kind.
2897         * c-fmaily/c-opts.c (c_common_handle_option):
2898         Call set_std_c99() when processing the
2899         "--lang upc" switch, instead of setting the
2900         language kind to CL_UPC.
2901         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2903 2010-07-03  Gary Funck  <gary@intrepid.com>
2905         Merge trunk version 161517 into gupc branch.
2906         * gcc/stub-upc.c: Move to gcc/c-family/.
2907         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2908         Add 'unused' attributes to avoid "set, but
2909         not referenced" warnings.
2910         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2911         Likewise.
2913 2010-03-01 Gary Funck  <gary@intrepid.com>
2915         Create gupc branch from trunk version 157149.