/* * The GWU Unified Testing Suite (GUTS) * Latest modifications and integration to GUTS framework * * Copyright (C) 2007 ... Abdullah Kayi * Copyright (C) 2007 ... Tarek El-Ghazawi * Copyright (C) 2007 ... The George Washington University * * --------------------------------------------------------------------------- * * UPC Testing Suite Original Development * * Copyright (C) 2003 ... Veysel Baydogan, Proshanta Saha, Tarek El-Ghazawi * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include #include #include #define N 20 #define B 2 shared[N] int A[N*THREADS]; shared[N] int *shr_ptr; shared[B] int *p, *p1; shared[B] int C[B*THREADS]; int *pp1, *pp2; shared[B] int *s1, *s2; shared[B] int D[B*THREADS]; int main() { /* * To check that when an expression that has integer type is * added to or subtracted from a shared pointer, the result has * the type of the shared pointer operand */ int i, k, add_variable, subs_variable; shr_ptr = A; /* shr_ptr is pointing &A[0] */ add_variable = 15; subs_variable = 10; upc_forall(i=0; i0 (thus these *must* be assigned values in the for loop). * -PHH 2013.01.11 */ phase1 = phase2 = 0; #endif p = (shared[B] int*) &A[0]; p1 = p + i; upc_barrier; for(k=0; k