<?xml version="1.0"?>
<!DOCTYPE flagsdescription SYSTEM
       "http://www.spec.org/dtd/cpuflags2.dtd">

<!-- This file defines flags in 605.mcf_s.

  Copyright 2015-2017 Standard Performance Evaluation Corporation

  $Revision: 5894 $
  $Date: 2018-04-13 18:53:49 -0400 (Fri, 13 Apr 2018) $
-->
<flagsdescription>

<filename>605.mcf_s.flags</filename>

<title>605.mcf_s Flags</title>

<header>
<![CDATA[
<p>These are flags that appear in the benchmark sources, categorized as to
   whether they are portability candidates, mandatory, or forbidden.</p>
]]>
</header>

<flag name="DABS" class="forbidden" regexp="[-/]DABS(?:=\S*)?\b">
<example>-DABS</example>
Set macro to define code for the absolute value.
</flag>

<flag name="DAT_HOME" class="forbidden" regexp="[-/]DAT_HOME(?:=\S*)?\b">
<example>-DAT_HOME</example>
Enable diagnostic information.
</flag>

<flag name="DAT_ZERO" class="forbidden" regexp="[-/]DAT_ZERO(?:=\S*)?\b">
<example>-DAT_ZERO</example>
Enable the AT_ZERO case.
</flag>

<flag name="DDEBUG" class="forbidden" regexp="[-/]DDEBUG(?:=\S*)?\b">
<example>-DDEBUG</example>
Enable debugging information.
</flag>

<flag name="DFREE" class="forbidden" regexp="[-/]DFREE(?:=\S*)?\b">
<example>-DFREE</example>
Set macro for freeing memory which checks if the pointer is NULL before calling "free".
</flag>

<flag name="DINTERNAL_TIMING" class="forbidden" regexp="[-/]DINTERNAL_TIMING(?:=\S*)?\b">
<example>-DINTERNAL_TIMING</example>
Enable internal timing.
</flag>

<flag name="DNULL" class="forbidden" regexp="[-/]DNULL(?:=\S*)?\b">
<example>-DNULL</example>
Set the NULL macro to zero if not defined by the system.
</flag>

<flag name="DPRId64" class="portability">
  This macro contains the string value of the printf() format string that can be
  used to print a 64-bit signed integer.  The default value is "lld" on 32-bit
  systems and "ld" on 64-bit systems.
</flag>

<flag name="DSET_ZERO" class="forbidden" regexp="[-/]DSET_ZERO(?:=\S*)?\b">
<example>-DSET_ZERO</example>
Set a macro to define how to zero out memory.  Note that this disallows, for SPEC benchmarking purposes,
use of "bzero()" by using "memset()".
</flag>

<flag name="DSPEC_HAVE_INTTYPES_H" class="portability">
  This macro may be defined on Windows systems when the compilation system
  supplies the inttypes.h header file.  Otherwise, the file included with
  the benchmark sources is used.
</flag>

<flag name="DWANT_STDC_PROTO" class="portability">
Because we always set SPEC, this flag has no effect anyway, see prototyp.h.
</flag>

<flag name="header_guards" class="forbidden" regexp="[-/]D_(?:DEFINES|IMPLICIT|MCFUTIL|MCF|MCF_LIMITS|OUTPUT|PBEAMPP|PBLA|PFLOWUP|PROTOTYP|PSIMPLEX|PSTART|READMIN|TREEUP)_H(?:=\S*)?\b">
<example>
-D_DEFINES_H,
-D_IMPLICIT_H,
-D_MCFUTIL_H,
-D_MCF_H,
-D_MCF_LIMITS_H,
-D_OUTPUT_H,
-D_PBEAMPP_H,
-D_PBLA_H,
-D_PFLOWUP_H,
-D_PROTOTYP_H,
-D_PSIMPLEX_H,
-D_PSTART_H,
-D_READMIN_H,
-D_TREEUP_H
</example>
This macro is used to guard against multiple header inclusion, and may not
be set explicitly.
</flag>

<flag name="D_PROTO_" class="forbidden">
Setting _PROTO would undermine SPEC's intention in file prototype.h.
It is forbidden to redefine it.
</flag>

<!---flag name="D_WIN32" class="portability">
<flag name="D_WIN64" class="untouched">
<flag name="D__STDC_FORMAT_MACROS" class="untouched">
<flag name="D__STDC_VERSION__" class="untouched">
<flag name="D__STDC__" class="portability">
<flag name="D__cplusplus" class="portability">
Ignore implicit system and compiler macros.
</flag-->


</flagsdescription>
