DiagnosticSerializationKinds.td revision 321369
1234287Sdim//==--- DiagnosticSerializationKinds.td - serialization diagnostics -------===//
2234287Sdim//
3234287Sdim//                     The LLVM Compiler Infrastructure
4234287Sdim//
5234287Sdim// This file is distributed under the University of Illinois Open Source
6234287Sdim// License. See LICENSE.TXT for details.
7234287Sdim//
8234287Sdim//===----------------------------------------------------------------------===//
9234287Sdim
10234287Sdimlet Component = "Serialization" in {
11276479Sdimlet CategoryName = "AST Deserialization Issue" in {
12234287Sdim
13234287Sdimdef err_fe_unable_to_read_pch_file : Error<
14239462Sdim    "unable to read PCH file %0: '%1'">;
15234287Sdimdef err_fe_not_a_pch_file : Error<
16234287Sdim    "input is not a PCH file: '%0'">;
17234287Sdimdef err_fe_pch_malformed : Error<
18261991Sdim    "malformed or corrupted AST file: '%0'">, DefaultFatal;
19234287Sdimdef err_fe_pch_malformed_block : Error<
20234287Sdim    "malformed block record in PCH file: '%0'">, DefaultFatal;
21234287Sdimdef err_fe_pch_file_modified : Error<
22249423Sdim    "file '%0' has been modified since the precompiled header '%1' was built">,
23234287Sdim    DefaultFatal;
24314564Sdimdef err_fe_module_file_modified : Error<
25314564Sdim    "file '%0' has been modified since the module file '%1' was built">,
26314564Sdim    DefaultFatal;
27314564Sdimdef err_fe_ast_file_modified : Error<
28314564Sdim    "file '%0' has been modified since the AST file '%1' was built">,
29314564Sdim    DefaultFatal;
30239462Sdimdef err_fe_pch_file_overridden : Error<
31239462Sdim    "file '%0' from the precompiled header has been overridden">;
32276479Sdimdef note_pch_required_by : Note<"'%0' required by '%1'">;
33276479Sdimdef note_pch_rebuild_required : Note<"please rebuild precompiled header '%0'">;
34261991Sdimdef note_module_cache_path : Note<
35261991Sdim    "after modifying system headers, please delete the module cache at '%0'">;
36234287Sdim
37243830Sdimdef err_pch_targetopt_mismatch : Error<
38243830Sdim    "PCH file was compiled for the %0 '%1' but the current translation "
39243830Sdim    "unit is being compiled for target '%2'">;
40243830Sdimdef err_pch_targetopt_feature_mismatch : Error<
41243830Sdim    "%select{AST file|current translation unit}0 was compiled with the target "
42243830Sdim    "feature'%1' but the %select{current translation unit is|AST file was}0 "
43243830Sdim    "not">;
44234287Sdimdef err_pch_langopt_mismatch : Error<"%0 was %select{disabled|enabled}1 in "
45234287Sdim    "PCH file but is currently %select{disabled|enabled}2">;
46234287Sdimdef err_pch_langopt_value_mismatch : Error<
47234287Sdim  "%0 differs in PCH file vs. current file">;
48276479Sdimdef err_pch_diagopt_mismatch : Error<"%0 is currently enabled, but was not in "
49276479Sdim  "the PCH file">;
50288943Sdimdef err_pch_modulecache_mismatch : Error<"PCH was compiled with module cache "
51288943Sdim  "path '%0', but the path is currently '%1'">;
52234287Sdim  
53276479Sdimdef err_pch_version_too_old : Error<
54234287Sdim    "PCH file uses an older PCH format that is no longer supported">;
55276479Sdimdef err_pch_version_too_new : Error<
56234287Sdim    "PCH file uses a newer PCH format that cannot be read">;
57276479Sdimdef err_pch_different_branch : Error<
58234287Sdim    "PCH file built from a different branch (%0) than the compiler (%1)">;
59234287Sdimdef err_pch_with_compiler_errors : Error<
60234287Sdim    "PCH file contains compiler errors">;
61276479Sdim
62296417Sdimdef err_module_file_conflict : Error<
63296417Sdim  "module '%0' is defined in both '%1' and '%2'">, DefaultFatal;
64296417Sdimdef err_module_file_not_found : Error<
65296417Sdim  "%select{PCH|module|AST}0 file '%1' not found%select{|: %3}2">, DefaultFatal;
66296417Sdimdef err_module_file_out_of_date : Error<
67296417Sdim  "%select{PCH|module|AST}0 file '%1' is out of date and "
68296417Sdim  "needs to be rebuilt%select{|: %3}2">, DefaultFatal;
69296417Sdimdef err_module_file_invalid : Error<
70296417Sdim  "file '%1' is not a valid precompiled %select{PCH|module|AST}0 file">, DefaultFatal;
71296417Sdimdef note_module_file_imported_by : Note<
72296417Sdim  "imported by %select{|module '%2' in }1'%0'">;
73296417Sdimdef err_module_file_not_module : Error<
74296417Sdim  "AST file '%0' was not built as a module">, DefaultFatal;
75296417Sdim
76276479Sdimdef err_imported_module_not_found : Error<
77280031Sdim    "module '%0' in AST file '%1' (imported by AST file '%2') "
78280031Sdim    "is not defined in any loaded module map file; "
79280031Sdim    "maybe you need to load '%3'?">, DefaultFatal;
80276479Sdimdef err_imported_module_modmap_changed : Error<
81276479Sdim    "module '%0' imported by AST file '%1' found in a different module map file"
82276479Sdim    " (%2) than when the importing AST file was built (%3)">, DefaultFatal;
83280031Sdimdef err_imported_module_relocated : Error<
84280031Sdim    "module '%0' was built in directory '%1' but now resides in "
85280031Sdim    "directory '%2'">, DefaultFatal;
86280031Sdimdef err_module_different_modmap : Error<
87280031Sdim    "module '%0' %select{uses|does not use}1 additional module map '%2'"
88280031Sdim    "%select{| not}1 used when the module was built">;
89249423Sdim
90243830Sdimdef err_pch_macro_def_undef : Error<
91243830Sdim    "macro '%0' was %select{defined|undef'd}1 in the precompiled header but "
92243830Sdim    "%select{undef'd|defined}1 on the command line">;
93243830Sdimdef err_pch_macro_def_conflict : Error<
94243830Sdim    "definition of macro '%0' differs between the precompiled header ('%1') "
95243830Sdim    "and the command line ('%2')">;
96243830Sdimdef err_pch_undef : Error<
97243830Sdim    "%select{command line contains|precompiled header was built with}0 "
98243830Sdim    "'-undef' but %select{precompiled header was not built with it|"
99243830Sdim    "it is not present on the command line}0">;
100251662Sdimdef err_pch_pp_detailed_record : Error<
101251662Sdim    "%select{command line contains|precompiled header was built with}0 "
102251662Sdim    "'-detailed-preprocessing-record' but %select{precompiled header was not "
103251662Sdim    "built with it|it is not present on the command line}0">;
104234287Sdim
105261991Sdimdef err_module_odr_violation_missing_decl : Error<
106261991Sdim  "%q0 from module '%1' is not present in definition of %q2"
107261991Sdim  "%select{ in module '%4'| provided earlier}3">, NoSFINAE;
108261991Sdimdef note_module_odr_violation_no_possible_decls : Note<
109261991Sdim  "definition has no member %0">;
110261991Sdimdef note_module_odr_violation_possible_decl : Note<
111261991Sdim  "declaration of %0 does not match">;
112276479Sdimdef err_module_odr_violation_different_definitions : Error<
113276479Sdim  "%q0 has different definitions in different modules; "
114276479Sdim  "%select{definition in module '%2' is here|defined here}1">;
115321369Sdimdef note_first_module_difference : Note<
116321369Sdim  "in first definition, possible difference is here">;
117276479Sdimdef note_module_odr_violation_different_definitions : Note<
118276479Sdim  "definition in module '%0' is here">;
119321369Sdimdef note_second_module_difference : Note<
120321369Sdim  "in second definition, possible difference is here">;
121321369Sdim
122276479Sdimdef err_module_odr_violation_different_instantiations : Error<
123276479Sdim  "instantiation of %q0 is different in different modules">;
124261991Sdim
125321369Sdimdef err_module_odr_violation_mismatch_decl : Error<
126321369Sdim  "%q0 has different definitions in different modules; first difference is "
127321369Sdim  "%select{definition in module '%2'|defined here}1 found "
128321369Sdim  "%select{end of class|public access specifier|private access specifier|"
129321369Sdim  "protected access specifier|static assert|field|method|type alias|typedef|"
130321369Sdim  "data member|friend declaration}3">;
131321369Sdimdef note_module_odr_violation_mismatch_decl : Note<"but in '%0' found "
132321369Sdim  "%select{end of class|public access specifier|private access specifier|"
133321369Sdim  "protected access specifier|static assert|field|method|type alias|typedef|"
134321369Sdim  "data member|friend declaration}1">;
135296417Sdim
136321369Sdimdef err_module_odr_violation_mismatch_decl_diff : Error<
137321369Sdim  "%q0 has different definitions in different modules; first difference is "
138321369Sdim  "%select{definition in module '%2'|defined here}1 found "
139321369Sdim  "%select{"
140321369Sdim  "static assert with condition|"
141321369Sdim  "static assert with message|"
142321369Sdim  "static assert with %select{|no }4message|"
143321369Sdim  "field %4|"
144321369Sdim  "field %4 with type %5|"
145321369Sdim  "%select{non-|}5bitfield %4|"
146321369Sdim  "bitfield %4 with one width expression|"
147321369Sdim  "%select{non-|}5mutable field %4|"
148321369Sdim  "field %4 with %select{no|an}5 initalizer|"
149321369Sdim  "field %4 with an initializer|"
150321369Sdim  "%select{method %5|constructor|destructor}4|"
151321369Sdim  "%select{method %5|constructor|destructor}4 "
152321369Sdim    "is %select{not deleted|deleted}6|"
153321369Sdim  "%select{method %5|constructor|destructor}4 "
154321369Sdim    "is %select{|pure }6%select{not virtual|virtual}7|"
155321369Sdim  "%select{method %5|constructor|destructor}4 "
156321369Sdim    "is %select{not static|static}6|"
157321369Sdim  "%select{method %5|constructor|destructor}4 "
158321369Sdim    "is %select{not volatile|volatile}6|"
159321369Sdim  "%select{method %5|constructor|destructor}4 "
160321369Sdim    "is %select{not const|const}6|"
161321369Sdim  "%select{method %5|constructor|destructor}4 "
162321369Sdim    "is %select{not inline|inline}6|"
163321369Sdim  "%select{method %5|constructor|destructor}4 "
164321369Sdim    "that has %6 parameter%s6|"
165321369Sdim  "%select{method %5|constructor|destructor}4 "
166321369Sdim    "with %ordinal6 parameter of type %7%select{| decayed from %9}8|"
167321369Sdim  "%select{method %5|constructor|destructor}4 "
168321369Sdim    "with %ordinal6 parameter named %7|"
169321369Sdim  "%select{method %5|constructor|destructor}4 "
170321369Sdim    "with %ordinal6 parameter with%select{out|}7 a default argument|"
171321369Sdim  "%select{method %5|constructor|destructor}4 "
172321369Sdim    "with %ordinal6 parameter with a default argument|"
173321369Sdim  "%select{typedef|type alias}4 name %5|"
174321369Sdim  "%select{typedef|type alias}4 %5 with underlying type %6|"
175321369Sdim  "data member with name %4|"
176321369Sdim  "data member %4 with type %5|"
177321369Sdim  "data member %4 with%select{out|}5 an initializer|"
178321369Sdim  "data member %4 with an initializer|"
179321369Sdim  "data member %4 %select{is constexpr|is not constexpr}5|"
180321369Sdim  "friend %select{class|function}4|"
181321369Sdim  "friend %4|"
182321369Sdim  "friend function %4|"
183321369Sdim  "}3">;
184321369Sdim
185321369Sdimdef note_module_odr_violation_mismatch_decl_diff : Note<"but in '%0' found "
186321369Sdim  "%select{"
187321369Sdim  "static assert with different condition|"
188321369Sdim  "static assert with different message|"
189321369Sdim  "static assert with %select{|no }2message|"
190321369Sdim  "field %2|"
191321369Sdim  "field %2 with type %3|"
192321369Sdim  "%select{non-|}3bitfield %2|"
193321369Sdim  "bitfield %2 with different width expression|"
194321369Sdim  "%select{non-|}3mutable field %2|"
195321369Sdim  "field %2 with %select{no|an}3 initializer|"
196321369Sdim  "field %2 with a different initializer|"
197321369Sdim  "%select{method %3|constructor|destructor}2|"
198321369Sdim  "%select{method %3|constructor|destructor}2 "
199321369Sdim    "is %select{not deleted|deleted}4|"
200321369Sdim  "%select{method %3|constructor|destructor}2 "
201321369Sdim    "is %select{|pure }4%select{not virtual|virtual}5|"
202321369Sdim  "%select{method %3|constructor|destructor}2 "
203321369Sdim    "is %select{not static|static}4|"
204321369Sdim  "%select{method %3|constructor|destructor}2 "
205321369Sdim    "is %select{not volatile|volatile}4|"
206321369Sdim  "%select{method %3|constructor|destructor}2 "
207321369Sdim    "is %select{not const|const}4|"
208321369Sdim  "%select{method %3|constructor|destructor}2 "
209321369Sdim    "is %select{not inline|inline}4|"
210321369Sdim  "%select{method %3|constructor|destructor}2 "
211321369Sdim    "that has %4 parameter%s4|"
212321369Sdim  "%select{method %3|constructor|destructor}2 "
213321369Sdim    "with %ordinal4 parameter of type %5%select{| decayed from %7}6|"
214321369Sdim  "%select{method %3|constructor|destructor}2 "
215321369Sdim    "with %ordinal4 parameter named %5|"
216321369Sdim  "%select{method %3|constructor|destructor}2 "
217321369Sdim    "with %ordinal4 parameter with%select{out|}5 a default argument|"
218321369Sdim  "%select{method %3|constructor|destructor}2 "
219321369Sdim    "with %ordinal4 parameter with a different default argument|"
220321369Sdim  "%select{typedef|type alias}2 name %3|"
221321369Sdim  "%select{typedef|type alias}2 %3 with different underlying type %4|"
222321369Sdim  "data member with name %2|"
223321369Sdim  "data member %2 with different type %3|"
224321369Sdim  "data member %2 with%select{out|}3 an initializer|"
225321369Sdim  "data member %2 with a different initializer|"
226321369Sdim  "data member %2 %select{is constexpr|is not constexpr}3|"
227321369Sdim  "friend %select{class|function}2|"
228321369Sdim  "friend %2|"
229321369Sdim  "friend function %2|"
230321369Sdim  "}1">;
231321369Sdim
232321369Sdimdef err_module_odr_violation_mismatch_decl_unknown : Error<
233321369Sdim  "%q0 %select{with definition in module '%2'|defined here}1 has different "
234321369Sdim  "definitions in different modules; first difference is this "
235321369Sdim  "%select{||||static assert|field|method|type alias|typedef|data member|"
236321369Sdim  "friend declaration|unexpected decl}3">;
237321369Sdimdef note_module_odr_violation_mismatch_decl_unknown : Note<
238321369Sdim  "but in '%0' found "
239321369Sdim  "%select{||||different static assert|different field|different method|"
240321369Sdim  "different type alias|different typedef|different data member|"
241321369Sdim  "different friend declaration|another unexpected decl}1">;
242321369Sdim
243296417Sdimdef warn_duplicate_module_file_extension : Warning<
244296417Sdim  "duplicate module file extension block name '%0'">,
245296417Sdim  InGroup<ModuleFileExtension>;
246296417Sdim
247321369Sdimdef warn_module_system_bit_conflict : Warning<
248321369Sdim  "module file '%0' was validated as a system module and is now being imported "
249321369Sdim  "as a non-system module; any difference in diagnostic options will be ignored">,
250321369Sdim  InGroup<ModuleConflict>;
251276479Sdim} // let CategoryName
252321369Sdim
253321369Sdimlet CategoryName = "AST Serialization Issue" in {
254321369Sdimdef warn_module_uses_date_time : Warning<
255321369Sdim  "%select{precompiled header|module}0 uses __DATE__ or __TIME__">,
256321369Sdim  InGroup<DiagGroup<"pch-date-time">>;
257321369Sdimdef err_module_no_size_mtime_for_header : Error<
258321369Sdim  "cannot emit module %0: %select{size|mtime}1 must be explicitly specified "
259321369Sdim  "for missing header file \"%2\"">;
260321369Sdim} // let CategoryName
261276479Sdim} // let Component
262276479Sdim
263