/[MITgcm]/MITgcm/eesupp/src/fool_the_compiler.F
ViewVC logotype

Diff of /MITgcm/eesupp/src/fool_the_compiler.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.7 by adcroft, Thu Oct 10 20:07:37 2002 UTC revision 1.10 by jmc, Tue Jul 15 22:00:28 2014 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "CPP_EEOPTIONS.h"  #include "CPP_EEOPTIONS.h"
5    
6    C--  File fool_the_compiler.F: Routines to prevent compiler to skip pieces of code
7    C--   Contents
8    C--   o FOOL_THE_COMPILER
9    C--   o FOOL_THE_COMPILER_R8
10    C--   o FOOL_THE_COMPILER_RL
11    
12    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
13  CBOP  CBOP
14    
15  C      !ROUTINE: FOOL_THE_COMPILER  C      !ROUTINE: FOOL_THE_COMPILER
16    
17  C      !INTERFACE:  C      !INTERFACE:
18         SUBROUTINE FOOL_THE_COMPILER( foolishArg )         SUBROUTINE FOOL_THE_COMPILER( foolishArg )
        IMPLICIT NONE  
19  C      !DESCRIPTION:  C      !DESCRIPTION:
20  C      *=================================================================*  C      *=================================================================*
21  C      | SUBROUTINE FOOL_THE_COMPILER                                    |  C      | SUBROUTINE FOOL\_THE\_COMPILER
22  C      | o Dummy routine used to supress compiler behavior.              |  C      | o Dummy routine used to supress compiler behavior.
23  C      *=================================================================*  C      *=================================================================*
24  C      | Routine is used to stop compiler optimizations in which global  |  C      | Routine is used to stop compiler optimizations in which global
25  C      | data is held in a register while it is updated by a separate    |  C      | data is held in a register while it is updated by a separate
26  C      | thread. Calling this routine introduces the possibility of side |  C      | thread. Calling this routine introduces the possibility of side
27  C      | effects on global data ensuring that memory locs. are reread.   |  C      | effects on global data ensuring that memory locs. are reread.
28  C      *=================================================================*  C      *=================================================================*
29           IMPLICIT NONE
30  CEOP  CEOP
31         INTEGER foolishArg         INTEGER foolishArg
32         RETURN         RETURN
33         END         END
34    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
35    CBOP
36    
37    C      !ROUTINE: FOOL_THE_COMPILER_R8
38    
39    C      !INTERFACE:
40           SUBROUTINE FOOL_THE_COMPILER_R8( foolishArg )
41    C      !DESCRIPTION:
42    C      *=================================================================*
43    C      | SUBROUTINE FOOL\_THE\_COMPILER\_R8
44    C      | o Dummy routine used to supress compiler behavior.
45    C      *=================================================================*
46    C      | Routine is used to stop compiler optimizations in which global
47    C      | data is held in a register while it is updated by a separate
48    C      | thread. Calling this routine introduces the possibility of side
49    C      | effects on global data ensuring that memory locs. are reread.
50    C      *=================================================================*
51           IMPLICIT NONE
52    CEOP
53           Real*8 foolishArg
54           RETURN
55           END
56    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
57    CBOP
58    
59    C      !ROUTINE: FOOL_THE_COMPILER_RL
60    
61    C      !INTERFACE:
62           SUBROUTINE FOOL_THE_COMPILER_RL( foolishArg )
63    C      !DESCRIPTION:
64    C      *=================================================================*
65    C      | SUBROUTINE FOOL\_THE\_COMPILER\_RL
66    C      | o Dummy routine used to supress compiler behavior.
67    C      *=================================================================*
68    C      | Routine is used to stop compiler optimizations in which global
69    C      | data is held in a register while it is updated by a separate
70    C      | thread. Calling this routine introduces the possibility of side
71    C      | effects on global data ensuring that memory locs. are reread.
72    C      *=================================================================*
73           IMPLICIT NONE
74    CEOP
75           _RL    foolishArg
76           RETURN
77           END

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22