Released GUPC 4.8.0.3 based on version 196601.
[official-gcc.git] / gcc / ChangeLog.upc
blobe112821679c2dc6a63f2e1daa3821cc02fe18c23
1 2013-03-21 Gary Funck  <gary@intrepid.com>
3         Released GUPC 4.8.0.3 based on version 196601.
4         This release version was committed on 2013-03-11.
5         * DATESTAMP: Bump date stamp.
7 2013-03-18 Gary Funck  <gary@intrepid.com>
9         Merge trunk version 196771 into gupc branch.
10         * DEV-PHASE: Bump release identifier to 4.9.0-1.
12 2013-03-11 Gary Funck  <gary@intrepid.com>
14         Merge trunk version 196592 into gupc branch.
16 2013-03-04 Gary Funck  <gary@intrepid.com>
18         Merge trunk version 196422 into gupc branch.
20 2013-02-25 Gary Funck  <gary@intrepid.com>
22         Merge trunk version 196253 into gupc branch.
24 2013-02-18 Gary Funck  <gary@intrepid.com>
26         Merge trunk version 196115 into gupc branch.
28 2013-02-11 Gary Funck  <gary@intrepid.com>
30         Merge trunk version 195937 into gupc branch.
32 2013-02-04 Gary Funck  <gary@intrepid.com>
34         Merge trunk version 195707 into gupc branch.
36 2013-01-28 Gary Funck  <gary@intrepid.com>
38         Merge trunk version 195502 into gupc branch.
40 2013-01-21 Gary Funck  <gary@intrepid.com>
42         Merge trunk version 195330 into gupc branch.
44 2013-01-14 Gary Funck  <gary@intrepid.com>
46         Merge trunk version 195164 into gupc branch.
48 2013-01-07 Gary Funck  <gary@intrepid.com>
50         Merge trunk version 194962 into gupc branch.
52 2012-12-24 Gary Funck  <gary@intrepid.com>
54         Merge trunk version 194709 into gupc branch.
56 2012-12-17 Gary Funck  <gary@intrepid.com>
58         Merge trunk version 194552 into gupc branch.
60 2012-12-10 Gary Funck  <gary@intrepid.com>
62         Merge trunk version 194351 into gupc branch.
64 2012-12-03 Gary Funck  <gary@intrepid.com>
66         Merge trunk version 194076 into gupc branch.
68 2012-11-30  Gary Funck  <gary@intrepid.com>
70         Released GUPC 4.8.0.2 based on version 193446.
71         Date of release: 2012-11-12.
72         * DEV-PHASE: Bump release identifier to 4.8.0-3.
73         * DATESTAMP: Bump date stamp.
75 2012-11-26 Gary Funck  <gary@intrepid.com>
77         Merge trunk version 193807 into gupc branch.
79 2012-11-20 Gary Funck  <gary@intrepid.com>
81         Merge trunk version 193672 into gupc branch.
83 2012-11-19 Gary Funck  <gary@intrepid.com>
85         Merge trunk version 193617 into gupc branch.
87 2012-11-15 Gary Funck  <gary@intrepid.com>
89         Merge trunk version 193426 into gupc branch.
91 2012-11-12  Gary Funck  <gary@intrepid.com>
93         Released GUPC 4.8.0.1 based on version 192948.
94         Date of release: 2012-10-29.
95         * DEV-PHASE: Bump release identifier to 4.8.0-2.
96         * DATESTAMP: Bump date stamp.
98 2012-11-05 Gary Funck  <gary@intrepid.com>
100         Merge trunk version 193152 into gupc branch.
102 2012-10-29 Gary Funck  <gary@intrepid.com>
104         Merge trunk version 192909 into gupc branch.
106 2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>
108         Remove unused --upc-pthreads-per-process compile switch. 
109         * c-family/c.opt: Remove --upc-pthreads-per-process switch
110         that compiler/runtime do not use.
111         * c-family/c-opts.c (c_common_handle_option): Remove support for
112         --upc-pthreads-per-process switch.
113         * c-family/c-common.c: Ditto.
114         * c-family/c-common.h: Ditto.
116 2012-10-27 Gary Funck  <gary@intrepid.com>
118         * defaults.h: fix typos and formatting in UPC-related entries.
120 2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>
122         Place shared initialization code into the .text
123         section instead of a separate .upc_init section.
124         * defaults.h (UPC_INIT_SECTION_NAME): Delete.
125         (UPC_INIT_BEGIN_NAME): Delete.
126         (UPC_INIT_END_NAME): Delete.
127         * doc/tm.texi.in: Ditto.
128         * doc/tm.texi: Ditto.
130 2012-10-22 Gary Funck  <gary@intrepid.com>
132         Merge trunk version 192673 into gupc branch.
134 2012-10-15 Gary Funck  <gary@intrepid.com>
136         Merge trunk version 192449 into gupc branch.
138 2012-10-08 Gary Funck  <gary@intrepid.com>
140         Merge trunk version 192198 into gupc branch.
142 2012-10-01 Gary Funck  <gary@intrepid.com>
144         Merge trunk version 191931 into gupc branch.
146 2012-09-26  Gary Funck  <gary@intrepid.com>
148         Implement support for various UPC version 1.3 specification
149         additions and changes. Deprecate support for upc_local_alloc.
150         Add support for upc_tick (wall-clock timer) library.
151         Add support for collective de-allocation functions:
152         upc_all_free and upc_all_lock_free.
153         Consult gcc/upc/ChangeLog, libgupc/ChangeLog,
154         libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.
156 2012-09-24 Gary Funck  <gary@intrepid.com>
158         Merge trunk version 191658 into gupc branch.
160 2012-09-17  Gary Funck  <gary@intrepid.com>
162         Merge trunk version 191376 into gupc branch.
164 2012-09-10  Gary Funck  <gary@intrepid.com>
166         Merge trunk version 191141 into gupc branch.
168 2012-08-27  Gary Funck  <gary@intrepid.com>
170         Merge trunk version 190707 into gupc branch.
171         * tree.h (struct tree_base): Adjust various
172         UPC tree and type flags to refer to the
173         newly introduced u.bits field.
175 2012-08-20  Gary Funck  <gary@intrepid.com>
177         Merge trunk version 190524 into gupc branch.
178         Incorporates a fix in genoutput.c (to properly use
179         CONST_CAST) that led to build failures with
180         older versions of g++.
182 2012-08-16  Gary Funck  <gary@intrepid.com>
184         Merge trunk version 190437 into gupc branch.
185         Incorporates a fix for a build failure on the PPC
186         due to passing incorrect switches to the assembler.
187         Also, first merged trunk revision that compiles GCC
188         with the C++ compiler in the first stage.
190 2012-08-13  Gary Funck  <gary@intrepid.com>
192         Merge trunk version 190336 into gupc branch.
194 2012-08-09  Gary Funck  <gary@intrepid.com>
196         * c-family/c-common.c (c_fully_fold_internal): Do not fold
197         offsetof-like expressions when they are applied to UPC
198         shared types.
200 2012-08-06  Gary Funck  <gary@intrepid.com>
202         Merge trunk version 190173 into gupc branch.
204 2012-08-01  Gary Funck  <gary@intrepid.com>
206         Merge trunk version 190063 into gupc branch.
207         Incorporates fix for build failure on IA64.
209 2012-07-30  Gary Funck  <gary@intrepid.com>
211         Merge trunk version 189954 into gupc branch.
213 2012-07-27  Gary Funck  <gary@intrepid.com>
215         Merge trunk version 189856 into gupc branch.
216         Incorporates fix for bootstrap with a sub-set of language
217         specific source directories present.
218         * optabs.c: Revert to trunk.  Rather than defining opcodes
219         as a way of defining get/put runtime library function names,
220         generate them directly in gcc/upc/upc-genericize.c.
221         * optabs.h: Ditto.
222         * genopinit.c: Ditto.
224 2012-07-23  Gary Funck  <gary@intrepid.com>
226         Merge trunk version 189777 into gupc branch.
228 2012-07-16  Gary Funck  <gary@intrepid.com>
230         Merge trunk version 189545 into gupc branch.
232 2012-07-12  Gary Funck  <gary@intrepid.com>
234         Merge trunk version 189366 into gupc branch.
236 2012-07-05  Gary Funck  <gary@intrepid.com>
238         Merge trunk version 189274 into gupc branch.
239         Incorporates graphite build infrastructure changes.
241 2012-07-04  Gary Funck  <gary@intrepid.com>
243         Merge trunk version 189080 into gupc branch.
244         * Makefile.in: Adjust for move of C front-end files.
245         * c/Make-lang.in: Ditto.
247 2012-07-03  Gary Funck  <gary@intrepid.com>
249         Merge trunk version 189078 into gupc branch.
251 2012-06-25  Gary Funck  <gary@intrepid.com>
253         Merge trunk version 188931 into gupc branch.
255 2012-06-18  Gary Funck  <gary@intrepid.com>
257         Merge trunk version 188721 into gupc branch.
259 2012-06-11  Gary Funck  <gary@intrepid.com>
261         Merge trunk version 188380 into gupc branch.
263 2012-06-04  Gary Funck  <gary@intrepid.com>
265         Merge trunk version 188168 into gupc branch.
267 2012-05-29  Gary Funck  <gary@intrepid.com>
269         Merge trunk version 187927 into gupc branch.
271 2012-05-18  Gary Funck  <gary@intrepid.com>
273         Merge trunk version 187666 into gupc branch.
274         Incorporates fix for ICE in tree vectorization pass
275         when processing strided loads.
277 2012-05-17  Gary Funck  <gary@intrepid.com>
279         Merge trunk version 187578 into gupc branch.
281 2012-05-09  Gary Funck  <gary@intrepid.com>
283         Merge trunk version 187347 into gupc branch.
284         Incorporates fix for segfault in tree vectorization pass.
286 2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>
288         * testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
289         Appropriate libraries and include files are added on the
290         command line to make it possible to compile with the driver
291         from the build tree.
293 2012-04-29  Nenad Vukicevic  <nenad@intrepid.com>
295         * config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
296         PPC ABI. In the UPC 'struct' pointer-to-shared representation,
297         a function returns a pointer-to-shared in memory instead
298         of in registers.
299         (rs6000_pass_by_reference): Ditto.
301 2012-04-28  Gary Funck  <gary@intrepid.com>
303         * c-decl.c (grokdeclarator): Set 'type' to error node
304         after detecting "shared auto variable" error to avoid
305         downstream complications.
306         * upc-act.c: Fix a couple of spelling errors in comments.
308 2012-04-26  Gary Funck  <gary@intrepid.com>
310         * c-family/c-pragma.c (handle_pragma_upc):
311         Fix typo in warning message.
313 2012-04-17  Gary Funck  <gary@intrepid.com>
315         Merge trunk version 186486 into gupc branch.
317 2012-04-17  Gary Funck  <gary@intrepid.com>
319         * c-family/c-pragma.c (disable_pupc_mode): Return the previous
320         value of the pupc mode.  Fixes a compile-time warning.
321         * c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
322         disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
323         Improve source formatting.
325 2012-04-09  Gary Funck  <gary@intrepid.com>
327         Merge trunk version 186243 into gupc branch.
328         Incorporates a powerpc 'ffi' fix.
330 2012-03-16  Gary Funck  <gary@intrepid.com>
332         Merge trunk version 185454 into gupc branch.
333         Incorporates a libgcc fix for builds on Darwin.
335 2012-03-13  Gary Funck  <gary@intrepid.com>
337         Merge trunk version 185278 into gupc branch.
338         * c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
339         call build_pointer_type() to apply UPC-specific qualifiers.
340         * top-level/configure.ac: factor the checking for posix hostst
341         out of the libgomp section so that it can also be used by libgupc.
342         * top-level/configure: Re-generate.
343         * DEV-PHASE: bump to 4.8.0-1.
345 2012-03-12  Gary Funck  <gary@intrepid.com>
347         * config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
348         the mode for a pointer for upc-pointer-to-shared types.
350 2012-03-04  Gary Funck  <gary@intrepid.com>
352         Merge trunk version 184900 into gupc branch.
354 2012-02-17  Gary Funck  <gary@intrepid.com>
356         Released GUPC 4.7.0.2 based on version 183992.
357         * DEV-PHASE: Bump release identifier to 4.7.0-3.
358         * DATESTAMP: Bump date stamp.
360 2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>
362         * c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
363         code generation (same as #pragma pupc off).
364         (set_pupc_mode): New. Set/restore profiling mode.
365         * c-family/c-upc.h (disable_pupc_mode): New. Prototype.
366         (set_pupc_mode): New. Prototype.
367         * upc/upc-act.c (upc_write_init_func): Disable emitting of the
368         profiling code for shared variables initialization routines.
370 2012-01-31  Gary Funck  <gary@intrepid.com>
372         Merge trunk version 183751 into gupc branch.
373         Incorporates fix for bootstrap failure on openSUSE 12.1.
375 2012-01-10  Gary Funck  <gary@intrepid.com>
377         Merge trunk version 183072 into gupc branch.
378         Incorporates libcpp __BASE_FILE__ fix.
380 2011-12-20  Nenad Vukicevic <nenad@intrepid.com>
382         * top-level/Makefile.def (flags_to_pass): Added GUPC
383         defines. Fixes the make error when upc is not specified as one
384         of the languages to build.
385         * top-level/Makefile.in: Re-generate.
387 2011-11-22  Gary Funck  <gary@intrepid.com>
389         * DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
390         * dwarf2out.c (gen_compile_unit_die): Check for
391         the "GNU UPC" language string in lieu of "GCC UPC".
392         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.
394 2011-11-18  Gary Funck  <gary@intrepid.com>
396         Merge trunk version 181552 into gupc branch.
397         Incorporates libgcc/libunwind fix for IA64.
399 2011-11-19  Gary Funck  <gary@intrepid.com>
401         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
402         Add check for UPC when defining the language type value
403         in a traceback entry.
405 2011-11-18  Gary Funck  <gary@intrepid.com>
407         Merge trunk version 181493 into gupc branch.
408         Incorporates final fix for PR target/49992.
410 2011-11-09  Nenad Vukicevic <nenad@intrepid.com>
412         * Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
413         change that converted relative include paths into absolute
414         ones, as it does not work with older version of make (3.80).
416 2011-10-27  Nenad Vukicevic <nenad@intrepid.com>
418         Apply patch for Darwin build - PR49992.
419         * top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
420         * gcc/configure.ac: Ditto.
421         * gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
422         * gcc/ada/gcc-interface/Makefile.in: Ditto.
423         * top-level/configure: Re-generate.
424         * gcc/configure: Re-genrate.
426 2011-10-26  Gary Funck  <gary@intrepid.com>
428         Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
429         "libupc" to "libgupc".
430         * top-level/configure.ac: Implement support for cross-builds, and
431           adjust for rename of libupc to libgupc.
432         * top-level/Makefile.tpl: Ditto.
433         * top-level/Makefile.def: Ditto.
434         * top-level/configure: Re-generate.
435         * top-level/Makefile.in: Re-generate.
436         * top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
437         * doc/tm.texi.in: Adjust for rename of libupc to libgupc.
438         * doc/tm.texi: Re-generate.
439         * tree-pretty-print.c (dump_block_node): Delete unused variable.
440         * gcc.c: Adjust for rename of libupc to libgupc.
441         * testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
442         Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
443         Change "xupc" to "xgupc".
444         * configure.ac: Change "GCC UPC" to "GNU UPC".
445         * Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
446         so that they are absolute paths.  This is needed because
447         the upc-crtstuff builds are in the libgupc library build
448         directories which are not at the same level as libgcc.
449         * config/darwin.h: Adjust for rename of libupc to libgupc.
451 2011-10-20  Gary Funck  <gary@intrepid.com>
453         Merge trunk version 180276 into gupc branch.
454         Incorporates fix for PR bootstrap/50709.
456 2011-10-20  Gary Funck  <gary@intrepid.com>
458         Merge trunk version 180246 into gupc branch.
460 2011-10-19  Gary Funck  <gary@intrepid.com>
462         Merge trunk version 180233 into gupc branch.
463         Incorporates fix for PR debug/49310 (var tracking).
465 2011-10-11  Nenad Vukicevic <nenad@intrepid.com>
467         * testsuite/lib/upc-dg.exp: Limit number of torture runs to
468         only four (O0 static/dynamic, O3 static/dynamic).
469         Detect -fupc-threads-0 as an option for dynamic threads
470         compile environment.
472 2011-10-10  Gary Funck  <gary@intrepid.com>
474         * tree.c (check_qualified_type, check_aligned_type):
475         Call tree_int_cst_equal() to compare UPC blocking factors
476         if the corresponding tree pointers are not equal.
477         * c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.
479 2011-10-07  Nenad Vukicevic <nenad@intrepid.com>
481         Add configuration checks for struct/packed builds so we can
482         use upc_struct_pts/upc_packed_pts selectors in the testsuite.
483         * testsuite/lib/target-supports.exp
484         (check_effective_target_upc_struct_pts): New.
485         (check_effective_target_upc_packed_pts): New.
487 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
489         Add to FLAGS the flags needed to disable inlining of
490         UPC run-time access routines.
491         * testsuite/lib/target-supports.exp
492         (add_options_for_upc_library_calls): New.
494 2011-09-15  Gary Funck  <gary@intrepid.com>
496         Fix ICE involving shared bit field accesses.
497         * tree.c (build3_stat): Propagate TEEE_SHARED()
498         and TREE_STRICT() and TREE_RELAXED() flags, if applicable.
500 2011-09-13  Gary Funck  <gary@intrepid.com>
502         Merge trunk version 178795 into gupc branch.
503         Incorporates fix to PR bootstrap/50010 for x86-32.
505 2011-09-08  Gary Funck  <gary@intrepid.com>
507         Merge trunk version 178557 into gupc branch.
509 2011-09-07  Gary Funck  <gary@intrepid.com>
511         Ensure that UPC pointer-to-shared type alignment is
512         propagated to the final type.  Revert to long-standing
513         alignment policy: twice the size of a "C" pointer.
514         * tree.c (build_pointer_type): Propagate the alignment
515         of the UPC pointer-to-shared representation type
516         into the newly built pointer type.
518 2011-08-30  Gary Funck  <gary@intrepid.com>
520         * tree.h (check_qualified_type): Change 'const_tree'
521         argument types back to 'tree' to avoid complaints
522         of assignment drops qualifiers for invocations of the
523         newly implemented TYPE_BLOCK_FACTOR() macro, which
524         invokes hash functions with 'tree' pointer values that
525         are not const qualified.
526         * tree.c (check_qualified_type, check_aligned_type): Ditto.
527         * c-typeck.c (comptypes_internal): Ditto.
529 2011-08-29  Gary Funck  <gary@intrepid.com>
531         Fixes for regressions noted running "make check"
532         versus GCC trunk.
533         * fold-const.c (fold_unary_loc): Execute UPC-specific
534         checks for a cast-of-a-cast, only if one of the
535         operands is a UPC pointer-to-shared value.
536         * opts.c (print_specific_help):  Fix a comparison
537         in an assert that checks that there are enough
538         bits reserved for the number of languages defined
539         in the .opt files.
541 2011-08-29  Gary Funck  <gary@intrepid.com>
543         Implement a hash table to record UPC block factors.
544         * c-family/stub-upc.c (upc_block_factor_insert,
545         upc_block_factor_lookup): New dummy stub procedures.
546         * c-family/c-common.c (c_sizeof_or_alignof_type):
547         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
548         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
549         to copy (hashed) UPC blocking factor.
550         (set_type_quals): Likewise.
551         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
552         TYPE_HAS_THREADS_FACTOR().
553         (type_common.block_factor): Delete.
554         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
555         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
556         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
557         UPC blocking factors greater than one.
558         * dwarf2out.c (modified_type_die): Re-implement
559         logic that records UPC blocking factor in the generated
560         DWARF2 debugging information.
561         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
562         TYPE_HAS_THREADS_FACTOR().
563         * c-decl.c (finish_decl, grokdeclarator):
564         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
565         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
566         used by UPC, and print UPC-specific information.
568 2011-08-28  Gary Funck  <gary@intrepid.com>
570         Re-work the type machinery to fully support and to unify support
571         for the UPC layout qualifier (blocking factor).
572         * c-family/stub-upc.c (upc_set_block_factor): Delete.
573           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
574           and update prototype.
575         * c-family/c-common.c (complete_array_type): call newly
576           defined c_build_qualified_type_1() instead of
577           upc_set_block_factor().
578         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
579           upc_apply_layout_qualifier() and update prototype.
580           (upc_set_block_factor): Delete prototype.
581         * c-family/c-common.h (c_build_qualified_type): redefine
582           as a pre-processor macro that invokes c_build_qualified_type_1()
583           with a null UPC layout qualifier.
584           (c_build_qualified_type_1): New.  Add layout qualifier argument
585           to old c_build_qualified_type() prototype.
586         * tree.c (set_type_quals, check_qualified_type):
587           Add layout qualifier as argument.
588           (check_aligned_type): Add check for UPC block factor equality.
589           (get_qualified_type_1): Rename from get_qualified_type() and
590           add layout qualifier as argument.
591           (build_qualified_type_1): Rename from build_qualified_type() and
592           add layout qualifier as argument.
593         * tree.h (check_qualified_type): Add layout qualifier as argument
594           to the prototype.
595           (get_qualified_type): Re-define as a as a pre-processor macro
596           that invokes get_qualified_type_1() with a null
597           UPC layout qualifier.
598           (get_qualified_type_1): Rename from get_qualified_type() and
599           add layout qualifier as argument.
600         * cp/tree.c (c_build_qualified_type_1): Rename from
601           c_build_qualified_type() and add (unused) layout qualifier
602           argument.
603         * c-decl.c (finish_decl): re-format long error messages.
604           (grokdeclarator): Re-work the logic so that it calls
605           upc_grok_layout_qualifier() to handle the UPC layout
606           qualifier, if present.
607         * c-typeck.c (qualify_type, common_pointer_type,
608           build_component_ref): Re-work the logic so that it calls
609           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
610           if present.
611           (c_build_qualified_type_1): Rename from c_build_qualified_type()
612           and add layout qualifier argument.
613         * print_tree.c (print_node): Re-format a long line.
615 2011-08-26  Gary Funck  <gary@intrepid.com>
617         Merge trunk version 177949 into gupc branch.
618         * c-family/c-common.h (enum rid): Bump the number of type modifiers
619           in the comment.
620         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
621           to add new rliterals column value.
623 2011-08-26  Gary Funck  <gary@intrepid.com>
625         * convert.c (convert_to_integer): Fix the check for the
626           difference between two UPC pointers-to-shared values.
628 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
630         * configure.ac: Fix the name for --with-upc-pts-packed-bits
631           option. Support --with-upc-packed-bits as deprecated. Fix the code to
632           correctly check packed bits.
633         * configure: Re-generate.
635 2011-08-16  Gary Funck  <gary@intrepid.com>
637         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
638           the barrier id expression is not an integer expression.
640 2011-08-12  Gary Funck  <gary@intrepid.com>
642         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
643           (revert to trunk).
644         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
645           Set mode of UPC pointer-to-shared rep. to an
646           integral mode of size at least as large as the
647           size of the representation's struct type.
649 2011-08-12  Gary Funck  <gary@intrepid.com>
651         Rework/simplify the UPC genericize pass.
652         * c-family/stub-upc.c (upc_apply_layout_qualifier,
653           upc_build_pointer_type): New.
654           (upc_set_block_factor): Adjust to new calling sequence.
655           (upc_build_shared_var_addr): Delete.
656         * c-family/c-common.c (complete_array_type): Adjust call
657           to upc_set_block_factor().
658         * c-family/c-upc.h (upc_apply_layout_qualifier,
659           upc_build_pointer_type): New.
660           (upc_build_shared_var_addr): Delete.
661           (upc_set_block_factor): Adjust to new calling sequence.
662         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
663         * c-decl.c (grokdeclarator): Call newly defined
664           upc_apply_layout_qualifier() instead of upc_set_block_factor().
665         * c-decl.c (grokdeclarator): Split long UPC-related error
666           messages into two lines.
667         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
668           directly.  Revert that change to trunk. (upc_genericize() will
669           handle lowering the expressions that take the address of a
670           UPC variable).
671         * config/i386/i386.c (ix86_promote_function_mode): For UPC
672           pointers-to-shared, return the type mode of the UPC pointer-to-shared
673           representation type.
675 2011-08-10  Gary Funck  <gary@intrepid.com>
677         Implement additional fixes for recent merge with trunk.
678         * explow.c (promote_mode): Do not attempt to promote
679           the mode for UPC pointer-to-shared types.
680         * config/i386/i386.c (function_value_64): Ditto.
682 2011-08-07  Gary Funck  <gary@intrepid.com>
684         Merge trunk version 177548 into gupc branch.
685         * config/i386/i386.c (ix86_promote_function_mode):
686           Do not promote UPC pointers-to-shared to Pmode.
687         * c-family/c-ommon.c (pointer_int_sum):
688           Also check the pointer operand, rather than just
689           its type, when making the decision to derive
690           the equivalent unshared type.
691         * tree.c (build2_stat): If the type of the result
692           passed in as an argument is a UPC shared type,
693           derive the unshared equivalent when calculating
694           the result type of the node.
696 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
698         * config/darwin.c: Disable var_tracking option
699           on -O0 as it is supposed to run only when optimization
700           is applied. See GCC bug 49743.
702 2011-07-06  Gary Funck  <gary@intrepid.com>
704         Re-implement the pass that lowers trees generated by
705         the UPC front-end into GENERIC.  Previously this was
706         done within the gimplification framework, but this
707         required that gimplification be run before inlining
708         and various other passes, which did not fit in well
709         with the current design of the middle-end passes.
710         Now, the lowering is done by a newly defined language
711         specific genericize hook.  With this change, we are
712         are able to undo some extensions made to the gimplify
713         logic, and thus can revert several files to trunk.
715         * c-decl.c: Add a check for UPC deprecated names which
716           may appear as undefined function names.
717         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
718           LTI_upc_getaddr): Remove definitions of unused UPC
719           library function names.  These were defined back when
720           the libfunc interface was used to call these routines.
721         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
722           in UPC lowering (genericize) pass.
723         * langhooks.h (gimplify_expr): Revert to trunk's definition.
724           (instrument_func): Delete this hook.  Now handled in
725           upc_genericize().
726         * tree-pass.h: Revert to trunk.
727         * c-typeck.c (build_unary_op): Adjust reference to
728           upc_genericize() in a comment.
729         * gimplify.c (create_tmp_var_raw): Delete logic that
730           was converting UPC shared types into unshared types
731           to be used for temporaries.  Now handled in  upc_genericize().
732           Replace with an assertion check.
733           (prepare_gimple_addressable): Revert to trunk's definition.
734           No longer needed as an externally called function.
735           (flag_instrument_functions_exclude_p): Re-define as
736           an externally called function.
737           (gimplify_function_tree): Delete code that implemented
738           call to UPC's language specific function instrumentation hook.
739         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
740           (prepare_gimple_addressable): Delete extern definition;
741           revert to trunk's definition.
742         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
743           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
744         * c-family/c-gimplify.c: Revert to trunk.
745         * cp/cp-gimplify.c: Revert to trunk.
746         * cp/cp-tree.h: Revert to trunk.
747         * explow.c: Revert to trunk.
748         * langhooks.c: Revert to trunk.
749         * libfuncs.h: Revert to trunk.
750         * objc/objc-act.c: Revert to trunk.
752 2011-06-30  Gary Funck  <gary@intrepid.com>
754         * c-family/c.opt: Bring options definitions up-to-date
755         with respect to changes made in the trunk.
757 2011-06-29  Gary Funck  <gary@intrepid.com>
759         Merge trunk version 175584 into gupc branch.
761 2011-06-13  Gary Funck  <gary@intrepid.com>
763 libcpp/
764         * include/cpplib.h (enum c_lang):
765         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
766         This keeps all the "C" variants together.
767         * init.c (lang_defaults): Add an entry for UPC.
769 2011-06-09  Gary Funck  <gary@intrepid.com>
771         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
772         a 32-bit target, the size expression overflowed, the result was
773         error_mark_node, and an ICE was triggered on an attempt to evaluate
774         C_TYPE_VARIABLE_SIZE() on the error node.
775         (upc_blocksizeof_expr, upc_blocksizeof_type,
776         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
777         Make similar changes to avoid further processing of error_mark_node.
779 2011-06-07  Gary Funck  <gary@intrepid.com>
781         * sel-sched.c (move_op): Incorporate the following
782         patch to eliminate ICE at -O3 on IA64/Altix.
784 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
786         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
787         code_motion_path_driver returned 0 or 1.
788         (sel_region_finish): Clear h_d_i_d.
790 2011-06-02  Gary Funck  <gary@intrepid.com>
792         Merge trunk version 174558 into gupc branch.
794 2011-05-30  Gary Funck  <gary@intrepid.com>
796         * configure.ac: Make the default order of the virtual
797           address field in a UPC pointer-to-shared to be "first".
798           This reverts to the previous setting, and is a short term
799           measure to work around a bug found on the IA64,
800           where vaddr=last led to incorrect code generation.
801           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
802           in AC_DEFINE(), to agree with recent changes in files
803           that reference this define.
804           configure, config.in: Regenerate.
806 2011-05-26  Gary Funck  <gary@intrepid.com>
808         * configure.ac: Fix typo when referring to $upc_vaddr_order.
809           configure: Regenerate.
811         * ../fixincludes/fixincl.x: Revert to trunk.
812           This file is auto-generated, and should not be merged.
814 2011-05-18  Gary Funck  <gary@intrepid.com>
816         Merge trunk version 173845 into gupc branch.
818 2011-05-17  Gary Funck  <gary@intrepid.com>
820         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
821           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
823         * c-family/c-pragma.c: Remove conditional compilation
824           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
825           Test 'compiling_upc' when compiling to determine if
826           the "upc" and "pupc" pragmas should be registered.
828         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
829           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
830           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
831           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
832           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
833           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
834           Move these target-dependent definitions from config/upc-conf.h
835           to here.
837         * configure.ac: Improve the logic for UPC-related options.
838           Delete references to pre-processor definitions that have
839           been moved to "upc/upc-pts.h".
841         * configure, config.in: Regenerate.
843         * Makefile.in (UPC_PTS_REP): Remove definition and revert
844           to trunk.  This substitution variable was used to
845           configure the representation-specific versions of
846           the tree rewrites that operate on UPC pointer-to-shared
847           types and objects.
849         * c-parser.c (c_parser_upc_forall_statement): Remove
850           reference to UPC_FORALL_DEPTH_NAME, and call
851           newly defined upc_rts_forall_depth_var() instead.
853         * config/upc-config.h: Delete. Various definitions
854           moved to "upc/upc-rts-names.h", "defaults.h", and
855           "upc/upc-pts.h".
857         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
858           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
859           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
860           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
861           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
862           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
863           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
864           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
865           New.  Document UPC target macros.
866           doc/tm.texi: Regenerate.
868 2011-05-07  Gary Funck  <gary@intrepid.com>
870         * ../configure.ac: Disable build of libupc
871           on non POSIX hosted systems.  Use AS_HELP_STRING
872           to define messages.  Remove 'word-pair' as a
873           possible --with-upc-pts UPC pointer-to-shared
874           representation.
876         * ../configure: Regenerate.
878         * configure.ac: Use AS_HELP_STRING to define messages.
879           Remove 'word-pair' as a possible --with-upc-pts
880           UPC pointer-to-shared representation.
881           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
882           (UPC_MAX_BLOCK_SIZE): Correct the default value.
884         * configure: Regenerate.
886         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
887           definition.
889         * ChangeLog.upc: Fix some typos.
891 2011-05-07  Gary Funck  <gary@intrepid.com>
893         * ../maintainer-scripts/gcc_release: Add "upc"
894           as one of the released languages.
896 2011-05-06  Gary Funck  <gary@intrepid.com>
898         Eliminate compilation warnings, by fixing
899         #include's and updating function prototypes.
901         * c-family/c-cppbuiltin.c: Include c-upc.h.
903         * optabs.c (gen_libfunc): Change type of 'suffix'
904           parameter to conform with prototype.
906         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
907           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
908           hook used by UPC.
910         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
911           the prototype.
913         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
914           argument values to cp_gimplify_expr.
916         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
917           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
918           pre-processor definitions that are no longer
919           needed to build the 'upc' command (upc-cmd.c)
920           because the linker specs. defined in libupc
921           take care of linking in the needed libraries.
923         * c-parser.c (c_parser_upc_forall_statement):
924           initialize affinity_loc to avoid "maybe unused" warning.
925           (c_parser_upc_sync_statement): Remove un-needed
926           'ret' variable.  Cast return value from
927           'upc_build_sync_stmt' to 'void' to avoid
928           compile-time warning.
930         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
931           integer constant, not a string.  Range is restricted
932           to maximum positive 32-bit integer (2+ billion) to
933           fit in with the use of 'int' in the front-end's
934           switch handling logic.
936 2011-05-06  Gary Funck  <gary@intrepid.com>
938         Upgrade c-family source files to conform with modularity
939         improvements.  Mainly, remove #include of c-tree.h in files
940         under c-family, and define a new UPC-specific #include file,
941         c-upc.h, and use it.
943         * c-family/stub-upc.c: Remove #include of c-tree.h and
944           upc/upc-act.h.  Replace with #include of c-common.h
945           and c-upc.h.
946           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
947           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
948           upc_localsizeof_expr, upc_localsizeof_type,
949           upc_shared_type_p): Delete.
951         * c-family/c-opts.c: Add #include of c-upc.h
953         * c-family/c-common.c: Remove #include of c-tree.h and
954           add #include of c-upc.h.
956         * c-family/c-upc.h: New. Define API for UPC-specific functions
957           (mostly implemented in upc/upc-act.c).
959         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
960           Remove extern definitions.
962         * c-family/c-pragma.c: Remove #include of c-tree.h.
963           Add #include of c-upc.h.
965         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
966           c-tree.h.
967           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
968           upc/upc-act.c, and define as a macro.
969           (expand_affinity_test): Remove unused external definition.
970           (build_upc_unshared_type): Add external definition.
971           (upc_shared_type_p): Remove external definition.
973         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
975         * dojump.c: Remove #include of c-tree.h.
977         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
978           and move to tree.h.
979           (count_upc_threads_refs, is_multiple_of_upc_threads,
980           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
981           upc_build_shared_var_addr, upc_build_sync_stmt,
982           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
983           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
984           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
985           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
986           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
987           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
988           set_upc_consistency_mode, get_upc_consistency_mode,
989           push_upc_consistency_mode, pop_upc_consistency_mode,
990           get_upc_pupc_mode):
991           Move external definitions to c-family/c-upc.h.
992           (upc_blocksizeof_type, upc_localsizeof_type,
993           upc_elemsizeof_type): Remove external definitions;
994           these functions were moved to c-parser.c.
996         * c-decl.c: Add #include of c-upc.h.
998         * c-typeck.c: Add #include of c-upc.h.
1000         * c-convert.c: Add #include of c-upc.h.
1002         * ChangeLog.upc: Fix typo.
1004         * Makefile.in: Add references to c-family/c-upc.h, everywhere
1005           there is a reference to c-family/c-objc.h.
1006           Remove extraneous reference to upc-act.h.
1008         * c-parser.c: Add #include of c-upc.h.
1009           (upc_blocksizeof_expr, upc_blocksizeof_type,
1010           upc_elemsizeof_expr, upc_elemsizeof_type,
1011           upc_localsizeof_expr, upc_localsizeof_type):
1012           Move from upc/upc-act.c.
1014         * tree.c (build_upc_unshared_type): New.
1015           Move upc_get_unshared_type from upc/upc-act.c and rename
1016           to build_upc_unshared_type.
1017           c-family/c-common.c (pointer_int_sum): refer to renamed
1018           build_upc_unshared_type function.
1019           c-convert.c (convert): Ditto.
1020           convert.c (convert_to_pointer): Ditto.
1021           c-typeck.c (build_unary_op, build_modify_expr,
1022           really_start_incremental_init): Ditto.
1023           gimplify.c (create_tmp_var_raw): Ditto.
1024           tree.c (build1_stat): Ditto.
1025           tree.h (upc_get_unshared_type): Rename to
1026           build_upc_unshared_type.
1028 2011-05-06  Gary Funck  <gary@intrepid.com>
1030         Merge trunk version 173471 into gupc branch.
1032 2011-05-05  Gary Funck  <gary@intrepid.com>
1034         Make changes that bring the GUPC branch more closely in sync.
1035         with the GCC trunk.  Revert any fixes that are not UPC-specific.
1036         Remove gratuitous re-formatting.
1038         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
1039           This file should have been removed in a previous merge
1040           with the trunk.
1041         * ../configure.ac: Remove Cray Catamount/CNL support.
1042         * ../configure: Regenerate.
1043         * ../config.sub: Remove Cray Catamount/CNL support.
1044         * config.gcc: Remove Cray Catamount/CNL support.
1045         * ../maintainer-scripts/gcc_release: Revert to trunk.
1046         * c-family/c-common.h: Define parse_optimize_options.  Its definition
1047           was missed in a previous merge with the trunk.
1048         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
1049           procedure.
1050         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
1051           in addition to ARRAY_TYPE.
1052         * c-typeck.c: Remove an extra newline character.
1053         * varasm.c: Revert a fix that improved an error message
1054           when TLS common data is unimplemented.
1055         * varasm.c: Revert a gcc_assert that had been added which
1056           checked for a null DECL_SIZE_UNIT field.
1057         * emultls.c: Revert to trunk. Remove possible fix.
1058         * Makefile.in: Revert extra blank line that is present
1059           in the trunk version.
1060         * Makefile.in: Revert a fix that handled long shell
1061           argument lists for plugin headers.
1062         * config/ia64/ia64.opt: Revert an option setting
1063           that increased the default TLS address range.
1064         * config/ia64/crtbegin.asm: Revert to trunk.
1065           Removes an extra newline character.
1066         * ChangeLog.upc: Spell check.
1068 2011-05-03  Gary Funck  <gary@intrepid.com>
1070         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
1071           (c_apply_type_quals_to_decl): Ditto.
1072         * c-family/c-common.h: Ditto.
1073         * dojump.c: Ditto.
1074         * c-decl.c (merge_decls): Ditto.
1075         * c-typeck.c (qualify_type, default_conversion,
1076           build_component_ref, build_unary_op,
1077           c_build_qualified_type): Ditto.
1078         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
1080 2011-04-29  Gary Funck  <gary@intrepid.com>
1082         * c-decl.c (finish_decl): Improve error diagnostics.
1083           (grokdeclarator): Ditto.
1085         * c-typeck.c (build_c_cast): Improve error diagnostics.
1086           (convert_for_assignment): Ditto.
1087           (build_binary_op): Ditto.
1089         * c-parser.c (c_parser_upc_forall_statement):
1090           Improve error diagnostics.
1092         * convert.c (convert_to_integer):  Improve error diagnostics.
1094 2011-04-24  Gary Funck  <gary@intrepid.com>
1096         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
1097           occurred if there is an error in the barrier id
1098           expression.  Map error_mark_node into NULL.
1100 2011-04-22  Gary Funck  <gary@intrepid.com>
1102         Merge trunk version 172873 into gupc branch.
1104 2011-04-19  Gary Funck  <gary@intrepid.com>
1106         Merge trunk version 172359 into gupc branch.
1108 2011-04-14  Gary Funck  <gary@intrepid.com>
1110         * c-family/c.opt: Add UPC as a valid language for various
1111           switches where it is valid for "C", that were not updated
1112           in previous merges with trunk.
1114 2011-04-13  Gary Funck  <gary@intrepid.com>
1116         * c-family/c.opt (fupc-pre-include): New option definition.
1117         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
1118           -fno-upc-pre-include is asserted.
1120 2011-04-07  Gary Funck  <gary@intrepid.com>
1122         Merge trunk version 172158 into gupc branch.
1123         to bring in the following fix.
1125 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
1127         PR bootstrap/48403
1128         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1129         if old and new states differ.
1131 2011-04-06  Gary Funck  <gary@intrepid.com>
1133         Merge trunk version 171966 into gupc branch.
1135 2011-04-01  Gary Funck  <gary@intrepid.com>
1137         * tree.h (tree_base): Move UPC flag bits into bit fields
1138           located just before spare bits.  Decrement spare bits.
1139           Rename 'shared_flag' -> 'upc_shared_flag',
1140           'relaxed_flag' -> 'upc_relaxed_flag',
1141           'strict_flag' -> 'upc_strict_flag, and adjust macros
1142           that reference them accordingly.
1144 2011-04-01  Gary Funck  <gary@intrepid.com>
1146         * c-decl.c (grokdeclarator): Fix formatting of
1147           code that sets UPC block size on scalars.
1149 2011-04-01  Gary Funck  <gary@intrepid.com>
1151         * c-decl.c (grokdeclarator): Revert use of white space
1152           to match the trunk (to rationalize diffs).
1153         * c-typeck.c (convert_for_assignment): Ditto.
1154         * tree-ssa.c (useless_type_conversion_p): Ditto.
1156 2011-03-23  Gary Funck  <gary@intrepid.com>
1158         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
1159           the GCC 4.6 release branch.
1161 2011-03-21  Gary Funck  <gary@intrepid.com>
1163         Merge trunk version 171202 into gupc branch.
1165 2011-03-20  Gary Funck  <gary@intrepid.com>
1167         * varasm.c: Call error() directly with a format specifier,
1168           rather than using sprintf() to format the message.
1169           This should make it easier to internationalize UPC's error messages.
1171 2011-03-20  Gary Funck  <gary@intrepid.com>
1173         * configure.ac: Fix the check for gnu ld when enabling
1174           UPC link script support.
1175           configure: Regenerate (also picks up changes from previous
1176           merge with trunk).
1178 2011-03-20  Gary Funck  <gary@intrepid.com>
1180         Move UPC start files, end files, and linker specs.
1181         into libupc.  This reduces the impact on common GCC
1182         configuration files, and ensures that these UPC-specific
1183         components are only built when the UPC language dialect is selected.
1186 gcc/
1187         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
1188           linker specs. Fix typo in -fupc-debug message.
1190         * config/upc-conf.h, config/darwin.h: Move defines for
1191           UPC-related section begins/ends into libupc/config/default/
1192           upc-crt-config.h.
1194         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
1195           UPC-related linker compiler specifications,
1196           accessed via %:include().
1198         * configure.ac, configure: Remove logic related to building
1199           upc-crtbegin/end. Remove config. tests for numa and cpu
1200           affinity (previously used by the 'upc' driver); these
1201           settings are now propagated by target-specific compiler
1202           specs. built by libupc.  Regenerate autoconf.
1204         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
1205           linker compiler specifications, accessed via %:include().
1206           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
1207           'link_upc_spec'.
1209         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
1211         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
1212           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
1213           config/ia64/linux.h, config/mips/t-iris,
1214           config/mips/iris6.h: Revert to trunk version 167307.
1216 libgcc/
1217         * configure, configure.ac, config.host, Makefile.in:
1218           Revert to trunk version 167307.
1220 2011-02-23  Gary Funck  <gary@intrepid.com>
1222         * c-decl.c (undeclared_variable): fix typo. Inadvertently
1223         removed negation on following 'if'.
1225 2011-02-22  Gary Funck  <gary@intrepid.com>
1227         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
1228         to check for the usage of certain deprecated UPC keywords.
1229         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
1230         * c-tree.h (undeclared_variable): Define prototype.
1232 2011-02-12  Gary Funck  <gary@intrepid.com>
1234         * c-typeck.c: (build_c_cast, convert_for_assignment)
1235           Diagnose an attempt to convert from an integer to
1236           a pointer-to-shared as an error.  Also, fix various
1237           error messages so that they use the preferred term
1238           pointer-to-shared instead of "shared pointer".
1240 2011-02-07  Gary Funck  <gary@intrepid.com>
1242         * c-typeck.c: (convert_for_assignment)
1243           Fix typo. in error message.
1245 2011-01-23  Gary Funck  <gary@intrepid.com>
1247         * c-typeck.c: (c_build_qualified_type)
1248           derive UPC block size by calling upc_get_block_size(),
1249           to ensure that the element type of an array of an array
1250           is derived correctly.
1252 2010-12-29  Gary Funck  <gary@intrepid.com>
1254         Merge trunk version 168314 into gupc branch.
1256 2010-12-15  Gary Funck  <gary@intrepid.com>
1258         Merge trunk version 167307 into gupc branch.
1260 2010-10-19  Gary Funck  <gary@intrepid.com>
1262         * c-typeck.c: Fix typo in previous fix
1263           which led to a mis-compare for equal block sizes.
1265 2010-10-18  Gary Funck  <gary@intrepid.com>
1267         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
1268           diagnosed as an error
1270           The conversion from any type (shared or not) to
1271           a shared type is likely either meaningless or an error.  This update
1272           makes any conversion to a shared type, an error.
1274 2010-10-18  Gary Funck  <gary@intrepid.com>
1276         * c-typeck.c: Fix bug: passing int to shared pointer arg.
1277           generates spurious warning
1279           Add a #define procedure that does the same thing as
1280           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
1281           this procedure to diagnose passing an integer value to a
1282           pointer-to-shared as an error.
1284 2010-10-18  Gary Funck  <gary@intrepid.com>
1286         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
1287           matching routine declaration.
1289           When checking for type compatibility, shared qualified types must
1290           have the same block factor.  This check was missing from
1291           comptypes_internal().  This update adds the check for blocking
1292           factor equality.
1294 2010-10-17  Gary Funck  <gary@intrepid.com>
1296         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
1297           found (-O1 -g)
1299           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
1301 2010-10-17  Gary Funck  <gary@intrepid.com>
1303         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
1304           45869 - [4.5/4.6 Regression] type mismatch in shift expression
1305           produces ice with -O3 and -m32.
1307           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
1309 2010-10-17  Gary Funck  <gary@intrepid.com>
1311         * c-common.c: Diagnose the application of the various "*sizeof"
1312           operations on generic pointer-to-shared as a compilation error.
1314 2010-10-17  Gary Funck  <gary@intrepid.com>
1316         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
1317           message regarding a function parameter being declared with a shared
1318           qualifier.
1320           The parameter's 'name' value is not defined at this point, and
1321           cannot be used in the error message.  This update removes the
1322           reference to 'name', and eliminates the segfault.
1324 2010-10-16  Gary Funck  <gary@intrepid.com>
1326         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
1328           The gcc/Makefile.in rules for install-plugin had to be re-written to
1329           break up a long list of header files that exceeded the command line
1330           limitation imposed by Irix.
1332           Access functions for TFmode types had to be implemented.
1333           Apparently, this is the mode used for the SGI/MIPS port to represent
1334           "long float".
1336 2010-10-14  Gary Funck  <gary@intrepid.com>
1338         * c-decl.c: Fix bug: Multiple equal blocking factors specified
1339           via typedef chain should not be diagnosed as an error.
1341           If the block size that is given by the typedef is equal to the block
1342           size given explicitly in the variable declaration, then do not
1343           complain.  The easiest way to make this check was to create a
1344           temporary type that is a clone of the element type and then set its
1345           block size using the given layout qualifier.  Then compare the block
1346           size of the temporary (the declaration) to the block size specified
1347           in the typedef.  This complexity is needed, because the '[*]' block
1348           size needs to be calculated, and the '[]' needs to be mapped into a
1349           zero block size.
1351 2010-10-10  Gary Funck  <gary@intrepid.com>
1353         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
1354           specified
1356           The compiler properly detected the presence of two or more layout
1357           qualifiers as an error, but then hit an assertion check, because the
1358           code that followed the error expected to see a qualifier and not a
1359           layout specifier.  The fix is simple: just return immediately after
1360           detecting the error.
1362 2010-10-10  Gary Funck  <gary@intrepid.com>
1364         * c-decl.c: Improve error diagnostics for various cases of UPC
1365           shared array type declarations.
1367           Add the check for this error: "In the dynamic translation
1368           environment, THREADS may not appear in declarations of shared arrays
1369           with indefinite block size".  Also, fix up a few of the other
1370           related error diagnostics.
1372 2010-10-09  Gary Funck  <gary@intrepid.com>
1374         * c-common.c: Fix bug: segfault on incomplete array definition.
1376           This turned out to be a bit complicated.   The logic in
1377           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
1378           the THREADS identifier in the case where the blocking factor has
1379           been set to indefinite ([]).  This can happen when indefinite array
1380           declarations are processed for shared arrays.  At that time, the
1381           file scope has been closed and THREADS is no longer in scope.  Some
1382           more work is needed on upc_lang_layout_decl().  It has some
1383           duplication, and notably duplicates the two branches of the if
1384           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
1385           caller of this routine (layout_decl()).
1387           The method of forcing a layout qualifier of [] in the indefinite
1388           declaration handler is odd a well.  The code that just does the
1389           setting of the block factor, needs to moved into its own routine
1390           that doesn't depend upon a declspec for '[]' to be passed in, just
1391           in order to set the blocking factor to some value (in this case, 0).
1392           Also, the logic for how that shared type is constructed is strange.
1393           First the type with 0 blocking factor is set.  Then the shared
1394           qualifier is removed from the type, and then added back later.  The
1395           intermediate type has a blocking factor set, but it has no shared
1396           qualifier.  Fixing this will require some thought.  It is tempting
1397           just to make indefinite shared arrays an error, rather than forcing
1398           the dimension to be '1'.
1400           This likely fixes a serious error in the previous update to
1401           upc_lang_layout_decl(), where it didn't have the logic to set
1402           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
1403           the previous update would fail on many tests.
1405 2010-10-09  Gary Funck  <gary@intrepid.com>
1407         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
1408           (decl) is null, which can happen if some layout error occurred
1409           upstream.
1411 2010-10-09  Gary Funck  <gary@intrepid.com>
1413         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
1414           "variable-sized" when compiled in dynamic threads.
1416           This long-standing bug is easily fixed.  Just check
1417           for the situation that the non-constant sized type is shared and
1418           that it does not have a dimension that references a multiple of
1419           threads.  If this criteria is met, then issue a meaningful
1420           diagnostic.
1422 2010-10-01  Gary Funck  <gary@intrepid.com>
1424         * configure, configure.ac: Update manual page, and bug reporting
1425           URL.
1427           Update "man" page to reflect debugging switches.  Also, some general
1428           clean up.  Change the bug reporting URL to point to gccupc.org.
1430 2010-09-27  Gary Funck  <gary@intrepid.com>
1432         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
1433           the UPC forall depth count variable is not found.
1435           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
1436           The compiler will generate code that references this variable in
1437           order to implement nested upc_forall semantics.  If there is a
1438           compiler build or install problem, this variable may not be found.
1439           In this case, terminate with an internal_error().
1441 2010-09-26  Gary Funck  <gary@intrepid.com>
1443         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
1444           mis-diagnosed as syntax error.
1446           Fix a failure exhibited by the Berkeley test case,
1447           bug873a.upc, which has the code:
1448                double d;
1449                upc_forall (;;;d) {...} The compiler did not properly handle
1450           the empty "condition" clause, and did not recover well when it was
1451           determined that the use of a double value, "d" above, was neither a
1452           pointer-to-shared nor an integer expression.  The update implements a
1453           fix for both issues.
1455           See also: gcc/c-parser.c gcc/upc/upc-act.c
1457 2010-09-23  Gary Funck  <gary@intrepid.com>
1459         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
1460           incorporated into the referencing type.
1462           This was semi-fixed a few times before.  This update fixes a few
1463           more places where the layout qualifier wasn't being propagated
1464           through typedef's properly.  What made this a bit tricky is shown in
1465           the example cited in the bug report:
1467           typedef shared [5] int A_t; A_t A[5*THREADS];
1469           In the typedef, the blocksize is being applied to a shared *scalar*,
1470           and the code was applying the blocksize only to arrays.  This update
1471           handles shared scalars correctly.
1473 2010-09-22  Gary Funck  <gary@intrepid.com>
1475         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
1476           upc_forall() semantics are not implemented
1478           The checkforall test in the Berkeley harness test suite indicated
1479           that GCC/UPC was not properly implementing nested upc_forall
1480           semantics.  Nested upc_forall statements (both statically or
1481           dynamically nested) must implement their affinity clause as if it
1482           were "continue"; thus all steps in the loop must execute without
1483           regard for affinity.  To implement these semantics a global depth
1484           counter, __upc_forall_depth, is maintained by the generated code
1485           that implements upc_forall.
1487           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
1488           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
1489           libupc/include/upc.h libupc/smp/upc_main.c
1491 2010-09-19  Gary Funck  <gary@intrepid.com>
1493         * c-decl.c: c-decl.c: zero out the layout specifier, after
1494           processing an array type.
1496           Fix the previous fix, that moved the setting of the type's layout
1497           qualifier to the outside of the array type processing loop.  What is
1498           missing from the fix is that the layout_qualifier variable needs to
1499           be cleared after setting the type's blocksize.
1501 2010-09-19  Gary Funck  <gary@intrepid.com>
1503         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
1504           given blocksize is greater than UPC_MAX_BLOCKSIZE.
1506           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
1507           the actual maximum block size.  Therefore, the message was correct,
1508           but the underlying value that was being checked was wrong.  Change
1509           the values so that they agree with the actual implementation-defined
1510           limit.
1512 2010-09-11  Gary Funck  <gary@intrepid.com>
1514         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
1515           multi-dimensional shared array with dynamic threads.
1517           This declaration caused an internal compiler error when compiled
1518           with dynamic threads:
1519               shared [*] int A[THREADS][16]; The bug was discovered when
1520           compiling the RTED_UPC test suite.
1522           The fix is to process layout qualifiers after the entire array type
1523           has been built.  Otherwise, we try to calculate the blocksize on a
1524           shared array type that has not had its "size depends upon the value
1525           of THREADS" flag set.
1527           Also, added a test case.
1529           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
1531 2010-07-11  Gary Funck  <gary@intrepid.com>
1533         Fix a bug where a statement in c_build_qualified_type()
1534         in the trunk had been inadvertently deleted.
1535         This bug showed up in the IA64 port, because jmpbuf's
1536         on that architecture must be 16 byte aligned, and they were not.
1537         c-typeck.c (c_build_qualified_type): Revive the deleted line.
1539 2010-07-08  Gary Funck  <gary@intrepid.com>
1541         Make changes so that other language compilers
1542         will build and bootstrap.
1543         * c-family/c-common.c (compiling_upc, flag_upc,
1544         flag_upc_instrument, flag_upc_instrument_functions,
1545         use_upc_dwarf2_extensions): Move to stub-upc.c and
1546         upc-lang.c.
1547         * c-family/c-common.h (use_upc_dwarf2_extensions,
1548         compiling_upc): Add extern definitions - needed
1549         to compile/build other language front ends.
1550         * c-family/c.opt: Fix the spelling of ObjC.
1551         It had been incorrectly spelled as Objc.
1552         * c-family/c.opt: Add UPC for the various switches
1553         that are valid for both C and ObjC.
1554         * c-fmaily/c-opts.c: Add CL_UPC to the list of
1555         supported options switches when compiling assembly
1556         language.
1557         * lto/lto-lang.c (use_upc_dwarf2_extensions,
1558         flag_upc_instrument, flag_upc_instrument_functions):
1559         Remove these definitions.  They have been moved
1560         to c-family/stub-upc.c.
1561         * upc/ChangeLog: Move relevant entries
1562         to ChangeLog.upc.
1563         * c-family/stub-upc.c (compiling_upc, flag_upc,
1564         flag_upc_instrument, flag_upc_instrument_functions,
1565         use_upc_dwarf2_extensions): Moved from c-common.c
1566         * upc/upc-lang.c (compiling_upc, flag_upc,
1567         flag_upc_instrument, flag_upc_instrument_functions,
1568         use_upc_dwarf2_extensions): Moved from c-common.c
1569         * objc/objc-act.c (objc_gimplify_expr): Add additional
1570         parameters to c_gimplify_expr() call, that are used
1571         by upc's tree rewrites.
1572         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
1573         * gcc/cp/lex.c (init_reswords): If not compiling
1574         UPC, then mask off the UPC keywords.
1575         * cp/Make-lang.in (C_STUB_OBJS): Use this
1576         make macro to link with c-family/stub-objc.o
1577         and c-family/stub-upc.o.
1578         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
1579         * java/Make-lang.in (C_STUB_OBJS): Likewise.
1580         * objc/Make-lang.in: Link with c-family/stub-upc.o
1581         to avoid undefined references.
1582         c-parser.c: Fix line indentation.
1583         * libcpp/include/cpplib.h: Remove CL_UPC from
1584         the list of language kinds accepted by the
1585         C preprocessor.  This is not necessary because
1586         UPC is a derivative of C99, and does not need
1587         a different language kind.
1588         * c-fmaily/c-opts.c (c_common_handle_option):
1589         Call set_std_c99() when processing the
1590         "--lang upc" switch, instead of setting the
1591         language kind to CL_UPC.
1592         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
1594 2010-07-03  Gary Funck  <gary@intrepid.com>
1596         Merge trunk version 161517 into gupc branch.
1597         * gcc/stub-upc.c: Move to gcc/c-family/.
1598         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
1599         Add 'unused' attributes to avoid "set, but
1600         not referenced" warnings.
1601         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
1602         Likewise.
1604 2010-03-01 Gary Funck  <gary@intrepid.com>
1606         Create gupc branch from trunk version 157149.
1607 2011-10-04  Gary Funck  <gary@intrepid.com>
1609         Merge trunk version 179421 into gupc branch.
1611         * tree.c (build_opaque_vector_type): Add null UPC layout qualifier
1612         argument to the call to check_qualified_type().
1614 2011-09-22  Gary Funck  <gary@intrepid.com>
1616         * tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
1617         information.
1618         (dump_upc_type_quals): New.
1620 2011-09-15  Nenad Vukicevic <nenad@intrepid.com>
1622         Add to FLAGS the flags needed to disable inlining of
1623         UPC run-time access routines.
1624         * testsuite/lib/target-supports.exp
1625         (add_options_for_upc_library_calls): New.
1627 2011-09-15  Gary Funck  <gary@intrepid.com>
1629         Fix ICE involving shared bit field accesses.
1630         * tree.c (build3_stat): Propagate TEEE_SHARED()
1631         TREE_STRICT() and TREE_RELAXED() flags, if applicable.
1633 2011-09-13  Gary Funck  <gary@intrepid.com>
1635         Merge trunk version 178795 into gupc branch.
1636         Incorporates fix to PR bootstrap/50010 for x86-32.
1638 2011-09-08  Gary Funck  <gary@intrepid.com>
1640         Merge trunk version 178557 into gupc branch.
1642 2011-09-07  Gary Funck  <gary@intrepid.com>
1644         Ensure that UPC pointer-to-shared type alignment is
1645         propagated to the final type.  Revert to long-standing
1646         alignment policy: twice the size of a "C" pointer.
1647         * tree.c (build_pointer_type): Propagate the alignment
1648         of the UPC pointer-to-shared representation type
1649         into the newly built pointer type.
1651 2011-08-30  Gary Funck  <gary@intrepid.com>
1653         * tree.h (check_qualified_type): Change 'const_tree'
1654         argument types back to 'tree' to avoid complaints
1655         of assignment drops qualifiers for invocations of the
1656         newly implemented TYPE_BLOCK_FACTOR() macro, which
1657         invokes hash functions with 'tree' pointer values that
1658         are not const qualified.
1659         * tree.c (check_qualified_type, check_aligned_type): Ditto.
1660         * c-typeck.c (comptypes_internal): Ditto.
1662 2011-08-29  Gary Funck  <gary@intrepid.com>
1664         Fixes for regressions noted running "make check"
1665         versus GCC trunk.
1666         * fold-const.c (fold_unary_loc): Execute UPC-specific
1667         checks for a cast-of-a-cast, only if one of the
1668         operands is a UPC pointer-to-shared value.
1669         * opts.c (print_specific_help):  Fix a comparison
1670         in an assert that checks that there are enough
1671         bits reserved for the number of languages defined
1672         in the .opt files.
1674 2011-08-29  Gary Funck  <gary@intrepid.com>
1676         Implement a hash table to record UPC block factors.
1677         * c-family/stub-upc.c (upc_block_factor_insert,
1678         upc_block_factor_lookup): New dummy stub procedures.
1679         * c-family/c-common.c (c_sizeof_or_alignof_type):
1680         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1681         * tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
1682         to copy (hashed) UPC blocking factor.
1683         (set_type_quals): Likewise.
1684         * tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1685         TYPE_HAS_THREADS_FACTOR().
1686         (type_common.block_factor): Delete.
1687         (TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
1688         TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
1689         (TYPE_BLOCK_FACTOR): Re-implement, using hash table for
1690         UPC blocking factors greater than one.
1691         * dwarf2out.c (modified_type_die): Re-implement
1692         logic that records UPC blocking factor in the generated
1693         DWARF2 debugging information.
1694         (add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
1695         TYPE_HAS_THREADS_FACTOR().
1696         * c-decl.c (finish_decl, grokdeclarator):
1697         Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
1698         * print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
1699         used by UPC, and print UPC-specific information.
1701 2011-08-28  Gary Funck  <gary@intrepid.com>
1703         Re-work the type machinery to fully support and to unify support
1704         for the UPC layout qualifier (blocking factor).
1705         * c-family/stub-upc.c (upc_set_block_factor): Delete.
1706           (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
1707           and update prototype.
1708         * c-family/c-common.c (complete_array_type): call newly
1709           defined c_build_qualified_type_1() instead of
1710           upc_set_block_factor().
1711         * c-family/c-upc.h (pc_grok_layout_qualifier): rename from
1712           upc_apply_layout_qualifier() and update prototype.
1713           (upc_set_block_factor): Delete prototype.
1714         * c-family/c-common.h (c_build_qualified_type): redefine
1715           as a pre-processor macro that invokes c_build_qualified_type_1()
1716           with a null UPC layout qualifier.
1717           (c_build_qualified_type_1): New.  Add layout qualifier argument
1718           to old c_build_qualified_type() prototype.
1719         * tree.c (set_type_quals, check_qualified_type):
1720           Add layout qualifier as argument.
1721           (check_aligned_type): Add check for UPC block factor equality.
1722           (get_qualified_type_1): Rename from get_qualified_type() and
1723           add layout qualifier as argument.
1724           (build_qualified_type_1): Rename from build_qualified_type() and
1725           add layout qualifier as argument.
1726         * tree.h (check_qualified_type): Add layout qualifier as argument
1727           to the prototype.
1728           (get_qualified_type): Re-define as a as a pre-processor macro
1729           that invokes get_qualified_type_1() with a null
1730           UPC layout qualifier.
1731           (get_qualified_type_1): Rename from get_qualified_type() and
1732           add layout qualifier as argument.
1733         * cp/tree.c (c_build_qualified_type_1): Rename from
1734           c_build_qualified_type() and add (unused) layout qualifier
1735           argument.
1736         * c-decl.c (finish_decl): re-format long error messages.
1737           (grokdeclarator): Re-work the logic so that it calls
1738           upc_grok_layout_qualifier() to handle the UPC layout
1739           qualifier, if present.
1740         * c-typeck.c (qualify_type, common_pointer_type,
1741           build_component_ref): Re-work the logic so that it calls
1742           upc_grok_layout_qualifier() to handle the UPC layout qualifier,
1743           if present.
1744           (c_build_qualified_type_1): Rename from c_build_qualified_type()
1745           and add layout qualifier argument.
1746         * print_tree.c (print_node): Re-format a long line.
1748 2011-08-26  Gary Funck  <gary@intrepid.com>
1750         Merge trunk version 177949 into gupc branch.
1751         * c-family/c-common.h (enum rid): Bump the number of type modifiers
1752           in the comment.
1753         * ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
1754           to add new rliterals column value.
1756 2011-08-26  Gary Funck  <gary@intrepid.com>
1758         * convert.c (convert_to_integer): Fix the check for the
1759           difference between two UPC pointers-to-shared values.
1761 2011-08-23  Nenad Vukicevic <nenad@intrepid.com>
1763         * configure.ac: Fix the name for --with-upc-pts-packed-bits
1764           option. Support --with-upc-packed-bits as deprecated. Fix the code to
1765           correctly check packed bits.
1766         * configure: Re-generate.
1768 2011-08-16  Gary Funck  <gary@intrepid.com>
1770         * c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
1771           the barrier id expression is not an integer expression.
1773 2011-08-12  Gary Funck  <gary@intrepid.com>
1775         * config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
1776           (revert to trunk).
1777         * upc/upc-pts-struct.c (upc_pts_struct_init_type):
1778           Set mode of UPC pointer-to-shared rep. to an
1779           integral mode of size at least as large as the
1780           size of the representation's struct type.
1782 2011-08-12  Gary Funck  <gary@intrepid.com>
1784         Rework/simplify the UPC genericize pass.
1785         * c-family/stub-upc.c (upc_apply_layout_qualifier,
1786           upc_build_pointer_type): New.
1787           (upc_set_block_factor): Adjust to new calling sequence.
1788           (upc_build_shared_var_addr): Delete.
1789         * c-family/c-common.c (complete_array_type): Adjust call
1790           to upc_set_block_factor().
1791         * c-family/c-upc.h (upc_apply_layout_qualifier,
1792           upc_build_pointer_type): New.
1793           (upc_build_shared_var_addr): Delete.
1794           (upc_set_block_factor): Adjust to new calling sequence.
1795         * tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
1796         * c-decl.c (grokdeclarator): Call newly defined
1797           upc_apply_layout_qualifier() instead of upc_set_block_factor().
1798         * c-decl.c (grokdeclarator): Split long UPC-related error
1799           messages into two lines.
1800         * c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
1801           directly.  Revert that change to trunk. (upc_genericize() will
1802           handle lowering the expressions that take the address of a
1803           UPC variable).
1804         * config/i386/i386.c (ix86_promote_function_mode): For UPC
1805           pointers-to-shared, return the type mode of the UPC pointer-to-shared
1806           representation type.
1808 2011-08-10  Gary Funck  <gary@intrepid.com>
1810         Implement additional fixes for recent merge with trunk.
1811         * explow.c (promote_mode): Do not attempt to promote
1812           the mode for UPC pointer-to-shared types.
1813         * config/i386/i386.c (function_value_64): Ditto.
1815 2011-08-07  Gary Funck  <gary@intrepid.com>
1817         Merge trunk version 177548 into gupc branch.
1818         * config/i386/i386.c (ix86_promote_function_mode):
1819           Do not promote UPC pointers-to-shared to Pmode.
1820         * c-family/c-ommon.c (pointer_int_sum):
1821           Also check the pointer operand, rather than just
1822           its type, when making the decision to derive
1823           the equivalent unshared type.
1824         * tree.c (build2_stat): If the type of the result
1825           passed in as an argument is a UPC shared type,
1826           derive the unshared equivalent when calculating
1827           the result type of the node.
1829 2011-07-15  Nenad Vukicevic <nenad@intrepid.com>
1831         * config/darwin.c: Disable var_tracking option
1832           on -O0 as it is supposed to run only when optimization
1833           is applied. See GCC bug 49743.
1835 2011-07-06  Gary Funck  <gary@intrepid.com>
1837         Re-implement the pass that lowers trees generated by
1838         the UPC front-end into GENERIC.  Previously this was
1839         done within the gimplification framework, but this
1840         required that gimplification be run before inlining
1841         and various other passes, which did not fit in well
1842         with the current design of the middle-end passes.
1843         Now, the lowering is done by a newly defined language
1844         specific genericize hook.  With this change, we are
1845         are able to undo some extensions made to the gimplify
1846         logic, and thus can revert several files to trunk.
1848         * c-decl.c: Add a check for UPC deprecated names which
1849           may appear as undefined function names.
1850         * libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
1851           LTI_upc_getaddr): Remove definitions of unused UPC
1852           library function names.  These were defined back when
1853           the libfunc interface was used to call these routines.
1854         * timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
1855           in UPC lowering (genericize) pass.
1856         * langhooks.h (gimplify_expr): Revert to trunk's definition.
1857           (instrument_func): Delete this hook.  Now handled in
1858           upc_genericize().
1859         * tree-pass.h: Revert to trunk.
1860         * c-typeck.c (build_unary_op): Adjust reference to
1861           upc_genericize() in a comment.
1862         * gimplify.c (create_tmp_var_raw): Delete logic that
1863           was converting UPC shared types into unshared types
1864           to be used for temporaries.  Now handled in  upc_genericize().
1865           Replace with an assertion check.
1866           (prepare_gimple_addressable): Revert to trunk's definition.
1867           No longer needed as an externally called function.
1868           (flag_instrument_functions_exclude_p): Re-define as
1869           an externally called function.
1870           (gimplify_function_tree): Delete code that implemented
1871           call to UPC's language specific function instrumentation hook.
1872         * gimple.h (flag_instrument_functions_exclude_p): Define as extern.
1873           (prepare_gimple_addressable): Delete extern definition;
1874           revert to trunk's definition.
1875         * lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
1876           (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
1877         * c-family/c-gimplify.c: Revert to trunk.
1878         * cp/cp-gimplify.c: Revert to trunk.
1879         * cp/cp-tree.h: Revert to trunk.
1880         * explow.c: Revert to trunk.
1881         * langhooks.c: Revert to trunk.
1882         * libfuncs.h: Revert to trunk.
1883         * objc/objc-act.c: Revert to trunk.
1885 2011-06-30  Gary Funck  <gary@intrepid.com>
1887         * c-family/c.opt: Bring options definitions up-to-date
1888         with respect to changes made in the trunk.
1890 2011-06-29  Gary Funck  <gary@intrepid.com>
1892         Merge trunk version 175584 into gupc branch.
1894 2011-06-13  Gary Funck  <gary@intrepid.com>
1896 libcpp/
1897         * include/cpplib.h (enum c_lang):
1898         Move the entry for CLK_UPC so that it follows CLK_STDC1X.
1899         This keeps all the "C" variants together.
1900         * init.c (lang_defaults): Add an entry for UPC.
1902 2011-06-09  Gary Funck  <gary@intrepid.com>
1904         * c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
1905         a 32-bit target, the size expression overflowed, the result was
1906         error_mark_node, and an ICE was triggered on an attempt to evaluate
1907         C_TYPE_VARIABLE_SIZE() on the error node.
1908         (upc_blocksizeof_expr, upc_blocksizeof_type,
1909         upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
1910         Make similar changes to avoid further processing of error_mark_node.
1912 2011-06-07  Gary Funck  <gary@intrepid.com>
1914         * sel-sched.c (move_op): Incorporate the following
1915         patch to eliminate ICE at -O3 on IA64/Altix.
1917 2011-06-07  Alexander Monakov  <amonakov@ispras.ru>
1919         * sel-sched.c (move_op): Use correct type for 'res'.  Verify that
1920         code_motion_path_driver returned 0 or 1.
1921         (sel_region_finish): Clear h_d_i_d.
1923 2011-06-02  Gary Funck  <gary@intrepid.com>
1925         Merge trunk version 174558 into gupc branch.
1927 2011-05-30  Gary Funck  <gary@intrepid.com>
1929         * configure.ac: Make the default order of the virtual
1930           address field in a UPC pointer-to-shared to be "first".
1931           This reverts to the previous setting, and is a short term
1932           measure to work around a bug found on the IA64,
1933           where vaddr=last led to incorrect code generation.
1934           Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
1935           in AC_DEFINE(), to agree with recent changes in files
1936           that reference this define.
1937           configure, config.in: Regenerate.
1939 2011-05-26  Gary Funck  <gary@intrepid.com>
1941         * configure.ac: Fix typo when referring to $upc_vaddr_order.
1942           configure: Regenerate.
1944         * ../fixincludes/fixincl.x: Revert to trunk.
1945           This file is auto-generated, and should not be merged.
1947 2011-05-18  Gary Funck  <gary@intrepid.com>
1949         Merge trunk version 173845 into gupc branch.
1951 2011-05-17  Gary Funck  <gary@intrepid.com>
1953         * c-family/stub-upc.c (upc_rts_forall_depth_var): New.
1954           c-family/c-upc.h (upc_rts_forall_depth_var): Define.
1956         * c-family/c-pragma.c: Remove conditional compilation
1957           with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
1958           Test 'compiling_upc' when compiling to determine if
1959           the "upc" and "pupc" pragmas should be registered.
1961         * defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1962           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1963           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1964           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1965           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1966           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
1967           Move these target-dependent definitions from config/upc-conf.h
1968           to here.
1970         * configure.ac: Improve the logic for UPC-related options.
1971           Delete references to pre-processor definitions that have
1972           been moved to "upc/upc-pts.h".
1974         * configure, config.in: Regenerate.
1976         * Makefile.in (UPC_PTS_REP): Remove definition and revert
1977           to trunk.  This substitution variable was used to
1978           configure the representation-specific versions of
1979           the tree rewrites that operate on UPC pointer-to-shared
1980           types and objects.
1982         * c-parser.c (c_parser_upc_forall_statement): Remove
1983           reference to UPC_FORALL_DEPTH_NAME, and call
1984           newly defined upc_rts_forall_depth_var() instead.
1986         * config/upc-config.h: Delete. Various definitions
1987           moved to "upc/upc-rts-names.h", "defaults.h", and
1988           "upc/upc-pts.h".
1990         * doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
1991           HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
1992           UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
1993           UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
1994           UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
1995           UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
1996           UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
1997           UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
1998           New.  Document UPC target macros.
1999           doc/tm.texi: Regenerate.
2001 2011-05-07  Gary Funck  <gary@intrepid.com>
2003         * ../configure.ac: Disable build of libupc
2004           on non POSIX hosted systems.  Use AS_HELP_STRING
2005           to define messages.  Remove 'word-pair' as a
2006           possible --with-upc-pts UPC pointer-to-shared
2007           representation.
2009         * ../configure: Regenerate.
2011         * configure.ac: Use AS_HELP_STRING to define messages.
2012           Remove 'word-pair' as a possible --with-upc-pts
2013           UPC pointer-to-shared representation.
2014           (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
2015           (UPC_MAX_BLOCK_SIZE): Correct the default value.
2017         * configure: Regenerate.
2019         * config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
2020           definition.
2022         * ChangeLog.upc: Fix some typos.
2024 2011-05-07  Gary Funck  <gary@intrepid.com>
2026         * ../maintainer-scripts/gcc_release: Add "upc"
2027           as one of the released languages.
2029 2011-05-06  Gary Funck  <gary@intrepid.com>
2031         Eliminate compilation warnings, by fixing
2032         #include's and updating function prototypes.
2034         * c-family/c-cppbuiltin.c: Include c-upc.h.
2036         * optabs.c (gen_libfunc): Change type of 'suffix'
2037           parameter to conform with prototype.
2039         * cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
2040           ('gimple_test_f' and 'fallback') used by extended gimplify_expr
2041           hook used by UPC.
2043         * cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
2044           the prototype.
2046         * objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
2047           argument values to cp_gimplify_expr.
2049         * config.in (HAVE_UPC_AFFINITY_SUPPORT,
2050           HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
2051           pre-processor definitions that are no longer
2052           needed to build the 'upc' command (upc-cmd.c)
2053           because the linker specs. defined in libupc
2054           take care of linking in the needed libraries.
2056         * c-parser.c (c_parser_upc_forall_statement):
2057           initialize affinity_loc to avoid "maybe unused" warning.
2058           (c_parser_upc_sync_statement): Remove un-needed
2059           'ret' variable.  Cast return value from
2060           'upc_build_sync_stmt' to 'void' to avoid
2061           compile-time warning.
2063         * config/upc-conf.h (UPC_MAX_THREADS): Define as an
2064           integer constant, not a string.  Range is restricted
2065           to maximum positive 32-bit integer (2+ billion) to
2066           fit in with the use of 'int' in the front-end's
2067           switch handling logic.
2069 2011-05-06  Gary Funck  <gary@intrepid.com>
2071         Upgrade c-family source files to conform with modularity
2072         improvements.  Mainly, remove #include of c-tree.h in files
2073         under c-family, and define a new UPC-specific #include file,
2074         c-upc.h, and use it.
2076         * c-family/stub-upc.c: Remove #include of c-tree.h and
2077           upc/upc-act.h.  Replace with #include of c-common.h
2078           and c-upc.h.
2079           (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
2080           upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
2081           upc_localsizeof_expr, upc_localsizeof_type,
2082           upc_shared_type_p): Delete.
2084         * c-family/c-opts.c: Add #include of c-upc.h
2086         * c-family/c-common.c: Remove #include of c-tree.h and
2087           add #include of c-upc.h.
2089         * c-family/c-upc.h: New. Define API for UPC-specific functions
2090           (mostly implemented in upc/upc-act.c).
2092         * c-family/c-common.h (upc_cpp_builtins, upc_write_global_declarations):
2093           Remove extern definitions.
2095         * c-family/c-pragma.c: Remove #include of c-tree.h.
2096           Add #include of c-upc.h.
2098         * tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
2099           c-tree.h.
2100           (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
2101           upc/upc-act.c, and define as a macro.
2102           (expand_affinity_test): Remove unused external definition.
2103           (build_upc_unshared_type): Add external definition.
2104           (upc_shared_type_p): Remove external definition.
2106         * c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
2108         * dojump.c: Remove #include of c-tree.h.
2110         * c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
2111           and move to tree.h.
2112           (count_upc_threads_refs, is_multiple_of_upc_threads,
2113           set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
2114           upc_build_shared_var_addr, upc_build_sync_stmt,
2115           upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
2116           upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
2117           c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
2118           upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
2119           upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
2120           permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
2121           set_upc_consistency_mode, get_upc_consistency_mode,
2122           push_upc_consistency_mode, pop_upc_consistency_mode,
2123           get_upc_pupc_mode):
2124           Move external definitions to c-family/c-upc.h.
2125           (upc_blocksizeof_type, upc_localsizeof_type,
2126           upc_elemsizeof_type): Remove external definitions;
2127           these functions were moved to c-parser.c.
2129         * c-decl.c: Add #include of c-upc.h.
2131         * c-typeck.c: Add #include of c-upc.h.
2133         * c-convert.c: Add #include of c-upc.h.
2135         * ChangeLog.upc: Fix typo.
2137         * Makefile.in: Add references to c-family/c-upc.h, everywhere
2138           there is a reference to c-family/c-objc.h.
2139           Remove extraneous reference to upc-act.h.
2141         * c-parser.c: Add #include of c-upc.h.
2142           (upc_blocksizeof_expr, upc_blocksizeof_type,
2143           upc_elemsizeof_expr, upc_elemsizeof_type,
2144           upc_localsizeof_expr, upc_localsizeof_type):
2145           Move from upc/upc-act.c.
2147         * tree.c (build_upc_unshared_type): New.
2148           Move upc_get_unshared_type from upc/upc-act.c and rename
2149           to build_upc_unshared_type.
2150           c-family/c-common.c (pointer_int_sum): refer to renamed
2151           build_upc_unshared_type function.
2152           c-convert.c (convert): Ditto.
2153           convert.c (convert_to_pointer): Ditto.
2154           c-typeck.c (build_unary_op, build_modify_expr,
2155           really_start_incremental_init): Ditto.
2156           gimplify.c (create_tmp_var_raw): Ditto.
2157           tree.c (build1_stat): Ditto.
2158           tree.h (upc_get_unshared_type): Rename to
2159           build_upc_unshared_type.
2161 2011-05-06  Gary Funck  <gary@intrepid.com>
2163         Merge trunk version 173471 into gupc branch.
2165 2011-05-05  Gary Funck  <gary@intrepid.com>
2167         Make changes that bring the GUPC branch more closely in sync.
2168         with the GCC trunk.  Revert any fixes that are not UPC-specific.
2169         Remove gratuitous re-formatting.
2171         * ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
2172           This file should have been removed in a previous merge
2173           with the trunk.
2174         * ../configure.ac: Remove Cray Catamount/CNL support.
2175         * ../configure: Regenerate.
2176         * ../config.sub: Remove Cray Catamount/CNL support.
2177         * config.gcc: Remove Cray Catamount/CNL support.
2178         * ../maintainer-scripts/gcc_release: Revert to trunk.
2179         * c-family/c-common.h: Define parse_optimize_options.  Its definition
2180           was missed in a previous merge with the trunk.
2181         * dwarf2out.c: Revert a fix which removed the 'type_main_variant'
2182           procedure.
2183         * dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
2184           in addition to ARRAY_TYPE.
2185         * c-typeck.c: Remove an extra newline character.
2186         * varasm.c: Revert a fix that improved an error message
2187           when TLS common data is unimplemented.
2188         * varasm.c: Revert a gcc_assert that had been added which
2189           checked for a null DECL_SIZE_UNIT field.
2190         * emultls.c: Revert to trunk. Remove possible fix.
2191         * Makefile.in: Revert extra blank line that is present
2192           in the trunk version.
2193         * Makefile.in: Revert a fix that handled long shell
2194           argument lists for plugin headers.
2195         * config/ia64/ia64.opt: Revert an option setting
2196           that increased the default TLS address range.
2197         * config/ia64/crtbegin.asm: Revert to trunk.
2198           Removes an extra newline character.
2199         * ChangeLog.upc: Spell check.
2201 2011-05-03  Gary Funck  <gary@intrepid.com>
2203         * c-family/c-common.c: Remove extraneous FIXME/TODO comments.
2204           (c_apply_type_quals_to_decl): Ditto.
2205         * c-family/c-common.h: Ditto.
2206         * dojump.c: Ditto.
2207         * c-decl.c (merge_decls): Ditto.
2208         * c-typeck.c (qualify_type, default_conversion,
2209           build_component_ref, build_unary_op,
2210           c_build_qualified_type): Ditto.
2211         * gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.
2213 2011-04-29  Gary Funck  <gary@intrepid.com>
2215         * c-decl.c (finish_decl): Improve error diagnostics.
2216           (grokdeclarator): Ditto.
2218         * c-typeck.c (build_c_cast): Improve error diagnostics.
2219           (convert_for_assignment): Ditto.
2220           (build_binary_op): Ditto.
2222         * c-parser.c (c_parser_upc_forall_statement):
2223           Improve error diagnostics.
2225         * convert.c (convert_to_integer):  Improve error diagnostics.
2227 2011-04-24  Gary Funck  <gary@intrepid.com>
2229         * c-parser.c (c_parser_upc_sync_statement): Fix ICE that
2230           occurred if there is an error in the barrier id
2231           expression.  Map error_mark_node into NULL.
2233 2011-04-22  Gary Funck  <gary@intrepid.com>
2235         Merge trunk version 172873 into gupc branch.
2237 2011-04-19  Gary Funck  <gary@intrepid.com>
2239         Merge trunk version 172359 into gupc branch.
2241 2011-04-14  Gary Funck  <gary@intrepid.com>
2243         * c-family/c.opt: Add UPC as a valid language for various
2244           switches where it is valid for "C", that were not updated
2245           in previous merges with trunk.
2247 2011-04-13  Gary Funck  <gary@intrepid.com>
2249         * c-family/c.opt (fupc-pre-include): New option definition.
2250         * gcc.c (upc_options): Do not add "-include gcc-upc.h" if
2251           -fno-upc-pre-include is asserted.
2253 2011-04-07  Gary Funck  <gary@intrepid.com>
2255         Merge trunk version 172158 into gupc branch.
2256         to bring in the following fix.
2258 2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>
2260         PR bootstrap/48403
2261         * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2262         if old and new states differ.
2264 2011-04-06  Gary Funck  <gary@intrepid.com>
2266         Merge trunk version 171966 into gupc branch.
2268 2011-04-01  Gary Funck  <gary@intrepid.com>
2270         * tree.h (tree_base): Move UPC flag bits into bit fields
2271           located just before spare bits.  Decrement spare bits.
2272           Rename 'shared_flag' -> 'upc_shared_flag',
2273           'relaxed_flag' -> 'upc_relaxed_flag',
2274           'strict_flag' -> 'upc_strict_flag, and adjust macros
2275           that reference them accordingly.
2277 2011-04-01  Gary Funck  <gary@intrepid.com>
2279         * c-decl.c (grokdeclarator): Fix formatting of
2280           code that sets UPC block size on scalars.
2282 2011-04-01  Gary Funck  <gary@intrepid.com>
2284         * c-decl.c (grokdeclarator): Revert use of white space
2285           to match the trunk (to rationalize diffs).
2286         * c-typeck.c (convert_for_assignment): Ditto.
2287         * tree-ssa.c (useless_type_conversion_p): Ditto.
2289 2011-03-23  Gary Funck  <gary@intrepid.com>
2291         * DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
2292           the GCC 4.6 release branch.
2294 2011-03-21  Gary Funck  <gary@intrepid.com>
2296         Merge trunk version 171202 into gupc branch.
2298 2011-03-20  Gary Funck  <gary@intrepid.com>
2300         * varasm.c: Call error() directly with a format specifier,
2301           rather than using sprintf() to format the message.
2302           This should make it easier to internationalize UPC's error messages.
2304 2011-03-20  Gary Funck  <gary@intrepid.com>
2306         * configure.ac: Fix the check for gnu ld when enabling
2307           UPC link script support.
2308           configure: Regenerate (also picks up changes from previous
2309           merge with trunk).
2311 2011-03-20  Gary Funck  <gary@intrepid.com>
2313         Move UPC start files, end files, and linker specs.
2314         into libupc.  This reduces the impact on common GCC
2315         configuration files, and ensures that these UPC-specific
2316         components are only built when the UPC language dialect is selected.
2318 gcc/
2319         * c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
2320           linker specs. Fix typo in -fupc-debug message.
2322         * config/upc-conf.h, config/darwin.h: Move defines for
2323           UPC-related section begins/ends into libupc/config/default/
2324           upc-crt-config.h.
2326         * config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
2327           UPC-related linker compiler specifications,
2328           accessed via %:include().
2330         * configure.ac, configure: Remove logic related to building
2331           upc-crtbegin/end. Remove config. tests for numa and cpu
2332           affinity (previously used by the 'upc' driver); these
2333           settings are now propagated by target-specific compiler
2334           specs. built by libupc.  Regenerate autoconf.
2336         * gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
2337           linker compiler specifications, accessed via %:include().
2338           Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
2339           'link_upc_spec'.
2341         * Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
2343         * config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
2344           config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
2345           config/ia64/linux.h, config/mips/t-iris,
2346           config/mips/iris6.h: Revert to trunk version 167307.
2348 libgcc/
2349         * configure, configure.ac, config.host, Makefile.in:
2350           Revert to trunk version 167307.
2352 2011-02-23  Gary Funck  <gary@intrepid.com>
2354         * c-decl.c (undeclared_variable): fix typo. Inadvertently
2355         removed negation on following 'if'.
2357 2011-02-22  Gary Funck  <gary@intrepid.com>
2359         * c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
2360         to check for the usage of certain deprecated UPC keywords.
2361         * c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
2362         * c-tree.h (undeclared_variable): Define prototype.
2364 2011-02-12  Gary Funck  <gary@intrepid.com>
2366         * c-typeck.c: (build_c_cast, convert_for_assignment)
2367           Diagnose an attempt to convert from an integer to
2368           a pointer-to-shared as an error.  Also, fix various
2369           error messages so that they use the preferred term
2370           pointer-to-shared instead of "shared pointer".
2372 2011-02-07  Gary Funck  <gary@intrepid.com>
2374         * c-typeck.c: (convert_for_assignment)
2375           Fix typo. in error message.
2377 2011-01-23  Gary Funck  <gary@intrepid.com>
2379         * c-typeck.c: (c_build_qualified_type)
2380           derive UPC block size by calling upc_get_block_size(),
2381           to ensure that the element type of an array of an array
2382           is derived correctly.
2384 2010-12-29  Gary Funck  <gary@intrepid.com>
2386         Merge trunk version 168314 into gupc branch.
2388 2010-12-15  Gary Funck  <gary@intrepid.com>
2390         Merge trunk version 167307 into gupc branch.
2392 2010-10-19  Gary Funck  <gary@intrepid.com>
2394         * c-typeck.c: Fix typo in previous fix
2395           which led to a mis-compare for equal block sizes.
2397 2010-10-18  Gary Funck  <gary@intrepid.com>
2399         * c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
2400           diagnosed as an error
2402           The conversion from any type (shared or not) to
2403           a shared type is likely either meaningless or an error.  This update
2404           makes any conversion to a shared type, an error.
2406 2010-10-18  Gary Funck  <gary@intrepid.com>
2408         * c-typeck.c: Fix bug: passing int to shared pointer arg.
2409           generates spurious warning
2411           Add a #define procedure that does the same thing as
2412           WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
2413           this procedure to diagnose passing an integer value to a
2414           pointer-to-shared as an error.
2416 2010-10-18  Gary Funck  <gary@intrepid.com>
2418         * c-typeck.c: Fix bug: shared [] in prototype silently ignored when
2419           matching routine declaration.
2421           When checking for type compatibility, shared qualified types must
2422           have the same block factor.  This check was missing from
2423           comptypes_internal().  This update adds the check for blocking
2424           factor equality.
2426 2010-10-17  Gary Funck  <gary@intrepid.com>
2428         * dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
2429           found (-O1 -g)
2431           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6
2433 2010-10-17  Gary Funck  <gary@intrepid.com>
2435         * tree-cfg.c: Implement the fix for GCC Bugzilla Bug
2436           45869 - [4.5/4.6 Regression] type mismatch in shift expression
2437           produces ice with -O3 and -m32.
2439           See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869
2441 2010-10-17  Gary Funck  <gary@intrepid.com>
2443         * c-common.c: Diagnose the application of the various "*sizeof"
2444           operations on generic pointer-to-shared as a compilation error.
2446 2010-10-17  Gary Funck  <gary@intrepid.com>
2448         * c-decl.c: Fix a segfault/ICE that occurred when printing an error
2449           message regarding a function parameter being declared with a shared
2450           qualifier.
2452           The parameter's 'name' value is not defined at this point, and
2453           cannot be used in the error message.  This update removes the
2454           reference to 'name', and eliminates the segfault.
2456 2010-10-16  Gary Funck  <gary@intrepid.com>
2458         * Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
2460           The gcc/Makefile.in rules for install-plugin had to be re-written to
2461           break up a long list of header files that exceeded the command line
2462           limitation imposed by Irix.
2464           Access functions for TFmode types had to be implemented.
2465           Apparently, this is the mode used for the SGI/MIPS port to represent
2466           "long float".
2468 2010-10-14  Gary Funck  <gary@intrepid.com>
2470         * c-decl.c: Fix bug: Multiple equal blocking factors specified
2471           via typedef chain should not be diagnosed as an error.
2473           If the block size that is given by the typedef is equal to the block
2474           size given explicitly in the variable declaration, then do not
2475           complain.  The easiest way to make this check was to create a
2476           temporary type that is a clone of the element type and then set its
2477           block size using the given layout qualifier.  Then compare the block
2478           size of the temporary (the declaration) to the block size specified
2479           in the typedef.  This complexity is needed, because the '[*]' block
2480           size needs to be calculated, and the '[]' needs to be mapped into a
2481           zero block size.
2483 2010-10-10  Gary Funck  <gary@intrepid.com>
2485         * c-decl.c: Fix bug: ICE: two or more layout qualifiers
2486           specified
2488           The compiler properly detected the presence of two or more layout
2489           qualifiers as an error, but then hit an assertion check, because the
2490           code that followed the error expected to see a qualifier and not a
2491           layout specifier.  The fix is simple: just return immediately after
2492           detecting the error.
2494 2010-10-10  Gary Funck  <gary@intrepid.com>
2496         * c-decl.c: Improve error diagnostics for various cases of UPC
2497           shared array type declarations.
2499           Add the check for this error: "In the dynamic translation
2500           environment, THREADS may not appear in declarations of shared arrays
2501           with indefinite block size".  Also, fix up a few of the other
2502           related error diagnostics.
2504 2010-10-09  Gary Funck  <gary@intrepid.com>
2506         * c-common.c: Fix bug: segfault on incomplete array definition.
2508           This turned out to be a bit complicated.   The logic in
2509           upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
2510           the THREADS identifier in the case where the blocking factor has
2511           been set to indefinite ([]).  This can happen when indefinite array
2512           declarations are processed for shared arrays.  At that time, the
2513           file scope has been closed and THREADS is no longer in scope.  Some
2514           more work is needed on upc_lang_layout_decl().  It has some
2515           duplication, and notably duplicates the two branches of the if
2516           having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
2517           caller of this routine (layout_decl()).
2519           The method of forcing a layout qualifier of [] in the indefinite
2520           declaration handler is odd a well.  The code that just does the
2521           setting of the block factor, needs to moved into its own routine
2522           that doesn't depend upon a declspec for '[]' to be passed in, just
2523           in order to set the blocking factor to some value (in this case, 0).
2524           Also, the logic for how that shared type is constructed is strange.
2525           First the type with 0 blocking factor is set.  Then the shared
2526           qualifier is removed from the type, and then added back later.  The
2527           intermediate type has a blocking factor set, but it has no shared
2528           qualifier.  Fixing this will require some thought.  It is tempting
2529           just to make indefinite shared arrays an error, rather than forcing
2530           the dimension to be '1'.
2532           This likely fixes a serious error in the previous update to
2533           upc_lang_layout_decl(), where it didn't have the logic to set
2534           TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
2535           the previous update would fail on many tests.
2537 2010-10-09  Gary Funck  <gary@intrepid.com>
2539         * varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
2540           (decl) is null, which can happen if some layout error occurred
2541           upstream.
2543 2010-10-09  Gary Funck  <gary@intrepid.com>
2545         * c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
2546           "variable-sized" when compiled in dynamic threads.
2548           This long-standing bug is easily fixed.  Just check
2549           for the situation that the non-constant sized type is shared and
2550           that it does not have a dimension that references a multiple of
2551           threads.  If this criteria is met, then issue a meaningful
2552           diagnostic.
2554 2010-10-01  Gary Funck  <gary@intrepid.com>
2556         * configure, configure.ac: Update manual page, and bug reporting
2557           URL.
2559           Update "man" page to reflect debugging switches.  Also, some general
2560           clean up.  Change the bug reporting URL to point to gccupc.org.
2562 2010-09-27  Gary Funck  <gary@intrepid.com>
2564         * c-parser.c, config/upc-conf.h: Issue a descriptive message when
2565           the UPC forall depth count variable is not found.
2567           The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
2568           The compiler will generate code that references this variable in
2569           order to implement nested upc_forall semantics.  If there is a
2570           compiler build or install problem, this variable may not be found.
2571           In this case, terminate with an internal_error().
2573 2010-09-26  Gary Funck  <gary@intrepid.com>
2575         * c-parser.c: Fix Bug 240: upc_forall with empty clauses
2576           mis-diagnosed as syntax error.
2578           Fix a failure exhibited by the Berkeley test case,
2579           bug873a.upc, which has the code:
2580                double d;
2581                upc_forall (;;;d) {...} The compiler did not properly handle
2582           the empty "condition" clause, and did not recover well when it was
2583           determined that the use of a double value, "d" above, was neither a
2584           pointer-to-shared nor an integer expression.  The update implements a
2585           fix for both issues.
2587           See also: gcc/c-parser.c gcc/upc/upc-act.c
2589 2010-09-23  Gary Funck  <gary@intrepid.com>
2591         * c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
2592           incorporated into the referencing type.
2594           This was semi-fixed a few times before.  This update fixes a few
2595           more places where the layout qualifier wasn't being propagated
2596           through typedef's properly.  What made this a bit tricky is shown in
2597           the example cited in the bug report:
2599           typedef shared [5] int A_t; A_t A[5*THREADS];
2601           In the typedef, the blocksize is being applied to a shared *scalar*,
2602           and the code was applying the blocksize only to arrays.  This update
2603           handles shared scalars correctly.
2605 2010-09-22  Gary Funck  <gary@intrepid.com>
2607         * c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
2608           upc_forall() semantics are not implemented
2610           The checkforall test in the Berkeley harness test suite indicated
2611           that GCC/UPC was not properly implementing nested upc_forall
2612           semantics.  Nested upc_forall statements (both statically or
2613           dynamically nested) must implement their affinity clause as if it
2614           were "continue"; thus all steps in the loop must execute without
2615           regard for affinity.  To implement these semantics a global depth
2616           counter, __upc_forall_depth, is maintained by the generated code
2617           that implements upc_forall.
2619           See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
2620           gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
2621           libupc/include/upc.h libupc/smp/upc_main.c
2623 2010-09-19  Gary Funck  <gary@intrepid.com>
2625         * c-decl.c: c-decl.c: zero out the layout specifier, after
2626           processing an array type.
2628           Fix the previous fix, that moved the setting of the type's layout
2629           qualifier to the outside of the array type processing loop.  What is
2630           missing from the fix is that the layout_qualifier variable needs to
2631           be cleared after setting the type's blocksize.
2633 2010-09-19  Gary Funck  <gary@intrepid.com>
2635         * config/upc-conf.h: Fix Bug 375: error message is off-by-one when
2636           given blocksize is greater than UPC_MAX_BLOCKSIZE.
2638           The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
2639           the actual maximum block size.  Therefore, the message was correct,
2640           but the underlying value that was being checked was wrong.  Change
2641           the values so that they agree with the actual implementation-defined
2642           limit.
2644 2010-09-11  Gary Funck  <gary@intrepid.com>
2646         * c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
2647           multi-dimensional shared array with dynamic threads.
2649           This declaration caused an internal compiler error when compiled
2650           with dynamic threads:
2651               shared [*] int A[THREADS][16]; The bug was discovered when
2652           compiling the RTED_UPC test suite.
2654           The fix is to process layout qualifiers after the entire array type
2655           has been built.  Otherwise, we try to calculate the blocksize on a
2656           shared array type that has not had its "size depends upon the value
2657           of THREADS" flag set.
2659           Also, added a test case.
2661           See also: libupc/testsuite/libupc.upc/intrepid/test18.upc
2663 2010-07-11  Gary Funck  <gary@intrepid.com>
2665         Fix a bug where a statement in c_build_qualified_type()
2666         in the trunk had been inadvertently deleted.
2667         This bug showed up in the IA64 port, because jmpbuf's
2668         on that architecture must be 16 byte aligned, and they were not.
2669         c-typeck.c (c_build_qualified_type): Revive the deleted line.
2671 2010-07-08  Gary Funck  <gary@intrepid.com>
2673         Make changes so that other language compilers
2674         will build and bootstrap.
2675         * c-family/c-common.c (compiling_upc, flag_upc,
2676         flag_upc_instrument, flag_upc_instrument_functions,
2677         use_upc_dwarf2_extensions): Move to stub-upc.c and
2678         upc-lang.c.
2679         * c-family/c-common.h (use_upc_dwarf2_extensions,
2680         compiling_upc): Add extern definitions - needed
2681         to compile/build other language front ends.
2682         * c-family/c.opt: Fix the spelling of ObjC.
2683         It had been incorrectly spelled as Objc.
2684         * c-family/c.opt: Add UPC for the various switches
2685         that are valid for both C and ObjC.
2686         * c-fmaily/c-opts.c: Add CL_UPC to the list of
2687         supported options switches when compiling assembly
2688         language.
2689         * lto/lto-lang.c (use_upc_dwarf2_extensions,
2690         flag_upc_instrument, flag_upc_instrument_functions):
2691         Remove these definitions.  They have been moved
2692         to c-family/stub-upc.c.
2693         * upc/ChangeLog: Move relevant entries
2694         to ChangeLog.upc.
2695         * c-family/stub-upc.c (compiling_upc, flag_upc,
2696         flag_upc_instrument, flag_upc_instrument_functions,
2697         use_upc_dwarf2_extensions): Moved from c-common.c
2698         * upc/upc-lang.c (compiling_upc, flag_upc,
2699         flag_upc_instrument, flag_upc_instrument_functions,
2700         use_upc_dwarf2_extensions): Moved from c-common.c
2701         * objc/objc-act.c (objc_gimplify_expr): Add additional
2702         parameters to c_gimplify_expr() call, that are used
2703         by upc's tree rewrites.
2704         * cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
2705         * gcc/cp/lex.c (init_reswords): If not compiling
2706         UPC, then mask off the UPC keywords.
2707         * cp/Make-lang.in (C_STUB_OBJS): Use this
2708         make macro to link with c-family/stub-objc.o
2709         and c-family/stub-upc.o.
2710         * fortran/Make-lang.in (C_STUB_OBJS): Likewise.
2711         * java/Make-lang.in (C_STUB_OBJS): Likewise.
2712         * objc/Make-lang.in: Link with c-family/stub-upc.o
2713         to avoid undefined references.
2714         c-parser.c: Fix line indentation.
2715         * libcpp/include/cpplib.h: Remove CL_UPC from
2716         the list of language kinds accepted by the
2717         C preprocessor.  This is not necessary because
2718         UPC is a derivative of C99, and does not need
2719         a different language kind.
2720         * c-fmaily/c-opts.c (c_common_handle_option):
2721         Call set_std_c99() when processing the
2722         "--lang upc" switch, instead of setting the
2723         language kind to CL_UPC.
2724         * libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.
2726 2010-07-03  Gary Funck  <gary@intrepid.com>
2728         Merge trunk version 161517 into gupc branch.
2729         * gcc/stub-upc.c: Move to gcc/c-family/.
2730         * libupc/testsuite/libupc.upc/intrepid/test19.upc:
2731         Add 'unused' attributes to avoid "set, but
2732         not referenced" warnings.
2733         * libupc/testsuite/libupc.upc/intrepid/test18.upc:
2734         Likewise.
2736 2010-03-01 Gary Funck  <gary@intrepid.com>
2738         Create gupc branch from trunk version 157149.