Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:36:09 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
50de1015f0 Alis*0001 #include "CPP_EEOPTIONS.h"
924557e60a Chri*0002 
eb4fbf8596 Jean*0003 C--  File fool_the_compiler.F: Routines to prevent compiler to skip pieces of code
                0004 C--   Contents
                0005 C--   o FOOL_THE_COMPILER
                0006 C--   o FOOL_THE_COMPILER_R8
9bebb98359 Jean*0007 C--   o FOOL_THE_COMPILER_RL
eb4fbf8596 Jean*0008 
                0009 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
4c563c2ee9 Chri*0010 CBOP
                0011 
                0012 C      !ROUTINE: FOOL_THE_COMPILER
                0013 
                0014 C      !INTERFACE:
263cf6c489 Alis*0015        SUBROUTINE FOOL_THE_COMPILER( foolishArg )
4c563c2ee9 Chri*0016 C      !DESCRIPTION:
                0017 C      *=================================================================*
eb4fbf8596 Jean*0018 C      | SUBROUTINE FOOL\_THE\_COMPILER
                0019 C      | o Dummy routine used to supress compiler behavior.
4c563c2ee9 Chri*0020 C      *=================================================================*
eb4fbf8596 Jean*0021 C      | Routine is used to stop compiler optimizations in which global
                0022 C      | data is held in a register while it is updated by a separate
                0023 C      | thread. Calling this routine introduces the possibility of side
                0024 C      | effects on global data ensuring that memory locs. are reread.
4c563c2ee9 Chri*0025 C      *=================================================================*
9bebb98359 Jean*0026        IMPLICIT NONE
4c563c2ee9 Chri*0027 CEOP
263cf6c489 Alis*0028        INTEGER foolishArg
924557e60a Chri*0029        RETURN
                0030        END
eb4fbf8596 Jean*0031 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0032 CBOP
                0033 
                0034 C      !ROUTINE: FOOL_THE_COMPILER_R8
                0035 
                0036 C      !INTERFACE:
                0037        SUBROUTINE FOOL_THE_COMPILER_R8( foolishArg )
                0038 C      !DESCRIPTION:
                0039 C      *=================================================================*
                0040 C      | SUBROUTINE FOOL\_THE\_COMPILER\_R8
                0041 C      | o Dummy routine used to supress compiler behavior.
                0042 C      *=================================================================*
                0043 C      | Routine is used to stop compiler optimizations in which global
                0044 C      | data is held in a register while it is updated by a separate
                0045 C      | thread. Calling this routine introduces the possibility of side
                0046 C      | effects on global data ensuring that memory locs. are reread.
                0047 C      *=================================================================*
9bebb98359 Jean*0048        IMPLICIT NONE
eb4fbf8596 Jean*0049 CEOP
                0050        Real*8 foolishArg
                0051        RETURN
                0052        END
9bebb98359 Jean*0053 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0054 CBOP
                0055 
                0056 C      !ROUTINE: FOOL_THE_COMPILER_RL
                0057 
                0058 C      !INTERFACE:
                0059        SUBROUTINE FOOL_THE_COMPILER_RL( foolishArg )
                0060 C      !DESCRIPTION:
                0061 C      *=================================================================*
                0062 C      | SUBROUTINE FOOL\_THE\_COMPILER\_RL
                0063 C      | o Dummy routine used to supress compiler behavior.
                0064 C      *=================================================================*
                0065 C      | Routine is used to stop compiler optimizations in which global
                0066 C      | data is held in a register while it is updated by a separate
                0067 C      | thread. Calling this routine introduces the possibility of side
                0068 C      | effects on global data ensuring that memory locs. are reread.
                0069 C      *=================================================================*
                0070        IMPLICIT NONE
                0071 CEOP
                0072        _RL    foolishArg
                0073        RETURN
                0074        END