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

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

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


Revision 1.10 - (hide annotations) (download)
Tue Jul 15 22:00:28 2014 UTC (9 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65o, HEAD
Changes since 1.9: +26 -3 lines
new version "FOOL_THE_COMPILER_RL" with _RL argument

1 jmc 1.10 C $Header: /u/gcmpack/MITgcm/eesupp/src/fool_the_compiler.F,v 1.9 2009/08/02 20:16:14 jmc Exp $
2 cnh 1.6 C $Name: $
3 adcroft 1.3
4     #include "CPP_EEOPTIONS.h"
5 cnh 1.1
6 jmc 1.9 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 jmc 1.10 C-- o FOOL_THE_COMPILER_RL
11 jmc 1.9
12     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
13 cnh 1.6 CBOP
14    
15     C !ROUTINE: FOOL_THE_COMPILER
16    
17     C !INTERFACE:
18 adcroft 1.7 SUBROUTINE FOOL_THE_COMPILER( foolishArg )
19 cnh 1.6 C !DESCRIPTION:
20     C *=================================================================*
21 jmc 1.9 C | SUBROUTINE FOOL\_THE\_COMPILER
22     C | o Dummy routine used to supress compiler behavior.
23 cnh 1.6 C *=================================================================*
24 jmc 1.9 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
26     C | thread. Calling this routine introduces the possibility of side
27     C | effects on global data ensuring that memory locs. are reread.
28 cnh 1.6 C *=================================================================*
29 jmc 1.10 IMPLICIT NONE
30 cnh 1.6 CEOP
31 adcroft 1.7 INTEGER foolishArg
32 cnh 1.1 RETURN
33     END
34 jmc 1.9 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 jmc 1.10 IMPLICIT NONE
52 jmc 1.9 CEOP
53     Real*8 foolishArg
54     RETURN
55     END
56 jmc 1.10 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

  ViewVC Help
Powered by ViewVC 1.1.22