Re: UPS 3.37-beta5 available - feedback with fortran on linux

From: Ian Edwards (ian_at_concerto.demon.co.uk)
Date: Thu Apr 04 2002 - 12:43:21 BST

  • Next message: Satish Balay: "Re: UPS 3.37-beta5 available - feedback with fortran on linux"
    On 03-Apr-02 Satish Balay wrote:
    > 1. It can't find the main routine (typing in MAIN__ does bring up the
    > main code)
    > 
    > 2. Cliking on variables - which are uppercase (in the source) doesn't
    > work.  The same variable - if it is in lowercase - does show the
    > value.
    > 
    > In the features category for fortran - it would be nice - if clicking
    > on a subroutine/function works (i.e taking it to the implementation of
    > the routine) - for both the cases when the subroutine is implemented
    > in fortran or in C.
    
    Hello Satish,
    
    the attached patch should fix 1 and 2.  I am still looking at the function
    problem.
    
    Apply the patch by changing directory to the top-level UPS source directory
    then :  patch -c -p -s < ups_fortran.pat
    
    Regards,
    Ian.
    
    
    
     -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     Ian Edwards <ian_at_concerto.demon.co.uk>       04-Apr-02  12:43:21
    
     Early Music Record Labels    - http://www.recordlabels.org/
     'ups' debugger for C/C++/f77 - http://www.concerto.demon.co.uk/UPS/
     -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    
     ----------------------------------------------------------------------
      PATCH FOR UPS
      Generated Thu Apr  4 10:23:39 BST 2002  on FreeBSD 4.3-RELEASE
      In ups-3.37-dev
    
      Apply with :    patch -c -p -s  <  this_file
     ----------------------------------------------------------------------
    *** ./ups/target.c.ups	Mon Jan  7 16:54:53 2002
    --- ./ups/target.c	Thu Apr  4 10:15:25 2002
    ***************
    *** 522,530 ****
          set_current_target(xp);
        }
        if ((f = xp_get_mainfunc(xp)) == NULL) {
    !     res = find_func_by_name("main", &f, &f1, TRUE);
    !     if (res != 0 || IS_FORTRAN(f->fu_language)) {
    !       find_func_by_name("MAIN", &f, &f1, TRUE);
          }
          
          xp_set_mainfunc(xp, f);
    --- 522,532 ----
          set_current_target(xp);
        }
        if ((f = xp_get_mainfunc(xp)) == NULL) {
    !     res = find_func_by_name("MAIN__", &f, &f1, TRUE);
    !     if (res == -1)
    !       res = find_func_by_name("MAIN", &f, &f1, TRUE);
    !     if (res != 0 || !IS_FORTRAN(f->fu_language)) {
    !       find_func_by_name("main", &f, &f1, TRUE);
          }
          
          xp_set_mainfunc(xp, f);
    *** ./ups/ups.c.ups	Mon Mar 18 16:49:31 2002
    --- ./ups/ups.c	Thu Apr  4 10:14:54 2002
    ***************
    *** 1082,1088 ****
      		errf_ofunc_t oldf;
      	
      		oldf = errf_set_ofunc(null_ofunc);
    ! 		res = find_func_by_name("MAIN", &f, &f1, TRUE);
      		errf_set_ofunc(oldf);
      
      		if (res != 0 || !IS_FORTRAN(f->fu_language)) {
    --- 1082,1090 ----
      		errf_ofunc_t oldf;
      	
      		oldf = errf_set_ofunc(null_ofunc);
    ! 		res = find_func_by_name("MAIN__", &f, &f1, TRUE);
    ! 		if (res == -1)
    ! 			res = find_func_by_name("MAIN", &f, &f1, TRUE);
      		errf_set_ofunc(oldf);
      
      		if (res != 0 || !IS_FORTRAN(f->fu_language)) {
    *** ./ups/ao_symscan.c.ups	Fri Mar 29 15:02:07 2002
    --- ./ups/ao_symscan.c	Thu Apr  4 10:21:56 2002
    ***************
    *** 128,134 ****
      	if (strcmp(suf, "c") == 0)
      		return LANG_C;
      
    ! 	if (strcmp(suf, "f") == 0)
      		return LANG_F77;
      
      	if (strcmp(suf, "f90") == 0)
    --- 128,134 ----
      	if (strcmp(suf, "c") == 0)
      		return LANG_C;
      
    ! 	if (strcmp(suf, "f") == 0 || strcmp(suf, "F") == 0)
      		return LANG_F77;
      
      	if (strcmp(suf, "f90") == 0)
    End of MIME message
    


    This archive was generated by hypermail 2.1.4 : Thu May 23 2002 - 15:54:09 BST