Skip to content
Snippets Groups Projects
  • Victor Do Nascimento's avatar
    6edf6fe7
    Libatomic: Define per-file identifier macros · 6edf6fe7
    Victor Do Nascimento authored
    In order to facilitate the fine-tuning of how `libatomic_i.h' and
    `host-config.h' headers are used by different atomic functions, we
    define distinct identifier macros for each file which, in implementing
    atomic operations, imports these headers.
    
    The idea is that different parts of these headers could then be
    conditionally defined depending on the macros set by the file that
    `#include'd them.
    
    Given how it is possible that some file names are generic enough that
    using them as-is for macro names (e.g. flag.c -> FLAG) may potentially
    lead to name clashes with other macros, all file names first have LAT_
    prepended to them such that, for example, flag.c is assigned the
    LAT_FLAG macro.
    
    Libatomic/ChangeLog:
    
    	* cas_n.c (LAT_CAS_N): New.
    	* exch_n.c (LAT_EXCH_N): Likewise.
    	* fadd_n.c (LAT_FADD_N): Likewise.
    	* fand_n.c (LAT_FAND_N): Likewise.
    	* fence.c (LAT_FENCE): Likewise.
    	* fenv.c (LAT_FENV): Likewise.
    	* fior_n.c (LAT_FIOR_N): Likewise.
    	* flag.c (LAT_FLAG): Likewise.
    	* fnand_n.c (LAT_FNAND_N): Likewise.
    	* fop_n.c (LAT_FOP_N): Likewise
    	* fsub_n.c (LAT_FSUB_N): Likewise.
    	* fxor_n.c (LAT_FXOR_N): Likewise.
    	* gcas.c (LAT_GCAS): Likewise.
    	* gexch.c (LAT_GEXCH): Likewise.
    	* glfree.c (LAT_GLFREE): Likewise.
    	* gload.c (LAT_GLOAD): Likewise.
    	* gstore.c (LAT_GSTORE): Likewise.
    	* load_n.c (LAT_LOAD_N): Likewise.
    	* store_n.c (LAT_STORE_N): Likewise.
    	* tas_n.c (LAT_TAS_N): Likewise.
    6edf6fe7
    History
    Libatomic: Define per-file identifier macros
    Victor Do Nascimento authored
    In order to facilitate the fine-tuning of how `libatomic_i.h' and
    `host-config.h' headers are used by different atomic functions, we
    define distinct identifier macros for each file which, in implementing
    atomic operations, imports these headers.
    
    The idea is that different parts of these headers could then be
    conditionally defined depending on the macros set by the file that
    `#include'd them.
    
    Given how it is possible that some file names are generic enough that
    using them as-is for macro names (e.g. flag.c -> FLAG) may potentially
    lead to name clashes with other macros, all file names first have LAT_
    prepended to them such that, for example, flag.c is assigned the
    LAT_FLAG macro.
    
    Libatomic/ChangeLog:
    
    	* cas_n.c (LAT_CAS_N): New.
    	* exch_n.c (LAT_EXCH_N): Likewise.
    	* fadd_n.c (LAT_FADD_N): Likewise.
    	* fand_n.c (LAT_FAND_N): Likewise.
    	* fence.c (LAT_FENCE): Likewise.
    	* fenv.c (LAT_FENV): Likewise.
    	* fior_n.c (LAT_FIOR_N): Likewise.
    	* flag.c (LAT_FLAG): Likewise.
    	* fnand_n.c (LAT_FNAND_N): Likewise.
    	* fop_n.c (LAT_FOP_N): Likewise
    	* fsub_n.c (LAT_FSUB_N): Likewise.
    	* fxor_n.c (LAT_FXOR_N): Likewise.
    	* gcas.c (LAT_GCAS): Likewise.
    	* gexch.c (LAT_GEXCH): Likewise.
    	* glfree.c (LAT_GLFREE): Likewise.
    	* gload.c (LAT_GLOAD): Likewise.
    	* gstore.c (LAT_GSTORE): Likewise.
    	* load_n.c (LAT_LOAD_N): Likewise.
    	* store_n.c (LAT_STORE_N): Likewise.
    	* tas_n.c (LAT_TAS_N): Likewise.