Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
flags.c File Reference
#include <string.h>
#include "defs.h"
#include "flags.h"
#include "erglob.h"
#include "tracing.h"
#include "config.h"
Include dependency graph for flags.c:

Go to the source code of this file.

Classes

union  optval
struct  odesc_aux
struct  ogroup_aux

Defines

#define ODESC_orig_specified(o)   ((o)->aux)
#define ODESC_aux(o)   ((ODESC_AUX *)((o)->aux))
#define Set_ODESC_aux(o, a)   (((o)->aux)=(ODESC_AUX *)(a))
#define ODF_SET_USER   0x01 /* Set since a user print */
#define ODF_SET_INT   0x02 /* Set since a internal print */
#define ODF_SET   0x03 /* Set (for setting only) */
#define ODF_MOD_USER   0x04 /* Modified since a user print */
#define ODF_MOD_INT   0x08 /* Modified since a internal print */
#define ODF_MOD   0x0c /* Modified (for setting only) */
#define ODF_PRINT   0x10 /* Print (because set/modified) */
#define ODF_PRINTED   0x20 /* Printed (for ODK_LIST options) */
#define ODA_flags(o)   ((o)->flags)
#define ODA_specified(o)   ((o)->specified)
#define ODESC_specified(o)   ODA_specified(ODESC_aux(o))
#define ODA_primary(o)   ((o)->primary)
#define ODESC_primary(o)   ODA_primary(ODESC_aux(o))
#define ODA_orig(o)   ((o)->orig)
#define ODA_orig_i(o)   ((o)->orig.i)
#define ODA_orig_p(o)   ((o)->orig.p)
#define ODA_last(o)   ((o)->last)
#define ODA_last_i(o)   ((o)->last.i)
#define ODA_last_p(o)   ((o)->last.p)
#define ODA_set_user(o)   (ODA_flags(o) & ODF_SET_USER)
#define Set_ODA_set_user(o)   (ODA_flags(o) |= ODF_SET_USER)
#define Reset_ODA_set_user(o)   (ODA_flags(o) &= ~ODF_SET_USER)
#define ODA_set_int(o)   (ODA_flags(o) & ODF_SET_INT)
#define Set_ODA_set_int(o)   (ODA_flags(o) |= ODF_SET_INT)
#define Reset_ODA_set_int(o)   (ODA_flags(o) &= ~ODF_SET_INT)
#define Set_ODA_set(o)   (ODA_flags(o) |= ODF_SET)
#define ODA_mod_user(o)   (ODA_flags(o) & ODF_MOD_USER)
#define Set_ODA_mod_user(o)   (ODA_flags(o) |= ODF_MOD_USER)
#define Reset_ODA_mod_user(o)   (ODA_flags(o) &= ~ODF_MOD_USER)
#define ODA_mod_int(o)   (ODA_flags(o) & ODF_MOD_INT)
#define Set_ODA_mod_int(o)   (ODA_flags(o) |= ODF_MOD_INT)
#define Reset_ODA_mod_int(o)   (ODA_flags(o) &= ~ODF_MOD_INT)
#define Set_ODA_mod(o)   (ODA_flags(o) |= ODF_MOD)
#define ODA_print(o)   (ODA_flags(o) & ODF_PRINT)
#define Set_ODA_print(o)   (ODA_flags(o) |= ODF_PRINT)
#define Reset_ODA_print(o)   (ODA_flags(o) &= ~ODF_PRINT)
#define ODA_printed(o)   (ODA_flags(o) & ODF_PRINTED)
#define Set_ODA_printed(o)   (ODA_flags(o) |= ODF_PRINTED)
#define Reset_ODA_printed(o)   (ODA_flags(o) &= ~ODF_PRINTED)
#define OGROUP_aux(o)   ((OGROUP_AUX *)((o)->aux))
#define Set_OGROUP_aux(o, a)   (((o)->aux)=(OGROUP_AUX *)(a))
#define OGF_SET   0x01 /* Something has been set */
#define OGF_INTERNAL   0x02 /* Entire group is internal */
#define OGA_flags(o)   ((o)->flags)
#define OGA_count(o)   ((o)->count)
#define OGA_odesc_aux(o)   ((o)->odesc_aux)
#define OGA_set(o)   (OGA_flags(o) & OGF_SET)
#define Set_OGA_set(o)   (OGA_flags(o) |= OGF_SET)
#define Reset_OGA_set(o)   (OGA_flags(o) &= ~OGF_SET)
#define OGA_internal(o)   (OGA_flags(o) & OGF_INTERNAL)
#define Set_OGA_internal(o)   (OGA_flags(o) |= OGF_INTERNAL)
#define Reset_OGA_internal(o)   (OGA_flags(o) &= ~OGF_INTERNAL)
#define individual_option(opt, str)

Typedefs

typedef union optval OPTVAL
typedef struct odesc_aux ODESC_AUX
typedef struct ogroup_aux OGROUP_AUX

Functions

INT64 Get_Numeric_Flag (char **cp, INT64 min, INT64 max, INT64 def, char *flag)
BOOL Atoi_KMG (const char *s, INT64 *val, BOOL suffix_required)
static INT Copy_option (OPTION_DESC *odesc, char *container, BOOL save)
static void Duplicate_Value (OPTION_DESC *odesc, OPTVAL *container)
static void Initialize_Option_Group (OPTION_GROUP *ogroup)
void Set_Option_Internal (OPTION_GROUP *ogroup, char *name)
void Initialize_Option_Groups (OPTION_GROUP *ogroups)
static void Update_Scalar_Value (OPTION_DESC *odesc, UINT64 val)
static void Update_Pointer_Value (OPTION_DESC *odesc, void *val)
BOOL Process_Command_Line_Group (char *flag, OPTION_GROUP *opt_groups)
static BOOL Modified_Option (OPTION_DESC *odesc)
void Print_Option_Group (FILE *tf, OPTION_GROUP *og, char *prefix, BOOL internal, BOOL full, BOOL update)
void Trace_Option_Group (FILE *tf, OPTION_GROUP *og, BOOL full)
void Trace_Command_Line_Group (FILE *tf, OPTION_GROUP *og)
void Print_Option_Groups (FILE *tf, OPTION_GROUP *og, char *prefix, BOOL internal, BOOL full, BOOL update)
void Trace_Option_Groups (FILE *tf, OPTION_GROUP *og, BOOL full)
OPTION_GROUPGet_Command_Line_Group (OPTION_GROUP *og, char *name)
void Save_or_restore_options (char *memory, INT32 size, BOOL save)

Variables

char * SBar

Define Documentation

#define individual_option (   opt,
  str 
)
Value:
ODESC_kind(&odesc) = OVK_INT32; \
    ODESC_variable(&odesc) = (void *)&opt; \
    ODESC_can_change_by_pragma(&odesc) = TRUE; \
    incr = Copy_option(&odesc, (char *)(memory+offset), save); \
    offset += incr; \
    Is_Trace(trace, (TFile, "  %s %d: %s (%d bytes)\n", \
                     save ? "saving" : "restoring", offset, str, incr));

Definition at line 1257 of file flags.c.

Referenced by Save_or_restore_options().

#define ODA_flags (   o)    ((o)->flags)

Definition at line 247 of file flags.c.

#define ODA_last (   o)    ((o)->last)

Definition at line 255 of file flags.c.

Referenced by Initialize_Option_Group().

#define ODA_last_i (   o)    ((o)->last.i)

Definition at line 256 of file flags.c.

Referenced by Modified_Option(), and Update_Scalar_Value().

#define ODA_last_p (   o)    ((o)->last.p)

Definition at line 257 of file flags.c.

Referenced by Modified_Option(), and Update_Pointer_Value().

#define ODA_mod_int (   o)    (ODA_flags(o) & ODF_MOD_INT)

Definition at line 268 of file flags.c.

Referenced by Print_Option_Group().

#define ODA_mod_user (   o)    (ODA_flags(o) & ODF_MOD_USER)

Definition at line 265 of file flags.c.

Referenced by Print_Option_Group().

#define ODA_orig (   o)    ((o)->orig)

Definition at line 252 of file flags.c.

Referenced by Initialize_Option_Group().

#define ODA_orig_i (   o)    ((o)->orig.i)

Definition at line 253 of file flags.c.

#define ODA_orig_p (   o)    ((o)->orig.p)

Definition at line 254 of file flags.c.

#define ODA_primary (   o)    ((o)->primary)

Definition at line 250 of file flags.c.

Referenced by Initialize_Option_Group().

#define ODA_print (   o)    (ODA_flags(o) & ODF_PRINT)

Definition at line 272 of file flags.c.

Referenced by Print_Option_Group().

#define ODA_printed (   o)    (ODA_flags(o) & ODF_PRINTED)

Definition at line 275 of file flags.c.

#define ODA_set_int (   o)    (ODA_flags(o) & ODF_SET_INT)

Definition at line 261 of file flags.c.

Referenced by Print_Option_Group().

#define ODA_set_user (   o)    (ODA_flags(o) & ODF_SET_USER)

Definition at line 258 of file flags.c.

Referenced by Print_Option_Group().

#define ODA_specified (   o)    ((o)->specified)

Definition at line 248 of file flags.c.

Referenced by Initialize_Option_Group(), and Process_Command_Line_Group().

#define ODESC_orig_specified (   o)    ((o)->aux)

Definition at line 221 of file flags.c.

Referenced by Initialize_Option_Group().

#define ODESC_primary (   o)    ODA_primary(ODESC_aux(o))

Definition at line 251 of file flags.c.

Referenced by Print_Option_Group().

#define ODESC_specified (   o)    ODA_specified(ODESC_aux(o))

Definition at line 249 of file flags.c.

Referenced by Initialize_Option_Group().

#define ODF_MOD   0x0c /* Modified (for setting only) */

Definition at line 243 of file flags.c.

#define ODF_MOD_INT   0x08 /* Modified since a internal print */

Definition at line 242 of file flags.c.

#define ODF_MOD_USER   0x04 /* Modified since a user print */

Definition at line 241 of file flags.c.

#define ODF_PRINT   0x10 /* Print (because set/modified) */

Definition at line 244 of file flags.c.

#define ODF_PRINTED   0x20 /* Printed (for ODK_LIST options) */

Definition at line 245 of file flags.c.

#define ODF_SET   0x03 /* Set (for setting only) */

Definition at line 240 of file flags.c.

#define ODF_SET_INT   0x02 /* Set since a internal print */

Definition at line 239 of file flags.c.

#define ODF_SET_USER   0x01 /* Set since a user print */

Definition at line 238 of file flags.c.

#define OGA_count (   o)    ((o)->count)

Definition at line 295 of file flags.c.

Referenced by Initialize_Option_Group(), and Save_or_restore_options().

#define OGA_flags (   o)    ((o)->flags)

Definition at line 294 of file flags.c.

#define OGA_internal (   o)    (OGA_flags(o) & OGF_INTERNAL)

Definition at line 300 of file flags.c.

Referenced by Print_Option_Group().

#define OGA_odesc_aux (   o)    ((o)->odesc_aux)

Definition at line 296 of file flags.c.

Referenced by Initialize_Option_Group(), and Save_or_restore_options().

#define OGA_set (   o)    (OGA_flags(o) & OGF_SET)

Definition at line 297 of file flags.c.

#define OGF_INTERNAL   0x02 /* Entire group is internal */

Definition at line 292 of file flags.c.

#define OGF_SET   0x01 /* Something has been set */

Definition at line 291 of file flags.c.

#define OGROUP_aux (   o)    ((OGROUP_AUX *)((o)->aux))
#define Reset_ODA_mod_int (   o)    (ODA_flags(o) &= ~ODF_MOD_INT)

Definition at line 270 of file flags.c.

Referenced by Print_Option_Group().

#define Reset_ODA_mod_user (   o)    (ODA_flags(o) &= ~ODF_MOD_USER)

Definition at line 267 of file flags.c.

Referenced by Print_Option_Group().

#define Reset_ODA_print (   o)    (ODA_flags(o) &= ~ODF_PRINT)

Definition at line 274 of file flags.c.

Referenced by Print_Option_Group().

#define Reset_ODA_printed (   o)    (ODA_flags(o) &= ~ODF_PRINTED)

Definition at line 277 of file flags.c.

Referenced by Print_Option_Group().

#define Reset_ODA_set_int (   o)    (ODA_flags(o) &= ~ODF_SET_INT)

Definition at line 263 of file flags.c.

Referenced by Print_Option_Group().

#define Reset_ODA_set_user (   o)    (ODA_flags(o) &= ~ODF_SET_USER)

Definition at line 260 of file flags.c.

Referenced by Print_Option_Group().

#define Reset_OGA_internal (   o)    (OGA_flags(o) &= ~OGF_INTERNAL)

Definition at line 302 of file flags.c.

#define Reset_OGA_set (   o)    (OGA_flags(o) &= ~OGF_SET)

Definition at line 299 of file flags.c.

#define Set_ODA_mod (   o)    (ODA_flags(o) |= ODF_MOD)

Definition at line 271 of file flags.c.

Referenced by Process_Command_Line_Group(), Update_Pointer_Value(), and Update_Scalar_Value().

#define Set_ODA_mod_int (   o)    (ODA_flags(o) |= ODF_MOD_INT)

Definition at line 269 of file flags.c.

#define Set_ODA_mod_user (   o)    (ODA_flags(o) |= ODF_MOD_USER)

Definition at line 266 of file flags.c.

#define Set_ODA_print (   o)    (ODA_flags(o) |= ODF_PRINT)

Definition at line 273 of file flags.c.

Referenced by Print_Option_Group().

#define Set_ODA_printed (   o)    (ODA_flags(o) |= ODF_PRINTED)

Definition at line 276 of file flags.c.

#define Set_ODA_set (   o)    (ODA_flags(o) |= ODF_SET)

Definition at line 264 of file flags.c.

Referenced by Process_Command_Line_Group(), Update_Pointer_Value(), and Update_Scalar_Value().

#define Set_ODA_set_int (   o)    (ODA_flags(o) |= ODF_SET_INT)

Definition at line 262 of file flags.c.

#define Set_ODA_set_user (   o)    (ODA_flags(o) |= ODF_SET_USER)

Definition at line 259 of file flags.c.

#define Set_ODESC_aux (   o,
 
)    (((o)->aux)=(ODESC_AUX *)(a))

Definition at line 223 of file flags.c.

Referenced by Initialize_Option_Group().

#define Set_OGA_internal (   o)    (OGA_flags(o) |= OGF_INTERNAL)

Definition at line 301 of file flags.c.

Referenced by Set_Option_Internal().

#define Set_OGA_set (   o)    (OGA_flags(o) |= OGF_SET)

Definition at line 298 of file flags.c.

#define Set_OGROUP_aux (   o,
 
)    (((o)->aux)=(OGROUP_AUX *)(a))

Definition at line 283 of file flags.c.

Referenced by Initialize_Option_Group().


Typedef Documentation

typedef struct odesc_aux ODESC_AUX
typedef struct ogroup_aux OGROUP_AUX
typedef union optval OPTVAL

Function Documentation

BOOL Atoi_KMG ( const char *  s,
INT64 val,
BOOL  suffix_required 
)

Definition at line 173 of file flags.c.

References c, FALSE, and TRUE.

Referenced by LNO_Configure().

static INT Copy_option ( OPTION_DESC odesc,
char *  container,
BOOL  save 
) [static]
static void Duplicate_Value ( OPTION_DESC odesc,
OPTVAL container 
) [static]
OPTION_GROUP* Get_Command_Line_Group ( OPTION_GROUP og,
char *  name 
)

Definition at line 1243 of file flags.c.

References NULL, and OGROUP_name.

Referenced by Preconfigure(), and OPTIONS_STACK::Process_Pragma_Options().

INT64 Get_Numeric_Flag ( char **  cp,
INT64  min,
INT64  max,
INT64  def,
char *  flag 
)

Definition at line 77 of file flags.c.

References c, EC_Flag_Digit, EC_Flag_Range, ErrMsg(), FALSE, TRUE, and val.

Referenced by Get_Trace_Phase_Number(), Process_Command_Line(), Process_Command_Line_Group(), and Process_Trace_Option().

Here is the call graph for this function:

Definition at line 549 of file flags.c.

References Initialize_Option_Group(), NULL, OGROUP_name, and OGROUP_options.

Referenced by Preconfigure(), and Process_Command_Line_Group().

Here is the call graph for this function:

void Print_Option_Groups ( FILE *  tf,
OPTION_GROUP og,
char *  prefix,
BOOL  internal,
BOOL  full,
BOOL  update 
)

Definition at line 1214 of file flags.c.

References NULL, OGROUP_name, and Print_Option_Group().

Referenced by List_Compile_Options(), and Trace_Option_Groups().

Here is the call graph for this function:

void Set_Option_Internal ( OPTION_GROUP ogroup,
char *  name 
)
void Trace_Command_Line_Group ( FILE *  tf,
OPTION_GROUP og 
)

Definition at line 1199 of file flags.c.

References FALSE, Print_Option_Group(), and TRUE.

Referenced by OPTIONS_STACK::Process_Pragma_Options().

Here is the call graph for this function:

void Trace_Option_Group ( FILE *  tf,
OPTION_GROUP og,
BOOL  full 
)

Definition at line 1191 of file flags.c.

References Print_Option_Group(), and TRUE.

Here is the call graph for this function:

void Trace_Option_Groups ( FILE *  tf,
OPTION_GROUP og,
BOOL  full 
)

Definition at line 1226 of file flags.c.

References Print_Option_Groups(), and TRUE.

Referenced by Configure_Source().

Here is the call graph for this function:

static void Update_Pointer_Value ( OPTION_DESC odesc,
void *  val 
) [static]

Definition at line 628 of file flags.c.

References ODA_last_p, ODESC_aux, ODESC_variable, Set_ODA_mod, Set_ODA_set, and val.

Referenced by Process_Command_Line_Group().

static void Update_Scalar_Value ( OPTION_DESC odesc,
UINT64  val 
) [static]

Variable Documentation

char* SBar

Definition at line 64 of file tracing.c.

Referenced by List_Compile_Options(), and Print_Option_Group().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines