1//==--- DiagnosticInstallAPIKinds.td - installapi diagnostics -------------===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9//===----------------------------------------------------------------------===// 10// InstallAPI Diagnostics 11//===----------------------------------------------------------------------===// 12 13let Component = "InstallAPI" in { 14let CategoryName = "Command line" in { 15def err_cannot_write_file : Error<"cannot write file '%0': %1">; 16def err_no_install_name : Error<"no install name specified: add -install_name <path>">; 17def err_no_output_file: Error<"no output file specified">; 18def err_no_such_header_file : Error<"no such %select{public|private|project}1 header file: '%0'">; 19def warn_no_such_excluded_header_file : Warning<"no such excluded %select{public|private}0 header file: '%1'">, InGroup<InstallAPIViolation>; 20def warn_glob_did_not_match: Warning<"glob '%0' did not match any header file">, InGroup<InstallAPIViolation>; 21def err_no_such_umbrella_header_file : Error<"%select{public|private|project}1 umbrella header file not found in input: '%0'">; 22def err_cannot_find_reexport : Error<"cannot find re-exported %select{framework|library}0: '%1'">; 23def err_no_matching_target : Error<"no matching target found for target variant '%0'">; 24def err_unsupported_vendor : Error<"vendor '%0' is not supported: '%1'">; 25def err_unsupported_environment : Error<"environment '%0' is not supported: '%1'">; 26def err_unsupported_os : Error<"os '%0' is not supported: '%1'">; 27def err_cannot_read_input_list : Error<"could not read %0 input list '%1': %2">; 28def err_invalid_label: Error<"label '%0' is reserved: use a different label name for -X<label>">; 29def err_directory_scanning: Error<"could not read directory '%0': %1">; 30def err_more_than_one_library: Error<"more than one framework/dynamic library found">; 31} // end of command line category. 32 33let CategoryName = "Verification" in { 34// Diagnostics about symbols. 35def warn_target: Warning<"violations found for %0">, InGroup<InstallAPIViolation>; 36def err_library_missing_symbol : Error<"declaration has external linkage, but dynamic library doesn't have symbol '%0'">; 37def warn_library_missing_symbol : Warning<"declaration has external linkage, but dynamic library doesn't have symbol '%0'">, InGroup<InstallAPIViolation>; 38def err_library_hidden_symbol : Error<"declaration has external linkage, but symbol has internal linkage in dynamic library '%0'">; 39def warn_library_hidden_symbol : Warning<"declaration has external linkage, but symbol has internal linkage in dynamic library '%0'">, InGroup<InstallAPIViolation>; 40def warn_header_hidden_symbol : Warning<"symbol exported in dynamic library, but marked hidden in declaration '%0'">, InGroup<InstallAPIViolation>; 41def err_header_hidden_symbol : Error<"symbol exported in dynamic library, but marked hidden in declaration '%0'">; 42def err_header_symbol_missing : Error<"no declaration found for exported symbol '%0' in dynamic library">; 43def warn_header_symbol_missing : Warning<"no declaration was found for exported symbol '%0' in dynamic library">, InGroup<InstallAPIViolation>; 44def warn_header_availability_mismatch : Warning<"declaration '%0' is marked %select{available|unavailable}1," 45 " but symbol is %select{not |}2exported in dynamic library">, InGroup<InstallAPIViolation>; 46def err_header_availability_mismatch : Error<"declaration '%0' is marked %select{available|unavailable}1," 47 " but symbol is %select{not |}2exported in dynamic library">; 48def warn_dylib_symbol_flags_mismatch : Warning<"dynamic library symbol '%0' is " 49 "%select{weak defined|thread local}1, but its declaration is not">, InGroup<InstallAPIViolation>; 50def warn_header_symbol_flags_mismatch : Warning<"declaration '%0' is " 51 "%select{weak defined|thread local}1, but symbol is not in dynamic library">, InGroup<InstallAPIViolation>; 52def err_dylib_symbol_flags_mismatch : Error<"dynamic library symbol '%0' is " 53 "%select{weak defined|thread local}1, but its declaration is not">; 54def err_header_symbol_flags_mismatch : Error<"declaration '%0' is " 55 "%select{weak defined|thread local}1, but symbol is not in dynamic library">; 56 57// Diagnostics about load commands. 58def err_architecture_mismatch : Error<"architectures do not match: '%0' (provided) vs '%1' (found)">; 59def warn_platform_mismatch : Warning<"platform does not match: '%0' (provided) vs '%1' (found)">, InGroup<InstallAPIViolation>; 60def err_platform_mismatch : Error<"platform does not match: '%0' (provided) vs '%1' (found)">; 61def err_install_name_mismatch : Error<"install_name does not match: '%0' (provided) vs '%1' (found)">; 62def err_current_version_mismatch : Error<"current_version does not match: '%0' (provided) vs '%1' (found)">; 63def err_compatibility_version_mismatch : Error<"compatibility_version does not match: '%0' (provided) vs '%1' (found)">; 64def err_appextension_safe_mismatch : Error<"the ApplicationExtensionSafe flag does not match: '%0' (provided) vs '%1' (found)">; 65def err_shared_cache_eligiblity_mismatch : Error<"the NotForDyldSharedCache flag does not match: '%0' (provided) vs '%1' (found)">; 66def err_no_twolevel_namespace : Error<"flat namespace libraries are not supported">; 67def err_parent_umbrella_missing: Error<"parent umbrella missing from %0: '%1'">; 68def err_parent_umbrella_mismatch : Error<"parent umbrella does not match: '%0' (provided) vs '%1' (found)">; 69def err_reexported_libraries_missing : Error<"re-exported library missing from %0: '%1'">; 70def err_reexported_libraries_mismatch : Error<"re-exported libraries do not match: '%0' (provided) vs '%1' (found)">; 71def err_allowable_clients_missing : Error<"allowable client missing from %0: '%1'">; 72def err_allowable_clients_mismatch : Error<"allowable clients do not match: '%0' (provided) vs '%1' (found)">; 73def warn_rpaths_missing : Warning<"runpath search paths missing from %0: '%1'">, InGroup<InstallAPIViolation>; 74def warn_rpaths_mismatch : Warning<"runpath search paths do not match: '%0' (provided) vs '%1' (found)">, InGroup<InstallAPIViolation>; 75} // end of Verification category. 76 77} // end of InstallAPI component 78