#ifdef FRONTENDSTART
__FRONTENDSTART = DIAG_START_FRONTEND,
#undef FRONTENDSTART
#endif

DIAG(err_fe_dependency_file_requires_MT, CLASS_ERROR, diag::MAP_ERROR, "-dependency-file requires at least one -MT or -MQ option", 0, true, 0)
DIAG(err_fe_error_backend, CLASS_ERROR, diag::MAP_FATAL, "error in backend: %0", 0, true, 0)
DIAG(err_fe_error_opening, CLASS_ERROR, diag::MAP_ERROR, "error opening '%0': %1", 0, true, 0)
DIAG(err_fe_error_reading, CLASS_ERROR, diag::MAP_ERROR, "error reading '%0'", 0, true, 0)
DIAG(err_fe_error_reading_stdin, CLASS_ERROR, diag::MAP_ERROR, "error reading stdin", 0, true, 0)
DIAG(err_fe_expected_clang_command, CLASS_ERROR, diag::MAP_ERROR, "expected a clang compiler command", 0, true, 0)
DIAG(err_fe_expected_compiler_job, CLASS_ERROR, diag::MAP_ERROR, "unable to handle compilation, expected exactly one compiler job in '%0'", 0, true, 0)
DIAG(err_fe_incompatible_options, CLASS_ERROR, diag::MAP_FATAL, "'%0' cannot be used with '%1'", 0, true, 0)
DIAG(err_fe_inline_asm, CLASS_ERROR, diag::MAP_ERROR, "%0", 0, true, 4)
DIAG(err_fe_invalid_ast_action, CLASS_ERROR, diag::MAP_FATAL, "invalid action for AST input", 0, true, 0)
DIAG(err_fe_invalid_ast_file, CLASS_ERROR, diag::MAP_FATAL, "invalid AST file: '%0'", 0, true, 0)
DIAG(err_fe_invalid_code_complete_file, CLASS_ERROR, diag::MAP_FATAL, "cannot locate code-completion file %0", 0, true, 0)
DIAG(err_fe_invalid_plugin_name, CLASS_ERROR, diag::MAP_ERROR, "unable to find plugin '%0'", 0, true, 0)
DIAG(err_fe_invoking, CLASS_ERROR, diag::MAP_FATAL, "error invoking%0: %1", 0, true, 0)
DIAG(err_fe_no_fixit_and_codegen, CLASS_ERROR, diag::MAP_ERROR, "FIX-ITs cannot be applied when generating code", 0, true, 0)
DIAG(err_fe_not_a_pch_file, CLASS_ERROR, diag::MAP_ERROR, "input is not a PCH file: '%0'", 0, true, 0)
DIAG(err_fe_pch_error_at_end_block, CLASS_ERROR, diag::MAP_FATAL, "error at end of module block in PCH file: '%0'", 0, true, 0)
DIAG(err_fe_pch_file_modified, CLASS_ERROR, diag::MAP_FATAL, "file '%0' has been modified since the precompiled header was built", 0, true, 0)
DIAG(err_fe_pch_malformed, CLASS_ERROR, diag::MAP_FATAL, "malformed or corrupted PCH file: '%0'", 0, true, 0)
DIAG(err_fe_pch_malformed_block, CLASS_ERROR, diag::MAP_FATAL, "malformed block record in PCH file: '%0'", 0, true, 0)
DIAG(err_fe_pth_file_has_no_source_header, CLASS_ERROR, diag::MAP_ERROR, "PTH file '%0' does not designate an original source header file for -include-pth", 0, true, 0)
DIAG(err_fe_remap_missing_from_file, CLASS_ERROR, diag::MAP_FATAL, "could not remap from missing file '%0'", 0, true, 0)
DIAG(err_fe_remap_missing_to_file, CLASS_ERROR, diag::MAP_FATAL, "could not remap file '%0' to the contents of file '%1'", 0, true, 0)
DIAG(err_fe_stderr_binary, CLASS_ERROR, diag::MAP_FATAL, "unable to change standard error to binary", 0, true, 0)
DIAG(err_fe_stdout_binary, CLASS_ERROR, diag::MAP_FATAL, "unable to change standard output to binary", 0, true, 0)
DIAG(err_fe_unable_to_create_target, CLASS_ERROR, diag::MAP_ERROR, "unable to create target: '%0'", 0, true, 0)
DIAG(err_fe_unable_to_find_fixit_file, CLASS_ERROR, diag::MAP_ERROR, "FIX-IT could not find file '%0'", 0, true, 0)
DIAG(err_fe_unable_to_interface_with_target, CLASS_ERROR, diag::MAP_ERROR, "unable to interface with target machine", 0, true, 0)
DIAG(err_fe_unable_to_load_pch, CLASS_ERROR, diag::MAP_ERROR, "unable to load PCH file", 0, true, 0)
DIAG(err_fe_unable_to_load_plugin, CLASS_ERROR, diag::MAP_ERROR, "unable to load plugin '%0': '%1'", 0, true, 0)
DIAG(err_fe_unable_to_open_logfile, CLASS_ERROR, diag::MAP_ERROR, "unable to open logfile file '%0': '%1'", 0, true, 0)
DIAG(err_fe_unable_to_open_output, CLASS_ERROR, diag::MAP_ERROR, "unable to open output file '%0': '%1'", 0, true, 0)
DIAG(err_fe_unable_to_read_pch_file, CLASS_ERROR, diag::MAP_ERROR, "unable to read PCH file: '%0'", 0, true, 0)
DIAG(err_not_a_pch_file, CLASS_ERROR, diag::MAP_FATAL, "'%0' does not appear to be a precompiled header file", 0, true, 0)
DIAG(err_relocatable_without_isysroot, CLASS_ERROR, diag::MAP_ERROR, "must specify system root with -isysroot when building a relocatable PCH file", 0, true, 0)
DIAG(err_verify_inconsistent_diags, CLASS_ERROR, diag::MAP_ERROR, "'%0' diagnostics %select{expected|seen}1 but not %select{seen|expected}1: %2", 0, true, 0)
DIAG(err_verify_invalid_content, CLASS_ERROR, diag::MAP_ERROR, "invalid expected %0: %1", 0, true, 0)
DIAG(err_verify_missing_end, CLASS_ERROR, diag::MAP_ERROR, "cannot find end ('}}') of expected %0", 0, true, 0)
DIAG(err_verify_missing_start, CLASS_ERROR, diag::MAP_ERROR, "cannot find start ('{{') of expected %0", 0, true, 0)
DIAG(note_fe_inline_asm_here, CLASS_NOTE, diag::MAP_FATAL, "instantated into assembly here", 0, true, 0)
DIAG(note_fixit_applied, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT applied suggested code changes", 0, true, 0)
DIAG(note_fixit_failed, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT unable to apply suggested code changes", 0, true, 0)
DIAG(note_fixit_in_macro, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT unable to apply suggested code changes in a macro", 0, true, 0)
DIAG(note_fixit_main_file_unchanged, CLASS_NOTE, diag::MAP_FATAL, "main file unchanged", 0, true, 0)
DIAG(note_fixit_unfixed_error, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT detected an error it cannot fix", 0, true, 0)
DIAG(note_pch_macro_defined_as, CLASS_NOTE, diag::MAP_FATAL, "definition of macro '%0' in the precompiled header", 0, true, 0)
DIAG(note_using_macro_def_from_pch, CLASS_NOTE, diag::MAP_FATAL, "using this macro definition from precompiled header", 0, true, 0)
DIAG(warn_cmdline_conflicting_macro_def, CLASS_ERROR, diag::MAP_ERROR, "definition of the macro '%0' conflicts with the definition used to build the precompiled header", 0, true, 0)
DIAG(warn_cmdline_missing_macro_defs, CLASS_WARNING, diag::MAP_WARNING, "macro definitions used to build the precompiled header are missing", 0, true, 0)
DIAG(warn_fe_macro_contains_embedded_newline, CLASS_WARNING, diag::MAP_WARNING, "macro '%0' contains embedded newline, text after the newline is ignored.", 0, true, 0)
DIAG(warn_fixit_no_changes, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT detected errors it could not fix; no output will be generated", 0, true, 0)
DIAG(warn_macro_name_used_in_pch, CLASS_ERROR, diag::MAP_ERROR, "definition of macro %0 conflicts with an identifier used in the precompiled header", 0, true, 0)
DIAG(warn_pch_access_control, CLASS_ERROR, diag::MAP_ERROR, "C++ access control was %select{disabled|enabled}0 in the PCH file but is currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_altivec, CLASS_ERROR, diag::MAP_ERROR, "AltiVec initializers were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_blocks, CLASS_ERROR, diag::MAP_ERROR, "blocks were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_builtins, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled with builtins %select{enabled|disabled}0 but builtins are currently %select{enabled|disabled}1", 0, true, 0)
DIAG(warn_pch_c99, CLASS_ERROR, diag::MAP_ERROR, "C99 support was %select{disabled|enabled}0 in PCH file but is currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_char_signed, CLASS_ERROR, diag::MAP_ERROR, "char was %select{unsigned|signed}0 in the PCH file but is currently %select{unsigned|signed}1", 0, true, 0)
DIAG(warn_pch_compiler_options_mismatch, CLASS_ERROR, diag::MAP_ERROR, "compiler options used when building the precompiled header differ from the options used when using the precompiled header", 0, true, 0)
DIAG(warn_pch_cplusplus, CLASS_ERROR, diag::MAP_ERROR, "C++ support was %select{disabled|enabled}0 in PCH file but is currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_cplusplus0x, CLASS_ERROR, diag::MAP_ERROR, "C++0x support was %select{disabled|enabled}0 in PCH file but is currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_different_branch, CLASS_ERROR, diag::MAP_ERROR, "PCH file built from a different branch (%0) than the compiler (%1)", 0, true, 0)
DIAG(warn_pch_elide_constructors, CLASS_ERROR, diag::MAP_ERROR, "Elidable copy constructors were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_exceptions, CLASS_ERROR, diag::MAP_ERROR, "exceptions were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_extensions, CLASS_ERROR, diag::MAP_ERROR, "extensions were %select{enabled|disabled}0 in PCH file but are currently %select{enabled|disabled}1", 0, true, 0)
DIAG(warn_pch_freestanding, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled with a %select{hosted|freestanding}0  implementation but a %select{hosted|freestanding}1 implementation is selected", 0, true, 0)
DIAG(warn_pch_gc_mode, CLASS_ERROR, diag::MAP_ERROR, "the PCH file was built with %select{no||hybrid}0 garbage collection but the current translation unit will compiled with %select{no||hybrid}1 garbage collection", 0, true, 0)
DIAG(warn_pch_gnu_extensions, CLASS_ERROR, diag::MAP_ERROR, "GNU extensions were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_gnu_inline, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled with %select{C99|GNU|}0 inline semantics but %select{C99|GNU}1 inline semantics are currently selected", 0, true, 0)
DIAG(warn_pch_gnu_keywords, CLASS_ERROR, diag::MAP_ERROR, "GNU keywords were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_heinous_extensions, CLASS_ERROR, diag::MAP_ERROR, "heinous extensions were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_lax_vector_conversions, CLASS_ERROR, diag::MAP_ERROR, "lax vector conversions were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_math_errno, CLASS_ERROR, diag::MAP_ERROR, "math functions %select{do not respect|respect}0 'errno' in PCH file but they are currently set to %select{not respect|respect}1 'errno'", 0, true, 0)
DIAG(warn_pch_microsoft_extensions, CLASS_ERROR, diag::MAP_ERROR, "Microsoft extensions were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_no_constant_cfstrings, CLASS_ERROR, diag::MAP_ERROR, "Objctive-C NSstring generation support was %select{disabled|enabled}0 in PCH file but currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_no_inline, CLASS_ERROR, diag::MAP_ERROR, "the macro '__NO_INLINE__' was %select{not defined|defined}0 in the PCH file but is currently %select{undefined|defined}1", 0, true, 0)
DIAG(warn_pch_nonfragile_abi, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled with the %select{32-bit|non-fragile}0 Objective-C ABI but the %select{32-bit|non-fragile}1 Objective-C ABI is selected", 0, true, 0)
DIAG(warn_pch_nonfragile_abi2, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled with the %select{32-bit|enhanced non-fragile}0 Objective-C ABI but the %select{32-bit|enhanced non-fragile}1 Objective-C ABI is selected", 0, true, 0)
DIAG(warn_pch_objc_runtime, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled with the %select{NeXT|GNU}0 runtime but the %select{NeXT|GNU}1 runtime is selected", 0, true, 0)
DIAG(warn_pch_objective_c, CLASS_ERROR, diag::MAP_ERROR, "Objective-C support was %select{disabled|enabled}0 in PCH file but is currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_objective_c2, CLASS_ERROR, diag::MAP_ERROR, "Objective-C 2.0 support was %select{disabled|enabled}0 in PCH file but is currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_opencl, CLASS_ERROR, diag::MAP_ERROR, "OpenCL language extensions were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_optimize, CLASS_ERROR, diag::MAP_ERROR, "the macro '__OPTIMIZE__' was %select{not defined|defined}0 in the PCH file but is currently %select{undefined|defined}1", 0, true, 0)
DIAG(warn_pch_optimize_size, CLASS_ERROR, diag::MAP_ERROR, "the macro '__OPTIMIZE_SIZE__' was %select{not defined|defined}0 in the PCH file but is currently %select{undefined|defined}1", 0, true, 0)
DIAG(warn_pch_pic_level, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled with PIC level %0, but the current translation unit will be compiled with PIC level %1", 0, true, 0)
DIAG(warn_pch_posix_threads, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled %select{without|with}0 POSIX thread support but POSIX threads are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_short_wchar, CLASS_ERROR, diag::MAP_ERROR, "-fshort-wchar was %select{disabled|enabled}0 in the PCH file but is currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_sjlj_exceptions, CLASS_ERROR, diag::MAP_ERROR, "sjlj-exceptions were %select{disabled|enabled}0 in PCH file but are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_stack_protector, CLASS_ERROR, diag::MAP_ERROR, "stack protector was %select{off|on|required}0 in PCH file but is currently %select{off|on|required}1", 0, true, 0)
DIAG(warn_pch_static, CLASS_ERROR, diag::MAP_ERROR, "the PCH file was compiled %select{dynamic|static}0 but the current translation unit is being compiled as %select{dynamic|static}1", 0, true, 0)
DIAG(warn_pch_target_triple, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled for the target '%0' but the current translation unit is being compiled for target '%1'", 0, true, 0)
DIAG(warn_pch_thread_safe_statics, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled %select{without|with}0 thread-safe statics but thread-safe statics are currently %select{disabled|enabled}1", 0, true, 0)
DIAG(warn_pch_version_too_new, CLASS_ERROR, diag::MAP_ERROR, "PCH file uses a newer PCH format that cannot be read", 0, true, 0)
DIAG(warn_pch_version_too_old, CLASS_ERROR, diag::MAP_ERROR, "PCH file uses an older PCH format that is no longer supported", 0, true, 0)
DIAG(warn_unknown_warning_option, CLASS_WARNING, diag::MAP_WARNING, "unknown warning option '%0'", "unknown-warning-option", true, 0)
DIAG(warn_unknown_warning_specifier, CLASS_WARNING, diag::MAP_WARNING, "unknown %0 warning specifier: '%1'", "unknown-warning-option", true, 0)
