//==--- DiagnosticFrontendKinds.td - frontend diagnostics -----------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

let Component = "Frontend" in {

def err_fe_error_opening : Error<"error opening '%0': %1">;
def err_fe_error_reading : Error<"error reading '%0'">;
def err_fe_error_reading_stdin : Error<"error reading stdin">;
def err_fe_error_backend : Error<"error in backend: %0">, DefaultFatal;
def err_fe_invalid_ast_file : Error<"invalid AST file: '%0'">, DefaultFatal;
def err_fe_invalid_ast_action : Error<"invalid action for AST input">, DefaultFatal;
def err_fe_invalid_code_complete_file : Error<
    "cannot locate code-completion file %0">, DefaultFatal;
def err_fe_stdout_binary : Error<"unable to change standard output to binary">,
  DefaultFatal;
def err_fe_stderr_binary : Error<"unable to change standard error to binary">,
  DefaultFatal;
def err_fe_dependency_file_requires_MT : Error<
    "-dependency-file requires at least one -MT option">;
def err_fe_incompatible_options : Error<
    "'%0' cannot be used with '%1'">, DefaultFatal;
def err_fe_no_fixit_and_codegen : Error<
    "FIX-ITs cannot be applied when generating code">;
def err_fe_unable_to_find_fixit_file : Error<
    "FIX-IT could not find file '%0'">;
def err_fe_invalid_plugin_name : Error<
    "unable to find plugin '%0'">;
def err_fe_expected_compiler_job : Error<
    "unable to handle compilation, expected exactly one compiler job in '%0'">;
def err_fe_expected_clang_command : Error<
    "expected a clang compiler command">;
def err_fe_remap_missing_to_file : Error<
    "could not remap file '%0' to the contents of file '%1'">, DefaultFatal;
def err_fe_remap_missing_from_file : Error<
    "could not remap from missing file '%0'">, DefaultFatal;
def err_fe_unable_to_load_pch : Error<
    "unable to load PCH file">;
def err_fe_unable_to_load_plugin : Error<
    "unable to load plugin '%0': '%1'">;
def err_fe_unable_to_create_target : Error<
    "unable to create target: '%0'">;
def err_fe_unable_to_interface_with_target : Error<
    "unable to interface with target machine">;
def err_fe_unable_to_read_pch_file : Error<
    "unable to read PCH file: '%0'">;
def err_fe_not_a_pch_file : Error<
    "input is not a PCH file: '%0'">;
def err_fe_pch_malformed_block : Error<
    "malformed block record in PCH file: '%0'">;
def err_fe_pch_error_at_end_block : Error<
    "error at end of module block in PCH file: '%0'">;
def err_fe_unable_to_open_output : Error<
    "unable to open output file '%0': '%1'">;
def err_fe_pth_file_has_no_source_header : Error<
    "PTH file '%0' does not designate an original source header file for -include-pth">;
def warn_fe_macro_contains_embedded_newline : Warning<
    "macro '%0' contains embedded newline, text after the newline is ignored.">;

def err_verify_bogus_characters : Error<
    "bogus characters before '{{' in expected string">;
def err_verify_missing_start : Error<
    "cannot find start ('{{') of expected string">;
def err_verify_missing_end : Error<
    "cannot find end ('}}') of expected string">;
def err_verify_inconsistent_diags : Error<
    "'%0' diagnostics %select{expected|seen}1 but not %select{seen|expected}1: %2">;

def note_fixit_applied : Note<"FIX-IT applied suggested code changes">;
def note_fixit_in_macro : Note<
    "FIX-IT unable to apply suggested code changes in a macro">;
def note_fixit_failed : Note<
    "FIX-IT unable to apply suggested code changes">;
def note_fixit_unfixed_error : Note<"FIX-IT detected an error it cannot fix">;
def note_fixit_main_file_unchanged : Note<
    "main file unchanged">;
def warn_fixit_no_changes : Note<
    "FIX-IT detected errors it could not fix; no output will be generated">;

def err_fe_invoking : Error<"error invoking%0: %1">, DefaultFatal;

// PCH reader
def err_relocatable_without_without_isysroot : Error<
    "must specify system root with -isysroot when building a relocatable "
    "PCH file">;
def warn_pch_target_triple : Error<
    "PCH file was compiled for the target '%0' but the current translation "
    "unit is being compiled for target '%1'">;
def warn_pch_c99 : Error<
    "C99 support was %select{disabled|enabled}0 in PCH file but is "
    "currently %select{disabled|enabled}1">;
def warn_pch_cplusplus : Error<
    "C++ support was %select{disabled|enabled}0 in PCH file but is "
    "currently %select{disabled|enabled}1">;
def warn_pch_cplusplus0x : Error<
    "C++0x support was %select{disabled|enabled}0 in PCH file but is "
    "currently %select{disabled|enabled}1">;
def warn_pch_objective_c : Error<
    "Objective-C support was %select{disabled|enabled}0 in PCH file but is "
    "currently %select{disabled|enabled}1">;
def warn_pch_objective_c2 : Error<
    "Objective-C 2.0 support was %select{disabled|enabled}0 in PCH file but "
    "is currently %select{disabled|enabled}1">;
def warn_pch_nonfragile_abi : 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">;
def warn_pch_nonfragile_abi2 : 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">;
def warn_pch_extensions : Error<
    "extensions were %select{enabled|disabled}0 in PCH file but are "
    "currently %select{enabled|disabled}1">;
def warn_pch_gnu_extensions : Error<
    "GNU extensions were %select{disabled|enabled}0 in PCH file but are "
    "currently %select{disabled|enabled}1">;
def warn_pch_microsoft_extensions : Error<
    "Microsoft extensions were %select{disabled|enabled}0 in PCH file but are "
    "currently %select{disabled|enabled}1">;
def warn_pch_heinous_extensions : Error<
    "heinous extensions were %select{disabled|enabled}0 in PCH file but are "
    "currently %select{disabled|enabled}1">;
def warn_pch_lax_vector_conversions : Error<
    "lax vector conversions were %select{disabled|enabled}0 in PCH file but "
    "are currently %select{disabled|enabled}1">;
def warn_pch_altivec : Error<
    "AltiVec initializers were %select{disabled|enabled}0 in PCH file but "
    "are currently %select{disabled|enabled}1">;
def warn_pch_opencl : Error<
    "OpenCL language extensions were %select{disabled|enabled}0 in PCH file "
    "but are currently %select{disabled|enabled}1">;
def warn_pch_elide_constructors : Error<
    "Elidable copy constructors were %select{disabled|enabled}0 in PCH file "
    "but are currently %select{disabled|enabled}1">;
def warn_pch_exceptions : Error<
    "exceptions were %select{disabled|enabled}0 in PCH file but "
    "are currently %select{disabled|enabled}1">;
def warn_pch_sjlj_exceptions : Error<
    "sjlj-exceptions were %select{disabled|enabled}0 in PCH file but "
    "are currently %select{disabled|enabled}1">;
def warn_pch_objc_runtime : Error<
    "PCH file was compiled with the %select{NeXT|GNU}0 runtime but the "
    "%select{NeXT|GNU}1 runtime is selected">;
def warn_pch_freestanding : Error<
    "PCH file was compiled with a %select{hosted|freestanding}0  "
    "implementation but a %select{hosted|freestanding}1 implementation "
    "is selected">;
def warn_pch_builtins : Error<
    "PCH file was compiled with builtins %select{enabled|disabled}0 but "
    "builtins are currently %select{enabled|disabled}1">;
def warn_pch_thread_safe_statics : Error<
    "PCH file was compiled %select{without|with}0 thread-safe statics but "
    "thread-safe statics are currently %select{disabled|enabled}1">;
def warn_pch_posix_threads : Error<
    "PCH file was compiled %select{without|with}0 POSIX thread support but "
    "POSIX threads are currently %select{disabled|enabled}1">;
def warn_pch_stack_protector : Error<
    "stack protector was %select{off|on|required}0 in PCH file but "
    "is currently %select{off|on|required}1">;
def warn_pch_blocks : Error<
    "blocks were %select{disabled|enabled}0 in PCH file but "
    "are currently %select{disabled|enabled}1">;
def warn_pch_math_errno : 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'">;
def warn_pch_overflow_checking : Error<
    "signed integer overflow checking was %select{disabled|enabled}0 in PCH "
    "file but is currently %select{disabled|enabled}1">;
def warn_pch_optimize : Error<
    "the macro '__OPTIMIZE__' was %select{not defined|defined}0 in "
    "the PCH file but is currently %select{undefined|defined}1">;
def warn_pch_optimize_size : Error<
    "the macro '__OPTIMIZE_SIZE__' was %select{not defined|defined}0 in "
    "the PCH file but is currently %select{undefined|defined}1">;
def warn_pch_static : Error<
    "the PCH file was compiled %select{dynamic|static}0 but the "
    "current translation unit is being compiled as %select{dynamic|static}1">;
def warn_pch_pic_level : Error<
    "PCH file was compiled with PIC level %0, but the current translation "
    "unit will be compiled with PIC level %1">;
def warn_pch_gnu_inline : Error<
    "PCH file was compiled with %select{C99|GNU|}0 inline semantics but "
    "%select{C99|GNU}1 inline semantics are currently selected">;
def warn_pch_no_inline : Error<
    "the macro '__NO_INLINE__' was %select{not defined|defined}0 in "
    "the PCH file but is currently %select{undefined|defined}1">;
def warn_pch_gc_mode : 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">;
def warn_pch_version_too_old : Error<
    "PCH file uses an older PCH format that is no longer supported">;
def warn_pch_version_too_new : Error<
    "PCH file uses a newer PCH format that cannot be read">;
def warn_pch_different_branch : Error<
    "PCH file built from a different branch (%0) than the compiler (%1)">;
def warn_cmdline_conflicting_macro_def : Error<
    "definition of the macro '%0' conflicts with the definition used to "
    "build the precompiled header">;
def note_pch_macro_defined_as : Note<
    "definition of macro '%0' in the precompiled header">;
def warn_cmdline_missing_macro_defs : Warning<
    "macro definitions used to build the precompiled header are missing">;
def note_using_macro_def_from_pch : Note<
    "using this macro definition from precompiled header">;
def warn_macro_name_used_in_pch : Error<
    "definition of macro %0 conflicts with an identifier used in the "
    "precompiled header">;
def warn_pch_compiler_options_mismatch : Error<
    "compiler options used when building the precompiled header differ from "
    "the options used when using the precompiled header">;
def warn_pch_access_control : Error<
    "C++ access control was %select{disabled|enabled}0 in the PCH file but "
    "is currently %select{disabled|enabled}1">;
def warn_pch_char_signed : Error<
    "char was %select{unsigned|signed}0 in the PCH file but "
    "is currently %select{unsigned|signed}1">;
def warn_pch_short_wchar : Error<
    "-fshort-wchar was %select{disabled|enabled}0 in the PCH file but "
    "is currently %select{disabled|enabled}1">;

def err_not_a_pch_file : Error<
    "'%0' does not appear to be a precompiled header file">, DefaultFatal;
def warn_unknown_warning_option : Warning<
    "unknown warning option '%0'">,
    InGroup<DiagGroup<"unknown-warning-option"> >;
def warn_unknown_warning_specifier : Warning<
    "unknown %0 warning specifier: '%1'">,
    InGroup<DiagGroup<"unknown-warning-option"> >;
}
