1 #ifndef CONTRADICTION_H
2 #define CONTRADICTION_H
142 static void insert(
cause why, std::string
const & symname);
158 static void save(
cause why, std::string
const & symname);
static unsigned _unconditional_errored_lines_
The number of lines converted to unconditional error directives.
static void forget()
Forget about an apparent contradiction.
static void save(cause why, std::string const &symname)
Save diagnostic details of a potential contradiction.
cause
Reasons for reporting a contadiction.
An in-souce #define differently redefines a -D option.
An in-souce #undef contradicts a -D option.
static unsigned _errored_lines_
The number of lines converted to error directives.
static void insert_pending()
Insert a stored error diagnostic into output.
Class contradiction handles contradictions between commandline options and directives.
static contradiction_policy _policy_
The operative contradiction policy.
contradiction_policy
Symbolic constants denoting policies for handling contradictions.
static void insert(cause why, std::string const &symname)
Insert an error diagnostic into the output as a error directive or comment.
An in-souce #define contradicts a -U option.
static std::string const & last_conflicted_symbol_id()
Get the name of the latest #undef-ed symbol.
static void flush()
Discharge any pending contradiction.
static std::string _last_conflicted_symbol_
The name of the latest #undef-ed symbol.
static void set_contradiction_policy(contradiction_policy p)
Set the operative contradiction policy.
static unsigned _policy_code_
The reason-code of diagnostics associated with the operative contradiction policy.
static std::string _subst_text_
Text for substitution in output.