Annotation of coherent/a/usr/man/ALL/registervariab, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: register variable           Definition          register variable
                      4: 
                      5: 
                      6: 
                      7: 
                      8: register is a C  storage class.  A register declaration tells the
                      9: compiler to try to keep the  defined local data item in a machine
                     10: register.   Under the  COHERENT C  compiler, the  iinntt ffoooo  can be
                     11: declared to be a register variable with the following statement:
                     12: 
                     13: 
                     14:         register int foo;
                     15: 
                     16: 
                     17: COHERENT places  the first two  register variables declared  in a
                     18: function into  registers SI  and DI if  the variable type  is ap-
                     19: propriate, i.e., int or SMALL-model pointer.  Subsequent register
                     20: declarations are  ignored, because no registers  are left to hold
                     21: them.   Note  because  of  this  fact,  declaring more  than  two
                     22: register variables may slow processing rather than speed it.
                     23: 
                     24: By definition of the  C language, registers have no addresses, so
                     25: you cannot  pass the address of register  variable as an argument
                     26: to a function.  For  example, the following code will generate an
                     27: error message when compiled:
                     28: 
                     29: 
                     30:         register int i;
                     31:           . . .
                     32:         dosomething(&i);        /* WRONG */
                     33: 
                     34: 
                     35: This rule applies whether or not the variable is actually kept in
                     36: a register.
                     37: 
                     38: Placing  heavily-used local  variables into  registers  often im-
                     39: proves  performance,   but  in  some   cases  declaring  register
                     40: variables can degrade performance somewhat.
                     41: 
                     42: ***** See Also *****
                     43: 
                     44: auto, definitions, extern, static, storage class
                     45: 
                     46: 
                     47: 
                     48: 
                     49: 
                     50: 
                     51: 
                     52: 
                     53: 
                     54: 
                     55: 
                     56: 
                     57: 
                     58: 
                     59: 
                     60: 
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.