On Tue, Dec 1, 2015 at 7:02 AM, Gary Funck <g...@intrepid.com> wrote:
>
> Background
> ----------
>
> An overview email, describing the UPC-related changes is here:
>   https://gcc.gnu.org/ml/gcc-patches/2015-12/msg00005.html
>
> The GUPC branch is described here:
>   http://gcc.gnu.org/projects/gupc.html
>
> The UPC-related source code differences are summarized here:
>   http://gccupc.org/gupc-changes
>
> All languages (c, c++, fortran, go, lto, objc, obj-c++) have been
> bootstrapped; no test suite regressions were introduced,
> relative to the GCC trunk.
>
> If you are on the cc-list, your name was chosen either
> because you are listed as a maintainer for the area that
> applies to the patches described in this email, or you
> were a frequent contributor of patches made to files listed
> in this email.
>
> In the change log entries included in each patch, the directory
> containing the affected files is listed, followed by the files.
> When the patches are applied, the change log entries will be
> distributed to the appropriate ChangeLog file.
>
> Overview
> --------
>
> UPC pointers-to-shared have an internal representation which is
> defined as a 'struct' with three fields.  Special logic is
> needed in promote_mode() to handle this case.

Errr - but how are 'struct's ever REFERENCE_TYPE or POINTER_TYPE?

Richard.

> 2015-11-30  Gary Funck  <g...@intrepid.com>
>
>         gcc/
>         * explow.c (promote_mode): For UPC pointer-to-shared values,
>         return the mode of the UPC PTS representation type.
>
> Index: gcc/explow.c
> ===================================================================
> --- gcc/explow.c        (.../trunk)     (revision 231059)
> +++ gcc/explow.c        (.../branches/gupc)     (revision 231080)
> @@ -794,6 +794,8 @@ promote_mode (const_tree type ATTRIBUTE_
>      case REFERENCE_TYPE:
>      case POINTER_TYPE:
>        *punsignedp = POINTERS_EXTEND_UNSIGNED;
> +      if (SHARED_TYPE_P (TREE_TYPE (type)))
> +        return TYPE_MODE (upc_pts_type_node);
>        return targetm.addr_space.address_mode
>                (TYPE_ADDR_SPACE (TREE_TYPE (type)));
>        break;

Reply via email to