Index: osprey/crayf90/fe90/s_driver.c
===================================================================
--- osprey/crayf90/fe90/s_driver.c	(revision 3404)
+++ osprey/crayf90/fe90/s_driver.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  * Copyright (C) 2007, 2008. PathScale, LLC. All Rights Reserved.
  */
 /*
@@ -746,7 +750,7 @@
          continue;
       }
 
-      host_idx = srch_host_sym_tbl(&name_pool[LN_NAME_IDX(name_idx)].name_char,
+      host_idx = srch_host_sym_tbl(LN_NAME_PTR(name_idx),
                                    LN_NAME_LEN(name_idx),
                                    &host_name_idx,
                                    FALSE);
Index: osprey/crayf90/fe90/i_cvrt.c
===================================================================
--- osprey/crayf90/fe90/i_cvrt.c	(revision 3404)
+++ osprey/crayf90/fe90/i_cvrt.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -809,7 +813,7 @@
 
    cvrt_sytb_to_pdg();
 
-   name_ptr = &name_pool[ATP_EXT_NAME_IDX(pgm_attr_idx)].name_char;
+   name_ptr = ATP_EXT_NAME_PTR(pgm_attr_idx);
 #ifdef KEY /* Bug 14150 */
    /* Imitate kludgy transformation performed by sgi/cwh_stab.cxx */
    const char *ext_name = ATP_EXT_NAME_PTR(pgm_attr_idx);
@@ -9223,8 +9227,8 @@
 
            PDG_DBG_PRINT_START    
            PDG_DBG_PRINT_C("fei_name");
-           PDG_DBG_PRINT_S("(1) name_ptr", 
-                    &name_pool[ATP_MOD_PATH_IDX(IR_IDX_L(ir_idx))].name_char);
+           PDG_DBG_PRINT_S("(1) name_ptr",
+                    ATP_MOD_PATH_NAME_PTR(IR_IDX_L(ir_idx)));
            PDG_DBG_PRINT_D("(2) unused", 0);
            PDG_DBG_PRINT_D("(3) unused", 0);
            PDG_DBG_PRINT_D("(4) unused", 0);
@@ -9232,7 +9236,7 @@
            PDG_DBG_PRINT_END
 
 # ifdef _ENABLE_FEI
-           fei_name(&name_pool[ATP_MOD_PATH_IDX(IR_IDX_L(ir_idx))].name_char,
+           fei_name(ATP_MOD_PATH_NAME_PTR(IR_IDX_L(ir_idx)),
                     0,
                     0,
                     0,
@@ -11898,7 +11902,7 @@
           ATP_IN_INTERFACE_BLK(attr_idx) &&
           ATP_EXPL_ITRFC(attr_idx) &&
           ATP_PROC(attr_idx) == Extern_Proc) {
-         name_ptr = &name_pool[ATP_EXT_NAME_IDX(attr_idx)].name_char;
+         name_ptr = ATP_EXT_NAME_PTR(attr_idx);
          if (strcmp(AT_OBJ_NAME_PTR(SCP_ATTR_IDX(curr_scp_idx)), 
                     name_ptr) == 0) {
             /*
@@ -11912,7 +11916,7 @@
    }
 
    pgm_unit = ATP_PGM_UNIT(attr_idx);
-   name_ptr = &name_pool[ATP_EXT_NAME_IDX(attr_idx)].name_char;
+   name_ptr = ATP_EXT_NAME_PTR(attr_idx);
    parent_idx = NULL_IDX;
 
 
@@ -12209,7 +12213,7 @@
 
          ATP_SCP_ALIVE(attr_idx) = FALSE;
 
-         name_ptr = &name_pool[ATP_EXT_NAME_IDX(attr_idx)].name_char;
+         name_ptr = ATP_EXT_NAME_PTR(attr_idx);
 
          /* prev_idx is a pdgcs index to the name being entered */
          /* in the pdgcs secondary name table.                  */
Index: osprey/crayf90/fe90/debug.c
===================================================================
--- osprey/crayf90/fe90/debug.c	(revision 3404)
+++ osprey/crayf90/fe90/debug.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -2052,7 +2056,7 @@
    else {
       fprintf(stderr,
               "\n*FE90-ERROR* %s can not have Secondary Name table entries.\n",
-              &name_pool[AT_NAME_IDX(attr_idx)].name_char);
+              AT_OBJ_NAME_PTR(attr_idx));
    }
    return;
 
@@ -2173,8 +2177,7 @@
    }
 
    fprintf(out_file, "\n  %s %s:\n\n",
-                     "Dummy Arguments for",
-                     &name_pool[AT_NAME_IDX(attr_idx)].name_char);
+                     "Dummy Arguments for", AT_OBJ_NAME_PTR(attr_idx));
 
    for (i = first_idx;
         i < (first_idx + count);
@@ -2261,8 +2264,7 @@
          return;
       }
       fprintf(out_file, "\n  %s %s:\n\n",
-                        "Component entries for",
-                        &name_pool[AT_NAME_IDX(attr_idx)].name_char);
+                        "Component entries for", AT_OBJ_NAME_PTR(attr_idx));
    }
    else if (AT_OBJ_CLASS(attr_idx) == Interface) {
       first_idx = ATI_FIRST_SPECIFIC_IDX(attr_idx);
@@ -2273,8 +2275,7 @@
          return;
       }
       fprintf(out_file, "\n  %s %s:\n\n",
-                        "Interface bodies for",
-                        &name_pool[AT_NAME_IDX(attr_idx)].name_char);
+                        "Interface bodies for", AT_OBJ_NAME_PTR(attr_idx));
    }
    else if (AT_OBJ_CLASS(attr_idx) == Namelist_Grp) {
       first_idx = ATN_FIRST_NAMELIST_IDX(attr_idx);
@@ -2285,13 +2286,11 @@
          return;
       }
       fprintf(out_file, "\n  %s %s:\n\n",
-                        "Namelist objects for",
-                        &name_pool[AT_NAME_IDX(attr_idx)].name_char);
+                        "Namelist objects for", AT_OBJ_NAME_PTR(attr_idx));
    }
    else {
       fprintf(out_file, "\n  %s %s:\n\n",
-                        "Invalid attribute entry ",
-                        &name_pool[AT_NAME_IDX(attr_idx)].name_char);
+                        "Invalid attribute entry ", AT_OBJ_NAME_PTR(attr_idx));
       return;
    }
 
@@ -7055,7 +7054,7 @@
    if (HN_ATTR_IDX(idx) != NULL_IDX) {
 
       if (HN_NAME_IDX(idx) != NULL_IDX) {
-         fprintf(out_file, "%-32.32s  ",&name_pool[HN_NAME_IDX(idx)].name_char);
+         fprintf(out_file, "%-32.32s  ", HN_NAME_PTR(idx));
       }
       else {
          fprintf(out_file, "%-32.32s  ", "**No name - HN_NAME_IDX is 0**");
@@ -7474,7 +7473,7 @@
    if (LN_ATTR_IDX(idx) != NULL_IDX) {
 
       if (LN_NAME_IDX(idx) != NULL_IDX) {
-         fprintf(out_file, "%-32.32s  ",&name_pool[LN_NAME_IDX(idx)].name_char);
+         fprintf(out_file, "%-32.32s  ", LN_NAME_PTR(idx));
       }
       else {
          fprintf(out_file, "%-32.32s  ", "**No name - LN_NAME_IDX is 0**");
@@ -8047,7 +8046,7 @@
       return;
    }
 
-   fprintf(out_file, "  %-51s", &name_pool[SN_NAME_IDX(sn_idx)].name_char); 
+   fprintf(out_file, "  %-51s", SN_NAME_PTR(sn_idx)); 
 
    fprintf(out_file, " %-16s= %-8d\n", "            IDX", sn_idx);
 
Index: osprey/crayf90/fe90/cond_comp.c
===================================================================
--- osprey/crayf90/fe90/cond_comp.c	(revision 3404)
+++ osprey/crayf90/fe90/cond_comp.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -4274,8 +4278,7 @@
       TRACE (Func_Exit, "srch_cc_sym_tbl", NULL);
    }
    else {
-      TRACE (Func_Exit, "srch_cc_sym_tbl", 
-             &str_pool[CC_LN_NAME_IDX(idx)].name_char);
+      TRACE (Func_Exit, "srch_cc_sym_tbl", CC_LN_NAME_PTR(idx));
       idx = CC_LN_ATTR_IDX(idx);
    }
    return (idx);
Index: osprey/crayf90/fe90/cmd_line.c
===================================================================
--- osprey/crayf90/fe90/cmd_line.c	(revision 3404)
+++ osprey/crayf90/fe90/cmd_line.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -3128,7 +3132,6 @@
    char		 msg_str[30];
    boolean	 option_conflict	= FALSE;
    int		 scalar;
-   char		*str;
    int		 task;
 
 #  if defined(_ACCEPT_VECTOR)
@@ -3518,37 +3521,37 @@
    if (opt_flags.scalar_lvl == Scalar_Lvl_0) {
 
       if (set_aggress_option  &&  opt_flags.aggress) {
-         str = (set_scalar_option) ? "scalar0" : "0";
-         strcat(str, "\n");
-         strcat(str, "aggress");
-         ntr_msg_queue(0, 99, Log_Error, 0, str, 0, MULT_STR_ARG);
+         strcpy(msg_str, (set_scalar_option) ? "scalar0" : "0");
+         strcat(msg_str, "\n");
+         strcat(msg_str, "aggress");
+         ntr_msg_queue(0, 99, Log_Error, 0, msg_str, 0, MULT_STR_ARG);
       }
 
       opt_flags.aggress = FALSE;
 
       if (set_bottom_load_option  &&  opt_flags.bottom_load) { 
-         str = (set_scalar_option) ? "scalar0" : "0";
-         strcat(str, "\n");
-         strcat(str, "bl");
-         ntr_msg_queue(0, 99, Log_Error, 0, str, 0, MULT_STR_ARG);
+         strcpy(msg_str, (set_scalar_option) ? "scalar0" : "0");
+         strcat(msg_str, "\n");
+         strcat(msg_str, "bl");
+         ntr_msg_queue(0, 99, Log_Error, 0, msg_str, 0, MULT_STR_ARG);
       }
 
       opt_flags.bottom_load = FALSE;
 
       if (set_recurrence_option && opt_flags.recurrence) {
-         str	= (set_scalar_option) ? "scalar0" : "0";
-         strcat(str, "\n");
-         strcat(str, "recurrence");
-         ntr_msg_queue(0, 99, Log_Error, 0, str, 0, MULT_STR_ARG);
+         strcpy(msg_str, (set_scalar_option) ? "scalar0" : "0");
+         strcat(msg_str, "\n");
+         strcat(msg_str, "recurrence");
+         ntr_msg_queue(0, 99, Log_Error, 0, msg_str, 0, MULT_STR_ARG);
       }
 
       opt_flags.recurrence = FALSE;
 
       if (set_zeroinc_option  &&  opt_flags.zeroinc) {
-         str	= (set_scalar_option) ? "scalar0" : "0";
-         strcat(str, "\n");
-         strcat(str, "zeroinc");
-         ntr_msg_queue(0, 99, Log_Error, 0, str, 0, MULT_STR_ARG);
+         strcpy(msg_str, (set_scalar_option) ? "scalar0" : "0");
+         strcat(msg_str, "\n");
+         strcat(msg_str, "zeroinc");
+         ntr_msg_queue(0, 99, Log_Error, 0, msg_str, 0, MULT_STR_ARG);
       }
 
       opt_flags.zeroinc = FALSE;
@@ -3565,10 +3568,10 @@
    if (opt_flags.vector_lvl == Vector_Lvl_0) {
 
       if (set_vsearch_option  &&  opt_flags.vsearch) { 
-         str = (set_vector_option) ? "vector0" : "0";
-         strcat(str, "\n");
-         strcat(str, "vsearch");
-         ntr_msg_queue(0, 99, Log_Error, 0, str, 0, MULT_STR_ARG);
+         strcpy(msg_str, (set_vector_option) ? "vector0" : "0");
+         strcat(msg_str, "\n");
+         strcat(msg_str, "vsearch");
+         ntr_msg_queue(0, 99, Log_Error, 0, msg_str, 0, MULT_STR_ARG);
       }
 
       opt_flags.vsearch = FALSE;
@@ -3576,10 +3579,10 @@
 # if defined(_TARGET_OS_UNICOS)
 
       if (set_pattern_option  &&  opt_flags.pattern) {
-         str = (set_vector_option) ? "vector0" : "0";
-         strcat(str, "\n");
-         strcat(str, "pattern");
-         ntr_msg_queue(0, 99, Log_Error, 0, str, 0, MULT_STR_ARG);
+         strcpy(msg_str, (set_vector_option) ? "vector0" : "0");
+         strcat(msg_str, "\n");
+         strcat(msg_str, "pattern");
+         ntr_msg_queue(0, 99, Log_Error, 0, msg_str, 0, MULT_STR_ARG);
       }
 
       opt_flags.pattern = FALSE;
@@ -3591,9 +3594,9 @@
    else if (opt_flags.vector_lvl == Vector_Lvl_1) {
 
       if (set_pattern_option  &&  opt_flags.pattern) {
-         str = (set_vector_option) ? "vector1" : "1";
-         strcpy(msg_str, "\n");
-         strcpy(msg_str, "pattern");
+         strcpy(msg_str, (set_vector_option) ? "vector1" : "1");
+         strcat(msg_str, "\n");
+         strcat(msg_str, "pattern");
          ntr_msg_queue(0, 99, Log_Error, 0, msg_str, 0, MULT_STR_ARG);
       }
 
@@ -5438,7 +5441,7 @@
 
       str_pool[str_pool_idx].name_long = 0; /* Zero out last word */
 
-      str_ptr	= &str_pool[FP_NAME_IDX(file_path_tbl_idx)].name_char;
+      str_ptr	= FP_NAME_PTR(file_path_tbl_idx);
 
       for (idx = 0;  idx < length;  idx++) {
          str_ptr[idx] = toupper(module_name[idx]);
@@ -6840,7 +6843,7 @@
 
       str_pool[str_pool_idx].name_long	= 0; /* Zero out last word */
 
-      str_ptr	= &str_pool[FP_NAME_IDX(file_path_tbl_idx)].name_char;
+      str_ptr	= FP_NAME_PTR(file_path_tbl_idx);
 
       for (idx = 0;  idx < length;  idx++) {
          str_ptr[idx] = toupper(array_name[idx]);
Index: osprey/crayf90/fe90/cond_comp.m
===================================================================
--- osprey/crayf90/fe90/cond_comp.m	(revision 3404)
+++ osprey/crayf90/fe90/cond_comp.m	(working copy)
@@ -1,5 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
 
+/*
   Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
 
   This program is free software; you can redistribute it and/or modify it
@@ -72,7 +75,8 @@
 # define CC_LN_ATTR_IDX(IDX)               cc_ln_tbl[IDX].attr_idx
 # define CC_LN_NAME_IDX(IDX)               cc_ln_tbl[IDX].name_idx
 # define CC_LN_NAME_LEN(IDX)               cc_ln_tbl[IDX].name_len
-# define CC_LN_NAME_LONG(IDX)       &(str_pool[CC_LN_NAME_IDX(IDX)].name_long)
+# define CC_LN_NAME_LONG(IDX)           ((long *)&str_pool[CC_LN_NAME_IDX(IDX)])
+# define CC_LN_NAME_PTR(IDX)            ((char *)&str_pool[CC_LN_NAME_IDX(IDX)])
 
 
 # define CC_AT_NAME_LEN(IDX)		cc_attr_tbl[IDX].name_len
@@ -84,8 +88,8 @@
 # define CC_AT_NUM_ARGS(IDX)		cc_attr_tbl[IDX].num_args
 # define CC_AT_START_LINE(IDX)		cc_attr_tbl[IDX].start_line
 # define CC_AT_START_COL(IDX)		cc_attr_tbl[IDX].start_col
-# define CC_AT_NAME_PTR(IDX)	&(str_pool[CC_AT_NAME_IDX(IDX)].name_char)
-# define CC_AT_STR_PTR(IDX)	&(str_pool[CC_AT_STR_IDX(IDX)].name_char)
+# define CC_AT_NAME_PTR(IDX)		((char *)&str_pool[CC_AT_NAME_IDX(IDX)])
+# define CC_AT_STR_PTR(IDX)		((char *)&str_pool[CC_AT_STR_IDX(IDX)])
 
 # define CC_CURR_BLK_TYPE	cc_blk_stk_tbl[cc_blk_stk_tbl_idx].blk_type
 # define CC_CURR_BLK_IS_ACTIVE	cc_blk_stk_tbl[cc_blk_stk_tbl_idx].is_active
Index: osprey/crayf90/fe90/mifcvrt.c
===================================================================
--- osprey/crayf90/fe90/mifcvrt.c	(revision 3404)
+++ osprey/crayf90/fe90/mifcvrt.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -453,7 +457,7 @@
 
    /* Subprogram header information */
    init_subprog_info (pgm_attr_idx);
-   name_ptr = &name_pool[ATP_EXT_NAME_IDX(pgm_attr_idx)].name_char;
+   name_ptr = ATP_EXT_NAME_PTR(pgm_attr_idx);
    msp.name = mnpool(&msp, name_ptr);
 
    /* Allocate scope table entries for this routine. */
@@ -4905,8 +4909,7 @@
    }
    if (ATP_EXT_NAME_IDX(attr_idx) != NULL_IDX &&
        ATP_EXT_NAME_IDX(attr_idx) != AT_NAME_IDX(attr_idx)) {
-      msp.func[funcix].extname =
-	 mnpool(&msp, &name_pool[ATP_EXT_NAME_IDX(attr_idx)].name_char);
+      msp.func[funcix].extname = mnpool(&msp, ATP_EXT_NAME_PTR(attr_idx));
    }
 
    if ((ATP_PROC(attr_idx) == Module_Proc) || 
Index: osprey/crayf90/fe90/s_intrin.c
===================================================================
--- osprey/crayf90/fe90/s_intrin.c	(revision 3404)
+++ osprey/crayf90/fe90/s_intrin.c	(working copy)
@@ -15910,7 +15910,7 @@
           (opt_flags.set_allfastint_option && 
            arg_info_list[info_idx1].ed.linear_type == Integer_8 &&
            ATP_EXTERNAL_INTRIN(*spec_idx))) {
-         name_ptr = &name_pool[AT_NAME_IDX(*spec_idx)].name_char;
+         name_ptr = AT_OBJ_NAME_PTR(*spec_idx);
 
          j = -1;
          if (name_ptr[6] == 'J') {
Index: osprey/crayf90/fe90/p_utils.c
===================================================================
--- osprey/crayf90/fe90/p_utils.c	(revision 3404)
+++ osprey/crayf90/fe90/p_utils.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -2637,7 +2641,7 @@
    int			lbl_blk_idx;
    stmt_type_type	lbl_stmt_type;
    int			line_num;
-   char                 stmt_str[10];
+   char                 stmt_str[12];
    boolean		valid_branch_target = TRUE;
 
 
Index: osprey/crayf90/fe90/sytb.c
===================================================================
--- osprey/crayf90/fe90/sytb.c	(revision 3404)
+++ osprey/crayf90/fe90/sytb.c	(working copy)
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
  */
+
 /*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
@@ -351,8 +352,7 @@
       TRACE (Func_Exit, "srch_sym_tbl", NULL);
    }  
    else {
-      TRACE (Func_Exit, "srch_sym_tbl", 
-                        &name_pool[LN_NAME_IDX(*name_idx)].name_char);
+      TRACE (Func_Exit, "srch_sym_tbl", LN_NAME_PTR(*name_idx));
       idx = LN_ATTR_IDX(*name_idx);
    }
    return (idx);
@@ -4833,11 +4833,10 @@
    }
 
 
-   strcat(&name_pool[new_name_idx].name_char, 
-          &name_pool[name_str_idx].name_char);
+   strcat((char *)&name_pool[new_name_idx], (char *)&name_pool[name_str_idx]);
 
    while (scp_idx != NULL_IDX) {
-      strcat(&name_pool[new_name_idx].name_char, UNIQUE_PROC_CONNECTOR);
+      strcat((char *)&name_pool[new_name_idx], UNIQUE_PROC_CONNECTOR);
 #ifdef KEY /* Bug 5089 */
       int attr_idx = SCP_ATTR_IDX(scp_idx);
       char *appendage;
@@ -4864,10 +4863,10 @@
         appendage = AT_OBJ_NAME_PTR(attr_idx);
 	appendage_len = AT_NAME_LEN(attr_idx);
       }
-      strcat(&name_pool[new_name_idx].name_char, appendage);
+      strcat((char *)&name_pool[new_name_idx], appendage);
       length += appendage_len + UNIQUE_PROC_LEN;
 #else /* KEY Bug 5089 */
-      strcat(&name_pool[new_name_idx].name_char,
+      strcat((char *)&name_pool[new_name_idx],
              AT_OBJ_NAME_PTR(SCP_ATTR_IDX(scp_idx)));
 
       length	= length + AT_NAME_LEN(SCP_ATTR_IDX(scp_idx)) + UNIQUE_PROC_LEN;
@@ -6407,8 +6406,7 @@
    }  
    else {
       found	= TRUE;
-      TRACE (Func_Exit, "srch_global_name_tbl", 
-                         &str_pool[GN_NAME_IDX(idx)].name_char);
+      TRACE (Func_Exit, "srch_global_name_tbl", GN_NAME_PTR(idx));
    }
    return (found);
  
@@ -8823,7 +8821,7 @@
    TRACE (Func_Entry, "make_external_name", NULL);
 
    if (!AT_IS_INTRIN(attr_idx)) {
-      name_ptr = &name_pool[name_idx].name_char;
+      name_ptr = (char *)&name_pool[name_idx];
 
       if (!on_off_flags.upper_case_names) {
          for (i = 0;  i < name_len;  i++) {
@@ -8860,7 +8858,7 @@
     * namespace as well. */
    else if (Pgm_Unit == AT_OBJ_CLASS(attr_idx) &&
      Module == ATP_PGM_UNIT(attr_idx)) {
-     name_ptr = &name_pool[name_idx].name_char;
+     name_ptr = (char *)&name_pool[name_idx];
      TOKEN_STR(ext_token)[0] = '_';
      TOKEN_STR(ext_token)[1] = toupper(name_ptr[0]);
      for (i = 1; i < name_len; i += 1) {
Index: osprey/crayf90/fe90/main.c
===================================================================
--- osprey/crayf90/fe90/main.c	(revision 3404)
+++ osprey/crayf90/fe90/main.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -1635,16 +1639,16 @@
 
       TBL_REALLOC_CK(str_pool, length);
 
-      strcpy(&str_pool[str_idx].name_char, location);
+      strcpy((char *)&str_pool[str_idx], location);
 
-      char_ptr	= strrchr(&str_pool[str_idx].name_char, SLASH);
+      char_ptr	= strrchr((char *)&str_pool[str_idx], SLASH);
 
       if (char_ptr == NULL) {
          release_file_ptr = fopen("version.string", "r");
       }
       else {
          strcpy(++char_ptr, "version.string");
-         release_file_ptr = fopen(&str_pool[str_idx].name_char, "r");
+         release_file_ptr = fopen((char *)&str_pool[str_idx], "r");
       }
 
       /* If not found - default to initial value in release_level #.x.x.x */
Index: osprey/crayf90/fe90/s_asg_expr.c
===================================================================
--- osprey/crayf90/fe90/s_asg_expr.c	(revision 3404)
+++ osprey/crayf90/fe90/s_asg_expr.c	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  * Copyright 2007, 2008. PathScale, LLC.  All Rights Reserved.
  */
 /*
@@ -8806,7 +8810,7 @@
           if (AT_OBJ_CLASS(SN_ATTR_IDX(i)) == Data_Obj &&
               ATD_CLASS(SN_ATTR_IDX(i)) == Struct_Component &&
               SN_ATTR_IDX(i) != IR_OPND_R(ir_idx).idx &&
-              strcmp(AT_OBJ_NAME_PTR(IR_OPND_R(ir_idx).idx),&name_pool[SN_NAME_IDX(i)].name_char)==0)
+              strcmp(AT_OBJ_NAME_PTR(IR_OPND_R(ir_idx).idx), SN_NAME_PTR(i))==0)
               IR_OPND_R(ir_idx).idx = SN_ATTR_IDX(i);
         }
       }
Index: osprey/crayf90/fe90/sytb.m
===================================================================
--- osprey/crayf90/fe90/sytb.m	(revision 3404)
+++ osprey/crayf90/fe90/sytb.m	(working copy)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.  All Rights Reserved.
+ */
+
+/*
  *  Copyright (C) 2006. QLogic Corporation. All Rights Reserved.
  */
 
@@ -400,15 +404,15 @@
 # define AT_NOT_VISIBLE(IDX)		attr_tbl[IDX].fld.not_visible
 # define AT_OBJ_CLASS(IDX)		attr_tbl[IDX].fld.object_class
 # define AT_OBJ_NAME(IDX)		name_pool[AT_NAME_IDX(IDX)].name_char
-# define AT_OBJ_NAME_LONG(IDX)		&(name_pool[AT_NAME_IDX(IDX)].name_long)
-# define AT_OBJ_NAME_PTR(IDX)		&name_pool[AT_NAME_IDX(IDX)].name_char
+# define AT_OBJ_NAME_LONG(IDX)		((long *)&name_pool[AT_NAME_IDX(IDX)])
+# define AT_OBJ_NAME_PTR(IDX)		((char *)&name_pool[AT_NAME_IDX(IDX)])
 # define AT_OPTIONAL(IDX)		attr_tbl[IDX].fld.optional
 # define AT_ORIG_MODULE_IDX(IDX)	attr_tbl[IDX].fld.orig_module_idx
 # define AT_ORIG_NAME_IDX(IDX)		attr_tbl[IDX].fld.orig_name_idx
 # define AT_ORIG_NAME_LEN(IDX)		attr_tbl[IDX].fld.orig_name_len
-# define AT_ORIG_NAME_PTR(IDX)	   &name_pool[AT_ORIG_NAME_IDX(IDX)].name_char
+# define AT_ORIG_NAME_PTR(IDX)	    ((char *)&name_pool[AT_ORIG_NAME_IDX(IDX)])
 # define AT_ORIG_NAME(IDX)	    name_pool[AT_ORIG_NAME_IDX(IDX)].name_char
-# define AT_ORIG_NAME_LONG(IDX)    &(name_pool[AT_ORIG_NAME_IDX(IDX)].name_long)
+# define AT_ORIG_NAME_LONG(IDX)     ((long *)&name_pool[AT_ORIG_NAME_IDX(IDX)])
 # define AT_PRIVATE(IDX)		attr_tbl[IDX].fld.private_access
 # define AT_REF_IN_CHILD(IDX)		attr_tbl[IDX].fld.ref_in_child
 # define AT_REFERENCED(IDX)		attr_tbl[IDX].fld.referenced
@@ -2242,8 +2246,8 @@
 # endif
 
 # define ATP_EXT_NAME(IDX)	      name_pool[ATP_EXT_NAME_IDX(IDX)].name_char
-# define ATP_EXT_NAME_LONG(IDX)    &(name_pool[ATP_EXT_NAME_IDX(IDX)].name_long)
-# define ATP_EXT_NAME_PTR(IDX)	     &name_pool[ATP_EXT_NAME_IDX(IDX)].name_char
+# define ATP_EXT_NAME_LONG(IDX)	     ((long *)&name_pool[ATP_EXT_NAME_IDX(IDX)])
+# define ATP_EXT_NAME_PTR(IDX)	     ((char *)&name_pool[ATP_EXT_NAME_IDX(IDX)])
 
 # ifdef _DEBUG
 # define ATP_EXT_NAME_LEN(IDX)						       \
@@ -2441,7 +2445,7 @@
 # define ATP_MOD_PATH_IDX(IDX)		attr_tbl[IDX].fld.field4
 # endif
 
-# define ATP_MOD_PATH_NAME_PTR(IDX)  &name_pool[ATP_MOD_PATH_IDX(IDX)].name_char
+# define ATP_MOD_PATH_NAME_PTR(IDX)  ((char *)&name_pool[ATP_MOD_PATH_IDX(IDX)])
 
 # ifdef _DEBUG
 # define ATP_MOD_PATH_LEN(IDX)						       \
@@ -3238,8 +3242,8 @@
 # define FP_NAME_IDX(IDX)		file_path_tbl[IDX].name_idx
 # define FP_NAME_LEN(IDX)		file_path_tbl[IDX].name_len
 # define FP_NAME(IDX)		        (str_pool[FP_NAME_IDX(IDX)].name_char)
-# define FP_NAME_LONG(IDX)	       &(str_pool[FP_NAME_IDX(IDX)].name_long)
-# define FP_NAME_PTR(IDX)	       &str_pool[FP_NAME_IDX(IDX)].name_char
+# define FP_NAME_LONG(IDX)		((long *)&str_pool[FP_NAME_IDX(IDX)])
+# define FP_NAME_PTR(IDX)		((char *)&str_pool[FP_NAME_IDX(IDX)])
 # define FP_NEXT_FILE_IDX(IDX)		file_path_tbl[IDX].next_file_idx
 # define FP_OFFSET(IDX)			file_path_tbl[IDX].offset
 # define FP_OUTPUT_TO_O(IDX)		file_path_tbl[IDX].output_to_o
@@ -3258,13 +3262,13 @@
 # define GA_NAME_IDX(IDX)		global_attr_tbl[IDX].fld.name_idx
 # define GA_NAME_LEN(IDX)		global_attr_tbl[IDX].fld.length
 # define GA_OBJ_CLASS(IDX)		global_attr_tbl[IDX].fld.object_class
-# define GA_OBJ_NAME_LONG(IDX)		&(str_pool[GA_NAME_IDX(IDX)].name_long)
-# define GA_OBJ_NAME_PTR(IDX)		&str_pool[GA_NAME_IDX(IDX)].name_char
+# define GA_OBJ_NAME_LONG(IDX)		((long *)&str_pool[GA_NAME_IDX(IDX)])
+# define GA_OBJ_NAME_PTR(IDX)		((char *)&str_pool[GA_NAME_IDX(IDX)])
 # define GA_OPTIONAL(IDX)		global_attr_tbl[IDX].fld.optional
 # define GA_ORIG_NAME_LEN(IDX)		global_attr_tbl[IDX].fld.orig_name_len
 # define GA_ORIG_NAME_IDX(IDX)		global_attr_tbl[IDX].fld.orig_name_idx
-# define GA_ORIG_NAME_PTR(IDX)	      &str_pool[GA_ORIG_NAME_IDX(IDX)].name_char
-# define GA_ORIG_NAME_LONG(IDX)     &(str_pool[GA_ORIG_NAME_IDX(IDX)].name_long)
+# define GA_ORIG_NAME_PTR(IDX)	      ((char *)&str_pool[GA_ORIG_NAME_IDX(IDX)])
+# define GA_ORIG_NAME_LONG(IDX)	      ((long *)&str_pool[GA_ORIG_NAME_IDX(IDX)])
 # define GA_REFERENCED(IDX)		global_attr_tbl[IDX].fld.referenced
 # define GA_USE_ASSOCIATED(IDX)		global_attr_tbl[IDX].fld.use_associated
 #ifdef KEY /* Bug 14150 */
@@ -3726,11 +3730,11 @@
 # define GL_PATH_NAME_LEN(IDX)		global_line_tbl[IDX].path_name_len
 # define GL_SOURCE_LINES(IDX)		global_line_tbl[IDX].source_lines
 
-# define GL_FILE_NAME_LONG(IDX)   &(str_pool[GL_FILE_NAME_IDX(IDX)].name_long)
-# define GL_FILE_NAME_PTR(IDX)    &str_pool[GL_FILE_NAME_IDX(IDX)].name_char
+# define GL_FILE_NAME_LONG(IDX)	      ((long *)&str_pool[GL_FILE_NAME_IDX(IDX)])
+# define GL_FILE_NAME_PTR(IDX)	      ((char *)&str_pool[GL_FILE_NAME_IDX(IDX)])
 
-# define GL_PATH_NAME_LONG(IDX)   &(str_pool[GL_PATH_NAME_IDX(IDX)].name_long)
-# define GL_PATH_NAME_PTR(IDX)    &str_pool[GL_PATH_NAME_IDX(IDX)].name_char
+# define GL_PATH_NAME_LONG(IDX)	      ((long *)&str_pool[GL_PATH_NAME_IDX(IDX)])
+# define GL_PATH_NAME_PTR(IDX)	      ((char *)&str_pool[GL_PATH_NAME_IDX(IDX)])
 
 
 /* GLOBAL NAME TABLE */
@@ -3738,8 +3742,8 @@
 # define GN_ATTR_IDX(IDX)		global_name_tbl[IDX].attr_idx
 # define GN_NAME_IDX(IDX)		global_name_tbl[IDX].name_idx
 # define GN_NAME_LEN(IDX)		global_name_tbl[IDX].name_len
-# define GN_NAME_LONG(IDX)	       &(str_pool[GN_NAME_IDX(IDX)].name_long)
-# define GN_NAME_PTR(IDX)	       &str_pool[GN_NAME_IDX(IDX)].name_char
+# define GN_NAME_LONG(IDX)		((long *)&str_pool[GN_NAME_IDX(IDX)])
+# define GN_NAME_PTR(IDX)		((char *)&str_pool[GN_NAME_IDX(IDX)])
 
 /* GLOBAL TYPE TABLE */
 
@@ -3760,6 +3764,7 @@
 # define HN_ATTR_IDX(IDX)		hidden_name_tbl[IDX].attr_idx
 # define HN_NAME_IDX(IDX)		hidden_name_tbl[IDX].name_idx
 # define HN_NAME_LEN(IDX)		hidden_name_tbl[IDX].name_len
+# define HN_NAME_PTR(IDX)		((char *)&name_pool[HN_NAME_IDX(IDX)])
 
 
 /* SCOPE TABLE definitions */
@@ -4098,7 +4103,8 @@
 # define LN_IN_ONLY_LIST(IDX)		loc_name_tbl[IDX].in_only_list
 # define LN_NAME_IDX(IDX)		loc_name_tbl[IDX].name_idx
 # define LN_NAME_LEN(IDX)		loc_name_tbl[IDX].name_len
-# define LN_NAME_LONG(IDX)		&(name_pool[LN_NAME_IDX(IDX)].name_long)
+# define LN_NAME_LONG(IDX)		((long *)&name_pool[LN_NAME_IDX(IDX)])
+# define LN_NAME_PTR(IDX)		((char *)&name_pool[LN_NAME_IDX(IDX)])
 # define LN_NEW_NAME(IDX)		loc_name_tbl[IDX].new_name
 # define LN_RENAMED(IDX)		loc_name_tbl[IDX].renamed
 
@@ -4118,8 +4124,8 @@
 # define RO_LINE_NUM(IDX)		rename_only_tbl[IDX].line_num
 # define RO_NAME_IDX(IDX)		rename_only_tbl[IDX].name_idx
 # define RO_NAME_LEN(IDX)		rename_only_tbl[IDX].name_len
-# define RO_NAME_LONG(IDX)		&(name_pool[RO_NAME_IDX(IDX)].name_long)
-# define RO_NAME_PTR(IDX)		&name_pool[RO_NAME_IDX(IDX)].name_char
+# define RO_NAME_LONG(IDX)		((long *)&name_pool[RO_NAME_IDX(IDX)])
+# define RO_NAME_PTR(IDX)		((char *)&name_pool[RO_NAME_IDX(IDX)])
 # define RO_NEXT_IDX(IDX)		rename_only_tbl[IDX].next_idx
 # define RO_RENAME_IDX(IDX)		rename_only_tbl[IDX].rename_idx
 # define RO_RENAME_NAME(IDX)		rename_only_tbl[IDX].rename_name
@@ -4133,6 +4139,7 @@
 # define SN_MATCHED_DARG(IDX)		sec_name_tbl[IDX].matched
 # define SN_NAME_IDX(IDX)		sec_name_tbl[IDX].name_idx
 # define SN_NAME_LEN(IDX)		sec_name_tbl[IDX].length
+# define SN_NAME_PTR(IDX)		((char *)&name_pool[SN_NAME_IDX(IDX)])
 # define SN_SIBLING_LINK(IDX)		sec_name_tbl[IDX].sibling_link
 
 
@@ -4159,7 +4166,7 @@
 # define SB_EXT_NAME_IDX(IDX)		stor_blk_tbl[IDX].fld.ext_name_idx
 # define SB_EXT_NAME_LEN(IDX)		stor_blk_tbl[IDX].fld.ext_name_len
 # define SB_EXT_NAME(IDX)	      name_pool[SB_EXT_NAME_IDX(IDX)].name_char
-# define SB_EXT_NAME_PTR(IDX)	     &name_pool[SB_EXT_NAME_IDX(IDX)].name_char
+# define SB_EXT_NAME_PTR(IDX)	      ((char *)&name_pool[SB_EXT_NAME_IDX(IDX)])
 #endif /* KEY Bug 14150 */
 # define SB_FILL_SYMBOL(IDX)		stor_blk_tbl[IDX].fld.fill_symbol
 # define SB_FIRST_ATTR_IDX(IDX)		stor_blk_tbl[IDX].fld.first_attr_idx
@@ -4176,8 +4183,8 @@
 # define SB_MODULE_IDX(IDX)		stor_blk_tbl[IDX].fld.module_idx
 # define SB_MODULE(IDX)			stor_blk_tbl[IDX].fld.module
 # define SB_NAME_IDX(IDX)		stor_blk_tbl[IDX].fld.name_idx
-# define SB_NAME_PTR(IDX)		&name_pool[SB_NAME_IDX(IDX)].name_char
-# define SB_NAME_LONG(IDX)		&(name_pool[SB_NAME_IDX(IDX)].name_long)
+# define SB_NAME_PTR(IDX)		((char *)&name_pool[SB_NAME_IDX(IDX)])
+# define SB_NAME_LONG(IDX)		((long *)&name_pool[SB_NAME_IDX(IDX)])
 # define SB_NAME(IDX)			name_pool[SB_NAME_IDX(IDX)].name_char
 # define SB_NAME_IN_STONE(IDX)		stor_blk_tbl[IDX].fld.name_in_stone
 # define SB_NAME_LEN(IDX)		stor_blk_tbl[IDX].fld.name_len
