DiagnosticSerializationKinds.td revision 327952
1//==--- DiagnosticSerializationKinds.td - serialization diagnostics -------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10let Component = "Serialization" in { 11let CategoryName = "AST Deserialization Issue" in { 12 13def err_fe_unable_to_read_pch_file : Error< 14 "unable to read PCH file %0: '%1'">; 15def err_fe_not_a_pch_file : Error< 16 "input is not a PCH file: '%0'">; 17def err_fe_pch_malformed : Error< 18 "malformed or corrupted AST file: '%0'">, DefaultFatal; 19def err_fe_pch_malformed_block : Error< 20 "malformed block record in PCH file: '%0'">, DefaultFatal; 21def err_fe_pch_file_modified : Error< 22 "file '%0' has been modified since the precompiled header '%1' was built">, 23 DefaultFatal; 24def err_fe_module_file_modified : Error< 25 "file '%0' has been modified since the module file '%1' was built">, 26 DefaultFatal; 27def err_fe_ast_file_modified : Error< 28 "file '%0' has been modified since the AST file '%1' was built">, 29 DefaultFatal; 30def err_fe_pch_file_overridden : Error< 31 "file '%0' from the precompiled header has been overridden">; 32def note_pch_required_by : Note<"'%0' required by '%1'">; 33def note_pch_rebuild_required : Note<"please rebuild precompiled header '%0'">; 34def note_module_cache_path : Note< 35 "after modifying system headers, please delete the module cache at '%0'">; 36 37def err_pch_targetopt_mismatch : Error< 38 "PCH file was compiled for the %0 '%1' but the current translation " 39 "unit is being compiled for target '%2'">; 40def err_pch_targetopt_feature_mismatch : Error< 41 "%select{AST file|current translation unit}0 was compiled with the target " 42 "feature'%1' but the %select{current translation unit is|AST file was}0 " 43 "not">; 44def err_pch_langopt_mismatch : Error<"%0 was %select{disabled|enabled}1 in " 45 "PCH file but is currently %select{disabled|enabled}2">; 46def err_pch_langopt_value_mismatch : Error< 47 "%0 differs in PCH file vs. current file">; 48def err_pch_diagopt_mismatch : Error<"%0 is currently enabled, but was not in " 49 "the PCH file">; 50def err_pch_modulecache_mismatch : Error<"PCH was compiled with module cache " 51 "path '%0', but the path is currently '%1'">; 52 53def err_pch_version_too_old : Error< 54 "PCH file uses an older PCH format that is no longer supported">; 55def err_pch_version_too_new : Error< 56 "PCH file uses a newer PCH format that cannot be read">; 57def err_pch_different_branch : Error< 58 "PCH file built from a different branch (%0) than the compiler (%1)">; 59def err_pch_with_compiler_errors : Error< 60 "PCH file contains compiler errors">; 61 62def err_module_file_conflict : Error< 63 "module '%0' is defined in both '%1' and '%2'">, DefaultFatal; 64def err_module_file_not_found : Error< 65 "%select{PCH|module|AST}0 file '%1' not found%select{|: %3}2">, DefaultFatal; 66def err_module_file_out_of_date : Error< 67 "%select{PCH|module|AST}0 file '%1' is out of date and " 68 "needs to be rebuilt%select{|: %3}2">, DefaultFatal; 69def err_module_file_invalid : Error< 70 "file '%1' is not a valid precompiled %select{PCH|module|AST}0 file">, DefaultFatal; 71def note_module_file_imported_by : Note< 72 "imported by %select{|module '%2' in }1'%0'">; 73def err_module_file_not_module : Error< 74 "AST file '%0' was not built as a module">, DefaultFatal; 75 76def err_imported_module_not_found : Error< 77 "module '%0' in AST file '%1' (imported by AST file '%2') " 78 "is not defined in any loaded module map file; " 79 "maybe you need to load '%3'?">, DefaultFatal; 80def note_imported_by_pch_module_not_found : Note< 81 "consider adding '%0' to the header search path">; 82def err_imported_module_modmap_changed : Error< 83 "module '%0' imported by AST file '%1' found in a different module map file" 84 " (%2) than when the importing AST file was built (%3)">, DefaultFatal; 85def err_imported_module_relocated : Error< 86 "module '%0' was built in directory '%1' but now resides in " 87 "directory '%2'">, DefaultFatal; 88def err_module_different_modmap : Error< 89 "module '%0' %select{uses|does not use}1 additional module map '%2'" 90 "%select{| not}1 used when the module was built">; 91 92def err_pch_macro_def_undef : Error< 93 "macro '%0' was %select{defined|undef'd}1 in the precompiled header but " 94 "%select{undef'd|defined}1 on the command line">; 95def err_pch_macro_def_conflict : Error< 96 "definition of macro '%0' differs between the precompiled header ('%1') " 97 "and the command line ('%2')">; 98def err_pch_undef : Error< 99 "%select{command line contains|precompiled header was built with}0 " 100 "'-undef' but %select{precompiled header was not built with it|" 101 "it is not present on the command line}0">; 102def err_pch_pp_detailed_record : Error< 103 "%select{command line contains|precompiled header was built with}0 " 104 "'-detailed-preprocessing-record' but %select{precompiled header was not " 105 "built with it|it is not present on the command line}0">; 106 107def err_module_odr_violation_missing_decl : Error< 108 "%q0 from module '%1' is not present in definition of %q2" 109 "%select{ in module '%4'| provided earlier}3">, NoSFINAE; 110def note_module_odr_violation_no_possible_decls : Note< 111 "definition has no member %0">; 112def note_module_odr_violation_possible_decl : Note< 113 "declaration of %0 does not match">; 114def err_module_odr_violation_different_definitions : Error< 115 "%q0 has different definitions in different modules; " 116 "%select{definition in module '%2' is here|defined here}1">; 117def note_first_module_difference : Note< 118 "in first definition, possible difference is here">; 119def note_module_odr_violation_different_definitions : Note< 120 "definition in module '%0' is here">; 121def note_second_module_difference : Note< 122 "in second definition, possible difference is here">; 123 124def err_module_odr_violation_different_instantiations : Error< 125 "instantiation of %q0 is different in different modules">; 126 127def err_module_odr_violation_definition_data : Error < 128 "%q0 has different definitions in different modules; first difference is " 129 "%select{definition in module '%2'|defined here}1 found " 130 "%select{" 131 "%4 base %plural{1:class|:classes}4|" 132 "%4 virtual base %plural{1:class|:classes}4|" 133 "%ordinal4 base class with type %5|" 134 "%ordinal4 %select{non-virtual|virtual}5 base class %6|" 135 "%ordinal4 base class %5 with " 136 "%select{public|protected|private|no}6 access specifier}3">; 137 138def note_module_odr_violation_definition_data : Note < 139 "but in '%0' found " 140 "%select{" 141 "%2 base %plural{1:class|:classes}2|" 142 "%2 virtual base %plural{1:class|:classes}2|" 143 "%ordinal2 base class with different type %3|" 144 "%ordinal2 %select{non-virtual|virtual}3 base class %4|" 145 "%ordinal2 base class %3 with " 146 "%select{public|protected|private|no}4 access specifier}1">; 147 148def err_module_odr_violation_template_parameter : Error < 149 "%q0 has different definitions in different modules; first difference is " 150 "%select{definition in module '%2'|defined here}1 found " 151 "%select{" 152 "unnamed template parameter|" 153 "template parameter %4|" 154 "template parameter with %select{no |}4default argument|" 155 "template parameter with default argument}3">; 156 157 158def note_module_odr_violation_template_parameter : Note < 159 "but in '%0' found " 160 "%select{" 161 "unnamed template parameter %2|" 162 "template parameter %2|" 163 "template parameter with %select{no |}2default argument|" 164 "template parameter with different default argument}1">; 165 166def err_module_odr_violation_mismatch_decl : Error< 167 "%q0 has different definitions in different modules; first difference is " 168 "%select{definition in module '%2'|defined here}1 found " 169 "%select{end of class|public access specifier|private access specifier|" 170 "protected access specifier|static assert|field|method|type alias|typedef|" 171 "data member|friend declaration}3">; 172def note_module_odr_violation_mismatch_decl : Note<"but in '%0' found " 173 "%select{end of class|public access specifier|private access specifier|" 174 "protected access specifier|static assert|field|method|type alias|typedef|" 175 "data member|friend declaration}1">; 176 177def err_module_odr_violation_mismatch_decl_diff : Error< 178 "%q0 has different definitions in different modules; first difference is " 179 "%select{definition in module '%2'|defined here}1 found " 180 "%select{" 181 "static assert with condition|" 182 "static assert with message|" 183 "static assert with %select{|no }4message|" 184 "field %4|" 185 "field %4 with type %5|" 186 "%select{non-|}5bitfield %4|" 187 "bitfield %4 with one width expression|" 188 "%select{non-|}5mutable field %4|" 189 "field %4 with %select{no|an}5 initalizer|" 190 "field %4 with an initializer|" 191 "%select{method %5|constructor|destructor}4|" 192 "%select{method %5|constructor|destructor}4 " 193 "is %select{not deleted|deleted}6|" 194 "%select{method %5|constructor|destructor}4 " 195 "is %select{|pure }6%select{not virtual|virtual}7|" 196 "%select{method %5|constructor|destructor}4 " 197 "is %select{not static|static}6|" 198 "%select{method %5|constructor|destructor}4 " 199 "is %select{not volatile|volatile}6|" 200 "%select{method %5|constructor|destructor}4 " 201 "is %select{not const|const}6|" 202 "%select{method %5|constructor|destructor}4 " 203 "is %select{not inline|inline}6|" 204 "%select{method %5|constructor|destructor}4 " 205 "that has %6 parameter%s6|" 206 "%select{method %5|constructor|destructor}4 " 207 "with %ordinal6 parameter of type %7%select{| decayed from %9}8|" 208 "%select{method %5|constructor|destructor}4 " 209 "with %ordinal6 parameter named %7|" 210 "%select{method %5|constructor|destructor}4 " 211 "with %ordinal6 parameter with%select{out|}7 a default argument|" 212 "%select{method %5|constructor|destructor}4 " 213 "with %ordinal6 parameter with a default argument|" 214 "%select{typedef|type alias}4 name %5|" 215 "%select{typedef|type alias}4 %5 with underlying type %6|" 216 "data member with name %4|" 217 "data member %4 with type %5|" 218 "data member %4 with%select{out|}5 an initializer|" 219 "data member %4 with an initializer|" 220 "data member %4 %select{is constexpr|is not constexpr}5|" 221 "friend %select{class|function}4|" 222 "friend %4|" 223 "friend function %4|" 224 "}3">; 225 226def note_module_odr_violation_mismatch_decl_diff : Note<"but in '%0' found " 227 "%select{" 228 "static assert with different condition|" 229 "static assert with different message|" 230 "static assert with %select{|no }2message|" 231 "field %2|" 232 "field %2 with type %3|" 233 "%select{non-|}3bitfield %2|" 234 "bitfield %2 with different width expression|" 235 "%select{non-|}3mutable field %2|" 236 "field %2 with %select{no|an}3 initializer|" 237 "field %2 with a different initializer|" 238 "%select{method %3|constructor|destructor}2|" 239 "%select{method %3|constructor|destructor}2 " 240 "is %select{not deleted|deleted}4|" 241 "%select{method %3|constructor|destructor}2 " 242 "is %select{|pure }4%select{not virtual|virtual}5|" 243 "%select{method %3|constructor|destructor}2 " 244 "is %select{not static|static}4|" 245 "%select{method %3|constructor|destructor}2 " 246 "is %select{not volatile|volatile}4|" 247 "%select{method %3|constructor|destructor}2 " 248 "is %select{not const|const}4|" 249 "%select{method %3|constructor|destructor}2 " 250 "is %select{not inline|inline}4|" 251 "%select{method %3|constructor|destructor}2 " 252 "that has %4 parameter%s4|" 253 "%select{method %3|constructor|destructor}2 " 254 "with %ordinal4 parameter of type %5%select{| decayed from %7}6|" 255 "%select{method %3|constructor|destructor}2 " 256 "with %ordinal4 parameter named %5|" 257 "%select{method %3|constructor|destructor}2 " 258 "with %ordinal4 parameter with%select{out|}5 a default argument|" 259 "%select{method %3|constructor|destructor}2 " 260 "with %ordinal4 parameter with a different default argument|" 261 "%select{typedef|type alias}2 name %3|" 262 "%select{typedef|type alias}2 %3 with different underlying type %4|" 263 "data member with name %2|" 264 "data member %2 with different type %3|" 265 "data member %2 with%select{out|}3 an initializer|" 266 "data member %2 with a different initializer|" 267 "data member %2 %select{is constexpr|is not constexpr}3|" 268 "friend %select{class|function}2|" 269 "friend %2|" 270 "friend function %2|" 271 "}1">; 272 273def err_module_odr_violation_function : Error< 274 "%q0 has different definitions in different modules; " 275 "%select{definition in module '%2'|defined here}1 " 276 "first difference is " 277 "%select{" 278 "return type is %4|" 279 "%ordinal4 parameter with name %5|" 280 "%ordinal4 parameter with type %5%select{| decayed from %7}6|" 281 "%ordinal4 parameter with%select{out|}5 a default argument|" 282 "%ordinal4 parameter with a default argument|" 283 "function body" 284 "}3">; 285 286def note_module_odr_violation_function : Note<"but in '%0' found " 287 "%select{" 288 "different return type %2|" 289 "%ordinal2 parameter with name %3|" 290 "%ordinal2 parameter with type %3%select{| decayed from %5}4|" 291 "%ordinal2 parameter with%select{out|}3 a default argument|" 292 "%ordinal2 parameter with a different default argument|" 293 "a different body" 294 "}1">; 295 296def err_module_odr_violation_mismatch_decl_unknown : Error< 297 "%q0 %select{with definition in module '%2'|defined here}1 has different " 298 "definitions in different modules; first difference is this " 299 "%select{||||static assert|field|method|type alias|typedef|data member|" 300 "friend declaration|unexpected decl}3">; 301def note_module_odr_violation_mismatch_decl_unknown : Note< 302 "but in '%0' found " 303 "%select{||||different static assert|different field|different method|" 304 "different type alias|different typedef|different data member|" 305 "different friend declaration|another unexpected decl}1">; 306 307def warn_duplicate_module_file_extension : Warning< 308 "duplicate module file extension block name '%0'">, 309 InGroup<ModuleFileExtension>; 310 311def warn_module_system_bit_conflict : Warning< 312 "module file '%0' was validated as a system module and is now being imported " 313 "as a non-system module; any difference in diagnostic options will be ignored">, 314 InGroup<ModuleConflict>; 315} // let CategoryName 316 317let CategoryName = "AST Serialization Issue" in { 318def warn_module_uses_date_time : Warning< 319 "%select{precompiled header|module}0 uses __DATE__ or __TIME__">, 320 InGroup<DiagGroup<"pch-date-time">>; 321def err_module_no_size_mtime_for_header : Error< 322 "cannot emit module %0: %select{size|mtime}1 must be explicitly specified " 323 "for missing header file \"%2\"">; 324} // let CategoryName 325} // let Component 326 327