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;