2015-08-16  Gary Funck  <gary@intrepid.com>

	Released GUPC 5.2.0.1 based on gupc-5-branch version 226922.

2015-08-15  Gary Funck  <gary@intrepid.com>

	Cherry pick gupc branch updates, up to version 226919.

2015-08-15  Gary Funck  <gary@intrepid.com>

	* top-level/Makefile.def (language=upc):
	Remove UPC language target.
	* top-level/Makefile.in: Re-generate.

2015-08-12  Gary Funck  <gary@intrepid.com>

	Cherry pick gupc branch updates, up to version 226835.

2015-07-16  Gary Funck  <gary@intrepid.com>

	Merge GCC 5.2 release into gupc-5-branch.
	Merge gcc-5-branch version 225864 into gupc-5-branch.

2015-06-23  Gary Funck  <gary@intrepid.com>

	* function.c (assign_parm_setup_reg): Improve check for
	struct PTS.

2015-06-06  Gary Funck  <gary@intrepid.com>

	* config/rs6000/rs6000.c (rs6000_pass_by_reference):
	Check for UPC struct pointer-to-shared type,
	if using V4 ABI (typical of 32 bit target).

2015-05-27  Gary Funck  <gary@intrepid.com>

	* config/rs6000/rs6000.c (rs6000_return_in_memory):
	Generalize check for struct PTS to handle various ABI's.
	(rs6000_function_arg_boundary): Simplify the check for struct PTS.
	(rs6000_function_value): Improve formatting.

2015-05-24  Gary Funck  <gary@intrepid.com>

	* tree-core.h, tree.h: Fix typo introduced in revision 209120.

2015-05-23  Gary Funck  <gary@intrepid.com>

	* config/rs6000/rs6000.c (rs6000_function_arg_boundary):
	Disable ABI warning for UPC pointer-to-shared types
	or the PTS representation type.

2015-05-22  Gary Funck  <gary@intrepid.com>

	* config/rs6000/rs6000.c (s6000_function_arg_boundary):
	Check for UPC pointer-to-shared type in logic that
	handles new ABI for types that are aligned at >= 16 bytes.

2015-05-22  Gary Funck  <gary@intrepid.com>

	Fix RTL check for "struct-PTS".
	* function.c (assign_parm_setup_reg): Don't call mark_reg_pointer()
	with a UPC pointer-to-shared.

2015-05-13  Gary Funck  <gary@intrepid.com>

	Fix ICE when initializing a global shared variable of type __int128.
	* c/c-convert.c (convert):
        Drop 'shared' qualifier for all conversions.
	Previously, this was done only for types that
	shared the same main variant.

2015-05-12  Gary Funck  <gary@intrepid.com>

	Fix ICE when compiling nested functions.
	* c-family/c-gimplify.c: Revert to trunk.
	* c/c-decl.c (finish_function):
	Move call to upc_genericize here.
	* c-family/c-upc-low.c (upc_genericize_function): Renamed.
	Was: upc_genericize_fndecl.
	Remove logic that attempted to explicitly save/restore
	current_function_decl.
	(upc_genericize_function_tree): Delete.

2015-05-11  Gary Funck  <gary@intrepid.com>

	Remove asserts which check for attempt to qualify an ARRAY_TYPE.
	Caused an ICE when compiling gcc.dg/pointer-array-quals-*.c.
	* c/c-typeck.c (qualify_type): Revert to trunk.

2015-05-08  Gary Funck  <gary@intrepid.com>

	Revert cosmetic changes to trunk to avoid spurious differences.
	* tree.c: Remove extra blank line.
	* c/c-typeck.c: Add back extra blank line.

2015-04-30  Gary Funck  <gary@intrepid.com>

	* doc/passes.texi: Add @section command for "UPC Transformation".

2015-04-29  Gary Funck  <gary@intrepid.com>

	* doc/gupc.texi, doc/install.texi, doc/invoke.texi,
	doc/passes.texi, doc/sourcebuild.texi:
	Update GUPC documentation.

2015-04-12  Gary Funck  <gary@intrepid.com>

	Merge trunk version 222024 into gupc-5-branch.

2015-04-06  Gary Funck  <gary@intrepid.com>

	Create gupc-5-branch from version 221948 of the gupc branch.
	Merge trunk version 221876 into gupc branch.

2015-03-30  Gary Funck  <gary@intrepid.com>

	Merge trunk version 221770 into gupc branch.

2015-03-23  Gary Funck  <gary@intrepid.com>

	Merge trunk version 221587 into gupc branch.

2015-03-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 221445 into gupc branch.

2015-03-09  Gary Funck  <gary@intrepid.com>

	Merge trunk version 221277 into gupc branch.

2015-03-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 221103 into gupc branch.

2015-02-23  Gary Funck  <gary@intrepid.com>

	Merge trunk version 220913 into gupc branch.

2015-02-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 220722 into gupc branch.

2015-02-09  Gary Funck  <gary@intrepid.com>

	Merge trunk version 220526 into gupc branch.

2015-02-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 220345 into gupc branch.

2015-01-26  Gary Funck  <gary@intrepid.com>

	Merge trunk version 220104 into gupc branch.

2015-01-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 219833 into gupc branch.

2015-01-12  Gary Funck  <gary@intrepid.com>

	Merge trunk version 219456 into gupc branch.

2015-01-05  Gary Funck  <gary@intrepid.com>

	Merge trunk version 219182 into gupc branch.

2014-12-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 219097 into gupc branch.

2014-12-22  Gary Funck  <gary@intrepid.com>

	Merge trunk version 219006 into gupc branch.

2014-12-08  Gary Funck  <gary@intrepid.com>

	Merge trunk version 218477 into gupc branch.

2014-12-01  Gary Funck  <gary@intrepid.com>

	Merge trunk version 218203 into gupc branch.

2014-11-05  Gary Funck  <gary@intrepid.com>

	Merge trunk version 217032 into gupc branch.
	* c/c-upc-lang.c c/gupcspec.c c-family/c-upc.c
	c-family/c-upc-gasp.c c-family/c-upc-low.c
	c-family/c-upc-pts-ops.c c-family/c-upc-pts-packed.c
	c-family/c-upc-pts-struct.c: Remove unnecessary #include's.

2014-10-27  Gary Funck  <gary@intrepid.com>

	Merge trunk version 216723 into gupc branch.

2014-10-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 216449 into gupc branch.

2014-10-13  Gary Funck  <gary@intrepid.com>

	Merge trunk version 216139 into gupc branch.

2014-10-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 215919 into gupc branch.

2014-09-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 215678 into gupc branch.

2014-09-22  Gary Funck  <gary@intrepid.com>

	Merge trunk version 215458 into gupc branch.

2014-09-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 215259 into gupc branch.

2014-09-08  Gary Funck  <gary@intrepid.com>

	Merge trunk version 215014 into gupc branch.

2014-09-01  Gary Funck  <gary@intrepid.com>

	Merge trunk version 214779 into gupc branch.

2014-08-25  Gary Funck  <gary@intrepid.com>

	Merge trunk version 214415 into gupc branch.

2014-08-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 214178 into gupc branch.

2014-08-14  Gary Funck  <gary@intrepid.com>

	Merge trunk version 213968 into gupc branch.
	DEV-PHASE: Bump to 5.0.0-1.

2014-08-11  Gary Funck  <gary@intrepid.com>

	Merge trunk version 213809 into gupc branch.

2014-08-05  Gary Funck  <gary@intrepid.com>

	Merge trunk version 213646 into gupc branch.

2014-08-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 213543 into gupc branch.

2014-08-01  Gary Funck  <gary@intrepid.com>

	* testsuite/gcc.dg/gupc: New.
	Add compile-only tests which check for semantic errors/warnings
	and verify that UPC constructs generate expected UPC runtime calls.
	* testsuite/upc.dg: Removed.
	* testsuite/lib/upc-dg.exp: Removed.
	* testsuite/lib/upc.exp: Removed.
	* testsuite/lib/target-supports.exp
	(check_effective_target_fupc): New.
	(check_effective_target_upc_struct_pts,
	check_effective_target_upc_packed_pts):
	Pass "-fupc -fno-upc-pre-include".
	* testsuite/gcc.dg/gupc/gupc.exp: Moved from
	testsuite/upc.dg/compile/compile.exp and modified to
	work under gcc.dg.

2014-07-28  Gary Funck  <gary@intrepid.com>

	Merge trunk version 213118 into gupc branch.

2014-07-21  Gary Funck  <gary@intrepid.com>

	Merge trunk version 212892 into gupc branch.

2014-07-14  Gary Funck  <gary@intrepid.com>

	Merge trunk version 212522 into gupc branch.

2014-07-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 212325 into gupc branch.

2014-07-02  Nenad Vukicevic  <nenad@intrepid.com>

	* configure.ac: Fix checking for 32-bits target while
	setting the default PTS packed bits.
	* configure: Regenerate.

2014-06-30  Gary Funck  <gary@intrepid.com>

	Merge trunk version 212138 into gupc branch.

2014-06-23  Gary Funck  <gary@intrepid.com>

	Merge trunk version 211886 into gupc branch.

2014-06-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 211699 into gupc branch.

2014-06-14  Gary Funck  <gary@intrepid.com>

	Merge trunk version 211672 into gupc branch.

2014-06-12  Gary Funck  <gary@intrepid.com>

	Merge trunk version 211604 into gupc branch.

2014-06-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 211129 into gupc branch.

2014-05-26  Gary Funck  <gary@intrepid.com>

	Merge trunk version 210928 into gupc branch.

2014-05-21  Nenad Vukicevic  <nenad@intrepid.com>

	* config/darwin.h (LINK_COMMAND_SPEC_A): Fix linker spec
	on Darwin, replace -fupc-link with -fupc option.

2014-05-12  Gary Funck  <gary@intrepid.com>

	Merge trunk version 210323 into gupc branch.

2014-05-05  Gary Funck  <gary@intrepid.com>

	Merge trunk version 210065 into gupc branch.

2014-04-28  Gary Funck  <gary@intrepid.com>

	Merge trunk version 209848 into gupc branch.

2014-04-21  Gary Funck  <gary@intrepid.com>

	Merge trunk version 209542 into gupc branch.

2014-04-20  Gary Funck  <gary@intrepid.com>

	* c/c-typeck.c (build_binary_op): Check for invalid comparison
	between pointers-to-shared with target types that have
	differing UPC blocking factors.

2014-04-16  Gary Funck  <gary@intrepid.com>

	Fix PTS comparison involving a generic PTS using packed representation.
	* c-family/c-upc-pts-packed.c (upc_pts_packed_build_cond_expr):
	When comparing (shared void *) pointers, mask out the phase component.

2014-04-14  Gary Funck  <gary@intrepid.com>

	Merge trunk version 209359 into gupc branch.
	DEV-PHASE: Bump to 4.10.0-1.

2014-04-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 209179 into gupc branch.

2014-04-04  Gary Funck  <gary@intrepid.com>

	* tree-upc.c tree-upc.h: New.
	Factor UPC-specific tree node handling
	into tree-upc.c and tree-upc.h.
	* Makefile.in: Refer to tree-upc.c and tree-upc.h.
	* c/c-convert.c c/c-decl.c c/c-objc-common.c
	c/c-typeck.c c/c-upc-lang.c c-family/c-common.c
	c-family/c-pretty-print.c c-family/c-upc-low.c
	c-family/c-upc-pts-packed.c c-family/c-upc-pts-struct.c
	c-family/c-upc.c c-family/c-upc.h convert.c
	dwarf2out.c print-tree.c tree-core.h tree-dump.c
	tree-pretty-print.c tree.c tree.h: Rename variables and
	functions to include 'upc' in their names.

2014-03-31  Gary Funck  <gary@intrepid.com>

	Merge trunk version 208955 into gupc branch.

2014-03-24  Gary Funck  <gary@intrepid.com>

	Merge trunk version 208783 into gupc branch.

2014-03-17  Gary Funck  <gary@intrepid.com>

	Merge trunk version 208609 into gupc branch.

2014-03-10  Gary Funck  <gary@intrepid.com>

	Merge trunk version 208447 into gupc branch.

2014-03-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 208270 into gupc branch.

2014-02-24  Gary Funck  <gary@intrepid.com>

	Merge trunk version 208066 into gupc branch.

2014-02-17  Gary Funck  <gary@intrepid.com>

	Merge trunk version 207818 into gupc branch.

2014-02-10  Gary Funck  <gary@intrepid.com>

	Merge trunk version 207649 into gupc branch.

2014-02-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 207415 into gupc branch.

2014-01-30  Gary Funck  <gary@intrepid.com>

	Merge trunk version 207297 into gupc branch.

2014-01-28  Gary Funck  <gary@intrepid.com>

	* c/gupcspec.c (match_suffix): Remove use of PARAMS.

2014-01-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 206847 into gupc branch.

2014-01-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 206792 into gupc branch.

2014-01-17  Nenad Vukicevic  <nenad@intrepid.com>

	* c-family/c-cppbuiltin.c (upc_cpp_builtins): Remove pre-defines
	for __UPC_CASTABLE__, __UPC_COLLECTIVE__, __UPC_TICK__ and
	__UPC_PUPC__ as they are library and not compiler features.

2014-01-13  Gary Funck  <gary@intrepid.com>

	Merge trunk version 206575 into gupc branch.

2014-01-10  Gary Funck  <gary@intrepid.com>

	Update copyright notices.

2014-01-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 206354 into gupc branch.

2014-01-04  Gary Funck  <gary@intrepid.com>

	Integrate GUPC into cc1.
	* upc/: Remove directory.  Re-distribute files.
	* c/c-upc-lang.c: Move upc/upc-lang.c here.
	* c/c-upc-lang.h: New.
	* c-family/c-upc.c: Move upc/upc-act.c here.
	* c-family/c-upc-gasp.c: Move upc/upc-gasp.c here.
	* c-family/c-upc-gasp.h: Move upc/upc-gasp.h here.
	* c-family/c-upc.h: Move upc/upc-act.h here.
	* c-family/c-upc-low.c: Move upc/upc-genericize.c here.
	* c-family/c-upc-low.h: Move upc/upc-genericize.h here.
	* c-family/c-upc-pts.h: Split upc/upc-pts.h here.
	* c-family/c-upc-pts-ops.c: Split upc/upc-pts.c here.
	* c-family/c-upc-pts-ops.h: Split upc/upc-pts.h here.
	* c-family/c-upc-pts-packed.c: Move upc/upc-pts-packed.c here.
	* c-family/c-upc-pts-struct.c: Move upc/upc-pts-struct.c here.
	* c-family/c-upc-rts-names.h: Move upc/upc-rts-names.h here.
	* c-family/stub-upc.c: Remove.
	* c/gupcspec.c: Move upc/gupcspec.c here.
	* doc/gupc.texi: Move upc/gupc.texi here.
	* c/c-objc-common.h: Revert to trunk.
	* cp/lex.c: Revert to trunk.
	* cp/Make-lang.in: Revert to trunk.
	* expr.h: Revert to trunk.
	* flags.h: Revert to trunk.
	* fortran/Make-lang.in: Revert to trunk.
	* java/Make-lang.in: Revert to trunk.
	* lto/Make-lang.in: Revert to trunk.
	* objc/Make-lang.in: Revert to trunk.
	* stor-layout.c: Delete custom hook routines, use
	newly defined declaration layout language hooks.
	* stor-layout.h: Revert to trunk.
	* ../configure.ac: Remove check for UPC language dialect.
	* ../configure: Re-generate.
	* Makefile.in (C_COMMON_OBJS): Add UPC-related object files.
	* c/Make-lang.in: Compile UPC-related files.  Build gupc driver.
	* c/c-decl.c: Call c_genericize() directly rather than
	lang_hooks.genericize().  Adjust for flag_upc and name changes.
	* c/c-lang.c (LANG_HOOKS_UPC_TOGGLE_KEYWORDS,
	LANG_HOOKS_UPC_PTS_STRUCT_INIT_TYPE, LANG_HOOKS_UPC_BUILD_INIT_FUNC,
	LANG_HOOKS_LAYOUT_DECL_P, LANG_HOOKS_LAYOUT_DECL):
	Define UPC-specific hooks.
	* c/c-objc-common.c (upc_types_compatible_p): Move to here.
	(c_types_compatible_p): Call upc_types_compatible_p().
	* c/c-parser.c (upc_affinity_test): Move to here.
	(upc_build_sync_stmt): Move to here.
	* c/c-typeck.c: #include c-family/c-upc-low.h.
	* c/config-lang.in (gtfiles): Add UPC gt files.
	* c-family/c-common.c: Add #include c-upc.h.
	(c_common_get_alias_set): Move UPC-related alias check to here.
	(upc_num_threads): Move to here.
	(c_common_init_ts): Mark UPC-specific statement tree definitions.
	* c-family/c-common.def (UPC_FORALL_STMT, UPC_SYNC_STMT):
	Define UPC-specific statements.
	* c-family/c-common.h (RID_FIRST_UPC_QUAL, RID_LAST_UPC_QUAL,
	RID_FIRST_UPC_KW, RID_LAST_UPC_KW, UPC_IS_KEYWORD): New.
	(clk_upc, clk_upcxx, c_dialect_upc, compiling_upc): Delete.
	(use_upc_dwarf2_extensions, flag_upc): Move to c-family/c.opts.
	(upc_num_threads): Declare prototype.
	(UPC_SYNC_OP, UPC_SYNC_ID, UPC_SYNC_NOTIFY_OP, UPC_SYNC_WAIT_OP,
	UPC_SYNC_BARRIER_OP): Move definitions here.
	* c-family/c-cppbuiltin.c: Remove #include c-upc.h and
	add #include c-upc-pts.h.
	(upc_cpp_builtins): Move to here.  Define as static.
	(c_cpp_builtin): Change call to c_dialect_upc () into
	test of flag_upc.
	* c-family/c-gimplify.c: #include c-upc-low.h.
	(c_common_genericize): Rename c_genericize() to this and make static.
	(c_genericize): Call upc_genericize() if flag_upc is set and
	then call c_common_genericize().
	* c-family/c-opts.c: #include c-upc-low.h and c-upc-pts.h.
	(c_family_lang_mask): Remove CL_UPC.
	(c_common_option_lang_mask): Remove CL_UPC from lang_flags.
	(upc_init_options): Move to here, make it static.
	(c_common_init_options): Add early check for flag_upc, if found
	call upc_init_options().
	(upc_handle_option): Move to here and make static.
	(c_common_handle_option): Check for UPC-related options
	and call upc_handle_option().  Remove references to
	OPT_lang_upc and clk_upc.  Check flag_upc instead of
	calling c_dialect_upc().
	* c-family/c-pragma.c: #include langhooks.h.
	(handle_pragma_upc): Remove warning if flag_upc not set;
	flag_upc now serves the function of compiling_upc().
	Add call to lang_hooks.upc.toggle_keywords() to
	implement enable/disable of UPC keywords.
	(init_pragma): Check flag_upc instead of compiling_upc.
	* c-family/c-pragma.h (deny_pragma_upc, get_upc_consistency_mode,
	permit_pragma_upc, pop_upc_consistency_mode,
	pragma_upc_permitted_p, push_upc_consistency_mode,
	set_upc_consistency_mode): Move prototypes to here.
	* c-family/c.opt: Remove all references to "UPC" language dialect.
	Add -fupc option. Delete -fupc-link option.
	Add -fupc-threads= option and deprecate -fupc-threads-.
	* configure.ac: Remove check for UPC language dialect.
	* configure: Re-generate.
	* explow.c (tree_expr_size): Move to tree.c.
	* gcc.c: Change specs to refer to -fupc instead of -lang-upc
	and -fupc-link.
	* hooks.c (hook_bool_tree_tree_false): Declare prototype.
	* langhooks.c (lhd_do_nothing_b, lhd_do_nothing_t_t): New.
	* langhooks.h (lang_hooks_for_upc): Define hooks for UPC.
	(layout_decl_p, layout_decl): Define language-specific
	declaration  layout hooks.
	(genericize): Remove this language hook.
	* langhooks-def.h: Define UPC default language hooks.
	Define language-specific declaration layout default hooks.
	* langhooks.c (lhd_do_nothing_b): New.
	* tree-core.h (shared_flag): Rename from upc_shared_flag.
	(strict_flag): Rename from upc_strict_flag.
	(relaxed_flag): Rename from upc_relaxed_flag.
	(threads_factor_flag): New. Was a lang. flag.
	(block_factor_0): New. Was a lang. flag.
	(block_factor_x): New. Was a lang. flag.
	(spare1): Decrement spare bits from 8 down to 5.
	* tree.c (block_factor_for_type): Move to here.
	(tree_expr_size): Move to here from explow.c.
	(block_factor_lookup): Move to here.
	(block_factor_insert): Move to here.
	(upc_get_block_factor): Move to here.
	* tree.h: refer to block_factor_* instead of upc_block_factor_*.
	(TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
	TYPE_HAS_THREADS_FACTOR): Refer to tree base flag bits instead
	of lang. flag bits.
	(tree_expr_size): Move prototype from explow.h.

2013-12-30  Gary Funck  <gary@intrepid.com>

	Merge trunk version 206243 into gupc branch.

2013-12-23  Gary Funck  <gary@intrepid.com>

	Merge trunk version 206179 into gupc branch.

2013-12-22  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_cpp_builtins): Bump UPC_VERSION
	to reflect UPC specification version 1.3 compliance.

2013-12-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 206010 into gupc branch.

2013-12-09  Gary Funck  <gary@intrepid.com>

	Merge trunk version 205801 into gupc branch.

2013-12-03  Meador Inge  <meadori@codesourcery.com>

	* tree-core.h (tree_type_common): Change tree_type_common to use
	user-provided GC marking.
	(gt_ggc_mx, gt_pch_nx): New prototypes.
	* tree.c (gt_ggc_mx, gt_pch_nx): New functions.

2013-12-03  Gary Funck  <gary@intrepid.com>

	Revert:

	2011-10-10  Gary Funck  <gary@intrepid.com>

	* tree.c (check_qualified_type, check_aligned_type):
	Call tree_int_cst_equal() to compare UPC blocking factors
	if the corresponding tree pointers are not equal.
	* c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.

2013-12-03  Gary Funck  <gary@intrepid.com>

	* c-family/c.opt: Fix typo introduced in 2013-06-03
	merge with trunk.

2013-12-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 205582 into gupc branch.

2013-11-26  Meador Inge  <meadori@codesourcery.com>

	* upc/upc-genericize.c (upc_expand_get): Ensure that temporaries
	are declared via a DECL_EXPR.

2013-11-25  Gary Funck  <gary@intrepid.com>

	Merge trunk version 205346 into gupc branch.

2013-11-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 204942 into gupc branch.

2013-11-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 204894 into gupc branch.

2013-11-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 204659 into gupc branch.

2013-11-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 204345 into gupc branch.

2013-10-31  Gary Funck  <gary@intrepid.com>

	Released GUPC 4.9.0.1 based on version 203902.
	This release version was committed on 2013-10-21.
	* DEV-PHASE: Bump to 4.9.0.2.
	* DATESTAMP: Bump date stamp.

2013-10-28  Gary Funck  <gary@intrepid.com>

	Merge trunk version 204119 into gupc branch.

2013-10-21  Gary Funck  <gary@intrepid.com>

	Merge trunk version 203886 into gupc branch.

2013-10-14  Gary Funck  <gary@intrepid.com>

	Merge trunk version 203514 into gupc branch.

2013-10-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 203240 into gupc branch.

2013-10-01  Gary Funck  <gary@intrepid.com>

	Implement pointer-to-shared -> integer conversions.
	Required per UPC 1.3 Specification.
	* c/c-typeck.c (build_c_cast): Remove logic that diagnosed
	PTS->int conversions as an error.  Rewrite into a CONVERT_EXPR
	for later processing by upc_genericize().

2013-10-01  Gary Funck  <gary@intrepid.com>

	Implement pointer-to-shared -> integer conversions.
	Required per UPC 1.3 Specification.
	* upc/upc-genericize.c (upc_genericize_pts_to_int_cvt): New.
	(upc_genericize_expr): Call upc_genericize_pts_to_int_cvt().

2013-09-30  Gary Funck  <gary@intrepid.com>

	Merge trunk version 203026 into gupc branch.

2013-09-23  Gary Funck  <gary@intrepid.com>

	Merge trunk version 202825 into gupc branch.

2013-09-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 202725 into gupc branch.

2013-09-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 202619 into gupc branch.

2013-09-09  Gary Funck  <gary@intrepid.com>

	Merge trunk version 202382 into gupc branch.

2013-09-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 202159 into gupc branch.

2013-08-26  Gary Funck  <gary@intrepid.com>

	Merge trunk version 202008 into gupc branch.

2013-08-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 201832 into gupc branch.

2013-08-05  Gary Funck  <gary@intrepid.com>

	Merge trunk version 201483 into gupc branch.

2013-07-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 201301 into gupc branch.

2013-07-22  Gary Funck  <gary@intrepid.com>

	Merge trunk version 201119 into gupc branch.

2013-07-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 200955 into gupc branch.

2013-07-08  Gary Funck  <gary@intrepid.com>

	Merge trunk version 200775 into gupc branch.

2013-07-01  Gary Funck  <gary@intrepid.com>

	Merge trunk version 200575 into gupc branch.

2013-06-24  Gary Funck  <gary@intrepid.com>

	Merge trunk version 200361 into gupc branch.

2013-06-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 200149 into gupc branch.

2013-06-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 200149 into gupc branch.
	* upc/upc-act.c (upc_create_static_var): New.
	(upc_build_init_func): Call upc_create_static_var() to
	create a static variable, __upc_init_func_addr, which
	is initialized to the address of the UPC
	shared data initialization function.  This change is
	needed to avoid writing to the output assembly language
	file too early.
	(upc_build_sync_stmt): Delete unused variable, sync_expr_type.

2013-06-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 199596 into gupc branch.

2013-05-27  Gary Funck  <gary@intrepid.com>

	Merge trunk version 199350 into gupc branch.

2013-05-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 199093 into gupc branch.

2013-05-14  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts-packed.c (upc_pts_packed_build_cvt):
	When checking whether the phase of a PTS should be reset,
	if the source type is an array type, then bypass
	the check for equal type sizes.
	* upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.

2013-05-13  Gary Funck  <gary@intrepid.com>

	Merge trunk version 198815 into gupc branch.

2013-05-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 198622 into gupc branch.

2013-04-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 198433 into gupc branch.

2013-04-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 197958 into gupc branch.

2013-04-08  Gary Funck  <gary@intrepid.com>

	Merge trunk version 197571 into gupc branch.

2013-04-04  Gary Funck  <gary@intrepid.com>

	Per the UPC 1.3 specification, the type of the
	optional barrier/notify/wait expression is not constrained to
	'int'. Instead, any type that is assignment compatible
	with an 'int' type is permitted.
	* c/c-parser.c (c_parser_upc_sync_statement): Do not check
	the optional expression type here.  Let upc_build_sync_stmt()
	handle it.
	* c/c-tree.h (c_cvt_expr_for_assign): Declare prototype.
	* c/c-typeck.c (c_cvt_expr_for_assign): New.  Also, call
	error_at() in lieu of error() when the source location is known.
	* upc/upc-act.c (upc_build_sync_stmt): Call c_cvt_expr_for_assign()
	to check/convert the optional synchronization statement
	expression.

2013-04-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 197340 into gupc branch.

2013-04-02  Gary Funck  <gary@intrepid.com>

	Revert revision 178346 (2011-08-30)
	which changed the prototype of check_qualified_type and related
	functions so that their parameters were just 'tree' and not
	'const_tree'.  This seemed necessary at the time because of a
	change to TYPE_BLOCK_FACTOR(), which in turn called function
	that hashed the type node pointer.  The hash functions did
	not accept "const void *" pointers.  Implement a work around
	that removes this restriction.
	* c/c-typeck.c: Revert.
	* tree.c: Revert.
	* tree.h: Revert.  Change prototype of upc_block_factor_lookup()
	to accept a 'const_tree' pointer to a type node.
	* c-family/stub-upc.c (upc_block_factor_lookup): Update prototype.
	* upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
	input argument and convert this to 'tree' for use with hash function.

2013-04-02  Gary Funck  <gary@intrepid.com>

	Revert revision 178346 (2011-08-30)
	which changed the prototype of check_qualified_type and related
	functions so that their parameters were just 'tree' and not
	'const_tree'.  This seemed necessary at the time because of a
	change to TYPE_BLOCK_FACTOR(), which in turn called a function
	that hashed the type node pointer.  The hash functions did
	not accept "const void *" pointers.  Implement a work around
	that removes this restriction.
	* upc/upc-act.c (upc_block_factor_lookup): Accept const_tree
	input argument and convert this to 'tree' for use with hash function.

2013-03-25  Gary Funck  <gary@intrepid.com>

	Merge trunk version 197029 into gupc branch.

2013-03-21  Gary Funck  <gary@intrepid.com>

	Released GUPC 4.8.0.3 based on version 196601.
	This release version was committed on 2013-03-11.
	* DATESTAMP: Bump date stamp.

2013-03-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 196771 into gupc branch.
	* DEV-PHASE: Bump release identifier to 4.9.0-1.

2013-03-11  Gary Funck  <gary@intrepid.com>

	Merge trunk version 196592 into gupc branch.

2013-03-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 196422 into gupc branch.

2013-02-25  Gary Funck  <gary@intrepid.com>

	Merge trunk version 196253 into gupc branch.

2013-02-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 196115 into gupc branch.

2013-02-11  Gary Funck  <gary@intrepid.com>

	Merge trunk version 195937 into gupc branch.

2013-02-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 195707 into gupc branch.

2013-01-28  Gary Funck  <gary@intrepid.com>

	Merge trunk version 195502 into gupc branch.

2013-01-21  Gary Funck  <gary@intrepid.com>

	Merge trunk version 195330 into gupc branch.

2013-01-14  Gary Funck  <gary@intrepid.com>

	Merge trunk version 195164 into gupc branch.

2013-01-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 194962 into gupc branch.

2012-12-24  Gary Funck  <gary@intrepid.com>

	Merge trunk version 194709 into gupc branch.

2012-12-17  Gary Funck  <gary@intrepid.com>

	Merge trunk version 194552 into gupc branch.

2012-12-10  Gary Funck  <gary@intrepid.com>

	Merge trunk version 194351 into gupc branch.

2012-12-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 194076 into gupc branch.

2012-11-30  Gary Funck  <gary@intrepid.com>

	Released GUPC 4.8.0.2 based on version 193446.
	Date of release: 2012-11-12.
	* DEV-PHASE: Bump release identifier to 4.8.0-3.
	* DATESTAMP: Bump date stamp.

2012-11-26  Gary Funck  <gary@intrepid.com>

	Merge trunk version 193807 into gupc branch.

2012-11-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 193672 into gupc branch.

2012-11-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 193617 into gupc branch.

2012-11-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 193426 into gupc branch.

2012-11-12  Gary Funck  <gary@intrepid.com>

	Released GUPC 4.8.0.1 based on version 192948.
	Date of release: 2012-10-29.
	* DEV-PHASE: Bump release identifier to 4.8.0-2.
	* DATESTAMP: Bump date stamp.

2012-11-05  Gary Funck  <gary@intrepid.com>

	Merge trunk version 193152 into gupc branch.

2012-10-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 192909 into gupc branch.

2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>

	Remove unused --upc-pthreads-per-process compile switch.
	* c-family/c.opt: Remove --upc-pthreads-per-process switch
	that compiler/runtime do not use.
	* c-family/c-opts.c (c_common_handle_option): Remove support for
	--upc-pthreads-per-process switch.
	* c-family/c-common.c: Ditto.
	* c-family/c-common.h: Ditto.

2012-10-28  Nenad Vukicevic  <nenad@intrepid.com>

	Remove unused --upc-pthreads-per-process compile switch.
	* upc/upc-act.c (upc_handle_option): Ditto.
	(upc_cpp_builtins): Ditto.
	* upc/upc-lang.c (upc_init_options): Ditto.

2012-10-27  Gary Funck  <gary@intrepid.com>

	* defaults.h: fix typos and formatting in UPC-related entries.

2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>

	Place shared initialization code into the .text
	section instead of a separate .upc_init section.
	* defaults.h (UPC_INIT_SECTION_NAME): Delete.
	(UPC_INIT_BEGIN_NAME): Delete.
	(UPC_INIT_END_NAME): Delete.
	* doc/tm.texi.in: Ditto.
	* doc/tm.texi: Ditto.

2012-10-26  Nenad Vukicevic  <nenad@intrepid.com>

	Place shared initialization code into the .text
	section instead of a separate .upc_init section.
	* upc/upc-act.c (upc_build_init_func): Remove settings
	of the section for shared initialization code.

2012-10-22  Gary Funck  <gary@intrepid.com>

	Merge trunk version 192673 into gupc branch.

2012-10-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 192449 into gupc branch.

2012-10-08  Gary Funck  <gary@intrepid.com>

	Merge trunk version 192198 into gupc branch.

2012-10-01  Gary Funck  <gary@intrepid.com>

	Merge trunk version 191931 into gupc branch.

2012-09-26  Gary Funck  <gary@intrepid.com>

	Implement support for various UPC version 1.3 specification
	additions and changes. Deprecate support for upc_local_alloc.
	Add support for upc_tick (wall-clock timer) library.
	Add support for collective de-allocation functions:
	upc_all_free and upc_all_lock_free.
	Consult libgupc/ChangeLog,
	libgupc/testsuite/libgupc.upc/intrepid/ChangeLog for details.

2012-09-26  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_cpp_builtins): Pre-define __UPC_TICK__.

2012-09-24  Gary Funck  <gary@intrepid.com>

	Merge trunk version 191658 into gupc branch.

2012-09-17  Gary Funck  <gary@intrepid.com>

	Merge trunk version 191376 into gupc branch.

2012-09-10  Gary Funck  <gary@intrepid.com>

	Merge trunk version 191141 into gupc branch.

2012-08-29  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupc.texi: Add description for -fupc-pre-include.

2012-08-27  Gary Funck  <gary@intrepid.com>

	Merge trunk version 190707 into gupc branch.
	* tree.h (struct tree_base): Adjust various
	UPC tree and type flags to refer to the
	newly introduced u.bits field.

2012-08-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 190524 into gupc branch.
	Incorporates a fix in genoutput.c (to properly use
	CONST_CAST) that led to build failures with
	older versions of g++.

2012-08-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 190437 into gupc branch.
	Incorporates a fix for a build failure on the PPC
	due to passing incorrect switches to the assembler.
	Also, first merged trunk revision that compiles GCC
	with the C++ compiler in the first stage.

2012-08-16  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts-struct.c (upc_pts_struct_is_null_p):
	Adjust VEC_index() calls to use C++ syntax.
	This is required as part of the move to compile
	GCC with the C++ compiler.

2012-08-13  Gary Funck  <gary@intrepid.com>

	Merge trunk version 190336 into gupc branch.

2012-08-09  Gary Funck  <gary@intrepid.com>

	* c-family/c-common.c (c_fully_fold_internal): Do not fold
	offsetof-like expressions when they are applied to UPC
	shared types.

2012-08-07  Gary Funck  <gary@intrepid.com>

	* upc/upc-genericize.c: Delete un-used include of optabs.h.
	Fixes a parallel make failure due to un-noticed dependency.

2012-08-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 190173 into gupc branch.

2012-08-01  Gary Funck  <gary@intrepid.com>

	Merge trunk version 190063 into gupc branch.
	Incorporates fix for build failure on IA64.

2012-07-30  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189954 into gupc branch.

2012-07-27  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189856 into gupc branch.
	Incorporates fix for bootstrap with a sub-set of language
	specific source directories present.
	* optabs.c: Revert to trunk.  Rather than defining opcodes
	as a way of defining get/put runtime library function names,
	generate them directly in gcc/upc/upc-genericize.c.
	* optabs.h: Ditto.
	* genopinit.c: Ditto.

2012-07-27  Gary Funck  <gary@intrepid.com>

	* upc/upc-genericize.c (upc_expand_get, upc_expand_put):
	Rather than referring to UPC-specific opcodes to find
	the name of the get/put library function name, generate
	the name directly.
	(get_lc_mode_name): New.

2012-07-25  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
	Fix regression: field-by-field comparison of UPC
	pointer-to-shared (vaddr, thread) only works
	(with the current logic) for the == and != operators.

2012-07-24  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
	Fix warning about use of const_tree.

2012-07-24  Gary Funck  <gary@intrepid.com>

	Per UPC spec. 6.4.2p6, ignore the value of the
	phase of a pointer-to-shared, when comparing for
	equal or not equal.
	* upc/upc-pts-packed.c (upc_pts_packed_build_cond_expr):
	Use bit-wise comparison only if the UPC pointer-to-shared
	target type has a block size <= 1 and the representation
	has vaddr first or the comparison is for equality/inequality.
	* upc/upc-pts-struct.c (upc_pts_struct_build_cond_expr):
	Use (vaddr, thread) comparison only if the UPC pointer-to-shared
	has a block size <= 1 or the comparison is for equality/inequality.

2012-07-23  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189777 into gupc branch.

2012-07-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189545 into gupc branch.

2012-07-12  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189366 into gupc branch.

2012-07-05  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189274 into gupc branch.
	Incorporates graphite build infrastructure changes.

2012-07-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189080 into gupc branch.
	* Makefile.in: Adjust for move of C front-end files.
	* c/Make-lang.in: Ditto.

2012-07-04  Gary Funck  <gary@intrepid.com>

	* upc/config-lang.in: Adjust for move of C front-end files.
	* upc/upc-act.c: Look for c-tree.h and c-objc-common.h in c/.
	* upc/upc-gasp.c: Ditto.
	* upc/upc-genericize.c: Ditto.
	* upc/upc-lang.c: Ditto.
	* upc/upc-pts-struct.c: Ditto.

2012-07-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 189078 into gupc branch.

2012-06-25  Gary Funck  <gary@intrepid.com>

	Merge trunk version 188931 into gupc branch.

2012-06-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 188721 into gupc branch.

2012-06-11  Gary Funck  <gary@intrepid.com>

	Merge trunk version 188380 into gupc branch.

2012-06-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 188168 into gupc branch.

2012-05-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 187927 into gupc branch.

2012-05-19  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_lang_layout_decl): Ignore declarations of
	an array of shared type declarations if the size of the
	array is zero.  This avoids a segfault when processing
	the UPC blocking factor.

2012-05-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 187666 into gupc branch.
	Incorporates fix for ICE in tree vectorization pass
	when processing strided loads.

2012-05-17  Gary Funck  <gary@intrepid.com>

	Merge trunk version 187578 into gupc branch.

2012-05-09  Gary Funck  <gary@intrepid.com>

	Merge trunk version 187347 into gupc branch.
	Incorporates fix for segfault in tree vectorization pass.

2012-05-08  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupcspec.c (lang_specific_driver): Improve handling of
	"-x" switches: (a) add "-x upc" switch for C source files if
	no -x switch was seen before OR "-x none" was seen, (b) add
	"-x none" for files other then C files if "-x upc" was
	previously added. Cleanup warnings on unused variables
	and integer conversion. Print verbose info regardless of the
	command line being the same.

2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>

	* testsuite/lib/upc.exp: Use gupc instead of xgupc driver.
	Appropriate libraries and include files are added on the
	command line to make it possible to compile with the driver
	from the build tree.

2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupc.texi: Simplify the description of the optimization
	options.

2012-05-04  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/Make-lang.in: Remove build of xgupc.
	* upc/gupcspec.c (get_libgupc_path): Delete.
	(lang_specific_driver): Remove support for building xgupc.
	Removed code tried to add -B, -L, -isystem to the command
	line if xgupc driver is invoked from the development tree.

2012-05-04  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_num_threads): When THREADS is specified
	statically, convert the value to a signed size type,
	so that (for example) the thread affinity test in a
	upc_forall() statement will work as expected for negative
	integer index values.

2012-04-30  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/Make-lang.in: Add year 2012 to the copyright.

2012-04-30  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupc.c: Delete. The old GUPC driver.
	* upc/gupcspec.c: Add. The new GUPC driver tailored
	after fortran/gfortranspec.c driver. Options "-n", "-inst",
	and "-inst-functions' are not supported by the new driver.
	Support for building gupc and xgupc remains the same.
	* upc/Make-lang.in (xgupc): Changes to compile gupcspec.c
	instead of gupc.c
	(gupc): Ditto.
	* upc/gupc.texi: Remove '-n', '-inst', and '-inst-functions'
	options.

2012-04-29  Nenad Vukicevic  <nenad@intrepid.com>

	* config/rs6000/rs6000.c (rs6000_return_in_memory): Conform to
	PPC ABI. In the UPC 'struct' pointer-to-shared representation,
	a function returns a pointer-to-shared in memory instead
	of in registers.
	(rs6000_pass_by_reference): Ditto.

2012-04-28  Gary Funck  <gary@intrepid.com>

	* c-decl.c (grokdeclarator): Set 'type' to error node
	after detecting "shared auto variable" error to avoid
	downstream complications.
	* upc/upc-act.c: Fix a couple of spelling errors in comments.

2012-04-26  Gary Funck  <gary@intrepid.com>

	* c-family/c-pragma.c (handle_pragma_upc):
	Fix typo in warning message.

2012-04-17  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupc.texi: Fix the warning for usage of 'insertcopying'
	before 'copying'. Minor changes to to copyright years and
	manual info.

2012-04-17  Gary Funck  <gary@intrepid.com>

	Merge trunk version 186486 into gupc branch.

2012-04-17  Gary Funck  <gary@intrepid.com>

	* c-family/c-pragma.c (disable_pupc_mode): Return the previous
	value of the pupc mode.  Fixes a compile-time warning.
	* c-family/c-pragma.c (init_pragma_pupc, get_upc_pupc_mode,
	disable_pupc_mode, set_pupc_mode, handle_pragma_pupc):
	Improve source formatting.

2012-04-16  Gary Funck  <gary@intrepid.com>

	* upc/upc-genericize.c: Adjust copyright.
	(upc_genericize_fndecl): Adjust call graph
	union member reference to use the newly introduced
	'symbol' field in order to refer to 'decl'.

2012-04-09  Gary Funck  <gary@intrepid.com>

	Merge trunk version 186243 into gupc branch.
	Incorporates a powerpc 'ffi' fix.

2012-03-16  Gary Funck  <gary@intrepid.com>

	Merge trunk version 185454 into gupc branch.
	Incorporates a libgcc fix for builds on Darwin.

2012-03-13  Gary Funck  <gary@intrepid.com>

	Merge trunk version 185278 into gupc branch.
	* c-decl.c (c_build_pointer_type): For UPC pointer-to-shared types
	call build_pointer_type() to apply UPC-specific qualifiers.
	* top-level/configure.ac: factor the checking for posix hosts
	out of the libgomp section so that it can also be used by libgupc.
	* top-level/configure: Re-generate.
	* DEV-PHASE: bump to 4.8.0-1.

2012-03-12  Gary Funck  <gary@intrepid.com>

	* config/rs6000/rs6000.c (rs6000_function_value): Do not over-ride
	the mode for a pointer for upc-pointer-to-shared types.

2012-03-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 184900 into gupc branch.

2012-02-17  Gary Funck  <gary@intrepid.com>

	Released GUPC 4.7.0.2 based on version 183992.
	* DEV-PHASE: Bump release identifier to 4.7.0-3.
	* DATESTAMP: Bump date stamp.

2012-02-07  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupc.texi: Added entries for the directory.

2012-02-05  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupc-manpage.html: Removed. HTML files are generated from
	the texi source.

2012-02-05  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/gupc.texi (-x upc): Add files ending with '.c' to the list
	of files compiled as UPC source.

2012-02-04  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/Make-lang.in (doc/gupc.info): Fix dependencies for creating
	gupc.info document.

2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>

	* c-family/c-pragma.c (disable_pupc_mode): New. Disable profiling
	code generation (same as #pragma pupc off).
	(set_pupc_mode): New. Set/restore profiling mode.
	* c-family/c-upc.h (disable_pupc_mode): New. Prototype.
	(set_pupc_mode): New. Prototype.
	* upc/upc-act.c (upc_write_init_func): Disable emitting of the
	profiling code for shared variables initialization routines.

2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/upc-act.c (upc_write_init_func): Disable emitting of the
	profiling code for shared variables initialization routines.

2012-02-03  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/Make-lang.in: Various changes related to generating
	man/info pages from texi source file.
	(upc.install-common): Fix for removing the upc command
	link before install if suffix was applied.
	(upc.install-pdf): New.
	(upc.install-html): Change for the build from texi.
	(upc.install-man): Change for the build from texi.
	* upc/gupc.1: Removed.
	* upc/gupc.texi: New. Created texi source for man/info
	generation.

2012-01-31  Gary Funck  <gary@intrepid.com>

	Merge trunk version 183751 into gupc branch.
	Incorporates fix for bootstrap failure on openSUSE 12.1.

2012-01-30  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/Make-lang.in: Fix the --program-suffix configuration
	option.  GUPC executables are now installed with appropriate
	suffixes and GUPC driver execs 'gcc' with the right suffix.

2012-01-24  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/upc-lang.c (upc_init_options): Disable section anchors
	for UPC language.

2012-01-14  Gary Funck  <gary@intrepid.com>

	* upc/upc-genericize.c (upc_genericize_expr): Update input_location
	while traversing the program tree.
	(upc_expand_get, upc_expand_put): For profiling,  derive
	the source code location from the incoming 'loc' parameter.

2012-01-10  Gary Funck  <gary@intrepid.com>

	Merge trunk version 183072 into gupc branch.
	Incorporates libcpp __BASE_FILE__ fix.

2012-01-09  Gary Funck  <gary@intrepid.com>

	* upc/upc-genericize.c (upc_expand_put): Use is_gimple_reg instead of
	is_gimple_non_addressable.

2012-01-06  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/Make-lang.in: Add appropriate linker flags when linking
	gupc drivers.

2012-01-06  Nenad Vukicevic  <nenad@intrepid.com>

	* upc/Make-lang.in: Add appropriate linker flags when linking
	gupc drivers.

2011-12-31  Gary Funck  <gary@intrepid.com>

	Fix gupc driver to avoid segfault when processing
	invalid use of a switch that expects an argument.
	* upc/gupc.c (get_libgupc_path): Add check for non-NULL value of
	libgupc_archive before attempting to access libgupc_archive[0].
	(main): Do not issue error if lib_dir is NULL.  Instead, only
	process lib_dir if it is non-NULL.

2011-12-31  Gary Funck  <gary@intrepid.com>

	Improve -fupc-debug support.
	* upc/upc-genericize.c (upc_expand_get, upc_expand_put,
	upc_genericize_sync_stmt): Add check for flag_upc_debug.
	* upc/upc-pts-struct.c (upc_pts_struct_build_cvt): Ditto.
	* upc/upc-pts-packed.c (upc_pts_packed_build_cvt): Ditto.
	* upc/upc-act.c (upc_cpp_builtins): Disable inlining of the
	runtime if flag_upc_debug is asserted.

2011-12-20  Nenad Vukicevic  <nenad@intrepid.com>

	* top-level/Makefile.def (flags_to_pass): Added GUPC
	defines. Fixes the make error when upc is not specified as one
	of the languages to build.
	* top-level/Makefile.in: Re-generate.

2011-11-22  Gary Funck  <gary@intrepid.com>

	* DEV-PHASE: "GCC UPC" -> "GNU UPC", and bump minor rev.
	* dwarf2out.c (gen_compile_unit_die): Check for
	the "GNU UPC" language string in lieu of "GCC UPC".
	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Ditto.

2011-11-22  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_cpp_builtins): Generate new pre-defined
	macro: __GUPC__.

2011-11-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 181552 into gupc branch.
	Incorporates libgcc/libunwind fix for IA64.

2011-11-19  Gary Funck  <gary@intrepid.com>

	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
	Add check for UPC when defining the language type value
	in a traceback entry.

2011-11-19  Gary Funck  <gary@intrepid.com>

	* upc/config-lang.in: Remove checks for supported targets.
	This is now done at a higher level.

2011-11-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 181493 into gupc branch.
	Incorporates final fix for PR target/49992.

2011-11-09  Nenad Vukicevic  <nenad@intrepid.com>

	* Makefile.in (CRTSTUFF_CFLAGS): Revert the previous
	change that converted relative include paths into absolute
	ones, as it does not work with older version of make (3.80).

2011-10-27  Nenad Vukicevic  <nenad@intrepid.com>

	Apply patch for Darwin build - PR49992.
	* top-level/configure.ac: Don't run ranlib with '-c' option for Darwin.
	* gcc/configure.ac: Ditto.
	* gcc/ada/mlib-tgt-specific-darwin.adb: Ditto.
	* gcc/ada/gcc-interface/Makefile.in: Ditto.
	* top-level/configure: Re-generate.
	* gcc/configure: Re-generate.

2011-10-26  Gary Funck  <gary@intrepid.com>

	Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
	"libupc" to "libgupc".
	* top-level/configure.ac: Implement support for cross-builds, and
	  adjust for rename of libupc to libgupc.
	* top-level/Makefile.tpl: Ditto.
	* top-level/Makefile.def: Ditto.
	* top-level/configure: Re-generate.
	* top-level/Makefile.in: Re-generate.
	* top-level/contrib/gcc_update: Adjust for rename of libupc to libgupc.
	* doc/tm.texi.in: Adjust for rename of libupc to libgupc.
	* doc/tm.texi: Re-generate.
	* tree-pretty-print.c (dump_block_node): Delete unused variable.
	* gcc.c: Adjust for rename of libupc to libgupc.
	* testsuite/lib/upc.exp: Adjust for rename of libupc to libgupc.
	Change "GCC_UNDER_TEST" to "GUPC_UNDER_TEST".
	Change "xupc" to "xgupc".
	* configure.ac: Change "GCC UPC" to "GNU UPC".
	* Makefile.in (CRTSTUFF_CFLAGS): Adjust $(INCLUDES_FOR_TARGET)
	so that they are absolute paths.  This is needed because
	the upc-crtstuff builds are in the libgupc library build
	directories which are not at the same level as libgcc.
	* config/darwin.h: Adjust for rename of libupc to libgupc.

2011-10-26  Gary Funck  <gary@intrepid.com>

	Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
	"libupc" to "libgupc".
	* upc/gupc.c: Rename from upc-cmd.c and adjust for rename
	of libupc to libgupc.
	* upc/upc-lang.c (LANG_HOOKS_NAME): Change "GCC UPC" to "GNU UPC".
	* upc/config-lang.in: Adjust for rename of libupc to libgupc.
	* upc/gupc.1: Rename from upc.1.  Change "GCC UPC" references
	to "GNU UPC".  Adjust for rename of libupc to libgupc.
	Improve formatting.
	* upc/gupc-manpage.html: Rename from upc-manpage.html.  Re-generate.
	* upc/Make-lang.in: Change "upc" to "gupc".  Change "xupc" to "xgupc".
	Adjust for rename of libupc to libgupc.  Install target symlink from
	"upc" to "gupc".  Install target/version-specific hard links to "gupc".

2011-10-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 180276 into gupc branch.
	Incorporates fix for PR bootstrap/50709.

2011-10-20  Gary Funck  <gary@intrepid.com>

	Merge trunk version 180246 into gupc branch.

2011-10-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 180233 into gupc branch.
	Incorporates fix for PR debug/49310 (var tracking).

2011-10-17  Gary Funck  <gary@intrepid.com>

	Fix a regression caused by the previous commit.
	* upc/upc-genericize.c (upc_genericize_walk):
	Renamed from: upc_genericize_stmt.
	(upc_shared_addr): for COMPONENT_REF and INDIRECT_REF
	re-walk the tree after simplification, by calling
	upc_genericize_walk().
	(upc_genericize_array_ref): expand the newly constructed
	indirect reference by calling upc_genericize_indirect_ref().

2011-10-11  Nenad Vukicevic  <nenad@intrepid.com>

	* testsuite/lib/upc-dg.exp: Limit number of torture runs to
	only four (O0 static/dynamic, O3 static/dynamic).
	Detect -fupc-threads-0 as an option for dynamic threads
	compile environment.

2011-10-10  Gary Funck  <gary@intrepid.com>

	* tree.c (check_qualified_type, check_aligned_type):
	Call tree_int_cst_equal() to compare UPC blocking factors
	if the corresponding tree pointers are not equal.
	* c-typeck.c (comptypes_internal, c_build_qualified_type_1): Ditto.

2011-10-10  Gary Funck  <gary@intrepid.com>

	* upc/upc-genericize.c (upc_simplify_shared_ref): When simplifying
	the base address always convert to (shared [] char *).
	This ensures that &a[i].field1 ends up with the required
	zero block size, for example.

2011-10-07  Nenad Vukicevic  <nenad@intrepid.com>

	Add configuration checks for struct/packed builds so we can
	use upc_struct_pts/upc_packed_pts selectors in the testsuite.
	* testsuite/lib/target-supports.exp
	(check_effective_target_upc_struct_pts): New.
	(check_effective_target_upc_packed_pts): New.

2011-09-15  Nenad Vukicevic  <nenad@intrepid.com>

	Add to FLAGS the flags needed to disable inlining of
	UPC run-time access routines.
	* testsuite/lib/target-supports.exp
	(add_options_for_upc_library_calls): New.

2011-09-15  Gary Funck  <gary@intrepid.com>

	Fix ICE involving shared bit field accesses.
	* tree.c (build3_stat): Propagate TEEE_SHARED()
	and TREE_STRICT() and TREE_RELAXED() flags, if applicable.

2011-09-13  Gary Funck  <gary@intrepid.com>

	Merge trunk version 178795 into gupc branch.
	Incorporates fix to PR bootstrap/50010 for x86-32.

2011-09-08  Gary Funck  <gary@intrepid.com>

	Merge trunk version 178557 into gupc branch.

2011-09-07  Gary Funck  <gary@intrepid.com>

	Ensure that UPC pointer-to-shared type alignment is
	propagated to the final type.  Revert to long-standing
	alignment policy: twice the size of a "C" pointer.
	* tree.c (build_pointer_type): Propagate the alignment
	of the UPC pointer-to-shared representation type
	into the newly built pointer type.

2011-08-30  Gary Funck  <gary@intrepid.com>

	* tree.h (check_qualified_type): Change 'const_tree'
	argument types back to 'tree' to avoid complaints
	of assignment drops qualifiers for invocations of the
	newly implemented TYPE_BLOCK_FACTOR() macro, which
	invokes hash functions with 'tree' pointer values that
	are not const qualified.
	* tree.c (check_qualified_type, check_aligned_type): Ditto.
	* c-typeck.c (comptypes_internal): Ditto.

2011-08-29  Gary Funck  <gary@intrepid.com>

	Fixes for regressions noted running "make check"
	versus GCC trunk.
	* fold-const.c (fold_unary_loc): Execute UPC-specific
	checks for a cast-of-a-cast, only if one of the
	operands is a UPC pointer-to-shared value.
	* opts.c (print_specific_help):  Fix a comparison
	in an assert that checks that there are enough
	bits reserved for the number of languages defined
	in the .opt files.

2011-08-29  Gary Funck  <gary@intrepid.com>

	Implement a hash table to record UPC block factors.
	* c-family/stub-upc.c (upc_block_factor_insert,
	upc_block_factor_lookup): New dummy stub procedures.
	* c-family/c-common.c (c_sizeof_or_alignof_type):
	Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
	* tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
	to copy (hashed) UPC blocking factor.
	(set_type_quals): Likewise.
	* tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
	TYPE_HAS_THREADS_FACTOR().
	(type_common.block_factor): Delete.
	(TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
	TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
	(TYPE_BLOCK_FACTOR): Re-implement, using hash table for
	UPC blocking factors greater than one.
	* dwarf2out.c (modified_type_die): Re-implement
	logic that records UPC blocking factor in the generated
	DWARF2 debugging information.
	(add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
	TYPE_HAS_THREADS_FACTOR().
	* c-decl.c (finish_decl, grokdeclarator):
	Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
	* print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
	used by UPC, and print UPC-specific information.

2011-08-28  Gary Funck  <gary@intrepid.com>

	Re-work the type machinery to fully support and to unify support
	for the UPC layout qualifier (blocking factor).
	* c-family/stub-upc.c (upc_set_block_factor): Delete.
	  (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
	  and update prototype.
	* c-family/c-common.c (complete_array_type): call newly
	  defined c_build_qualified_type_1() instead of
	  upc_set_block_factor().
	* c-family/c-upc.h (pc_grok_layout_qualifier): rename from
	  upc_apply_layout_qualifier() and update prototype.
	  (upc_set_block_factor): Delete prototype.
	* c-family/c-common.h (c_build_qualified_type): redefine
	  as a pre-processor macro that invokes c_build_qualified_type_1()
	  with a null UPC layout qualifier.
	  (c_build_qualified_type_1): New.  Add layout qualifier argument
	  to old c_build_qualified_type() prototype.
	* tree.c (set_type_quals, check_qualified_type):
	  Add layout qualifier as argument.
	  (check_aligned_type): Add check for UPC block factor equality.
	  (get_qualified_type_1): Rename from get_qualified_type() and
	  add layout qualifier as argument.
	  (build_qualified_type_1): Rename from build_qualified_type() and
	  add layout qualifier as argument.
	* tree.h (check_qualified_type): Add layout qualifier as argument
	  to the prototype.
	  (get_qualified_type): Re-define as a as a pre-processor macro
	  that invokes get_qualified_type_1() with a null
	  UPC layout qualifier.
	  (get_qualified_type_1): Rename from get_qualified_type() and
	  add layout qualifier as argument.
	* cp/tree.c (c_build_qualified_type_1): Rename from
	  c_build_qualified_type() and add (unused) layout qualifier
	  argument.
	* c-decl.c (finish_decl): re-format long error messages.
	  (grokdeclarator): Re-work the logic so that it calls
	  upc_grok_layout_qualifier() to handle the UPC layout
	  qualifier, if present.
	* c-typeck.c (qualify_type, common_pointer_type,
	  build_component_ref): Re-work the logic so that it calls
	  upc_grok_layout_qualifier() to handle the UPC layout qualifier,
	  if present.
	  (c_build_qualified_type_1): Rename from c_build_qualified_type()
	  and add layout qualifier argument.
	* print_tree.c (print_node): Re-format a long line.

2011-08-26  Gary Funck  <gary@intrepid.com>

	Merge trunk version 177949 into gupc branch.
	* c-family/c-common.h (enum rid): Bump the number of type modifiers
	  in the comment.
	* ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
	  to add new rliterals column value.

2011-08-26  Gary Funck  <gary@intrepid.com>

	* convert.c (convert_to_integer): Fix the check for the
	  difference between two UPC pointers-to-shared values.

2011-08-23  Nenad Vukicevic  <nenad@intrepid.com>

	* configure.ac: Fix the name for --with-upc-pts-packed-bits
	  option. Support --with-upc-packed-bits as deprecated. Fix the code to
	  correctly check packed bits.
	* configure: Re-generate.

2011-08-16  Gary Funck  <gary@intrepid.com>

	* c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
	  the barrier id expression is not an integer expression.

2011-08-12  Gary Funck  <gary@intrepid.com>

	* config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
	  (revert to trunk).
	* upc/upc-pts-struct.c (upc_pts_struct_init_type):
	  Set mode of UPC pointer-to-shared rep. to an
	  integral mode of size at least as large as the
	  size of the representation's struct type.

2011-08-12  Gary Funck  <gary@intrepid.com>

	Rework/simplify the UPC genericize pass.
	* c-family/stub-upc.c (upc_apply_layout_qualifier,
	  upc_build_pointer_type): New.
	  (upc_set_block_factor): Adjust to new calling sequence.
	  (upc_build_shared_var_addr): Delete.
	* c-family/c-common.c (complete_array_type): Adjust call
	  to upc_set_block_factor().
	* c-family/c-upc.h (upc_apply_layout_qualifier,
	  upc_build_pointer_type): New.
	  (upc_build_shared_var_addr): Delete.
	  (upc_set_block_factor): Adjust to new calling sequence.
	* tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
	* c-decl.c (grokdeclarator): Call newly defined
	  upc_apply_layout_qualifier() instead of upc_set_block_factor().
	* c-decl.c (grokdeclarator): Split long UPC-related error
	  messages into two lines.
	* c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
	  directly.  Revert that change to trunk. (upc_genericize() will
	  handle lowering the expressions that take the address of a
	  UPC variable).
	* config/i386/i386.c (ix86_promote_function_mode): For UPC
	  pointers-to-shared, return the type mode of the UPC pointer-to-shared
	  representation type.

2011-08-10  Gary Funck  <gary@intrepid.com>

	Implement additional fixes for recent merge with trunk.
	* explow.c (promote_mode): Do not attempt to promote
	  the mode for UPC pointer-to-shared types.
	* config/i386/i386.c (function_value_64): Ditto.

2011-08-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 177548 into gupc branch.
	* config/i386/i386.c (ix86_promote_function_mode):
	  Do not promote UPC pointers-to-shared to Pmode.
	* c-family/c-common.c (pointer_int_sum):
	  Also check the pointer operand, rather than just
	  its type, when making the decision to derive
	  the equivalent unshared type.
	* tree.c (build2_stat): If the type of the result
	  passed in as an argument is a UPC shared type,
	  derive the unshared equivalent when calculating
	  the result type of the node.

2011-07-15  Nenad Vukicevic  <nenad@intrepid.com>

	* config/darwin.c: Disable var_tracking option
	  on -O0 as it is supposed to run only when optimization
	  is applied. See GCC bug 49743.

2011-07-06  Gary Funck  <gary@intrepid.com>

	Re-implement the pass that lowers trees generated by
	the UPC front-end into GENERIC.  Previously this was
	done within the gimplification framework, but this
	required that gimplification be run before inlining
	and various other passes, which did not fit in well
	with the current design of the middle-end passes.
	Now, the lowering is done by a newly defined language
	specific genericize hook.  With this change, we are
	are able to undo some extensions made to the gimplify
	logic, and thus can revert several files to trunk.
	* c-decl.c: Add a check for UPC deprecated names which
	  may appear as undefined function names.
	* libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
	  LTI_upc_getaddr): Remove definitions of unused UPC
	  library function names.  These were defined back when
	  the libfunc interface was used to call these routines.
	* timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
	  in UPC lowering (genericize) pass.
	* langhooks.h (gimplify_expr): Revert to trunk's definition.
	  (instrument_func): Delete this hook.  Now handled in
	  upc_genericize().
	* tree-pass.h: Revert to trunk.
	* c-typeck.c (build_unary_op): Adjust reference to
	  upc_genericize() in a comment.
	* gimplify.c (create_tmp_var_raw): Delete logic that
	  was converting UPC shared types into unshared types
	  to be used for temporaries.  Now handled in  upc_genericize().
	  Replace with an assertion check.
	  (prepare_gimple_addressable): Revert to trunk's definition.
	  No longer needed as an externally called function.
	  (flag_instrument_functions_exclude_p): Re-define as
	  an externally called function.
	  (gimplify_function_tree): Delete code that implemented
	  call to UPC's language specific function instrumentation hook.
	* gimple.h (flag_instrument_functions_exclude_p): Define as extern.
	  (prepare_gimple_addressable): Delete extern definition;
	  revert to trunk's definition.
	* lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
	  (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
	* c-family/c-gimplify.c: Revert to trunk.
	* cp/cp-gimplify.c: Revert to trunk.
	* cp/cp-tree.h: Revert to trunk.
	* explow.c: Revert to trunk.
	* langhooks.c: Revert to trunk.
	* libfuncs.h: Revert to trunk.
	* objc/objc-act.c: Revert to trunk.

2011-06-30  Gary Funck  <gary@intrepid.com>

	* c-family/c.opt: Bring options definitions up-to-date
	with respect to changes made in the trunk.

2011-06-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 175584 into gupc branch.

2011-06-13  Gary Funck  <gary@intrepid.com>

	libcpp/
	* include/cpplib.h (enum c_lang):
	Move the entry for CLK_UPC so that it follows CLK_STDC1X.
	This keeps all the "C" variants together.
	* init.c (lang_defaults): Add an entry for UPC.

2011-06-09  Gary Funck  <gary@intrepid.com>

	* c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
	a 32-bit target, the size expression overflowed, the result was
	error_mark_node, and an ICE was triggered on an attempt to evaluate
	C_TYPE_VARIABLE_SIZE() on the error node.
	(upc_blocksizeof_expr, upc_blocksizeof_type,
	upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
	Make similar changes to avoid further processing of error_mark_node.

2011-06-07  Gary Funck  <gary@intrepid.com>

	* sel-sched.c (move_op): Incorporate the following
	patch to eliminate ICE at -O3 on IA64/Altix.

2011-06-07  Alexander Monakov  <amonakov@ispras.ru>

	* sel-sched.c (move_op): Use correct type for 'res'.  Verify that
	code_motion_path_driver returned 0 or 1.
	(sel_region_finish): Clear h_d_i_d.

2011-06-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 174558 into gupc branch.

2011-05-30  Gary Funck  <gary@intrepid.com>

	* configure.ac: Make the default order of the virtual
	  address field in a UPC pointer-to-shared to be "first".
	  This reverts to the previous setting, and is a short term
	  measure to work around a bug found on the IA64,
	  where vaddr=last led to incorrect code generation.
	  Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
	  in AC_DEFINE(), to agree with recent changes in files
	  that reference this define.
	  configure, config.in: Regenerate.

2011-05-26  Gary Funck  <gary@intrepid.com>

	* configure.ac: Fix typo when referring to $upc_vaddr_order.
	  configure: Regenerate.
	* ../fixincludes/fixincl.x: Revert to trunk.
	  This file is auto-generated, and should not be merged.

2011-05-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 173845 into gupc branch.

2011-05-17  Gary Funck  <gary@intrepid.com>

	* c-family/stub-upc.c (upc_rts_forall_depth_var): New.
	  c-family/c-upc.h (upc_rts_forall_depth_var): Define.
	* c-family/c-pragma.c: Remove conditional compilation
	  with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
	  Test 'compiling_upc' when compiling to determine if
	  the "upc" and "pupc" pragmas should be registered.
	* defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
	  UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
	  UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
	  UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
	  UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
	  UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
	  Move these target-dependent definitions from config/upc-conf.h
	  to here.
	* configure.ac: Improve the logic for UPC-related options.
	  Delete references to pre-processor definitions that have
	  been moved to "upc/upc-pts.h".
	* configure, config.in: Regenerate.
	* Makefile.in (UPC_PTS_REP): Remove definition and revert
	  to trunk.  This substitution variable was used to
	  configure the representation-specific versions of
	  the tree rewrites that operate on UPC pointer-to-shared
	  types and objects.
	* c-parser.c (c_parser_upc_forall_statement): Remove
	  reference to UPC_FORALL_DEPTH_NAME, and call
	  newly defined upc_rts_forall_depth_var() instead.
	* config/upc-config.h: Delete. Various definitions
	  moved to "upc/upc-rts-names.h", "defaults.h", and
	  "upc/upc-pts.h".
	* doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
	  HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
	  UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
	  UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
	  UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
	  UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
	  UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
	  UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
	  New.  Document UPC target macros.
	  doc/tm.texi: Regenerate.

2011-05-07  Gary Funck  <gary@intrepid.com>

	* ../configure.ac: Disable build of libupc
	  on non POSIX hosted systems.  Use AS_HELP_STRING
	  to define messages.  Remove 'word-pair' as a
	  possible --with-upc-pts UPC pointer-to-shared
	  representation.
	* ../configure: Regenerate.
	* configure.ac: Use AS_HELP_STRING to define messages.
	  Remove 'word-pair' as a possible --with-upc-pts
	  UPC pointer-to-shared representation.
	  (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
	  (UPC_MAX_BLOCK_SIZE): Correct the default value.
	* configure: Regenerate.
	* config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
	  definition.
	* ChangeLog.upc: Fix some typos.

2011-05-07  Gary Funck  <gary@intrepid.com>

	* ../maintainer-scripts/gcc_release: Add "upc"
	  as one of the released languages.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Eliminate compilation warnings, by fixing
	#include's and updating function prototypes.
	* c-family/c-cppbuiltin.c: Include c-upc.h.
	* optabs.c (gen_libfunc): Change type of 'suffix'
	  parameter to conform with prototype.
	* cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
	  ('gimple_test_f' and 'fallback') used by extended gimplify_expr
	  hook used by UPC.
	* cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
	  the prototype.
	* objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
	  argument values to cp_gimplify_expr.
	* config.in (HAVE_UPC_AFFINITY_SUPPORT,
	  HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
	  pre-processor definitions that are no longer
	  needed to build the 'upc' command (upc-cmd.c)
	  because the linker specs. defined in libupc
	  take care of linking in the needed libraries.
	* c-parser.c (c_parser_upc_forall_statement):
	  initialize affinity_loc to avoid "maybe unused" warning.
	  (c_parser_upc_sync_statement): Remove un-needed
	  'ret' variable.  Cast return value from
	  'upc_build_sync_stmt' to 'void' to avoid
	  compile-time warning.
	* config/upc-conf.h (UPC_MAX_THREADS): Define as an
	  integer constant, not a string.  Range is restricted
	  to maximum positive 32-bit integer (2+ billion) to
	  fit in with the use of 'int' in the front-end's
	  switch handling logic.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Upgrade c-family source files to conform with modularity
	improvements.  Mainly, remove #include of c-tree.h in files
	under c-family, and define a new UPC-specific #include file,
	c-upc.h, and use it.
	* c-family/stub-upc.c: Remove #include of c-tree.h and
	  upc/upc-act.h.  Replace with #include of c-common.h
	  and c-upc.h.
	  (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
	  upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
	  upc_localsizeof_expr, upc_localsizeof_type,
	  upc_shared_type_p): Delete.
	* c-family/c-opts.c: Add #include of c-upc.h
	* c-family/c-common.c: Remove #include of c-tree.h and
	  add #include of c-upc.h.
	* c-family/c-upc.h: New. Define API for UPC-specific functions
	  (mostly implemented in upc/upc-act.c).
	* c-family/c-common.h (upc_cpp_builtins,
	  upc_write_global_declarations): Remove extern definitions.
	* c-family/c-pragma.c: Remove #include of c-tree.h.
	  Add #include of c-upc.h.
	* tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
	  c-tree.h.
	  (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
	  upc/upc-act.c, and define as a macro.
	  (expand_affinity_test): Remove unused external definition.
	  (build_upc_unshared_type): Add external definition.
	  (upc_shared_type_p): Remove external definition.
	* c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
	* dojump.c: Remove #include of c-tree.h.
	* c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
	  and move to tree.h.
	  (count_upc_threads_refs, is_multiple_of_upc_threads,
	  set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
	  upc_build_shared_var_addr, upc_build_sync_stmt,
	  upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
	  upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
	  c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
	  upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
	  upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
	  permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
	  set_upc_consistency_mode, get_upc_consistency_mode,
	  push_upc_consistency_mode, pop_upc_consistency_mode,
	  get_upc_pupc_mode):
	  Move external definitions to c-family/c-upc.h.
	  (upc_blocksizeof_type, upc_localsizeof_type,
	  upc_elemsizeof_type): Remove external definitions;
	  these functions were moved to c-parser.c.
	* c-decl.c: Add #include of c-upc.h.
	* c-typeck.c: Add #include of c-upc.h.
	* c-convert.c: Add #include of c-upc.h.
	* ChangeLog.upc: Fix typo.
	* Makefile.in: Add references to c-family/c-upc.h, everywhere
	  there is a reference to c-family/c-objc.h.
	  Remove extraneous reference to upc-act.h.
	* c-parser.c: Add #include of c-upc.h.
	  (upc_blocksizeof_expr, upc_blocksizeof_type,
	  upc_elemsizeof_expr, upc_elemsizeof_type,
	  upc_localsizeof_expr, upc_localsizeof_type):
	  Move from upc/upc-act.c.
	* tree.c (build_upc_unshared_type): New.
	  Move upc_get_unshared_type from upc/upc-act.c and rename
	  to build_upc_unshared_type.
	  c-family/c-common.c (pointer_int_sum): refer to renamed
	  build_upc_unshared_type function.
	  c-convert.c (convert): Ditto.
	  convert.c (convert_to_pointer): Ditto.
	  c-typeck.c (build_unary_op, build_modify_expr,
	  really_start_incremental_init): Ditto.
	  gimplify.c (create_tmp_var_raw): Ditto.
	  tree.c (build1_stat): Ditto.
	  tree.h (upc_get_unshared_type): Rename to
	  build_upc_unshared_type.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 173471 into gupc branch.

2011-05-05  Gary Funck  <gary@intrepid.com>

	Make changes that bring the GUPC branch more closely in sync.
	with the GCC trunk.  Revert any fixes that are not UPC-specific.
	Remove gratuitous re-formatting.
	* ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
	  This file should have been removed in a previous merge
	  with the trunk.
	* ../configure.ac: Remove Cray Catamount/CNL support.
	* ../configure: Regenerate.
	* ../config.sub: Remove Cray Catamount/CNL support.
	* config.gcc: Remove Cray Catamount/CNL support.
	* ../maintainer-scripts/gcc_release: Revert to trunk.
	* c-family/c-common.h: Define parse_optimize_options.  Its definition
	  was missed in a previous merge with the trunk.
	* dwarf2out.c: Revert a fix which removed the 'type_main_variant'
	  procedure.
	* dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
	  in addition to ARRAY_TYPE.
	* c-typeck.c: Remove an extra newline character.
	* varasm.c: Revert a fix that improved an error message
	  when TLS common data is unimplemented.
	* varasm.c: Revert a gcc_assert that had been added which
	  checked for a null DECL_SIZE_UNIT field.
	* emultls.c: Revert to trunk. Remove possible fix.
	* Makefile.in: Revert extra blank line that is present
	  in the trunk version.
	* Makefile.in: Revert a fix that handled long shell
	  argument lists for plugin headers.
	* config/ia64/ia64.opt: Revert an option setting
	  that increased the default TLS address range.
	* config/ia64/crtbegin.asm: Revert to trunk.
	  Removes an extra newline character.
	* ChangeLog.upc: Spell check.

2011-05-03  Gary Funck  <gary@intrepid.com>

	* c-family/c-common.c: Remove extraneous FIXME/TODO comments.
	  (c_apply_type_quals_to_decl): Ditto.
	* c-family/c-common.h: Ditto.
	* dojump.c: Ditto.
	* c-decl.c (merge_decls): Ditto.
	* c-typeck.c (qualify_type, default_conversion,
	  build_component_ref, build_unary_op,
	  c_build_qualified_type): Ditto.
	* gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.

2011-04-29  Gary Funck  <gary@intrepid.com>

	* c-decl.c (finish_decl): Improve error diagnostics.
	  (grokdeclarator): Ditto.
	* c-typeck.c (build_c_cast): Improve error diagnostics.
	  (convert_for_assignment): Ditto.
	  (build_binary_op): Ditto.
	* c-parser.c (c_parser_upc_forall_statement):
	  Improve error diagnostics.
	* convert.c (convert_to_integer):  Improve error diagnostics.

2011-04-24  Gary Funck  <gary@intrepid.com>

	* c-parser.c (c_parser_upc_sync_statement): Fix ICE that
	  occurred if there is an error in the barrier id
	  expression.  Map error_mark_node into NULL.

2011-04-22  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172873 into gupc branch.

2011-04-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172359 into gupc branch.

2011-04-14  Gary Funck  <gary@intrepid.com>

	* c-family/c.opt: Add UPC as a valid language for various
	  switches where it is valid for "C", that were not updated
	  in previous merges with trunk.

2011-04-13  Gary Funck  <gary@intrepid.com>

	* c-family/c.opt (fupc-pre-include): New option definition.
	* gcc.c (upc_options): Do not add "-include gcc-upc.h" if
	  -fno-upc-pre-include is asserted.

2011-04-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172158 into gupc branch.
	to bring in the following fix.

2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>

	PR bootstrap/48403
	* haifa-sched.c (schedule_block): Increment cycle_issued_insns only
	if old and new states differ.

2011-04-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 171966 into gupc branch.

2011-04-01  Gary Funck  <gary@intrepid.com>

	* tree.h (tree_base): Move UPC flag bits into bit fields
	  located just before spare bits.  Decrement spare bits.
	  Rename 'shared_flag' -> 'upc_shared_flag',
	  'relaxed_flag' -> 'upc_relaxed_flag',
	  'strict_flag' -> 'upc_strict_flag, and adjust macros
	  that reference them accordingly.

2011-04-01  Gary Funck  <gary@intrepid.com>

	* c-decl.c (grokdeclarator): Fix formatting of
	  code that sets UPC block size on scalars.

2011-04-01  Gary Funck  <gary@intrepid.com>

	* c-decl.c (grokdeclarator): Revert use of white space
	  to match the trunk (to rationalize diffs).
	* c-typeck.c (convert_for_assignment): Ditto.
	* tree-ssa.c (useless_type_conversion_p): Ditto.

2011-03-23  Gary Funck  <gary@intrepid.com>

	* DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
	  the GCC 4.6 release branch.

2011-03-21  Gary Funck  <gary@intrepid.com>

	Merge trunk version 171202 into gupc branch.

2011-03-20  Gary Funck  <gary@intrepid.com>

	* varasm.c: Call error() directly with a format specifier,
	  rather than using sprintf() to format the message.
	  This should make it easier to internationalize UPC's error messages.

2011-03-20  Gary Funck  <gary@intrepid.com>

	* configure.ac: Fix the check for gnu ld when enabling
	  UPC link script support.
	  configure: Regenerate (also picks up changes from previous
	  merge with trunk).

2011-03-20  Gary Funck  <gary@intrepid.com>

	Move UPC start files, end files, and linker specs.
	into libupc.  This reduces the impact on common GCC
	configuration files, and ensures that these UPC-specific
	components are only built when the UPC language dialect is selected.
	* c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
	  linker specs. Fix typo in -fupc-debug message.
	* config/upc-conf.h, config/darwin.h: Move defines for
	  UPC-related section begins/ends into libupc/config/default/
	  upc-crt-config.h.
	* config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
	  UPC-related linker compiler specifications,
	  accessed via %:include().
	* configure.ac, configure: Remove logic related to building
	  	upc-crtbegin/end. Remove config. tests for numa and cpu
	  affinity (previously used by the 'upc' driver); these
	  settings are now propagated by target-specific compiler
	  specs. built by libupc.  Regenerate autoconf.
	* gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
	  linker compiler specifications, accessed via %:include().
	  Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
	  'link_upc_spec'.
	* Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
	* config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
	  config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
	  config/ia64/linux.h, config/mips/t-iris,
	  config/mips/iris6.h: Revert to trunk version 167307.
	libgcc/
	* configure, configure.ac, config.host, Makefile.in:
	  Revert to trunk version 167307.

2011-02-23  Gary Funck  <gary@intrepid.com>

	* c-decl.c (undeclared_variable): fix typo. Inadvertently
	removed negation on following 'if'.

2011-02-22  Gary Funck  <gary@intrepid.com>

	* c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
	to check for the usage of certain deprecated UPC keywords.
	* c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
	* c-tree.h (undeclared_variable): Define prototype.

2011-02-12  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: (build_c_cast, convert_for_assignment)
	  Diagnose an attempt to convert from an integer to
	  a pointer-to-shared as an error.  Also, fix various
	  error messages so that they use the preferred term
	  pointer-to-shared instead of "shared pointer".

2011-02-07  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: (convert_for_assignment)
	  Fix typo. in error message.

2011-01-23  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: (c_build_qualified_type)
	  derive UPC block size by calling upc_get_block_size(),
	  to ensure that the element type of an array of an array
	  is derived correctly.

2010-12-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 168314 into gupc branch.

2010-12-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 167307 into gupc branch.

2010-10-19  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix typo in previous fix
	  which led to a mis-compare for equal block sizes.

2010-10-18  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
	  diagnosed as an error
	  The conversion from any type (shared or not) to
	  a shared type is likely either meaningless or an error.  This update
	  makes any conversion to a shared type, an error.

2010-10-18  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix bug: passing int to shared pointer arg.
	  generates spurious warning
	  Add a #define procedure that does the same thing as
	  WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
	  this procedure to diagnose passing an integer value to a
	  pointer-to-shared as an error.

2010-10-18  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix bug: shared [] in prototype silently ignored when
	  matching routine declaration.
	  When checking for type compatibility, shared qualified types must
	  have the same block factor.  This check was missing from
	  comptypes_internal().  This update adds the check for blocking
	  factor equality.

2010-10-17  Gary Funck  <gary@intrepid.com>

	* dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
	  found (-O1 -g)
	  See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6

2010-10-17  Gary Funck  <gary@intrepid.com>

	* tree-cfg.c: Implement the fix for GCC Bugzilla Bug
	  45869 - [4.5/4.6 Regression] type mismatch in shift expression
	  produces ice with -O3 and -m32.
	  See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869

2010-10-17  Gary Funck  <gary@intrepid.com>

	* c-common.c: Diagnose the application of the various "*sizeof"
	  operations on generic pointer-to-shared as a compilation error.

2010-10-17  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix a segfault/ICE that occurred when printing an error
	  message regarding a function parameter being declared with a shared
	  qualifier.
	  The parameter's 'name' value is not defined at this point, and
	  cannot be used in the error message.  This update removes the
	  reference to 'name', and eliminates the segfault.

2010-10-16  Gary Funck  <gary@intrepid.com>

	* Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
	  The gcc/Makefile.in rules for install-plugin had to be re-written to
	  break up a long list of header files that exceeded the command line
	  limitation imposed by Irix.
	  Access functions for TFmode types had to be implemented.
	  Apparently, this is the mode used for the SGI/MIPS port to represent
	  "long float".

2010-10-14  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix bug: Multiple equal blocking factors specified
	  via typedef chain should not be diagnosed as an error.
	  If the block size that is given by the typedef is equal to the block
	  size given explicitly in the variable declaration, then do not
	  complain.  The easiest way to make this check was to create a
	  temporary type that is a clone of the element type and then set its
	  block size using the given layout qualifier.  Then compare the block
	  size of the temporary (the declaration) to the block size specified
	  in the typedef.  This complexity is needed, because the '[*]' block
	  size needs to be calculated, and the '[]' needs to be mapped into a
	  zero block size.

2010-10-10  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix bug: ICE: two or more layout qualifiers
	  specified
	  The compiler properly detected the presence of two or more layout
	  qualifiers as an error, but then hit an assertion check, because the
	  code that followed the error expected to see a qualifier and not a
	  layout specifier.  The fix is simple: just return immediately after
	  detecting the error.

2010-10-10  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Improve error diagnostics for various cases of UPC
	  shared array type declarations.
	  Add the check for this error: "In the dynamic translation
	  environment, THREADS may not appear in declarations of shared arrays
	  with indefinite block size".  Also, fix up a few of the other
	  related error diagnostics.

2010-10-09  Gary Funck  <gary@intrepid.com>

	* c-common.c: Fix bug: segfault on incomplete array definition.
	  This turned out to be a bit complicated.   The logic in
	  upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
	  the THREADS identifier in the case where the blocking factor has
	  been set to indefinite ([]).  This can happen when indefinite array
	  declarations are processed for shared arrays.  At that time, the
	  file scope has been closed and THREADS is no longer in scope.  Some
	  more work is needed on upc_lang_layout_decl().  It has some
	  duplication, and notably duplicates the two branches of the if
	  having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
	  caller of this routine (layout_decl()).
	  The method of forcing a layout qualifier of [] in the indefinite
	  declaration handler is odd a well.  The code that just does the
	  setting of the block factor, needs to moved into its own routine
	  that doesn't depend upon a declspec for '[]' to be passed in, just
	  in order to set the blocking factor to some value (in this case, 0).
	  Also, the logic for how that shared type is constructed is strange.
	  First the type with 0 blocking factor is set.  Then the shared
	  qualifier is removed from the type, and then added back later.  The
	  intermediate type has a blocking factor set, but it has no shared
	  qualifier.  Fixing this will require some thought.  It is tempting
	  just to make indefinite shared arrays an error, rather than forcing
	  the dimension to be '1'.
	  This likely fixes a serious error in the previous update to
	  upc_lang_layout_decl(), where it didn't have the logic to set
	  TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
	  the previous update would fail on many tests.

2010-10-09  Gary Funck  <gary@intrepid.com>

	* varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
	  (decl) is null, which can happen if some layout error occurred
	  upstream.

2010-10-09  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
	  "variable-sized" when compiled in dynamic threads.
	  This long-standing bug is easily fixed.  Just check
	  for the situation that the non-constant sized type is shared and
	  that it does not have a dimension that references a multiple of
	  threads.  If this criteria is met, then issue a meaningful
	  diagnostic.

2010-10-01  Gary Funck  <gary@intrepid.com>

	* configure, configure.ac: Update manual page, and bug reporting
	  URL.  Update "man" page to reflect debugging switches.
	  Also, some general clean up.  Change the bug reporting
	  URL to point to gccupc.org.

2010-09-27  Gary Funck  <gary@intrepid.com>

	* c-parser.c, config/upc-conf.h: Issue a descriptive message when
	  the UPC forall depth count variable is not found.
	  The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
	  The compiler will generate code that references this variable in
	  order to implement nested upc_forall semantics.  If there is a
	  compiler build or install problem, this variable may not be found.
	  In this case, terminate with an internal_error().

2010-09-26  Gary Funck  <gary@intrepid.com>

	* c-parser.c: Fix Bug 240: upc_forall with empty clauses
	  mis-diagnosed as syntax error.
	  Fix a failure exhibited by the Berkeley test case,
	  bug873a.upc, which has the code:
	       double d;
	       upc_forall (;;;d) {...} The compiler did not properly handle
	  the empty "condition" clause, and did not recover well when it was
	  determined that the use of a double value, "d" above, was neither a
	  pointer-to-shared nor an integer expression.  The update implements a
	  fix for both issues.
	  See also: gcc/c-parser.c gcc/upc/upc-act.c

2010-09-23  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
	  incorporated into the referencing type.
	  This was semi-fixed a few times before.  This update fixes a few
	  more places where the layout qualifier wasn't being propagated
	  through typedef's properly.  What made this a bit tricky is shown in
	  the example cited in the bug report:
	  typedef shared [5] int A_t; A_t A[5*THREADS];
	  In the typedef, the blocksize is being applied to a shared *scalar*,
	  and the code was applying the blocksize only to arrays.  This update
	  handles shared scalars correctly.

2010-09-22  Gary Funck  <gary@intrepid.com>

	* c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
	  upc_forall() semantics are not implemented
	  The checkforall test in the Berkeley harness test suite indicated
	  that GCC/UPC was not properly implementing nested upc_forall
	  semantics.  Nested upc_forall statements (both statically or
	  dynamically nested) must implement their affinity clause as if it
	  were "continue"; thus all steps in the loop must execute without
	  regard for affinity.  To implement these semantics a global depth
	  counter, __upc_forall_depth, is maintained by the generated code
	  that implements upc_forall.
	  See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
	  gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
	  libupc/include/upc.h libupc/smp/upc_main.c

2010-09-19  Gary Funck  <gary@intrepid.com>

	* c-decl.c: c-decl.c: zero out the layout specifier, after
	  processing an array type.
	  Fix the previous fix, that moved the setting of the type's layout
	  qualifier to the outside of the array type processing loop.  What is
	  missing from the fix is that the layout_qualifier variable needs to
	  be cleared after setting the type's blocksize.

2010-09-19  Gary Funck  <gary@intrepid.com>

	* config/upc-conf.h: Fix Bug 375: error message is off-by-one when
	  given blocksize is greater than UPC_MAX_BLOCKSIZE.
	  The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
	  the actual maximum block size.  Therefore, the message was correct,
	  but the underlying value that was being checked was wrong.  Change
	  the values so that they agree with the actual implementation-defined
	  limit.

2010-09-11  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
	  multi-dimensional shared array with dynamic threads.
	  This declaration caused an internal compiler error when compiled
	  with dynamic threads:
	      shared [*] int A[THREADS][16]; The bug was discovered when
	  compiling the RTED_UPC test suite.
	  The fix is to process layout qualifiers after the entire array type
	  has been built.  Otherwise, we try to calculate the blocksize on a
	  shared array type that has not had its "size depends upon the value
	  of THREADS" flag set.
	  Also, added a test case.
	  See also: libupc/testsuite/libupc.upc/intrepid/test18.upc

2010-07-11  Gary Funck  <gary@intrepid.com>

	Fix a bug where a statement in c_build_qualified_type()
	in the trunk had been inadvertently deleted.
	This bug showed up in the IA64 port, because jmpbuf's
	on that architecture must be 16 byte aligned, and they were not.
	c-typeck.c (c_build_qualified_type): Revive the deleted line.

2010-07-08  Gary Funck  <gary@intrepid.com>

	Make changes so that other language compilers
	will build and bootstrap.
	* c-family/c-common.c (compiling_upc, flag_upc,
	flag_upc_instrument, flag_upc_instrument_functions,
	use_upc_dwarf2_extensions): Move to stub-upc.c and
	upc-lang.c.
	* c-family/c-common.h (use_upc_dwarf2_extensions,
	compiling_upc): Add extern definitions - needed
	to compile/build other language front ends.
	* c-family/c.opt: Fix the spelling of ObjC.
	It had been incorrectly spelled as Objc.
	* c-family/c.opt: Add UPC for the various switches
	that are valid for both C and ObjC.
	* c-family/c-opts.c: Add CL_UPC to the list of
	supported options switches when compiling assembly
	language.
	* lto/lto-lang.c (use_upc_dwarf2_extensions,
	flag_upc_instrument, flag_upc_instrument_functions):
	Remove these definitions.  They have been moved
	to c-family/stub-upc.c.
	* upc/ChangeLog: Move relevant entries
	to ChangeLog.upc.
	* c-family/stub-upc.c (compiling_upc, flag_upc,
	flag_upc_instrument, flag_upc_instrument_functions,
	use_upc_dwarf2_extensions): Moved from c-common.c
	* upc/upc-lang.c (compiling_upc, flag_upc,
	flag_upc_instrument, flag_upc_instrument_functions,
	use_upc_dwarf2_extensions): Moved from c-common.c
	* objc/objc-act.c (objc_gimplify_expr): Add additional
	parameters to c_gimplify_expr() call, that are used
	by upc's tree rewrites.
	* cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
	* gcc/cp/lex.c (init_reswords): If not compiling
	UPC, then mask off the UPC keywords.
	* cp/Make-lang.in (C_STUB_OBJS): Use this
	make macro to link with c-family/stub-objc.o
	and c-family/stub-upc.o.
	* fortran/Make-lang.in (C_STUB_OBJS): Likewise.
	* java/Make-lang.in (C_STUB_OBJS): Likewise.
	* objc/Make-lang.in: Link with c-family/stub-upc.o
	to avoid undefined references.
	c-parser.c: Fix line indentation.
	* libcpp/include/cpplib.h: Remove CL_UPC from
	the list of language kinds accepted by the
	C preprocessor.  This is not necessary because
	UPC is a derivative of C99, and does not need
	a different language kind.
	* c-family/c-opts.c (c_common_handle_option):
	Call set_std_c99() when processing the
	"--lang upc" switch, instead of setting the
	language kind to CL_UPC.
	* libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.

2010-07-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 161517 into gupc branch.
	* gcc/stub-upc.c: Move to gcc/c-family/.
	* libupc/testsuite/libupc.upc/intrepid/test19.upc:
	Add 'unused' attributes to avoid "set, but
	not referenced" warnings.
	* libupc/testsuite/libupc.upc/intrepid/test18.upc:
	Likewise.

2010-03-01  Gary Funck  <gary@intrepid.com>

	Create gupc branch from trunk version 157149.

2011-10-04  Gary Funck  <gary@intrepid.com>

	Merge trunk version 179421 into gupc branch.
	* tree.c (build_opaque_vector_type): Add null UPC layout qualifier
	argument to the call to check_qualified_type().

2011-09-22  Gary Funck  <gary@intrepid.com>

	* tree-pretty-print.c (dump_generic_node): Print UPC type qualifier
	information.
	(dump_upc_type_quals): New.

2011-09-22  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_get_block_factor): test TYPE_HAS_BLOCK_FACTOR()
	before calling TYPE_BLOCK_FACTOR().  This fits better with
	recent encoding of block factor values with a hash table.

2011-09-15  Nenad Vukicevic  <nenad@intrepid.com>

	Add to FLAGS the flags needed to disable inlining of
	UPC run-time access routines.
	* testsuite/lib/target-supports.exp
	(add_options_for_upc_library_calls): New.

2011-09-15  Gary Funck  <gary@intrepid.com>

	Fix ICE involving shared bit field accesses.
	* tree.c (build3_stat): Propagate TEEE_SHARED()
	TREE_STRICT() and TREE_RELAXED() flags, if applicable.

2011-09-15  Gary Funck  <gary@intrepid.com>

	Fix ICE involving shared bit field accesses.
	* upc/upc-genericize.c (upc_simplify_shared_ref): Improve
	"shared bit fields not yet implemented" error message
	by adding file/line number location.

2011-09-13  Gary Funck  <gary@intrepid.com>

	Merge trunk version 178795 into gupc branch.
	Incorporates fix to PR bootstrap/50010 for x86-32.

2011-09-13  Gary Funck  <gary@intrepid.com>

	* upc/upc-tree.def (UPC_FORALL_STMT): Fix spelling error in comments.
	* upc/upc-lang.c (upc_init_options): Ditto.
	* upc/upc-genericize.c (lookup_unshared_var, upc_shared_addr_rep,
	upc_genericize_expr, upc_genericize_compound_expr): Ditto.
	* upc/upc-act.c (upc_parse_init, upc_build_pointer_type,
	upc_block_factor_insert, upc_pts_is_valid_p): Ditto.

2011-09-08  Gary Funck  <gary@intrepid.com>

	Merge trunk version 178557 into gupc branch.

2011-09-07  Gary Funck  <gary@intrepid.com>

	Ensure that UPC pointer-to-shared type alignment is
	propagated to the final type.  Revert to long-standing
	alignment policy: twice the size of a "C" pointer.
	* tree.c (build_pointer_type): Propagate the alignment
	of the UPC pointer-to-shared representation type
	into the newly built pointer type.

2011-09-07  Gary Funck  <gary@intrepid.com>

	Ensure that UPC pointer-to-shared type alignment is
	propagated to the final type.  Revert to long-standing
	alignment policy: twice the size of a "C" pointer.
	* upc/upc-pts-struct.c (upc_pts_struct_init_type): Ensure that
	shared pointers have twice the alignment of a pointer.
	* upc/upc-act.c (upc_cpp_builtins): Unconditionally emit
	the definition of __UPC_PTS_ALIGN__.

2011-09-02  Gary Funck  <gary@intrepid.com>

	Align UPC pointers-to-shared, only if the target enforces
	strict alignment.
	* upc/upc-pts-struct.c (upc_pts_struct_init_type): Align a
	UPC pointer-to-shared type, only if the target requires
	strict alignment.
	* upc/upc-act.c (upc_cpp_builtins): Output pre-defined macro,
	__UPC_PTS_ALIGN__, only if the target requires strict alignment.

2011-08-30  Gary Funck  <gary@intrepid.com>

	* tree.h (check_qualified_type): Change 'const_tree'
	argument types back to 'tree' to avoid complaints
	of assignment drops qualifiers for invocations of the
	newly implemented TYPE_BLOCK_FACTOR() macro, which
	invokes hash functions with 'tree' pointer values that
	are not const qualified.
	* tree.c (check_qualified_type, check_aligned_type): Ditto.
	* c-typeck.c (comptypes_internal): Ditto.

2011-08-29  Gary Funck  <gary@intrepid.com>

	Fixes for regressions noted running "make check"
	versus GCC trunk.
	* fold-const.c (fold_unary_loc): Execute UPC-specific
	checks for a cast-of-a-cast, only if one of the
	operands is a UPC pointer-to-shared value.
	* opts.c (print_specific_help):  Fix a comparison
	in an assert that checks that there are enough
	bits reserved for the number of languages defined
	in the .opt files.

2011-08-29  Gary Funck  <gary@intrepid.com>

	Implement a hash table to record UPC block factors.
	* c-family/stub-upc.c (upc_block_factor_insert,
	upc_block_factor_lookup): New dummy stub procedures.
	* c-family/c-common.c (c_sizeof_or_alignof_type):
	Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
	* tree.c (copy_node_stat): call SET_TYPE_BLOCK_FACTOR()
	to copy (hashed) UPC blocking factor.
	(set_type_quals): Likewise.
	* tree.h: Rename UPC_TYPE_HAS_THREADS_FACTOR() to
	TYPE_HAS_THREADS_FACTOR().
	(type_common.block_factor): Delete.
	(TYPE_HAS_BLOCK_FACTOR_0, TYPE_HAS_BLOCK_FACTOR_X,
	TYPE_HAS_BLOCK_FACTOR, SET_TYPE_BLOCK_FACTOR): New.
	(TYPE_BLOCK_FACTOR): Re-implement, using hash table for
	UPC blocking factors greater than one.
	* dwarf2out.c (modified_type_die): Re-implement
	logic that records UPC blocking factor in the generated
	DWARF2 debugging information.
	(add_subscript_info): Rename UPC_TYPE_HAS_THREADS_FACTOR() to
	TYPE_HAS_THREADS_FACTOR().
	* c-decl.c (finish_decl, grokdeclarator):
	Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
	* print-tree.c (print_node): Check for TYPE_LANG_FLAG_* flags
	used by UPC, and print UPC-specific information.

2011-08-29  Gary Funck  <gary@intrepid.com>

	Implement a hash table to record UPC block factors.
	* upc/upc-act.c (upc_block_factor_for_type): New garbage-collected
	hash table.
	(upc_lang_init, upc_finish): Move to end of source file.
	(upc_lang_init): create  upc_block_factor_for_type hash table.
	(upc_block_factor_lookup, upc_block_factor_insert): New.
	(upc_grok_layout_qualifier, upc_lang_layout_decl, upc_pts_int_sum):
	Rename UPC_TYPE_HAS_THREADS_FACTOR() to TYPE_HAS_THREADS_FACTOR().
	(upc_grok_layout_qualifier): convert blocking factor to sizetype
	before checking for equality to element type's blocking factor.

2011-08-28  Gary Funck  <gary@intrepid.com>

	Re-work the type machinery to fully support and to unify support
	for the UPC layout qualifier (blocking factor).
	* c-family/stub-upc.c (upc_set_block_factor): Delete.
	  (upc_grok_layout_qualifier): rename from upc_apply_layout_qualifier()
	  and update prototype.
	* c-family/c-common.c (complete_array_type): call newly
	  defined c_build_qualified_type_1() instead of
	  upc_set_block_factor().
	* c-family/c-upc.h (pc_grok_layout_qualifier): rename from
	  upc_apply_layout_qualifier() and update prototype.
	  (upc_set_block_factor): Delete prototype.
	* c-family/c-common.h (c_build_qualified_type): redefine
	  as a pre-processor macro that invokes c_build_qualified_type_1()
	  with a null UPC layout qualifier.
	  (c_build_qualified_type_1): New.  Add layout qualifier argument
	  to old c_build_qualified_type() prototype.
	* tree.c (set_type_quals, check_qualified_type):
	  Add layout qualifier as argument.
	  (check_aligned_type): Add check for UPC block factor equality.
	  (get_qualified_type_1): Rename from get_qualified_type() and
	  add layout qualifier as argument.
	  (build_qualified_type_1): Rename from build_qualified_type() and
	  add layout qualifier as argument.
	* tree.h (check_qualified_type): Add layout qualifier as argument
	  to the prototype.
	  (get_qualified_type): Re-define as a as a pre-processor macro
	  that invokes get_qualified_type_1() with a null
	  UPC layout qualifier.
	  (get_qualified_type_1): Rename from get_qualified_type() and
	  add layout qualifier as argument.
	* cp/tree.c (c_build_qualified_type_1): Rename from
	  c_build_qualified_type() and add (unused) layout qualifier
	  argument.
	* c-decl.c (finish_decl): re-format long error messages.
	  (grokdeclarator): Re-work the logic so that it calls
	  upc_grok_layout_qualifier() to handle the UPC layout
	  qualifier, if present.
	* c-typeck.c (qualify_type, common_pointer_type,
	  build_component_ref): Re-work the logic so that it calls
	  upc_grok_layout_qualifier() to handle the UPC layout qualifier,
	  if present.
	  (c_build_qualified_type_1): Rename from c_build_qualified_type()
	  and add layout qualifier argument.
	* print_tree.c (print_node): Re-format a long line.

2011-08-28  Gary Funck  <gary@intrepid.com>

	Re-work the type machinery to fully support and to unify support
	for the UPC layout qualifier (blocking factor).
	* upc/upc-genericize.c (upc_simplify_shared_ref): Call
	c_build_qualified_type_1() instead of upc_set_block_factor()
	to assert a zero blocking factor.
	* upc/upc-pts-struct.c (upc_pts_struct_init_type): Call
	c_build_qualified_type_1() to build predefined shared
	qualified types, instead of build_variant_type_copy().
	* upc/upc-pts-packed.c (upc_pts_packed_init_type): Call
	c_build_qualified_type_1() to build predefined shared
	qualified types, instead of build_variant_type_copy().
	* upc/upc-act.c (upc_set_block_factor): Delete.
	(upc_grok_layout_qualifier): Rename from upc_apply_layout_qualifier().
	Rework logic so that it returns a blocking factor rather than
	a qualified type.  Add 'loc' argument and call error_at().
	Add an ELEM_BLOCK_FACTOR argument and Implement logic that merges
	the block size of the element type into the result type, and checks
	for errors due to an attempt to merge differing blocking factors.

2011-08-26  Gary Funck  <gary@intrepid.com>

	Merge trunk version 177949 into gupc branch.
	* c-family/c-common.h (enum rid): Bump the number of type modifiers
	  in the comment.
	* ../libcpp/init.c (struct lang_flags): Adjust the entry for UPC
	  to add new rliterals column value.

2011-08-26  Gary Funck  <gary@intrepid.com>

	* convert.c (convert_to_integer): Fix the check for the
	  difference between two UPC pointers-to-shared values.

2011-08-23  Nenad Vukicevic  <nenad@intrepid.com>

	* configure.ac: Fix the name for --with-upc-pts-packed-bits
	  option. Support --with-upc-packed-bits as deprecated. Fix the code to
	  correctly check packed bits.
	* configure: Re-generate.

2011-08-16  Gary Funck  <gary@intrepid.com>

	* c-parser.c (c_parser_upc_sync_statement): issue error diagnostic if
	  the barrier id expression is not an integer expression.

2011-08-16  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_decl_init): Do not attempt to expand
	  an error mark node.  Fixes ICE after error diagnostic.
	* upc/upc-cmd.c (main): detect missing option argument for
	  options that require an argument, and print error diagnostic.
	  (get_print_cmd): Re-direct error output to /dev/null to
	  avoid issuing duplicate error messages.

2011-08-12  Gary Funck  <gary@intrepid.com>

	* config/i386/i386.h (MAX_FIXED_MODE_SIZE): Delete
	  (revert to trunk).
	* upc/upc-pts-struct.c (upc_pts_struct_init_type):
	  Set mode of UPC pointer-to-shared rep. to an
	  integral mode of size at least as large as the
	  size of the representation's struct type.

2011-08-12  Gary Funck  <gary@intrepid.com>

	Rework/simplify the UPC genericize pass.
	* c-family/stub-upc.c (upc_apply_layout_qualifier,
	  upc_build_pointer_type): New.
	  (upc_set_block_factor): Adjust to new calling sequence.
	  (upc_build_shared_var_addr): Delete.
	* c-family/c-common.c (complete_array_type): Adjust call
	  to upc_set_block_factor().
	* c-family/c-upc.h (upc_apply_layout_qualifier,
	  upc_build_pointer_type): New.
	  (upc_build_shared_var_addr): Delete.
	  (upc_set_block_factor): Adjust to new calling sequence.
	* tree.h (TI_UPC_CHAR_PTS_TYPE, upc_char_pts_type_node): New.
	* c-decl.c (grokdeclarator): Call newly defined
	  upc_apply_layout_qualifier() instead of upc_set_block_factor().
	* c-decl.c (grokdeclarator): Split long UPC-related error
	  messages into two lines.
	* c-typeck.c (build_unary_op): Do not call upc_build_shared_var_addr()
	  directly.  Revert that change to trunk. (upc_genericize() will
	  handle lowering the expressions that take the address of a
	  UPC variable).
	* config/i386/i386.c (ix86_promote_function_mode): For UPC
	  pointers-to-shared, return the type mode of the UPC pointer-to-shared
	  representation type.

2011-08-12  Gary Funck  <gary@intrepid.com>

	Rework/simplify the UPC genericize pass.
	* upc/upc-pts.h (upc_pts_ops_t): Remove 'add_offset' field.
	* upc/upc-act.h: Cosmetic change.
	* upc/config-lang.in (gtypes): Add upc-genericize.[ch] to the list.
	* upc/upc-genericize.c (upc_expand_get):
	  Add WANT_STABLE_VALUE parameter.
	  (upc_build_shared_var_addr, upc_shared_addr_rep): New.
	  (uid_tree_map, unshared_vars, uid_tree_map_hash, uid_tree_map_eq,
	  create_unshared_var, lookup_unshared_var, map_unshared_var,
	  unshared_var_addr, unshared_var_name,
	  upc_free_unshared_var_table): Move from upc-act.c.
	  (upc_expand_get, upc_expand_put): Change their source and/or
	  destination parameters so that they are no longer addresses
	  of the objects, but rather references to the objects themselves.
	  (upc_simplify_shared_ref): Rewrite (simplify/generalize).
	  (upc_shared_addr_rep): New.
	  (upc_shared_addr):  Adjust call to upc_build_shared_var_addr(),
	  and re-factor the logic.
	  (upc_genericize_sync_stmt): Re-format comment.
	  (upc_genericize_shared_var_ref): Adjust call to upc_expand_get().
	  (upc_genericize_addr_expr): Re-factor the logic.
	  (upc_genericize_indirect_ref, upc_genericize_field_ref):
	  Adjust call to upc_expand_get() and re-factor the logic.
	  (upc_genericize_modify_expr): Adjust call to upc_expand_put()
	  and re-factor the logic.
	  (upc_genericize_expr): Improve/fix comments.
	  (upc_genericize_finish, upc_genericize_init): New.
	* upc/upc-pts-struct.c (upc_pts_struct_build_add_offset): Delete.
	  (upc_char_pts_type_node): Create new global type node.
	  (upc_pts_struct_is_null_p): Generalize variable names to
	  reflect the fact that the vaddr field can be either first/last.
	  (upc_pts_struct_build_sum): Make corrections to comments.
	  (upc_pts_struct_build_add_offset): Delete.
	* upc/upc-genericize.h (upc_genericize_finish, upc_genericize_init):
	  New prototypes.
	* upc/upc-pts-packed.c (upc_pts_packed_build_add_offset): Delete.
	  (upc_char_pts_type_node): Create new global type node.
	* upc/Make-lang.in: Add dependencies to gtype-upc.h
	  and gt-upc-upc-genericize.h.
	* upc/upc-act.c: Adjust includes to reflect moving the functions
	  that handle the UPC unshared "shadow variables" into
	  upc-genericize.c.  Improve/fix various comments.
	* upc/upc-act.c (upc_parse_init): Call upc_genericize_init().
	  (upc_build_pointer_type): New.
	  (upc_set_block_factor): Re-purpose.  Move the front-end
	  related error checks into upc_apply_layout_qualifier().
	  (upc_apply_layout_qualifier): New.
	  (upc_write_global_declarations): Call upc_genericize_finish().

2011-08-10  Gary Funck  <gary@intrepid.com>

	Implement additional fixes for recent merge with trunk.
	* explow.c (promote_mode): Do not attempt to promote
	  the mode for UPC pointer-to-shared types.
	* config/i386/i386.c (function_value_64): Ditto.

2011-08-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 177548 into gupc branch.
	* config/i386/i386.c (ix86_promote_function_mode):
	  Do not promote UPC pointers-to-shared to Pmode.
	* c-family/c-common.c (pointer_int_sum):
	  Also check the pointer operand, rather than just
	  its type, when making the decision to derive
	  the equivalent unshared type.
	* tree.c (build2_stat): If the type of the result
	  passed in as an argument is a UPC shared type,
	  derive the unshared equivalent when calculating
	  the result type of the node.

2011-07-15  Nenad Vukicevic  <nenad@intrepid.com>

	* config/darwin.c: Disable var_tracking option
	  on -O0 as it is supposed to run only when optimization
	  is applied. See GCC bug 49743.

2011-07-11  Gary Funck  <gary@intrepid.com>

	* upc/upc-genericize.c (upc_expand_put): Fix bug, where strict/relaxed
	qualification was incorrectly derived from the source operand.
	(upc_genericize_fndecl): New.
	(upc_genericize): Call upc_genericize_fndecl() to avoid calling
	c_genericize() more than once in the event of nested procedures.
	(upc_genericize_real_imag_ref): Rename,
	was: upc_genericize_real_image_ref.
	(upc_expand_put): call internal_error() with meaningful message
	in lieu of abort().
	(upc_genericize_real_imag_ref): call internal_error() with
	meaningful message in lieu of gcc_unreachable().

2011-07-06  Gary Funck  <gary@intrepid.com>

	Re-implement the pass that lowers trees generated by
	the UPC front-end into GENERIC.  Previously this was
	done within the gimplification framework, but this
	required that gimplification be run before inlining
	and various other passes, which did not fit in well
	with the current design of the middle-end passes.
	Now, the lowering is done by a newly defined language
	specific genericize hook.  With this change, we are
	are able to undo some extensions made to the gimplify
	logic, and thus can revert several files to trunk.
	* c-decl.c: Add a check for UPC deprecated names which
	  may appear as undefined function names.
	* libfuncs.h (LTI_upc_barrier, LTI_upc_notify, LTI_upc_wait,
	  LTI_upc_getaddr): Remove definitions of unused UPC
	  library function names.  These were defined back when
	  the libfunc interface was used to call these routines.
	* timevar.def (TV_TREE_UPC_GENERICIZE): New. Track time spent
	  in UPC lowering (genericize) pass.
	* langhooks.h (gimplify_expr): Revert to trunk's definition.
	  (instrument_func): Delete this hook.  Now handled in
	  upc_genericize().
	* tree-pass.h: Revert to trunk.
	* c-typeck.c (build_unary_op): Adjust reference to
	  upc_genericize() in a comment.
	* gimplify.c (create_tmp_var_raw): Delete logic that
	  was converting UPC shared types into unshared types
	  to be used for temporaries.  Now handled in  upc_genericize().
	  Replace with an assertion check.
	  (prepare_gimple_addressable): Revert to trunk's definition.
	  No longer needed as an externally called function.
	  (flag_instrument_functions_exclude_p): Re-define as
	  an externally called function.
	  (gimplify_function_tree): Delete code that implemented
	  call to UPC's language specific function instrumentation hook.
	* gimple.h (flag_instrument_functions_exclude_p): Define as extern.
	  (prepare_gimple_addressable): Delete extern definition;
	  revert to trunk's definition.
	* lnaghooks-def.h (lhd_gimplify_expr): Revert to trunk's definition.
	  (LANG_HOOKS_INSTRUMENT_FUNC): Remove, no longer needed for UPC.
	* c-family/c-gimplify.c: Revert to trunk.
	* cp/cp-gimplify.c: Revert to trunk.
	* cp/cp-tree.h: Revert to trunk.
	* explow.c: Revert to trunk.
	* langhooks.c: Revert to trunk.
	* libfuncs.h: Revert to trunk.
	* objc/objc-act.c: Revert to trunk.

2011-07-06  Gary Funck  <gary@intrepid.com>

	Improve/simplify the logic in upc_genericize.
	* upc/upc-genericize.c (upc_create_tmp_var): Delete the
	  PREFIX argument.  Aways use "UPC" as the prefix.
	  (upc_genericize_compound_expr): Add a WANT_VALUE argument.
	  (upc_genericize_cond_expr): New.
	  (upc_genericize_decl_expr): New.
	  (upc_genericize_stmt): New.
	  (upc_copy_value_to_tmp_var, upc_expand_get): Adjust call
	  to upc_create_tmp_var().
	  (upc_genericize_expr): Change the handling
	  of the want_value flag passed in the DATA argument.
	  Always assert this flag after processing EXPR_P.
	  (upc_genericize_compound_expr): Adjust call
	  to upc_genericize_compound_expr() and call
	  upc_genericize_cond_expr() and upc_genericize_decl_expr().

2011-07-06  Gary Funck  <gary@intrepid.com>

	Re-implement the pass that lowers trees generated by
	the UPC front-end into GENERIC.  Previously this was
	done within the gimplification framework, but this
	required that gimplification be run before inlining
	and various other passes, which did not fit in well
	with the current design of the middle-end passes.
	Now, the lowering is done by a newly defined language
	specific genericize hook.  With this change, we are
	are able to undo some extensions made to the gimplify
	logic, and thus can revert several files to trunk.
	* upc/upc-genericize.c: Rename upc-gimplify.c to upc-genericize.c.
	* upc/upc-genericize.h: Rename upc-gimplify.h to upc-genericize.h.
	* upc/Make-lang.in: Adjust to refer to upc-genericize.[cho].
	* upc/upc-lnag.c: refer to upc-genericize.h.
	  (LANG_HOOKS_GENERICIZE): define as upc_genericize.
	  (LANG_HOOKS_GIMPLIFY_EXPR): Delete.
	  (LANG_HOOKS_INSTRUMENT_FUNC): Delete.
	* upc/upc-act.c: Minor code format fix.

2011-06-30  Gary Funck  <gary@intrepid.com>

	* c-family/c.opt: Bring options definitions up-to-date
	with respect to changes made in the trunk.

2011-06-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 175584 into gupc branch.

2011-06-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 175584 into gupc branch.
	* upc/upc-act.c (upc_handle_option): Change reference to
	have_named_sections so that it refers to the
	targetm_common structure.

2011-06-28  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.h (upc_write_init_func, upc_free_unshared_var_table):
	Remove extern definitions. Now declared as 'static'.
	* upc/upc-gimplify.c, upc/upc-lang.c,
	upc-pts-struct.c, upc-gasp.c, upc-pts-packed.c,
	upc-cmd.c, upc-act.c: Improve/add comments, fix
	typos and spelling errors.

2011-06-13  Gary Funck  <gary@intrepid.com>

	libcpp/
	* include/cpplib.h (enum c_lang):
	Move the entry for CLK_UPC so that it follows CLK_STDC1X.
	This keeps all the "C" variants together.
	* init.c (lang_defaults): Add an entry for UPC.

2011-06-10  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_set_block_factor): Handle the case where
	the UPC blocking factor expression overflowed.

2011-06-09  Gary Funck  <gary@intrepid.com>

	* c-parser.c (upc_localsizeof_type): Fix an ICE when compiling for
	a 32-bit target, the size expression overflowed, the result was
	error_mark_node, and an ICE was triggered on an attempt to evaluate
	C_TYPE_VARIABLE_SIZE() on the error node.
	(upc_blocksizeof_expr, upc_blocksizeof_type,
	upc_elemsizeof_expr, upc_elemsizeof_type, upc_localsizeof_expr):
	Make similar changes to avoid further processing of error_mark_node.

2011-06-07  Gary Funck  <gary@intrepid.com>

	* sel-sched.c (move_op): Incorporate the following
	patch to eliminate ICE at -O3 on IA64/Altix.

2011-06-07  Alexander Monakov  <amonakov@ispras.ru>

	* sel-sched.c (move_op): Use correct type for 'res'.  Verify that
	code_motion_path_driver returned 0 or 1.
	(sel_region_finish): Clear h_d_i_d.

2011-06-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 174558 into gupc branch.

2011-06-02  Gary Funck  <gary@intrepid.com>

	Merge trunk version 174558 into gupc branch.
	* upc/upc-lang.c (upc_check_decl_init): Use recently defined
	'append_to_statement_list_force' function to add UPC
	initialization statements to the UPC initialization
	statement list ('upc_init_stmt_list').
	(upc_build_init_func): Use recently defined
	'append_to_statement_list_force' function to add
	statements listed in 'upc_init_stmt_list' onto the
	function body constructed to implement initialization
	of UPC declarations that require active initialization
	at program start up.  The previous methods of manipulating
	statement lists no longer worked, due to changes in the
	the statement list structure.

2011-05-30  Gary Funck  <gary@intrepid.com>

	* configure.ac: Make the default order of the virtual
	  address field in a UPC pointer-to-shared to be "first".
	  This reverts to the previous setting, and is a short term
	  measure to work around a bug found on the IA64,
	  where vaddr=last led to incorrect code generation.
	  Rename UPC_PTS_VADDR_FIRST to HAVE_UPC_PTS_VADDR_FIRST
	  in AC_DEFINE(), to agree with recent changes in files
	  that reference this define.
	  configure, config.in: Regenerate.

2011-05-26  Gary Funck  <gary@intrepid.com>

	* configure.ac: Fix typo when referring to $upc_vaddr_order.
	  configure: Regenerate.
	* ../fixincludes/fixincl.x: Revert to trunk.
	  This file is auto-generated, and should not be merged.

2011-05-23  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts-struct.c: Revert to code that aligned the
	  internal pointer-to-shared representation to
	  twice the alignment of a pointer.  This fixes
	  an ICE that occurred when building the compiler
	  on an IA64 target.

2011-05-18  Gary Funck  <gary@intrepid.com>

	Merge trunk version 173845 into gupc branch.

2011-05-17  Gary Funck  <gary@intrepid.com>

	* c-family/stub-upc.c (upc_rts_forall_depth_var): New.
	  c-family/c-upc.h (upc_rts_forall_depth_var): Define.
	* c-family/c-pragma.c: Remove conditional compilation
	  with HANDLE_PRAGMA_UPC and HANDLE_PRAGMA_PUPC.
	  Test 'compiling_upc' when compiling to determine if
	  the "upc" and "pupc" pragmas should be registered.
	* defaults.h (UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
	  UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
	  UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
	  UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
	  UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
	  UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME): New.
	  Move these target-dependent definitions from config/upc-conf.h
	  to here.
	* configure.ac: Improve the logic for UPC-related options.
	  Delete references to pre-processor definitions that have
	  been moved to "upc/upc-pts.h".
	* configure, config.in: Regenerate.
	* Makefile.in (UPC_PTS_REP): Remove definition and revert
	  to trunk.  This substitution variable was used to
	  configure the representation-specific versions of
	  the tree rewrites that operate on UPC pointer-to-shared
	  types and objects.
	* c-parser.c (c_parser_upc_forall_statement): Remove
	  reference to UPC_FORALL_DEPTH_NAME, and call
	  newly defined upc_rts_forall_depth_var() instead.
	* config/upc-config.h: Delete. Various definitions
	  moved to "upc/upc-rts-names.h", "defaults.h", and
	  "upc/upc-pts.h".
	* doc/tm.texi.in (HAVE_UPC_PTS_VADDR_FIRST,
	  HAVE_UPC_PTS_PACKED_REP, HAVE_UPC_PTS_STRUCT_REP,
	  UPC_SHARED_SECTION_NAME, UPC_SHARED_BEGIN_NAME,
	  UPC_SHARED_END_NAME, UPC_PGM_INFO_SECTION_NAME,
	  UPC_PGM_INFO_BEGIN_NAME, UPC_PGM_INFO_END_NAME,
	  UPC_INIT_SECTION_NAME, UPC_INIT_BEGIN_NAME,
	  UPC_INIT_END_NAME, UPC_INIT_ARRAY_SECTION_NAME,
	  UPC_INIT_ARRAY_BEGIN_NAME, UPC_INIT_ARRAY_END_NAME):
	  New.  Document UPC target macros.
	  doc/tm.texi: Regenerate.

2011-05-17  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts.h (upc_pts_build_value, upc_pts_build_add_offset,
	  upc_pts_build_cond_expr, upc_pts_build_constant,
	  upc_pts_build_cvt, upc_pts_build_diff, upc_pts_build_sum,
	  upc_pts_build_threadof, upc_pts_init_type): Remove extern
	  definitions.
	  (upc_pts_ops_t): New. Define handler table that will
	  implement either the 'packed' or the 'struct' representation
	  of a UPC pointer-to-shared value.
	  (upc_pts_packed_ops, upc_pts_struct_ops): New. Define extern that
	  refers to the packed and the struct UPC pointer-to-shared
	  representation implementation.
	  (upc_pts): New. Define handler table that is set up at initialization
	  to refer to the handlers for the UPC pointer-to-shared
	  representation (packed/struct) that has been configured.
	  Add conditional compilation test for HAVE_UPC_PTS_PACKED_REP
	  and configure the UPC pointer-to-shared definitions that
	  are specific to the configured UPC pointer-to-shared
	  representation.
	* upc/upc-act.h (upc_pts_is_valid_p): Rename extern definition from
	  is_valid_pts_p to upc_pts_is_valid_p.
	* lang-specs.h: Reformat the UPC compilation specs.
	  to improve readability.
	* upc/upc-rts-names.h: New. Define the names of UPC runtime
	  library functions that implement UPC language statement
	  semantics.  These definitions were moved from config/upc-conf.h
	* upc/upc-gimplify.c: Add include of "upc-rts-names.h".
	  Refer to newly defined pointer manipulation routines
	  by indirecting through the newly defined "pts" handler table.
	  Re-format, re-indent.
	* upc/upc-lang.c: Add include of "upc-pts.h".  Fix a comment.
	* upc/config-lang.in: Remove logic that inserted "config/upc-conf.h"
	  into the target include and file path.
	* upc/upc-pts-struct.c: Add include of "upc-rts-names.h".
	  (upc_pts_struct_ops): Define the pointer manipulation
	  handler table that implements operations on UPC
	  pointers-to-shared, represented as a struct.
	  Re-format and re-indent.
	* upc/upc-gasp.c: Add include of "upc-rts-names.h".
	  Re-format and re-indent.
	* upc/upc-pts-packed.c: Add include of "upc-rts-names.h".
	  (upc_pts_packed_ops): Define the pointer manipulation
	  handler table that implements operations on UPC
	  pointers-to-shared, represented as a packed integer.
	  Re-format and re-indent.
	* upc/Make-lang.in: Compile both "upc-pts-packed.c" and
	  "upc-pts-struct.c".  One/other will be selected at
	  compilation time to implement operations on UPC
	  on the UPC pointer-to-shared that has been configured.
	  Add dependencies on "upc-rts-names.h".
	* upc/upc-cmd.c: Re-format and re-indent.
	* upc/upc-act.c: Add include of "upc-rts-names.h".
	  (upc_pts): New. Add definition of the handler
	  table that implements representation specific
	  operations on trees that refer to UPC pointer-to-shared
	  objects and types.  Re-format and re-indent.

2011-05-07  Gary Funck  <gary@intrepid.com>

	* ../configure.ac: Disable build of libupc
	  on non POSIX hosted systems.  Use AS_HELP_STRING
	  to define messages.  Remove 'word-pair' as a
	  possible --with-upc-pts UPC pointer-to-shared
	  representation.
	* ../configure: Regenerate.
	* configure.ac: Use AS_HELP_STRING to define messages.
	  Remove 'word-pair' as a possible --with-upc-pts
	  UPC pointer-to-shared representation.
	  (UPC_MAX_THREADS): Limit the maximum value to 2^31-1.
	  (UPC_MAX_BLOCK_SIZE): Correct the default value.
	* configure: Regenerate.
	* config.in: Regenerate. Delete UPC_PTS_WORD_PAIR_REP
	  definition.
	* ChangeLog.upc: Fix some typos.

2011-05-07  Gary Funck  <gary@intrepid.com>

	* ../maintainer-scripts/gcc_release: Add "upc"
	  as one of the released languages.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Eliminate compilation warnings, by fixing
	#include's and updating function prototypes.
	* c-family/c-cppbuiltin.c: Include c-upc.h.
	* optabs.c (gen_libfunc): Change type of 'suffix'
	  parameter to conform with prototype.
	* cp/cp-gimplify.c (cp_gimplify_expr): Add extra parameters
	  ('gimple_test_f' and 'fallback') used by extended gimplify_expr
	  hook used by UPC.
	* cp/cp-tree.h (cp_gimplify_expr): Add extra parameters to
	  the prototype.
	* objc/objc-act.c (objc_gimplify_expr): Pass extra dummy
	  argument values to cp_gimplify_expr.
	* config.in (HAVE_UPC_AFFINITY_SUPPORT,
	  HAVE_UPC_NUMA_SUPPORT): Regenerate.  Remove
	  pre-processor definitions that are no longer
	  needed to build the 'upc' command (upc-cmd.c)
	  because the linker specs. defined in libupc
	  take care of linking in the needed libraries.
	* c-parser.c (c_parser_upc_forall_statement):
	  initialize affinity_loc to avoid "maybe unused" warning.
	  (c_parser_upc_sync_statement): Remove un-needed
	  'ret' variable.  Cast return value from
	  'upc_build_sync_stmt' to 'void' to avoid
	  compile-time warning.
	* config/upc-conf.h (UPC_MAX_THREADS): Define as an
	  integer constant, not a string.  Range is restricted
	  to maximum positive 32-bit integer (2+ billion) to
	  fit in with the use of 'int' in the front-end's
	  switch handling logic.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Upgrade c-family source files to conform with modularity
	improvements.  Mainly, remove #include of c-tree.h in files
	under c-family, and define a new UPC-specific #include file,
	c-upc.h, and use it.
	* c-family/stub-upc.c: Remove #include of c-tree.h and
	  upc/upc-act.h.  Replace with #include of c-common.h
	  and c-upc.h.
	  (upc_get_unshared_type, upc_pts_cvt_op_p, upc_blocksizeof_expr,
	  upc_blocksizeof_type, upc_elemsizeof_expr, upc_elemsizeof_type,
	  upc_localsizeof_expr, upc_localsizeof_type,
	  upc_shared_type_p): Delete.
	* c-family/c-opts.c: Add #include of c-upc.h
	* c-family/c-common.c: Remove #include of c-tree.h and
	  add #include of c-upc.h.
	* c-family/c-upc.h: New. Define API for UPC-specific functions
	  (mostly implemented in upc/upc-act.c).
	* c-family/c-common.h (upc_cpp_builtins,
	  upc_write_global_declarations): Remove extern definitions.
	* c-family/c-pragma.c: Remove #include of c-tree.h.
	  Add #include of c-upc.h.
	* tree.h (UPC_TYPE_HAS_THREADS_FACTOR): New.  Move from
	  c-tree.h.
	  (upc_shared_type_p, upc_pts_cvt_op_p): New.  Move from
	  upc/upc-act.c, and define as a macro.
	  (expand_affinity_test): Remove unused external definition.
	  (build_upc_unshared_type): Add external definition.
	  (upc_shared_type_p): Remove external definition.
	* c-config-lang.in: Update gtfiles to refer to c-family/c-upc.h.
	* dojump.c: Remove #include of c-tree.h.
	* c-tree.h: Remove definition of UPC_TYPE_HAS_THREADS_FACTOR
	  and move to tree.h.
	  (count_upc_threads_refs, is_multiple_of_upc_threads,
	  set_upc_threads_refs_to_one, c_expr, upc_affinity_test,
	  upc_build_shared_var_addr, upc_build_sync_stmt,
	  upc_check_decl_init, upc_check_decl, upc_decl_init, c_expr,
	  upc_get_block_factor, upc_instrument_forall, upc_is_null_pts_p,
	  c_expr, upc_num_threads, upc_diagnose_deprecated_stmt,
	  upc_pts_cvt_op_p, upc_pts_diff, upc_pts_increment,
	  upc_pts_int_sum, upc_set_block_factor, upc_set_decl_section,
	  permit_pragma_upc, deny_pragma_upc, pragma_upc_permitted_p,
	  set_upc_consistency_mode, get_upc_consistency_mode,
	  push_upc_consistency_mode, pop_upc_consistency_mode,
	  get_upc_pupc_mode):
	  Move external definitions to c-family/c-upc.h.
	  (upc_blocksizeof_type, upc_localsizeof_type,
	  upc_elemsizeof_type): Remove external definitions;
	  these functions were moved to c-parser.c.
	* c-decl.c: Add #include of c-upc.h.
	* c-typeck.c: Add #include of c-upc.h.
	* c-convert.c: Add #include of c-upc.h.
	* ChangeLog.upc: Fix typo.
	* Makefile.in: Add references to c-family/c-upc.h, everywhere
	  there is a reference to c-family/c-objc.h.
	  Remove extraneous reference to upc-act.h.
	* c-parser.c: Add #include of c-upc.h.
	  (upc_blocksizeof_expr, upc_blocksizeof_type,
	  upc_elemsizeof_expr, upc_elemsizeof_type,
	  upc_localsizeof_expr, upc_localsizeof_type):
	  Move from upc/upc-act.c.
	* tree.c (build_upc_unshared_type): New.
	  Move upc_get_unshared_type from upc/upc-act.c and rename
	  to build_upc_unshared_type.
	  c-family/c-common.c (pointer_int_sum): refer to renamed
	  build_upc_unshared_type function.
	  c-convert.c (convert): Ditto.
	  convert.c (convert_to_pointer): Ditto.
	  c-typeck.c (build_unary_op, build_modify_expr,
	  really_start_incremental_init): Ditto.
	  gimplify.c (create_tmp_var_raw): Ditto.
	  tree.c (build1_stat): Ditto.
	  tree.h (upc_get_unshared_type): Rename to
	  build_upc_unshared_type.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 173471 into gupc branch.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Eliminate compilation warnings, by fixing
	#include's and updating function prototypes.
	* upc/upc-gimplify.c: Include bitmap.h.
	  (upc_gimplify_real_image_ref): Mark various parameters
	  as unused.  This is a stub procedure for now.
	* upc/upc-lang.c: Include c-family/c-upc.h.
	  upc-gasp.c: Ditto.
	* upc/upc-cmd.c (no_start_files): Delete unused variable.
	  The -nostartfiles switch is now handled by the linker spec.
	* ChangeLog: Spell check.

2011-05-06  Gary Funck  <gary@intrepid.com>

	Upgrade c-family source files to conform with modularity
	improvements.  Mainly, remove #include of c-tree.h in files
	under c-family, and define a new UPC-specific #include file,
	c-upc.h, and use it.
	* upc/upc-act.h (upc_write_global_declarations,
	  upc_check_decl, upc_build_sync_stmt, upc_affinity_test,
	  upc_num_threads, upc_diagnose_deprecated_stmt):
	  Move external definitions to c-family/c-upc.h
	  (upc_blocksizeof_expr, upc_blocksizeof_type,
	  upc_elemsizeof_expr, upc_elemsizeof_type,
	  upc_localsizeof_expr, upc_localsizeof_type):
	  Remove external definitions; these functions
	  were moved from upc-act.c to c-parser.c.
	* upc/upc-gimplify.c: Add #include of c-family/c-upc.h.
	  upc-pts-packed.c: Ditto.
	  upc-pts-struct.c: Ditto.
	* upc/config-lang.in: Update gtfiles to refer to c-upc.h
	  and other files.
	* upc/upc-act.c: Add #include of c-family/c-upc.h.
	  (upc_blocksize, upc_elemsizeof, upc_localsizeof):
	  Make external so that it can be called from c-parser.c.
	  (upc_blocksizeof_expr, upc_blocksizeof_type,
	  upc_elemsizeof_expr, upc_elemsizeof_type,
	  upc_localsizeof_expr, upc_localsizeof_type):
	  Move from upc/upc-act.c to c-parser.c.
	  (upc_set_block_factor): Fix typo in error message.
	  (upc_shared_type_p, upc_pts_cvt_op_p): Delete.
	  Move to tree.h and define as a macro.
	  (upc_get_unshared_type): Delete. renamed to
	  build_upc_unshared_type and moved to tree.c.
	* upc/upc-gimplify.c (upc_gimplify_lval, upc_gimplify_expr):
	  refer to renamed build_upc_unshared_type function.
	  upc-act.c (create_unshared_var): Ditto.

2011-05-05  Gary Funck  <gary@intrepid.com>

	Make changes that bring the GUPC branch more closely in sync.
	with the GCC trunk.  Revert any fixes that are not UPC-specific.
	Remove gratuitous re-formatting.
	* ../libstdc++-v3/config/os/bionic/ctype_noninline.h: Delete.
	  This file should have been removed in a previous merge
	  with the trunk.
	* ../configure.ac: Remove Cray Catamount/CNL support.
	* ../configure: Regenerate.
	* ../config.sub: Remove Cray Catamount/CNL support.
	* config.gcc: Remove Cray Catamount/CNL support.
	* ../maintainer-scripts/gcc_release: Revert to trunk.
	* c-family/c-common.h: Define parse_optimize_options.  Its definition
	  was missed in a previous merge with the trunk.
	* dwarf2out.c: Revert a fix which removed the 'type_main_variant'
	  procedure.
	* dwarf2out.c: Revert a fix that added a check for VECTOR_TYPE
	  in addition to ARRAY_TYPE.
	* c-typeck.c: Remove an extra newline character.
	* varasm.c: Revert a fix that improved an error message
	  when TLS common data is unimplemented.
	* varasm.c: Revert a gcc_assert that had been added which
	  checked for a null DECL_SIZE_UNIT field.
	* emultls.c: Revert to trunk. Remove possible fix.
	* Makefile.in: Revert extra blank line that is present
	  in the trunk version.
	* Makefile.in: Revert a fix that handled long shell
	  argument lists for plugin headers.
	* config/ia64/ia64.opt: Revert an option setting
	  that increased the default TLS address range.
	* config/ia64/crtbegin.asm: Revert to trunk.
	  Removes an extra newline character.
	* ChangeLog.upc: Spell check.

2011-05-03  Gary Funck  <gary@intrepid.com>

	* c-family/c-common.c: Remove extraneous FIXME/TODO comments.
	  (c_apply_type_quals_to_decl): Ditto.
	* c-family/c-common.h: Ditto.
	* dojump.c: Ditto.
	* c-decl.c (merge_decls): Ditto.
	* c-typeck.c (qualify_type, default_conversion,
	  build_component_ref, build_unary_op,
	  c_build_qualified_type): Ditto.
	* gimplify.c (create_tmp_var_raw): Remove UPC-specific dead code.

2011-05-03  Gary Funck  <gary@intrepid.com>

	* upc/upc-lang.c: Remove extraneous FIXME/TODO comments.
	* upc/upc-pts-packed.c (upc_pts_build_cvt): Ditto.
	* upc/upc-act.c (upc_set_block_factor): Ditto.

2011-04-29  Gary Funck  <gary@intrepid.com>

	* c-decl.c (finish_decl): Improve error diagnostics.
	  (grokdeclarator): Ditto.
	* c-typeck.c (build_c_cast): Improve error diagnostics.
	  (convert_for_assignment): Ditto.
	  (build_binary_op): Ditto.
	* c-parser.c (c_parser_upc_forall_statement):
	  Improve error diagnostics.
	* convert.c (convert_to_integer):  Improve error diagnostics.

2011-04-29  Gary Funck  <gary@intrepid.com>

	* upc/upc-gimplify.c (upc_expand_get): Improve error diagnostics.
	  (upc_expand_put): Ditto.
	  (upc_shared_addr): Ditto.
	  (upc_gimplify_sync_stmt): Ditto.
	  (upc_gimplify_field_ref): Ditto.
	* upc/upc-pts-struct.c (upc_pts_build_diff): Improve error diagnostics.
	  (upc_pts_build_cvt): Ditto.
	* upc/upc-act.c (upc_handle_option): Improve error diagnostics.
	  (upc_lang_init): Ditto.
	  (upc_sizeof_type_check): Ditto.
	  (upc_set_block_factor): Ditto.
	  (upc_decl_init): Ditto.
	  (upc_affinity_test): Ditto.
	  (upc_num_threads): Ditto.
	  (upc_diagnose_deprecated_stmt): Ditto.
	  (upc_build_shared_var_addr): Ditto.
	  (upc_pts_int_sum): Ditto.
	  (upc_pts_diff): Ditto.

2011-04-28  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (create_unshared_var): call upc_get_unshared_type()
	  instead of using TYPE_MAIN_VARIANT() to create an equivalent type
	  that is not a UPC shared type.  This is sometimes necessary
	  when the given shared type is derived from a typedef.

2011-04-24  Gary Funck  <gary@intrepid.com>

	* c-parser.c (c_parser_upc_sync_statement): Fix ICE that
	  occurred if there is an error in the barrier id
	  expression.  Map error_mark_node into NULL.

2011-04-24  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_handle_option): Fix incorrect error
	  diagnostic messages when both -fupc-debug and
	  -fupc-inline-lib are asserted.

2011-04-24  Gary Funck  <gary@intrepid.com>

	* upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "--param"
	  to the list of switches that accept arguments.
	  (main): Check for switches that have a following
	  argument inside the loop that copies arguments and
	  adds '-x upc' or '-x none' as necessary.
	  (main): Misc. clean ups and simplifications.

2011-04-22  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172873 into gupc branch.

2011-04-22  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172873 into gupc branch.
	* upc/upc-act.c (upc_build_init_func): assert DECL_PRESERVE_P()
	  on init_func() to prevent it from being removed from
	  the call graph.

2011-04-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172359 into gupc branch.

2011-04-19  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172359 into gupc branch.
	* upc/upc-lang.c (upc_init_ts): New.
	  (LANG_HOOKS_INIT_TS): use upc_init_ts.

2011-04-19  Gary Funck  <gary@intrepid.com>

	Eliminate warnings when compiling upc-cmd.c.
	* upc/upc-cmd.c (file_exists): Remove.
	  (arg_copy): Remove const qualifier.

2011-04-14  Gary Funck  <gary@intrepid.com>

	* c-family/c.opt: Add UPC as a valid language for various
	  switches where it is valid for "C", that were not updated
	  in previous merges with trunk.

2011-04-13  Gary Funck  <gary@intrepid.com>

	* c-family/c.opt (fupc-pre-include): New option definition.
	* gcc.c (upc_options): Do not add "-include gcc-upc.h" if
	  -fno-upc-pre-include is asserted.

2011-04-13  Gary Funck  <gary@intrepid.com>

	* upc/upc-cmd.c (GCC_WORD_SWITCH_TAKES_ARG): Add "dumpbase"
	  to the list, and alphabetize.

2011-04-13  Gary Funck  <gary@intrepid.com>

	* upc/upc-gimplify.c (upc_gimplify_real_image_ref): New.
	  Currently, a not-yet-implemented stub.
	  (upc_gimplify_lval): call upc_gimplify_real_image_ref to
	  rewrite UPC shared REALPART_EXPR and IMAGPART_EXPR lvalues.
	  This will avoid an ICE when compiling regular "C"
	  code that refers to those operators.

2011-04-13  Gary Funck  <gary@intrepid.com>

	* upc/upc-cmd.c: Do not add "-isystem <libupc_path>" if
	  -fno-upc-pre-include is asserted.

2011-04-07  Gary Funck  <gary@intrepid.com>

	Merge trunk version 172158 into gupc branch.
	to bring in the following fix.

2011-04-05  Bernd Schmidt  <bernds@codesourcery.com>

	PR bootstrap/48403
	* haifa-sched.c (schedule_block): Increment cycle_issued_insns only
	if old and new states differ.

2011-04-06  Gary Funck  <gary@intrepid.com>

	Merge trunk version 171966 into gupc branch.

2011-04-01  Gary Funck  <gary@intrepid.com>

	* tree.h (tree_base): Move UPC flag bits into bit fields
	  located just before spare bits.  Decrement spare bits.
	  Rename 'shared_flag' -> 'upc_shared_flag',
	  'relaxed_flag' -> 'upc_relaxed_flag',
	  'strict_flag' -> 'upc_strict_flag, and adjust macros
	  that reference them accordingly.

2011-04-01  Gary Funck  <gary@intrepid.com>

	* c-decl.c (grokdeclarator): Fix formatting of
	  code that sets UPC block size on scalars.

2011-04-01  Gary Funck  <gary@intrepid.com>

	* c-decl.c (grokdeclarator): Revert use of white space
	  to match the trunk (to rationalize diffs).
	* c-typeck.c (convert_for_assignment): Ditto.
	* tree-ssa.c (useless_type_conversion_p): Ditto.

2011-03-23  Gary Funck  <gary@intrepid.com>

	* DEV-PHASE: bump to 4.7.0-1 to reflect recent creation of
	  the GCC 4.6 release branch.

2011-03-22  Gary Funck  <gary@intrepid.com>

	* upc/upc-cmd.c: Move linker switches into libupc/libupc.spec.
	  (UPC_LINKER_SCRIPT, LIBNUMA, LIBUPC, LIBUPC_PT) Remove.
	  (find_ld_script) Remove.

2011-03-21  Gary Funck  <gary@intrepid.com>

	Merge trunk version 171202 into gupc branch.

2011-03-20  Gary Funck  <gary@intrepid.com>

	* varasm.c: Call error() directly with a format specifier,
	  rather than using sprintf() to format the message.
	  This should make it easier to internationalize UPC's error messages.

2011-03-20  Gary Funck  <gary@intrepid.com>

	* configure.ac: Fix the check for gnu ld when enabling
	  UPC link script support.
	  configure: Regenerate (also picks up changes from previous
	  merge with trunk).

2011-03-20  Gary Funck  <gary@intrepid.com>

	Move UPC start files, end files, and linker specs.
	into libupc.  This reduces the impact on common GCC
	configuration files, and ensures that these UPC-specific
	components are only built when the UPC language dialect is selected.
	* c-family/c.opt: Add -fupc-link switch, used to select UPC-specific
	  linker specs. Fix typo in -fupc-debug message.
	* config/upc-conf.h, config/darwin.h: Move defines for
	  UPC-related section begins/ends into libupc/config/default/
	  upc-crt-config.h.
	* config/darwin.h(LINK_COMMAND_SPEC_A): Add call outs to
	  UPC-related linker compiler specifications,
	  accessed via %:include().
	* configure.ac, configure: Remove logic related to building
	  upc-crtbegin/end. Remove config. tests for numa and cpu
	  affinity (previously used by the 'upc' driver); these
	  settings are now propagated by target-specific compiler
	  specs. built by libupc.  Regenerate autoconf.
	* gcc.c (LINK_COMMAND_SPEC): Add call outs to UPC-related
	  linker compiler specifications, accessed via %:include().
	  Define 'upc_crtbegin_spec', 'upc_crtend_spec', and
	  'link_upc_spec'.
	* Makefile.in: Remove definition of UPC_CRTSTUFF_CFLAGS.
	* config/linux.h, config/i386/darwin.h, config/i386/linux64.h,
	  config/i386/linux.h, config/i386/t-darwin, config/i386/t-darwin64,
	  config/ia64/linux.h, config/mips/t-iris,
	  config/mips/iris6.h: Revert to trunk version 167307.
	libgcc/
	* configure, configure.ac, config.host, Makefile.in:
	  Revert to trunk version 167307.

2011-03-20  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Call error() directly with a format specifier,
	  rather than using sprintf() to format the message.
	  This should make it easier to internationalize UPC's error messages.

2011-03-20  Gary Funck  <gary@intrepid.com>

	Move UPC start files, end files, and linker specs.
	into libupc.  This reduces the impact on common GCC
	configuration files, and ensures that these UPC-specific
	components are only built when the UPC language dialect is selected.
	* upc/config-lang.in: Remove setting of 'upc_extra_parts', which
	  was used to specify which upc-crtbegin and upc-crtend files
	  need to built.  Remove extraneous (commented out)
	  settings of 'cfiles'.  The listed configuration files
	  have been reverted to trunk, and weren't referenced
	  via cfiles in any event.
	* upc/upc-cmd.c: Remove test for HAVE_UPC_LINK_SCRIPT.
	  Simply test for the presence of the UPC link script
	  in the current directory or the libupc directory.
	  Add -B<path-to-libupc> to the switches passed to 'gcc';
	  this is needed in order to find the upc-crtbegin
	  and upc-crtend object files now built in libupc.
	  Remove test for and inclusion of UPC_LINKER_SWITCHES.
	  if extra switches are needed for a particular target
	  (like SGI/Irix), they will be defined by the custom
	  linker spec. built in libupc.  Remove test for
	  HAVE_UPC_NUMA_SUPPORT; if '-lnuma' is needed, it
	  will be added to the custom linker specs. built
	  in libupc.
	* upc/upc-crtstuff.c: Move to libupc.

2011-02-23  Gary Funck  <gary@intrepid.com>

	* c-decl.c (undeclared_variable): fix typo. Inadvertently
	removed negation on following 'if'.

2011-02-22  Gary Funck  <gary@intrepid.com>

	* c-decl.c (undeclared_variable): call upc_diagnose_deprecated_stmt
	to check for the usage of certain deprecated UPC keywords.
	* c-family/stub-upc.c (upc_diagnose_deprecated_stmt): New.
	* c-tree.h (undeclared_variable): Define prototype.

2011-02-22  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c (upc_diagnose_deprecated_stmt): New.
	  upc-act.h (upc_diagnose_deprecated_stmt): Define.
	  Check usage of deprecated keywords and issue
	  error message.

2011-02-12  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: (build_c_cast, convert_for_assignment)
	  Diagnose an attempt to convert from an integer to
	  a pointer-to-shared as an error.  Also, fix various
	  error messages so that they use the preferred term
	  pointer-to-shared instead of "shared pointer".

2011-02-08  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts-struct.c: Fix bug: (pts + int) fails when int is negative
	  for struct-pts representation
	  Analysis indicated that for something like (+ ptr -80) this was
	  being represented as (+ ptr (- 80)) and further, when the
	  calculations were propagated into the individual operations on the
	  components of the 'struct' pointer, it would end up with something
	  like (+ ptr.vaddr (- 80)), and the type of (- 80) would end up as
	  "long unsigned int" because of the addition to the pointer.  This
	  caused the calculations involving the signed 'int' operand to be
	  performed incorrectly.  This fix insures that the 'int' operand is
	  signed.

2011-02-08  Gary Funck  <gary@intrepid.com>

	* upc/config-lang.in, upc/lang-specs.h, upc/Makefile.in,
	  upc/Make-lang.in, upc/upc.1, upc/upc-act.c, upc/upc-act.h,
	  upc/upc-cmd.c, upc/upc-crtstuff.c, upc/upc-gasp.c,
	  upc/upc-gasp.h, upc/upc-gimplify.c, upc/upc-gimplify.h,
	  upc/upc-lang.c, upc/upc-pts.h, upc/upc-pts-packed.c,
	  upc/upc-pts-struct.c, upc/upc-tree.def, upc/upc-tree.h:
	Update copyright notices.

2011-02-07  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: (convert_for_assignment)
	  Fix typo. in error message.

2011-01-23  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: (c_build_qualified_type)
	  derive UPC block size by calling upc_get_block_size(),
	  to ensure that the element type of an array of an array
	  is derived correctly.

2011-01-09  Gary Funck  <gary@intrepid.com>

	Fix behavior of upc_localsizeof() when called in a dynamic
	threads compilation environment.  This bug, and the expected
	behavior is documented in this bug report:
	https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2960.
	* upc/_act.c (upc_localsizeof): Re-implement.

2010-12-29  Gary Funck  <gary@intrepid.com>

	Merge trunk version 168314 into gupc branch.

2010-12-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 167307 into gupc branch.

2010-12-15  Gary Funck  <gary@intrepid.com>

	Merge trunk version 167307 into gupc branch.
	* upc/_act.h: (upc_handle_option) add location and struct
	cl_option_handlers * parameters.
	(upc_finish_file) Remove.
	(upc_write_global_declarations) New, replaces upc_finish_file.
	* lang-spec.h: Disable multi-file compilation for .upc files.
	This fixes an issue where file-scoped static variables were
	diagnosed as multiply-defined.  Both "C" and "ObjC" also disable
	multi-file compilation.
	* upc/upc-gimplify.c: (upc_expand_put) Check for INDIRECT_REF_P()
	explicitly when deciding whether a UPC shared object is addressable.
	is_gimple_addressable() used to do this, but now checks for MEM_REF
	which does not apply to UPC shared objects.
	(upc_gimplify_lval, upc_gimplify_expr) Delete references to
	ALIGN_INDIRECT_REF and MISALIGNED_INDIRECT_REF.
	These are no longer defined.
	(upc_genericize) Add call to bitmap_obstack_initialize()
	and bitmap_obstack_release() around call to gimplify_function_tree().
	* upc/upc-lang.c: Add #include of "opts.h" and "options.h".
	(flag_upc_debug, flag_upc_inline_lib, flag_upc_instrument,
	flag_upc_instrument_functions) Remove.  Use definitions
	generated by the options file.
	(upc_init_options) Use cl_decoded_option struct.
	(LANG_HOOKS_WRITE_GLOBALS) Define as upc_write_global_declarations.
	(finish_file) Delete.
	(upc_init_options) Call control_warning_option() to specify
	-Werror=pointer-arith as the default.  Remove call to
	enable_warning_as_error().
	* upc/upc-pts-struct.c: (upc_pts_init_type) Move test that
	UPC_PTS_THREAD_SIZE is a multiple of a byte into an "if" statement
	rather than an #ifdef; this macro now depends upon a
	target size macro which must be evaluated at runtime.
	* upc/Make-lang.in: (cc1-dummy) Remove make target.
	(cc1upc-checksum.c) Generate directly from object files.
	* upc/upc-cmd.c: (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG) Delete
	references to these deprecated macro definitions.
	(GCC_WORD_SWITCH_TAKES_ARG, GCC_WORD_SWITCH_TAKES_ARG) New.
	(all_exec_args) Delete variable.
	(exec_args) Re-define as (const char *).
	(exec_arg_list) New.  Make copy of exec_args to pass to 'exec'.
	* upc/upc-act.c: (upc_handle_option) Update argument list to accept
	(cl_option_handlers *) argument.
	(upc_finish_file) Rename to upc_write_global_declarations.
	(upc_write_global_declarations) New.

2010-10-19  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix typo in previous fix
	  which led to a mis-compare for equal block sizes.

2010-10-18  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix bug: Cast of (shared <type> * shared) not
	  diagnosed as an error
	  The conversion from any type (shared or not) to
	  a shared type is likely either meaningless or an error.  This update
	  makes any conversion to a shared type, an error.

2010-10-18  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix bug: passing int to shared pointer arg.
	  generates spurious warning
	  Add a #define procedure that does the same thing as
	  WARN_FOR_ASSIGNMENT but issues an error diagnostic instead.  Use
	  this procedure to diagnose passing an integer value to a
	  pointer-to-shared as an error.

2010-10-18  Gary Funck  <gary@intrepid.com>

	* c-typeck.c: Fix bug: shared [] in prototype silently ignored when
	  matching routine declaration.
	  When checking for type compatibility, shared qualified types must
	  have the same block factor.  This check was missing from
	  comptypes_internal().  This update adds the check for blocking
	  factor equality.

2010-10-17  Gary Funck  <gary@intrepid.com>

	* dwarf2out.c: Fix GCC Bug 45870 - note: non-delegitimized UNSPEC 5
	  found (-O1 -g)
	  See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45870#c6

2010-10-17  Gary Funck  <gary@intrepid.com>

	* tree-cfg.c: Implement the fix for GCC Bugzilla Bug
	  45869 - [4.5/4.6 Regression] type mismatch in shift expression
	  produces ice with -O3 and -m32.
	  See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45869

2010-10-17  Gary Funck  <gary@intrepid.com>

	* c-common.c: Diagnose the application of the various "*sizeof"
	  operations on generic pointer-to-shared as a compilation error.

2010-10-17  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix a segfault/ICE that occurred when printing an error
	  message regarding a function parameter being declared with a shared
	  qualifier.
	  The parameter's 'name' value is not defined at this point, and
	  cannot be used in the error message.  This update removes the
	  reference to 'name', and eliminates the segfault.

2010-10-17  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Issue a compilation error on attempts to perform
	  arithmetic on generic pointer-to-shared values.
	  (The rest of this update is a small code clean up.)

2010-10-17  Gary Funck  <gary@intrepid.com>

	* upc/upc-lang.c: For UPC only, issue errors for arithmetic and related
	  operations on void types.
	  This update simulates the effect of -Werror=pointer-arith, thus
	  causing arithmetic on void types, sizeof(void) and so on to be
	  considered compilation errors.  This meets the expectations of some
	  harness tests and the RTED/CTED test suites.  GCC is more
	  permissive, but since this is for UPC only, we can fairly safely
	  define this new policy.

2010-10-16  Gary Funck  <gary@intrepid.com>

	* Makefile.in: Implement fixes for SGI/IRIX/MIPS port.
	  The gcc/Makefile.in rules for install-plugin had to be re-written to
	  break up a long list of header files that exceeded the command line
	  limitation imposed by Irix.
	  Access functions for TFmode types had to be implemented.
	  Apparently, this is the mode used for the SGI/MIPS port to represent
	  "long float".

2010-10-16  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Fix bug: Static initialization of shared
	  arrays is unsupported -- issue an error message.
	  Currently, static initialization of a shared array is not
	  implemented correctly.
	  We do not plan to fix this for a while, therefore the compiler will
	  issue an error message indicating that this is an unsupported
	  operation.

2010-10-14  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix bug: Multiple equal blocking factors specified
	  via typedef chain should not be diagnosed as an error.
	  If the block size that is given by the typedef is equal to the block
	  size given explicitly in the variable declaration, then do not
	  complain.  The easiest way to make this check was to create a
	  temporary type that is a clone of the element type and then set its
	  block size using the given layout qualifier.  Then compare the block
	  size of the temporary (the declaration) to the block size specified
	  in the typedef.  This complexity is needed, because the '[*]' block
	  size needs to be calculated, and the '[]' needs to be mapped into a
	  zero block size.

2010-10-13  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Fix bug: negative layout qualifiers not diagnosed
	  as an error.
	  The CTED_UPC test c_A_1_3_b.upc, specified a negative blocksize, but
	  it was not diagnosed as an error.  With this fix, negative block
	  sizes will generate a translation error.

2010-10-10  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix bug: ICE: two or more layout qualifiers
	  specified
	  The compiler properly detected the presence of two or more layout
	  qualifiers as an error, but then hit an assertion check, because the
	  code that followed the error expected to see a qualifier and not a
	  layout specifier.  The fix is simple: just return immediately after
	  detecting the error.

2010-10-10  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Improve error diagnostics for various cases of UPC
	  shared array type declarations.
	  Add the check for this error: "In the dynamic translation
	  environment, THREADS may not appear in declarations of shared arrays
	  with indefinite block size".  Also, fix up a few of the other
	  related error diagnostics.

2010-10-10  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Fix bug: ICE: Attempt to take the difference of
	  shared and non-shared pointers
	  The compiler detected the error, and then tried to return
	  error_mark_node.  This apparently is not acceptable, as there is an
	  explicit assertion check to prevent this from happening in
	  build_binary_op.  Return the more user-friendly size_one_node
	  instead.

2010-10-09  Gary Funck  <gary@intrepid.com>

	* c-common.c: Fix bug: segfault on incomplete array definition.
	  This turned out to be a bit complicated.   The logic in
	  upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
	  the THREADS identifier in the case where the blocking factor has
	  been set to indefinite ([]).  This can happen when indefinite array
	  declarations are processed for shared arrays.  At that time, the
	  file scope has been closed and THREADS is no longer in scope.  Some
	  more work is needed on upc_lang_layout_decl().  It has some
	  duplication, and notably duplicates the two branches of the if
	  having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
	  caller of this routine (layout_decl()).
	  The method of forcing a layout qualifier of [] in the indefinite
	  declaration handler is odd a well.  The code that just does the
	  setting of the block factor, needs to moved into its own routine
	  that doesn't depend upon a declspec for '[]' to be passed in, just
	  in order to set the blocking factor to some value (in this case, 0).
	  Also, the logic for how that shared type is constructed is strange.
	  First the type with 0 blocking factor is set.  Then the shared
	  qualifier is removed from the type, and then added back later.  The
	  intermediate type has a blocking factor set, but it has no shared
	  qualifier.  Fixing this will require some thought.  It is tempting
	  just to make indefinite shared arrays an error, rather than forcing
	  the dimension to be '1'.
	  This likely fixes a serious error in the previous update to
	  upc_lang_layout_decl(), where it didn't have the logic to set
	  TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
	  the previous update would fail on many tests.

2010-10-09  Gary Funck  <gary@intrepid.com>

	* varasm.c: Add an assertion check for the case that DECL_SIZE_UNIT
	  (decl) is null, which can happen if some layout error occurred
	  upstream.

2010-10-09  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix bug: file scope shared arrays mis-diagnosed as
	  "variable-sized" when compiled in dynamic threads.
	  This long-standing bug is easily fixed.  Just check
	  for the situation that the non-constant sized type is shared and
	  that it does not have a dimension that references a multiple of
	  threads.  If this criteria is met, then issue a meaningful
	  diagnostic.

2010-10-09  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Fix bug: segfault on incomplete array definition.
	  This turned out to be a bit complicated.   The logic in
	  upc_lang_layout_decl had to be re-arranged to avoid trying to lookup
	  the THREADS identifier in the case where the blocking factor has
	  been set to indefinite ([]).  This can happen when indefinite array
	  declarations are processed for shared arrays.  At that time, the
	  file scope has been closed and THREADS is no longer in scope.  Some
	  more work is needed on upc_lang_layout_decl().  It has some
	  duplication, and notably duplicates the two branches of the if
	  having to do with TYPE_SIZE and TYPE_SIZE_UNIT, that appear in the
	  caller of this routine (layout_decl()).
	  The method of forcing a layout qualifier of [] in the indefinite
	  declaration handler is odd a well.  The code that just does the
	  setting of the block factor, needs to moved into its own routine
	  that doesn't depend upon a declspec for '[]' to be passed in, just
	  in order to set the blocking factor to some value (in this case, 0).
	  Also, the logic for how that shared type is constructed is strange.
	  First the type with 0 blocking factor is set.  Then the shared
	  qualifier is removed from the type, and then added back later.  The
	  intermediate type has a blocking factor set, but it has no shared
	  qualifier.  Fixing this will require some thought.  It is tempting
	  just to make indefinite shared arrays an error, rather than forcing
	  the dimension to be '1'.
	  This likely fixes a serious error in the previous update to
	  upc_lang_layout_decl(), where it didn't have the logic to set
	  TYPE_SIZE_UNIT() in the main part of the 'if' statement.  This means
	  the previous update would fail on many tests.
	  See also: gcc/c-common.c gcc/upc/upc-act.c

2010-10-01  Gary Funck  <gary@intrepid.com>

	* configure, configure.ac: Update manual page, and bug reporting
	  URL.
	  Update "man" page to reflect debugging switches.  Also, some general
	  clean up.  Change the bug reporting URL to point to gccupc.org.

2010-10-01  Gary Funck  <gary@intrepid.com>

	* upc/upc-manpage.html, upc.1: Update manual page, and bug reporting
	  URL.
	  Update "man" page to reflect debugging switches.  Also, some general
	  clean up.  Change the bug reporting URL to point to gccupc.org.
	  See also: gcc/configure gcc/configure.ac gcc/upc/upc-manpage.html
	  gcc/upc/upc.1

2010-10-01  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Do not zap all qualifier bits when constructing a
	  non-shared result node.
	  This fix was suggested by Paul H. in the following Berkeley Bugzilla
	  report: https://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2061 The
	  use of "!" rather than "~" zapped all the type qualifier bits rather
	  than just those that are related to the "shared" qualifier.  This
	  fix clears only the relevant bits.

2010-09-27  Gary Funck  <gary@intrepid.com>

	* c-parser.c, config/upc-conf.h: Issue a descriptive message when
	  the UPC forall depth count variable is not found.
	  The __upc_forall_depth variable should be defined in gcc-upc-lib.h.
	  The compiler will generate code that references this variable in
	  order to implement nested upc_forall semantics.  If there is a
	  compiler build or install problem, this variable may not be found.
	  In this case, terminate with an internal_error().

2010-09-26  Gary Funck  <gary@intrepid.com>

	* c-parser.c: Fix Bug 240: upc_forall with empty clauses
	  mis-diagnosed as syntax error.
	  Fix a failure exhibited by the Berkeley test case,
	  bug873a.upc, which has the code:
	       double d;
	       upc_forall (;;;d) {...} The compiler did not properly handle
	  the empty "condition" clause, and did not recover well when it was
	  determined that the use of a double value, "d" above, was neither a
	  pointer-to-shared nor an integer expression.  The update implements a
	  fix for both issues.
	  See also: gcc/c-parser.c gcc/upc/upc-act.c

2010-09-26  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Fix bug: upc_forall with empty clauses
	  mis-diagnosed as syntax error.
	  A failure was exhibited by the Berkeley test case,
	  bug873a.upc, which has the code:
	       double d;
	       upc_forall (;;;d) {...} The compiler did not properly handle
	  the empty "condition" clause, and did not recover well when it was
	  determined that the use of a double value, "d" above, was neither a
	  pointer-to-shared nor an integer expression.  The update implements a
	  fix for both issues.
	  See also: gcc/c-parser.c gcc/upc/upc-act.c

2010-09-25  Gary Funck  <gary@intrepid.com>

	* upc/upc-pts-struct.c: Fix an ICE on 32-bit/struct target: failed
	  gimple check when calculating affinity for upc_forall.
	  Intrepid test, test10.upc, failed to compile due a mis-match between
	  the COMPONENT_REF node and the internal 'thread' field.  Changed the
	  code to make the types agree, and added a conversion to sizetype if
	  necessary.

2010-09-23  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix Bug 29: Layout qualifier within a typedef is not
	  incorporated into the referencing type.
	  This was semi-fixed a few times before.  This update fixes a few
	  more places where the layout qualifier wasn't being propagated
	  through typedef's properly.  What made this a bit tricky is shown in
	  the example cited in the bug report:
	  typedef shared [5] int A_t; A_t A[5*THREADS];
	  In the typedef, the blocksize is being applied to a shared *scalar*,
	  and the code was applying the blocksize only to arrays.  This update
	  handles shared scalars correctly.

2010-09-23  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c: Fix bug: ICE: '[*]' layout factor applied to array
	  with static threads and size not a multiple of threads.
	  Add an extra check for an attempt to apply a '[*]' layout qualifier
	  to a shared array that does not specify a size that is a multiple of
	  THREADS, when compiled in a static THREADS compilation environment.

2010-09-22  Gary Funck  <gary@intrepid.com>

	* c-parser.c, c-tree.h, stub-upc.c: Fix Bug 403: Nested
	  upc_forall() semantics are not implemented
	  The checkforall test in the Berkeley harness test suite indicated
	  that GCC/UPC was not properly implementing nested upc_forall
	  semantics.  Nested upc_forall statements (both statically or
	  dynamically nested) must implement their affinity clause as if it
	  were "continue"; thus all steps in the loop must execute without
	  regard for affinity.  To implement these semantics a global depth
	  counter, __upc_forall_depth, is maintained by the generated code
	  that implements upc_forall.
	  See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
	  gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
	  libupc/include/upc.h libupc/smp/upc_main.c

2010-09-22  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c, upc/upc-act.h: Fix bug: Nested upc_forall() semantics
	  are not implemented
	  The checkforall test in the Berkeley harness test suite indicated
	  that GCC/UPC was not properly implementing nested upc_forall
	  semantics.  Nested upc_forall statements (both statically or
	  dynamically nested) must implement their affinity clause as if it
	  were "continue"; thus all steps in the loop must execute without
	  regard for affinity.  To implement these semantics a global depth
	  counter, __upc_forall_depth, is maintained by the generated code
	  that implements upc_forall.
	  See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
	  gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
	  libupc/include/upc.h libupc/smp/upc_main.c

2010-09-19  Gary Funck  <gary@intrepid.com>

	* c-decl.c: c-decl.c: zero out the layout specifier, after
	  processing an array type.
	  Fix the previous fix, that moved the setting of the type's layout
	  qualifier to the outside of the array type processing loop.  What is
	  missing from the fix is that the layout_qualifier variable needs to
	  be cleared after setting the type's blocksize.

2010-09-19  Gary Funck  <gary@intrepid.com>

	* config/upc-conf.h: Fix Bug 375: error message is off-by-one when
	  given blocksize is greater than UPC_MAX_BLOCKSIZE.
	  The value we were using for UPC_MAX_BLOCK_SIZE was one bigger than
	  the actual maximum block size.  Therefore, the message was correct,
	  but the underlying value that was being checked was wrong.  Change
	  the values so that they agree with the actual implementation-defined
	  limit.

2010-09-18  Gary Funck  <gary@intrepid.com>

	* upc/upc-act.c, upc/upc-pts-packed.c, upc/upc-pts-struct.c:
	  Implement -fupc-debug switch.

2010-09-11  Gary Funck  <gary@intrepid.com>

	* c-decl.c: Fix Bug 402: ICE: '[*]' layout factor on
	  multi-dimensional shared array with dynamic threads.
	  This declaration caused an internal compiler error when compiled
	  with dynamic threads:
	      shared [*] int A[THREADS][16]; The bug was discovered when
	  compiling the RTED_UPC test suite.
	  The fix is to process layout qualifiers after the entire array type
	  has been built.  Otherwise, we try to calculate the blocksize on a
	  shared array type that has not had its "size depends upon the value
	  of THREADS" flag set.
	  Also, added a test case.
	  See also: libupc/testsuite/libupc.upc/intrepid/test18.upc

2010-07-11  Gary Funck  <gary@intrepid.com>

	Fix a bug where a statement in c_build_qualified_type()
	in the trunk had been inadvertently deleted.
	This bug showed up in the IA64 port, because jmpbuf's
	on that architecture must be 16 byte aligned, and they were not.
	c-typeck.c (c_build_qualified_type): Revive the deleted line.

2010-07-08  Gary Funck  <gary@intrepid.com>

	Make changes so that other language compilers
	will build and bootstrap.
	* c-family/c-common.c (compiling_upc, flag_upc,
	flag_upc_instrument, flag_upc_instrument_functions,
	use_upc_dwarf2_extensions): Move to stub-upc.c and
	upc-lang.c.
	* c-family/c-common.h (use_upc_dwarf2_extensions,
	compiling_upc): Add extern definitions - needed
	to compile/build other language front ends.
	* c-family/c.opt: Fix the spelling of ObjC.
	It had been incorrectly spelled as Objc.
	* c-family/c.opt: Add UPC for the various switches
	that are valid for both C and ObjC.
	* c-family/c-opts.c: Add CL_UPC to the list of
	supported options switches when compiling assembly
	language.
	* lto/lto-lang.c (use_upc_dwarf2_extensions,
	flag_upc_instrument, flag_upc_instrument_functions):
	Remove these definitions.  They have been moved
	to c-family/stub-upc.c.
	* upc/ChangeLog: Move relevant entries
	to ChangeLog.upc.
	* c-family/stub-upc.c (compiling_upc, flag_upc,
	flag_upc_instrument, flag_upc_instrument_functions,
	use_upc_dwarf2_extensions): Moved from c-common.c
	* upc/upc-lang.c (compiling_upc, flag_upc,
	flag_upc_instrument, flag_upc_instrument_functions,
	use_upc_dwarf2_extensions): Moved from c-common.c
	* objc/objc-act.c (objc_gimplify_expr): Add additional
	parameters to c_gimplify_expr() call, that are used
	by upc's tree rewrites.
	* cp/cp-gimplify.c (cp_gimplify_expr): Likewise.
	* gcc/cp/lex.c (init_reswords): If not compiling
	UPC, then mask off the UPC keywords.
	* cp/Make-lang.in (C_STUB_OBJS): Use this
	make macro to link with c-family/stub-objc.o
	and c-family/stub-upc.o.
	* fortran/Make-lang.in (C_STUB_OBJS): Likewise.
	* java/Make-lang.in (C_STUB_OBJS): Likewise.
	* objc/Make-lang.in: Link with c-family/stub-upc.o
	to avoid undefined references.
	c-parser.c: Fix line indentation.
	* libcpp/include/cpplib.h: Remove CL_UPC from
	the list of language kinds accepted by the
	C preprocessor.  This is not necessary because
	UPC is a derivative of C99, and does not need
	a different language kind.
	* c-family/c-opts.c (c_common_handle_option):
	Call set_std_c99() when processing the
	"--lang upc" switch, instead of setting the
	language kind to CL_UPC.
	* libupc/testsuite/libupc.upc/intrepid/ChangeLog: New.

2010-07-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 161517 into gupc branch.
	* gcc/stub-upc.c: Move to gcc/c-family/.
	* libupc/testsuite/libupc.upc/intrepid/test19.upc:
	Add 'unused' attributes to avoid "set, but
	not referenced" warnings.
	* libupc/testsuite/libupc.upc/intrepid/test18.upc:
	Likewise.

2010-07-03  Gary Funck  <gary@intrepid.com>

	Merge trunk version 161517 into gupc branch.
	* upc/config-lang.in: Update references to files
	  moved into c-family/.
	* upc/Make-lang.in: Likewise.
	* upc/upc-act.c: Likewise.
	* upc/upc-gasp.c: Likewise.
	* upc/upc-gimplify.c: Likewise.
	* upc/upc-lang.c: Likewise.
	* upc/upc-pts-packed.c: Likewise.
	* upc/upc-pts-struct.c: Likewise.
	* upc/upc-act.c: (upc_handle_option) add parameters to
	  effect pass through call to c_common_handle_option.
	* upc/upc-act.h: (upc_handle_option) Likewise.
	* upc/upc-act.c: (map_unshared_var) used typed ggc allocation.
	* upc/upc-act.c: (upc_build_init_func) add call to
	  to mark_decl_referenced(), to ensure that UPC shared
	  variable initializer function is not removed from
	  the call tree graph.

2010-03-01  Gary Funck  <gary@intrepid.com>

	Create gupc branch from trunk version 157149.
