/* Command line option handling. Code involving global state that
should not be shared with the driver.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of GCC.
#include "diagnostic.h"
#include "opts.h"
#include "flags.h"
+#include "alias.h"
+#include "symtab.h"
#include "tree.h" /* Required by langhooks.h. */
+#include "fold-const.h"
+#include "predict.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
#include "gimple-expr.h"
-#include "is-a.h"
#include "gimple.h"
#include "langhooks.h"
-#include "tm.h" /* Required by rtl.h. */
#include "rtl.h"
#include "dbgcnt.h"
#include "debug.h"
+#include "cgraph.h"
#include "lto-streamer.h"
#include "output.h"
#include "plugin.h"
#include "toplev.h"
#include "tree-pass.h"
#include "context.h"
+#include "asan.h"
typedef const char *const_char_p; /* For DEF_VEC_P. */
we only complain about unknown -Wno-* options if they may have
prevented a diagnostic. Otherwise, we just ignore them. Note that
if we do complain, it is only as a warning, not an error; passing
- the compiler an unrecognised -Wno-* option should never change
+ the compiler an unrecognized -Wno-* option should never change
whether the compilation succeeds or fails. */
static void
opt = ignored_options.pop ();
warning_at (UNKNOWN_LOCATION, 0,
- "unrecognized command line option \"%s\"", opt);
+ "unrecognized command line option %qs", opt);
}
}
initial_lang_mask = lang_hooks.option_lang_mask ();
lang_hooks.initialize_diagnostics (global_dc);
+ /* ??? Ideally, we should do this earlier and the FEs will override
+ it if desired (none do it so far). However, the way the FEs
+ construct their pretty-printers means that all previous settings
+ are overriden. */
+ diagnostic_color_init (global_dc);
}
/* Decode command-line options to an array, like
stack_limit_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (opt->arg));
break;
+ case OPT_fasan_shadow_offset_:
+ if (!(flag_sanitize & SANITIZE_KERNEL_ADDRESS))
+ error ("-fasan-shadow-offset should only be used "
+ "with -fsanitize=kernel-address");
+ if (!set_asan_shadow_offset (opt->arg))
+ error ("unrecognized shadow offset %qs", opt->arg);
+ break;
+
+ case OPT_fsanitize_sections_:
+ set_sanitized_sections (opt->arg);
+ break;
+
default:
gcc_unreachable ();
}