#ifdef DRIVERSTART
__DRIVERSTART = DIAG_START_DRIVER,
#undef DRIVERSTART
#endif

DIAG(err_arc_nonfragile_abi, CLASS_ERROR, diag::MAP_ERROR, "-fobjc-arc is not supported with fragile abi", "", true, false, false, false, 0)
DIAG(err_drv_I_dash_not_supported, CLASS_ERROR, diag::MAP_ERROR, "'%0' not supported, please use -iquote instead", "", true, false, false, false, 0)
DIAG(err_drv_argument_not_allowed_with, CLASS_ERROR, diag::MAP_ERROR, "invalid argument '%0' not allowed with '%1'", "", true, false, false, false, 0)
DIAG(err_drv_argument_only_allowed_with, CLASS_ERROR, diag::MAP_ERROR, "invalid argument '%0' only allowed with '%1'", "", true, false, false, false, 0)
DIAG(err_drv_cc_print_options_failure, CLASS_ERROR, diag::MAP_ERROR, "unable to open CC_PRINT_OPTIONS file: %0", "", true, false, false, false, 0)
DIAG(err_drv_clang_unsupported, CLASS_ERROR, diag::MAP_ERROR, "the clang compiler does not support '%0'", "", true, false, false, false, 0)
DIAG(err_drv_clang_unsupported_opt_cxx_darwin_i386, CLASS_ERROR, diag::MAP_ERROR, "the clang compiler does not support '%0' for C++ on Darwin/i386", "", true, false, false, false, 0)
DIAG(err_drv_clang_unsupported_per_platform, CLASS_ERROR, diag::MAP_ERROR, "the clang compiler does not support '%0' on this platform", "", true, false, false, false, 0)
DIAG(err_drv_command_failed, CLASS_ERROR, diag::MAP_ERROR, "%0 command failed with exit code %1 (use -v to see invocation)", "", true, false, false, false, 0)
DIAG(err_drv_command_failure, CLASS_ERROR, diag::MAP_ERROR, "unable to execute command: %0", "", true, false, false, false, 0)
DIAG(err_drv_command_signalled, CLASS_ERROR, diag::MAP_ERROR, "%0 command failed due to signal (use -v to see invocation)", "", true, false, false, false, 0)
DIAG(err_drv_conflicting_deployment_targets, CLASS_ERROR, diag::MAP_ERROR, "conflicting deployment targets, both '%0' and '%1' are present in environment", "", true, false, false, false, 0)
DIAG(err_drv_invalid_Xarch_argument_isdriver, CLASS_ERROR, diag::MAP_ERROR, "invalid Xarch argument: '%0', cannot change driver behavior inside Xarch argument", "", true, false, false, false, 0)
DIAG(err_drv_invalid_Xarch_argument_with_args, CLASS_ERROR, diag::MAP_ERROR, "invalid Xarch argument: '%0', options requiring arguments are unsupported", "", true, false, false, false, 0)
DIAG(err_drv_invalid_arch_for_deployment_target, CLASS_ERROR, diag::MAP_ERROR, "invalid architecture '%0' for deployment target '%1'", "", true, false, false, false, 0)
DIAG(err_drv_invalid_arch_name, CLASS_ERROR, diag::MAP_ERROR, "invalid arch name '%0'", "", true, false, false, false, 0)
DIAG(err_drv_invalid_darwin_version, CLASS_ERROR, diag::MAP_ERROR, "invalid Darwin version number: %0", "", true, false, false, false, 0)
DIAG(err_drv_invalid_gcc_output_type, CLASS_ERROR, diag::MAP_ERROR, "invalid output type '%0' for use with gcc tool", "", true, false, false, false, 0)
DIAG(err_drv_invalid_int_value, CLASS_ERROR, diag::MAP_ERROR, "invalid integral value '%1' in '%0'", "", true, false, false, false, 0)
DIAG(err_drv_invalid_libcxx_deployment, CLASS_ERROR, diag::MAP_ERROR, "invalid deployment target for -stdlib=libc++ (requires %0 or later)", "", true, false, false, false, 0)
DIAG(err_drv_invalid_mfloat_abi, CLASS_ERROR, diag::MAP_ERROR, "invalid float ABI '%0'", "", true, false, false, false, 0)
DIAG(err_drv_invalid_opt_with_multiple_archs, CLASS_ERROR, diag::MAP_ERROR, "option '%0' cannot be used with multiple -arch options", "", true, false, false, false, 0)
DIAG(err_drv_invalid_output_with_multiple_archs, CLASS_ERROR, diag::MAP_ERROR, "cannot use '%0' output with multiple -arch options", "", true, false, false, false, 0)
DIAG(err_drv_invalid_remap_file, CLASS_ERROR, diag::MAP_ERROR, "invalid option '%0' not of the form <from-file>;<to-file>", "", true, false, false, false, 0)
DIAG(err_drv_invalid_rtlib_name, CLASS_ERROR, diag::MAP_ERROR, "invalid runtime library name in argument '%0'", "", true, false, false, false, 0)
DIAG(err_drv_invalid_stdlib_name, CLASS_ERROR, diag::MAP_ERROR, "invalid library name in argument '%0'", "", true, false, false, false, 0)
DIAG(err_drv_invalid_value, CLASS_ERROR, diag::MAP_ERROR, "invalid value '%1' in '%0'", "", true, false, false, false, 0)
DIAG(err_drv_invalid_version_number, CLASS_ERROR, diag::MAP_ERROR, "invalid version number in '%0'", "", true, false, false, false, 0)
DIAG(err_drv_mg_requires_m_or_mm, CLASS_ERROR, diag::MAP_ERROR, "option '-MG' requires '-M' or '-MM'", "", true, false, false, false, 0)
DIAG(err_drv_missing_argument, CLASS_ERROR, diag::MAP_ERROR, "argument to '%0' is missing (expected %1 %plural{1:value|:values}1)", "", true, false, false, false, 0)
DIAG(err_drv_no_ast_support, CLASS_ERROR, diag::MAP_ERROR, "'%0': unable to use AST files with this tool", "", true, false, false, false, 0)
DIAG(err_drv_no_input_files, CLASS_ERROR, diag::MAP_ERROR, "no input files", "", true, false, false, false, 0)
DIAG(err_drv_no_linker_llvm_support, CLASS_ERROR, diag::MAP_ERROR, "'%0': unable to pass LLVM bit-code files to linker", "", true, false, false, false, 0)
DIAG(err_drv_no_such_file, CLASS_ERROR, diag::MAP_ERROR, "no such file or directory: '%0'", "", true, false, false, false, 0)
DIAG(err_drv_objc_gc_arr, CLASS_ERROR, diag::MAP_ERROR, "cannot specify both '-fobjc-arc' and '%0'", "", true, false, false, false, 0)
DIAG(err_drv_output_argument_with_multiple_files, CLASS_ERROR, diag::MAP_ERROR, "cannot specify -o when generating multiple output files", "", true, false, false, false, 0)
DIAG(err_drv_preamble_format, CLASS_ERROR, diag::MAP_ERROR, "incorrect format for -preamble-bytes=N,END", "", true, false, false, false, 0)
DIAG(err_drv_unable_to_make_temp, CLASS_ERROR, diag::MAP_ERROR, "unable to make temporary file: %0", "", true, false, false, false, 0)
DIAG(err_drv_unable_to_remove_file, CLASS_ERROR, diag::MAP_ERROR, "unable to remove file: %0", "", true, false, false, false, 0)
DIAG(err_drv_unknown_argument, CLASS_ERROR, diag::MAP_ERROR, "unknown argument: '%0'", "", true, false, false, false, 0)
DIAG(err_drv_unknown_language, CLASS_ERROR, diag::MAP_ERROR, "language not recognized: '%0'", "", true, false, false, false, 0)
DIAG(err_drv_unknown_stdin_type, CLASS_ERROR, diag::MAP_ERROR, "-E or -x required when input is from standard input", "", true, false, false, false, 0)
DIAG(err_drv_unsupported_opt, CLASS_ERROR, diag::MAP_ERROR, "unsupported option '%0'", "", true, false, false, false, 0)
DIAG(err_drv_unsupported_option_argument, CLASS_ERROR, diag::MAP_ERROR, "unsupported argument '%1' to option '%0'", "", true, false, false, false, 0)
DIAG(err_drv_unsupported_rtlib_for_platform, CLASS_ERROR, diag::MAP_ERROR, "unsupported runtime library '%0' for platform '%1'", "", true, false, false, false, 0)
DIAG(err_drv_use_of_Z_option, CLASS_ERROR, diag::MAP_ERROR, "unsupported use of internal gcc -Z option '%0'", "", true, false, false, false, 0)
DIAG(note_drv_command_failed_diag_msg, CLASS_NOTE, diag::MAP_FATAL, "diagnostic msg: %0", "", true, false, false, false, 0)
DIAG(warn_c_kext, CLASS_WARNING, diag::MAP_WARNING, "ignoring -fapple-kext which is valid for c++ and objective-c++ only", "", true, false, false, false, 0)
DIAG(warn_drv_assuming_mfloat_abi_is, CLASS_WARNING, diag::MAP_WARNING, "unknown platform, assuming -mfloat-abi=%0", "", true, false, false, false, 0)
DIAG(warn_drv_clang_unsupported, CLASS_WARNING, diag::MAP_WARNING, "the clang compiler does not support '%0'", "", true, false, false, false, 0)
DIAG(warn_drv_conflicting_deployment_targets, CLASS_WARNING, diag::MAP_WARNING, "conflicting deployment targets, both MACOSX_DEPLOYMENT_TARGET '%0' and IPHONEOS_DEPLOYMENT_TARGET '%1' are present in environment", "", true, false, false, false, 0)
DIAG(warn_drv_input_file_unused, CLASS_WARNING, diag::MAP_WARNING, "%0: '%1' input unused when '%2' is present", "", true, false, false, false, 0)
DIAG(warn_drv_not_using_clang_arch, CLASS_WARNING, diag::MAP_WARNING, "not using the clang compiler for the '%0' architecture", "", true, false, false, false, 0)
DIAG(warn_drv_not_using_clang_cpp, CLASS_WARNING, diag::MAP_WARNING, "not using the clang preprocessor due to user override", "", true, false, false, false, 0)
DIAG(warn_drv_not_using_clang_cxx, CLASS_WARNING, diag::MAP_WARNING, "not using the clang compiler for C++ inputs", "", true, false, false, false, 0)
DIAG(warn_drv_objc_gc_unsupported, CLASS_WARNING, diag::MAP_WARNING, "Objective-C garbage collection is not supported on this platform, ignoring '%0'", "", true, false, false, false, 0)
DIAG(warn_drv_pch_not_first_include, CLASS_WARNING, diag::MAP_WARNING, "precompiled header '%0' was ignored because '%1' is not first '-include'", "", true, false, false, false, 0)
DIAG(warn_drv_pipe_ignored_with_save_temps, CLASS_WARNING, diag::MAP_WARNING, "-pipe ignored because -save-temps specified", "", true, false, false, false, 0)
DIAG(warn_drv_preprocessed_input_file_unused, CLASS_WARNING, diag::MAP_WARNING, "%0: previously preprocessed input unused when '%1' is present", "", true, false, false, false, 0)
DIAG(warn_drv_treating_input_as_cxx, CLASS_WARNING, diag::MAP_WARNING, "treating '%0' input as '%1' when in C++ mode, this behavior is deprecated", "deprecated", true, false, false, false, 16)
DIAG(warn_drv_unsupported_option_argument, CLASS_WARNING, diag::MAP_WARNING, "ignoring unsupported argument '%1' to option '%0'", "", true, false, false, false, 0)
DIAG(warn_drv_unused_argument, CLASS_WARNING, diag::MAP_WARNING, "argument unused during compilation: '%0'", "unused-command-line-argument", true, false, false, false, 0)
DIAG(warn_ignoring_ftabstop_value, CLASS_WARNING, diag::MAP_WARNING, "ignoring invalid -ftabstop value '%0', using default value %1", "", true, false, false, false, 0)
