From: ÌÆÉúÁÖ (tangshenglin_at_ict.ac.cn)
Date: Mon Dec 01 2008 - 19:27:54 PST
I don't know how to write codes which can be translated into UPCR_GET_SHARED_VAL, who knows?
Online translation was made bellow:
----------------source program----------------------
#include <upc.h>
#include <stdio.h>
#include <stdlib.h>
shared [2 ]int8_t a[100];
int main(int argc, char **argv) {
  
  int8_t x = 100;
  a[9] = x;
  printf("%d\n", x);  
  return a[9];
}
--------------translated result----------------------
extern int user_main(
  int argc,
  char ** argv)
{
  UPCR_BEGIN_FUNCTION();
  signed char x;
  int _bupc_retspill0;
  upcr_shared_ptr_t _bupc_Mptra0;
  upcr_shared_ptr_t _bupc_Mptra1;
  signed char _bupc_spillld2;
  
  x = 100;
  _bupc_Mptra0 = UPCR_ADD_SHARED(a, 1, 9, 2);
  UPCR_PUT_SHARED_VAL(_bupc_Mptra0, 0, x, 1);    //UPCR_PUT_SHARED_VAL
  printf("%d\n", (int) x);
  _bupc_Mptra1 = UPCR_ADD_SHARED(a, 1, 9, 2);
  UPCR_GET_SHARED(&_bupc_spillld2, _bupc_Mptra1, 0, 1); //not UPCR_GET_SHARED_VAL, why?
  _bupc_retspill0 = _bupc_spillld2;
  UPCR_EXIT_FUNCTION();
  return _bupc_retspill0;
} /* user_main */