Compare commits
1209
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62614d8fa8 | ||
|
|
fecfc08451 | ||
|
|
62a03c2b21 | ||
|
|
7273d6112b | ||
|
|
74bddb82e5 | ||
|
|
4af6ca9db0 | ||
|
|
7e4ee25c48 | ||
|
|
6da9a49652 | ||
|
|
51d88dbb24 | ||
|
|
cd8ecf9060 | ||
|
|
847ea0b73c | ||
|
|
68c7be9d9e | ||
|
|
1bde544458 | ||
|
|
f62cad6a2f | ||
|
|
eec372a186 | ||
|
|
b98bb40a89 | ||
|
|
4d1a2a0e90 | ||
|
|
dec50598bc | ||
|
|
c5c64ad831 | ||
|
|
27153190e2 | ||
|
|
2cc55ea6eb | ||
|
|
121a657acb | ||
|
|
6a54986b3f | ||
|
|
b4a70dfc0a | ||
|
|
efa5c2244b | ||
|
|
4199155228 | ||
|
|
d949d93924 | ||
|
|
44e2a0ec4c | ||
|
|
0cd369c603 | ||
|
|
76fce67276 | ||
|
|
f3e0f0bb05 | ||
|
|
628301be37 | ||
|
|
6efaafef60 | ||
|
|
f387815749 | ||
|
|
c873aa18bd | ||
|
|
78a8ff3bb3 | ||
|
|
3033657a19 | ||
|
|
ac118f453b | ||
|
|
9e10a71ffb | ||
|
|
4525bd0ed5 | ||
|
|
89d0a7a01f | ||
|
|
27cd52a1b9 | ||
|
|
e020a75bb7 | ||
|
|
c8a7776222 | ||
|
|
3934ef89ea | ||
|
|
d60499f793 | ||
|
|
9b359ff73b | ||
|
|
fc9c45c34f | ||
|
|
212fff2828 | ||
|
|
44e3bbe773 | ||
|
|
90f922d651 | ||
|
|
408051429d | ||
|
|
ae904ec330 | ||
|
|
3bde088a06 | ||
|
|
9d28ba1e06 | ||
|
|
514e60863d | ||
|
|
98af6a4888 | ||
|
|
b740f603ec | ||
|
|
6b2099471d | ||
|
|
c76105e28e | ||
|
|
70ff2a296a | ||
|
|
c3e3bd306f | ||
|
|
4f805c4263 | ||
|
|
a7870fc1b2 | ||
|
|
d48fd4343b | ||
|
|
9ce7b5a87c | ||
|
|
460aee5971 | ||
|
|
0e309a7e7f | ||
|
|
27f9fafc73 | ||
|
|
72ea4d5eb9 | ||
|
|
3c63457e38 | ||
|
|
477eb06f2b | ||
|
|
62b27eadce | ||
|
|
668499169e | ||
|
|
2133b871be | ||
|
|
d6370f3dcf | ||
|
|
4589c6a731 | ||
|
|
c4ea718dd5 | ||
|
|
f26308c09f | ||
|
|
420b479896 | ||
|
|
2dfbeb16b2 | ||
|
|
f293e59478 | ||
|
|
b747b98cde | ||
|
|
094596961a | ||
|
|
503f95b085 | ||
|
|
3612c02d07 | ||
|
|
93cc277311 | ||
|
|
9d84cad54b | ||
|
|
ddbc92a990 | ||
|
|
ce587c6f06 | ||
|
|
82671ea293 | ||
|
|
605015c8af | ||
|
|
baa93534f0 | ||
|
|
e5f74bc638 | ||
|
|
68777f9873 | ||
|
|
4037db9783 | ||
|
|
67565fe0a7 | ||
|
|
a67c6610a7 | ||
|
|
4f5ec73173 | ||
|
|
79f4e8ded0 | ||
|
|
7544de0b47 | ||
|
|
491456e8de | ||
|
|
5b51db1999 | ||
|
|
46eaddc411 | ||
|
|
71c6cb6c6c | ||
|
|
0452f0aad9 | ||
|
|
478ccb6abd | ||
|
|
7504532e58 | ||
|
|
9621430533 | ||
|
|
3ef10f294e | ||
|
|
e394edb630 | ||
|
|
e65e602bab | ||
|
|
65ec5abb72 | ||
|
|
fc909f88ba | ||
|
|
c22d13af30 | ||
|
|
290a53e934 | ||
|
|
4b20f32c39 | ||
|
|
5ce976f322 | ||
|
|
352e0bf2ff | ||
|
|
684404f29c | ||
|
|
478fb3c245 | ||
|
|
c3cfd55762 | ||
|
|
b2d989f85f | ||
|
|
bb3d290d6b | ||
|
|
33bdb7f425 | ||
|
|
0c9d89787c | ||
|
|
94c12812e0 | ||
|
|
3144d82fb4 | ||
|
|
dc7651af75 | ||
|
|
9215fbe9b0 | ||
|
|
5a56dfc749 | ||
|
|
bddb1ba342 | ||
|
|
cafce7c050 | ||
|
|
324cd1bd59 | ||
|
|
ad5fe867c5 | ||
|
|
cc862b039e | ||
|
|
446eb16e7a | ||
|
|
e09702e5dc | ||
|
|
48000bdbda | ||
|
|
f8b8e094f9 | ||
|
|
5780e18487 | ||
|
|
3c6f603aea | ||
|
|
35ab3eb26d | ||
|
|
302f4226cf | ||
|
|
13893fbfb2 | ||
|
|
d603786a13 | ||
|
|
407342f482 | ||
|
|
5c8b812075 | ||
|
|
2a2d928075 | ||
|
|
e160229500 | ||
|
|
60cfb9998d | ||
|
|
6ec8c14a98 | ||
|
|
a395b8492a | ||
|
|
17e337c874 | ||
|
|
7b3ac0a22e | ||
|
|
04b0be0452 | ||
|
|
b0e7500bcb | ||
|
|
296bee8000 | ||
|
|
ec4977971e | ||
|
|
71684e0f90 | ||
|
|
7a99678e6f | ||
|
|
8bf5d6e9aa | ||
|
|
6fbf4df21d | ||
|
|
5cc9930813 | ||
|
|
5aa8b56cb7 | ||
|
|
4dfb2a39a6 | ||
|
|
cc11b68e20 | ||
|
|
5e327771ef | ||
|
|
0ec40d9000 | ||
|
|
dbfa0c5ed5 | ||
|
|
9b20549cef | ||
|
|
ce2fcf0c62 | ||
|
|
605c8032f8 | ||
|
|
bfdcba4449 | ||
|
|
fc9209f55a | ||
|
|
5a337901a6 | ||
|
|
6cabb390fd | ||
|
|
4efc47f955 | ||
|
|
8334b15f4e | ||
|
|
84343d04d3 | ||
|
|
e2c0f014dd | ||
|
|
e2bddc1901 | ||
|
|
c417da6ed4 | ||
|
|
2ad0a95bd4 | ||
|
|
e5b80da312 | ||
|
|
10125dfb08 | ||
|
|
6f4403cf05 | ||
|
|
3b7755a4d2 | ||
|
|
f0bef8dca6 | ||
|
|
fec8a4e07f | ||
|
|
e201d7905e | ||
|
|
32b9947b57 | ||
|
|
7b03e025a7 | ||
|
|
a81c4645c0 | ||
|
|
675720d466 | ||
|
|
646d9cfd6a | ||
|
|
d1e7326f4d | ||
|
|
0fd0adad84 | ||
|
|
aef2fa974e | ||
|
|
001b3a5721 | ||
|
|
350c1c3890 | ||
|
|
64c1327716 | ||
|
|
ec47886d72 | ||
|
|
40fe35c8e2 | ||
|
|
532eee96fe | ||
|
|
febcf11215 | ||
|
|
7a76ee1ec5 | ||
|
|
81a026435d | ||
|
|
9f2d17d40c | ||
|
|
2e66dc794b | ||
|
|
3644b94ee9 | ||
|
|
cf2a1112f4 | ||
|
|
bcc7d61266 | ||
|
|
3c5e7e260e | ||
|
|
b137b7c3ed | ||
|
|
67118593b8 | ||
|
|
85514f21bc | ||
|
|
fa774544ea | ||
|
|
a45c8f8670 | ||
|
|
a014fe80bd | ||
|
|
b9bd78e64e | ||
|
|
21bc17ac6e | ||
|
|
d03f2d48fa | ||
|
|
82b8f261a8 | ||
|
|
1e779a5a3c | ||
|
|
e4696c5dec | ||
|
|
9bf1c1d5a5 | ||
|
|
34745e0b10 | ||
|
|
5e96765467 | ||
|
|
9b49182355 | ||
|
|
88f419fc11 | ||
|
|
fc4fc00803 | ||
|
|
4b9ca430ba | ||
|
|
885b4c0a61 | ||
|
|
79a78ba994 | ||
|
|
982c4fb9cf | ||
|
|
9b7f7deb4d | ||
|
|
a6f535fd54 | ||
|
|
edb810aa3d | ||
|
|
42b3c28ab1 | ||
|
|
6b6c16e378 | ||
|
|
8f55a2e8d2 | ||
|
|
5f68e6a868 | ||
|
|
93dc3737fb | ||
|
|
6f2714bfbb | ||
|
|
fafca55335 | ||
|
|
2605cac2a9 | ||
|
|
98a9b0cabe | ||
|
|
dc0a7af0aa | ||
|
|
3adcec81a4 | ||
|
|
b96737a919 | ||
|
|
c4d68fd859 | ||
|
|
2d3cac0dea | ||
|
|
0fcc415231 | ||
|
|
8431b37201 | ||
|
|
23f3b47e6f | ||
|
|
7d73a3124d | ||
|
|
2041315910 | ||
|
|
04f822ab92 | ||
|
|
5a486fc8cd | ||
|
|
62fb757bb3 | ||
|
|
b79a965613 | ||
|
|
148a709e0e | ||
|
|
4916b2f361 | ||
|
|
f7c2cc869a | ||
|
|
79c8d1d64a | ||
|
|
54c73eaade | ||
|
|
a397a4731a | ||
|
|
4dfea3b68c | ||
|
|
384b33386b | ||
|
|
1a3afd10fc | ||
|
|
a2a0297ae9 | ||
|
|
8cf332baba | ||
|
|
77af87e92e | ||
|
|
01a747ad35 | ||
|
|
c8cbf6c0ba | ||
|
|
edaf6dce78 | ||
|
|
58e184fdc0 | ||
|
|
07efeb4c6c | ||
|
|
3555e2f1ab | ||
|
|
cf2ebd75fe | ||
|
|
ac74b5b6a3 | ||
|
|
c22c28d0c6 | ||
|
|
399daf9b27 | ||
|
|
b3a337aad0 | ||
|
|
ed1a1ca57e | ||
|
|
cae6c42928 | ||
|
|
4abec441f9 | ||
|
|
8e23df99d8 | ||
|
|
abe65b5879 | ||
|
|
20e220354d | ||
|
|
bc6bfac71a | ||
|
|
f40e9bc569 | ||
|
|
fa3e927011 | ||
|
|
9f9bfddd47 | ||
|
|
7fec8ba15f | ||
|
|
24f5fdd122 | ||
|
|
6a063be33f | ||
|
|
150c7aaf84 | ||
|
|
bbf2832356 | ||
|
|
e2e6662bae | ||
|
|
da3a4382dd | ||
|
|
eca31aa8a1 | ||
|
|
186ace28e0 | ||
|
|
c549c07fa6 | ||
|
|
340c00dc92 | ||
|
|
53b6bb29ec | ||
|
|
ed51a08388 | ||
|
|
140eb83f73 | ||
|
|
f1d9211b92 | ||
|
|
64b429c9a0 | ||
|
|
8a81837bd4 | ||
|
|
716979e1e3 | ||
|
|
117ec80611 | ||
|
|
6379d6e799 | ||
|
|
373e7face5 | ||
|
|
50eb6f94dd | ||
|
|
801c8dd5d4 | ||
|
|
27abc63d1c | ||
|
|
0a23125ae5 | ||
|
|
e8a33ff410 | ||
|
|
25162597e1 | ||
|
|
6502f27963 | ||
|
|
13e0bd2cff | ||
|
|
591242ab5f | ||
|
|
93e633490a | ||
|
|
250b5ca064 | ||
|
|
f0ae9b3a12 | ||
|
|
edb0af19c4 | ||
|
|
6329ba4091 | ||
|
|
ef48323a9b | ||
|
|
87a1e507ac | ||
|
|
0e3114a252 | ||
|
|
21f6ea640f | ||
|
|
03ebaf8783 | ||
|
|
d575335ade | ||
|
|
31abc1847f | ||
|
|
0b08fc9bac | ||
|
|
2bb1462f10 | ||
|
|
0ab9f770ea | ||
|
|
4416479d1c | ||
|
|
6231202374 | ||
|
|
6542b63660 | ||
|
|
fcab84cf6a | ||
|
|
e2e350883e | ||
|
|
47353932a1 | ||
|
|
850c61dc76 | ||
|
|
84bacd7edc | ||
|
|
773e60e31e | ||
|
|
9bce9d7a5d | ||
|
|
f1457ecffc | ||
|
|
8c284037c9 | ||
|
|
f2311d7dba | ||
|
|
3b4092f1ac | ||
|
|
2608f1a47c | ||
|
|
656018a440 | ||
|
|
70637aeb69 | ||
|
|
543aa5e3bb | ||
|
|
119a06f807 | ||
|
|
cb5b588711 | ||
|
|
adb9a4112c | ||
|
|
48653c0854 | ||
|
|
49e5dfdc24 | ||
|
|
35ebdb302a | ||
|
|
58f15d95d4 | ||
|
|
17db1d5970 | ||
|
|
0b97bea982 | ||
|
|
f054ffe9c8 | ||
|
|
2855600b5b | ||
|
|
ebb24763bd | ||
|
|
0c0f78d915 | ||
|
|
b0182fdd9a | ||
|
|
378e37adc9 | ||
|
|
3612c22adf | ||
|
|
230bce9864 | ||
|
|
f611df293f | ||
|
|
46944da663 | ||
|
|
518ea5bc31 | ||
|
|
3ee264015a | ||
|
|
65fcb15c09 | ||
|
|
304a336b57 | ||
|
|
28762c4be2 | ||
|
|
c2ca699e39 | ||
|
|
a8694b59a0 | ||
|
|
f0ecdd4862 | ||
|
|
98bfb54efc | ||
|
|
3a8e920a0d | ||
|
|
ba0cc65530 | ||
|
|
320d355e5d | ||
|
|
feae362cc3 | ||
|
|
66b0dbb945 | ||
|
|
14f2cc2bf4 | ||
|
|
c2fdf75c8c | ||
|
|
281d04feaf | ||
|
|
3526f5092c | ||
|
|
2be467ed68 | ||
|
|
38ed24f6a0 | ||
|
|
b56711ff6c | ||
|
|
379d1c8472 | ||
|
|
03b3995e19 | ||
|
|
466fb3b6bc | ||
|
|
08fd6214c9 | ||
|
|
feb70a3680 | ||
|
|
093757d182 | ||
|
|
a51209e051 | ||
|
|
4f86df6fa2 | ||
|
|
479368da95 | ||
|
|
9e9430e9b4 | ||
|
|
b38e9ef00a | ||
|
|
58cce1a996 | ||
|
|
ddc3857e36 | ||
|
|
0806b5774c | ||
|
|
3ff67ac89a | ||
|
|
5d358dc8de | ||
|
|
2832e546e0 | ||
|
|
5669aeb26a | ||
|
|
c846e8106d | ||
|
|
35c55c2555 | ||
|
|
065454194a | ||
|
|
9e5237fa99 | ||
|
|
7d7ff29911 | ||
|
|
5e019a77da | ||
|
|
68c9cb9236 | ||
|
|
36f04f0fce | ||
|
|
168eba4e28 | ||
|
|
39366406c5 | ||
|
|
9b1bf3b238 | ||
|
|
8eb5e9cd0e | ||
|
|
effd140a87 | ||
|
|
2afbce5b28 | ||
|
|
0c2b40b22f | ||
|
|
b590e097dc | ||
|
|
2f3f444b17 | ||
|
|
d04085e017 | ||
|
|
3eff13967a | ||
|
|
cba220883b | ||
|
|
423f838ce8 | ||
|
|
20f9990784 | ||
|
|
d6574c6d3f | ||
|
|
f5d711bd0b | ||
|
|
bd3102ad91 | ||
|
|
9005aca568 | ||
|
|
54c6227d89 | ||
|
|
41303ed8cc | ||
|
|
b885e2c39a | ||
|
|
853a4f3582 | ||
|
|
6ee27f5716 | ||
|
|
d8c3426058 | ||
|
|
886d3c58e9 | ||
|
|
ae17dab804 | ||
|
|
9fd2438d4c | ||
|
|
1ac61ed3b6 | ||
|
|
6bd2bb5fdb | ||
|
|
ac1e3274ec | ||
|
|
14be9092a1 | ||
|
|
5dfb14f86e | ||
|
|
b42091e660 | ||
|
|
646f40b8b5 | ||
|
|
c357584ec0 | ||
|
|
5d736cc6c8 | ||
|
|
304858c0cb | ||
|
|
fa32357231 | ||
|
|
8879e4e399 | ||
|
|
f1712ca20b | ||
|
|
0445fc4207 | ||
|
|
34c3835151 | ||
|
|
f38f551cda | ||
|
|
93fcc05944 | ||
|
|
12dbf2cd68 | ||
|
|
6a97dd8c93 | ||
|
|
16b4710f8c | ||
|
|
3d58b640f0 | ||
|
|
a5b573dbcd | ||
|
|
9360987d31 | ||
|
|
08776b77f7 | ||
|
|
b34766054b | ||
|
|
8914e28c26 | ||
|
|
2a39dc402a | ||
|
|
b55a98c697 | ||
|
|
fe9cfe318a | ||
|
|
08b9c995bd | ||
|
|
6da34e4236 | ||
|
|
2080e28813 | ||
|
|
79e846844f | ||
|
|
e172440607 | ||
|
|
996453b3a8 | ||
|
|
0eb68d22a0 | ||
|
|
a2a8d77445 | ||
|
|
032d9a288e | ||
|
|
3a74d10317 | ||
|
|
ef637af801 | ||
|
|
833795da79 | ||
|
|
68bc9642f4 | ||
|
|
a8bae9e3a6 | ||
|
|
fe2c5ef04b | ||
|
|
83521bc682 | ||
|
|
59ea146b6e | ||
|
|
09a1ce1e8a | ||
|
|
58a9ec846f | ||
|
|
6f3ae65833 | ||
|
|
a8e6695b55 | ||
|
|
c7edc9981f | ||
|
|
4d0912eb9d | ||
|
|
7747ac6226 | ||
|
|
13155149ea | ||
|
|
d3fffbad7b | ||
|
|
6fe98d2f54 | ||
|
|
a2683630e0 | ||
|
|
590923ca99 | ||
|
|
2a5198ed9d | ||
|
|
4a85594360 | ||
|
|
3d7f5ea0ca | ||
|
|
982314db80 | ||
|
|
3abe8a564b | ||
|
|
2dc0a86605 | ||
|
|
84f5f6505d | ||
|
|
cc685c8d7f | ||
|
|
9b07d494c6 | ||
|
|
3263fab54f | ||
|
|
145a1aa470 | ||
|
|
3254d7db33 | ||
|
|
5d4867e0ab | ||
|
|
a665cb1329 | ||
|
|
77bdf4b028 | ||
|
|
ca16d85890 | ||
|
|
b29d5e8d33 | ||
|
|
74f12d8071 | ||
|
|
dc6b33eda2 | ||
|
|
bde931bc3a | ||
|
|
81827f6536 | ||
|
|
8e5f3af858 | ||
|
|
9397ddb725 | ||
|
|
872c86ad20 | ||
|
|
6736b6771f | ||
|
|
4b4ea51138 | ||
|
|
a5de3a5c11 | ||
|
|
14e31e0d1d | ||
|
|
8bff10f1cb | ||
|
|
baf58c847e | ||
|
|
4fc18a7eb4 | ||
|
|
40821ed32c | ||
|
|
3aa99e6cc8 | ||
|
|
d6469bfd33 | ||
|
|
83c08306f9 | ||
|
|
6735b644c2 | ||
|
|
b16d0f9f42 | ||
|
|
c3dd4405a6 | ||
|
|
617261dc52 | ||
|
|
1120cb7280 | ||
|
|
969f2c1db2 | ||
|
|
2238e7347f | ||
|
|
feb8a6421a | ||
|
|
bf2674fd0c | ||
|
|
9cc30c2ccd | ||
|
|
b294eb7a9c | ||
|
|
b25fb3fd0e | ||
|
|
32ba555dee | ||
|
|
f3b60f296d | ||
|
|
f31caa30f4 | ||
|
|
04eeb03292 | ||
|
|
7b7effbe81 | ||
|
|
0d0b9ee120 | ||
|
|
62ac866bbc | ||
|
|
fc69d50751 | ||
|
|
7f21a55337 | ||
|
|
85c9b30c05 | ||
|
|
91380b3f58 | ||
|
|
fab35332eb | ||
|
|
f0d43ce102 | ||
|
|
08ab287ff7 | ||
|
|
380dcbbb58 | ||
|
|
3c98246141 | ||
|
|
0a002db1e5 | ||
|
|
b5b1c2b9df | ||
|
|
0428ebddb0 | ||
|
|
dd8f358076 | ||
|
|
34cd49174e | ||
|
|
7810d7cb34 | ||
|
|
3243e39c4f | ||
|
|
e60ae9290c | ||
|
|
00274d5090 | ||
|
|
56c1a6314f | ||
|
|
23038f4477 | ||
|
|
9f7d7fd997 | ||
|
|
982255d45c | ||
|
|
a28a456aee | ||
|
|
6d53961493 | ||
|
|
b93b58cb49 | ||
|
|
3cb4a9078c | ||
|
|
504800336c | ||
|
|
dda36530cd | ||
|
|
ffd59ee3c8 | ||
|
|
e3365bbfe4 | ||
|
|
71e9d239e3 | ||
|
|
2874fd2600 | ||
|
|
56db55a3dc | ||
|
|
8b9e009fc9 | ||
|
|
23720f5fd8 | ||
|
|
8bea1ecb35 | ||
|
|
dd3938c934 | ||
|
|
cf9b2565d0 | ||
|
|
caecbf9532 | ||
|
|
a250a53361 | ||
|
|
375d62c335 | ||
|
|
c3312d3fba | ||
|
|
df9469ca4e | ||
|
|
a07c8fd6c0 | ||
|
|
e41ead271e | ||
|
|
c1e3843bcf | ||
|
|
7886ac0e98 | ||
|
|
af38a6c7c8 | ||
|
|
9fb4ce53a5 | ||
|
|
1f7204baac | ||
|
|
f3932b797b | ||
|
|
24d7926bc7 | ||
|
|
f4db8e996a | ||
|
|
fa91e7d113 | ||
|
|
5889017c02 | ||
|
|
ad8278a3ae | ||
|
|
79c2319c16 | ||
|
|
e36cb639f2 | ||
|
|
23823e650a | ||
|
|
7fdddf23fe | ||
|
|
8eea7fb23e | ||
|
|
03c9918b58 | ||
|
|
2cbe7d6313 | ||
|
|
ffb1b832f6 | ||
|
|
d56135ea82 | ||
|
|
7216af8981 | ||
|
|
b8eb77a61a | ||
|
|
ed1fd8077c | ||
|
|
94e02c78a1 | ||
|
|
e6558706b8 | ||
|
|
ec511b941d | ||
|
|
accd0fb4af | ||
|
|
17140a9fde | ||
|
|
d0d269b61f | ||
|
|
f7adfc83e8 | ||
|
|
125b6576a4 | ||
|
|
67669b497e | ||
|
|
f809a81829 | ||
|
|
9ea7328ab4 | ||
|
|
ef5926422a | ||
|
|
111a6534e1 | ||
|
|
fcd74cb13c | ||
|
|
49720023bd | ||
|
|
96a12da3a3 | ||
|
|
67eea35d8f | ||
|
|
9d6ea035a9 | ||
|
|
fcd8f25e8b | ||
|
|
5f888eef30 | ||
|
|
c02440cfe1 | ||
|
|
e5abfbca71 | ||
|
|
b30c098dc1 | ||
|
|
b4625c7c30 | ||
|
|
b960aecb76 | ||
|
|
2ebc31b273 | ||
|
|
e135b011bc | ||
|
|
2913721755 | ||
|
|
7a83d8d76a | ||
|
|
db67ca332c | ||
|
|
69cf11512a | ||
|
|
4ea422f34e | ||
|
|
5c44eec26e | ||
|
|
99ac776dbb | ||
|
|
41f2cd70ed | ||
|
|
485dbdeb33 | ||
|
|
1772769c6d | ||
|
|
7393ba3b6b | ||
|
|
af71bc0cd1 | ||
|
|
a3b79dc06d | ||
|
|
011b5c12a9 | ||
|
|
d4df455dc0 | ||
|
|
025ab76ca6 | ||
|
|
1613298710 | ||
|
|
bcd6c9ef50 | ||
|
|
6f62c61bb4 | ||
|
|
b5c13664a6 | ||
|
|
f95b1cebf7 | ||
|
|
4813194480 | ||
|
|
97fd5b6bb9 | ||
|
|
2cbc5f4b7b | ||
|
|
0ba3df9253 | ||
|
|
f33afd0379 | ||
|
|
f15c635167 | ||
|
|
ec5044da85 | ||
|
|
5818e888f1 | ||
|
|
3b4c8e71e7 | ||
|
|
75d131d3ea | ||
|
|
6ad565886b | ||
|
|
abc3c11cab | ||
|
|
30991405b1 | ||
|
|
6e325b1eb1 | ||
|
|
f2834da643 | ||
|
|
13345e3f85 | ||
|
|
4092a12895 | ||
|
|
c694184fea | ||
|
|
2d1f8e09ac | ||
|
|
32e2c38fc4 | ||
|
|
d0ffef78f1 | ||
|
|
88f0bbebb9 | ||
|
|
75fc2a842c | ||
|
|
c0ff0efbed | ||
|
|
01290a44fb | ||
|
|
7b175d4ab4 | ||
|
|
4f2b7e2d68 | ||
|
|
01c3b227a2 | ||
|
|
144845c0b4 | ||
|
|
29e8ff6f3b | ||
|
|
2b44312fe4 | ||
|
|
d0985f5c82 | ||
|
|
ff4cdc8d31 | ||
|
|
b4c1b9dced | ||
|
|
8d097048e8 | ||
|
|
14592c4b37 | ||
|
|
a333ee19e3 | ||
|
|
49fcfad692 | ||
|
|
62f052a36c | ||
|
|
1bd76ebd2d | ||
|
|
6d99657dc0 | ||
|
|
e6003fe683 | ||
|
|
58e1a78191 | ||
|
|
cfd43015c6 | ||
|
|
aa4c8647ba | ||
|
|
6f39f3b2cf | ||
|
|
af6a56ff5a | ||
|
|
7f996068d4 | ||
|
|
6a60262bd6 | ||
|
|
50e3a2f40d | ||
|
|
ed98521ba6 | ||
|
|
a3be300f42 | ||
|
|
1ebb6aaef3 | ||
|
|
8815aa5d83 | ||
|
|
14b197149b | ||
|
|
27d1ac3897 | ||
|
|
74030963f4 | ||
|
|
83df072462 | ||
|
|
cdfe77f798 | ||
|
|
bf25e3ddb7 | ||
|
|
c5d64e06c8 | ||
|
|
e4e40ef38e | ||
|
|
ed60b9c77b | ||
|
|
2bdbdebd29 | ||
|
|
6c4049fe6a | ||
|
|
4b85228811 | ||
|
|
25eb322aba | ||
|
|
aa53c7181b | ||
|
|
91ce65c312 | ||
|
|
400ef22046 | ||
|
|
c735a48f37 | ||
|
|
081bf843d5 | ||
|
|
33e16e8ff8 | ||
|
|
f6d1bd8dc5 | ||
|
|
80161f19a0 | ||
|
|
4c48a2b997 | ||
|
|
b57e66d238 | ||
|
|
36e3707eee | ||
|
|
b2f2a4c088 | ||
|
|
f379a7e4d2 | ||
|
|
61de515ba9 | ||
|
|
d66e3b1d1d | ||
|
|
64aed44a59 | ||
|
|
25b73da64a | ||
|
|
4016be17d0 | ||
|
|
a18b91b864 | ||
|
|
6b003436e3 | ||
|
|
2b4a82d17e | ||
|
|
cd8aa4750c | ||
|
|
b69581ce7a | ||
|
|
8b7ad9ecad | ||
|
|
ee7b2f1efa | ||
|
|
48b120cf0b | ||
|
|
b0a82a8bdc | ||
|
|
a10a6d28ad | ||
|
|
2cbba0be71 | ||
|
|
4f03cfdcbe | ||
|
|
0b94fdefe9 | ||
|
|
e68b898a14 | ||
|
|
a06d8e601b | ||
|
|
b54dbce505 | ||
|
|
6216e3f87b | ||
|
|
e792d23cbc | ||
|
|
b388523e2e | ||
|
|
242d69ad55 | ||
|
|
23b370ba7b | ||
|
|
1fb046518a | ||
|
|
6a8b0ede01 | ||
|
|
2fa28a4645 | ||
|
|
23c07aa017 | ||
|
|
adca369b9f | ||
|
|
f086e5cd5b | ||
|
|
9b398b11d7 | ||
|
|
740b98b660 | ||
|
|
ef339a4322 | ||
|
|
75289ad75f | ||
|
|
75f6870919 | ||
|
|
309a6d899e | ||
|
|
b785c76714 | ||
|
|
89d3daeb53 | ||
|
|
f74049089b | ||
|
|
b8b26bb7bf | ||
|
|
640df0fe06 | ||
|
|
2015521a64 | ||
|
|
e24c264f89 | ||
|
|
c0b216c888 | ||
|
|
212ba53ec6 | ||
|
|
ee0052f953 | ||
|
|
937026ccad | ||
|
|
f1f339ee10 | ||
|
|
d5e77d82aa | ||
|
|
9f7d45363f | ||
|
|
bc0557718c | ||
|
|
91aa923203 | ||
|
|
791832845d | ||
|
|
a62acdb5a5 | ||
|
|
cd949b9ced | ||
|
|
7a9d0aae08 | ||
|
|
a5f4a5a734 | ||
|
|
999f28bf83 | ||
|
|
dfdb047546 | ||
|
|
e58ea779db | ||
|
|
f7d0b1bf22 | ||
|
|
979d86f8b9 | ||
|
|
f052b4e2d5 | ||
|
|
2ec6d5a1f6 | ||
|
|
32ac8ae30d | ||
|
|
2f78e86da4 | ||
|
|
f814414502 | ||
|
|
0e3dd7a275 | ||
|
|
ecaf985ae6 | ||
|
|
4f137fe9de | ||
|
|
1b323b6b58 | ||
|
|
8efa45e649 | ||
|
|
5ae826c117 | ||
|
|
26dff27224 | ||
|
|
05b0934e79 | ||
|
|
89251c7796 | ||
|
|
9e0c520ded | ||
|
|
391acc849a | ||
|
|
3c260b59e4 | ||
|
|
e0898fa949 | ||
|
|
bc84cdb538 | ||
|
|
a0912abebd | ||
|
|
1826ebc362 | ||
|
|
61d288db52 | ||
|
|
dd3479425b | ||
|
|
5b361fa8e5 | ||
|
|
8bac39c35f | ||
|
|
d31eff278b | ||
|
|
f28b78931d | ||
|
|
88040d5d35 | ||
|
|
4e216cf144 | ||
|
|
7516eefb4f | ||
|
|
1db3e20d72 | ||
|
|
3f81cc0838 | ||
|
|
f26f88b8e1 | ||
|
|
6f4ce8fe3d | ||
|
|
db9ef1fa46 | ||
|
|
26022ba2b0 | ||
|
|
e86fd97d71 | ||
|
|
1aa22b8124 | ||
|
|
19b55199d4 | ||
|
|
5dcb3081e5 | ||
|
|
60aa015a2b | ||
|
|
353d03a152 | ||
|
|
6ce2b28b80 | ||
|
|
ae7fa0d500 | ||
|
|
f5d1567440 | ||
|
|
ccfc40a47c | ||
|
|
5436cbbb6d | ||
|
|
6610004132 | ||
|
|
5623d1ecf5 | ||
|
|
49d4b82330 | ||
|
|
3e1266e3de | ||
|
|
35964e0756 | ||
|
|
d6b9003f6f | ||
|
|
eede66558e | ||
|
|
f7ab54c951 | ||
|
|
62acfc8d90 | ||
|
|
f02661a472 | ||
|
|
1ed96026ae | ||
|
|
4cb51b72e1 | ||
|
|
928a5d4b03 | ||
|
|
a9890f62ae | ||
|
|
93b14d5744 | ||
|
|
4ea5a278c0 | ||
|
|
86f1a0977d | ||
|
|
d726367408 | ||
|
|
a213d227a5 | ||
|
|
e921604cea | ||
|
|
7034b4b5a4 | ||
|
|
1a2c37a2db | ||
|
|
1d10e0446e | ||
|
|
b7a8a07a39 | ||
|
|
45e5d6caa7 | ||
|
|
c98303bd2c | ||
|
|
c7945e8509 | ||
|
|
df6bd14d70 | ||
|
|
c788dd02c0 | ||
|
|
c658673abb | ||
|
|
3917fc4f08 | ||
|
|
c916e8d930 | ||
|
|
7230cf3954 | ||
|
|
4c3b402925 | ||
|
|
36dd2d2458 | ||
|
|
a4c1e6a5be | ||
|
|
ed64b7cbf2 | ||
|
|
a0b665b9c7 | ||
|
|
4d76f74f59 | ||
|
|
377c126a4a | ||
|
|
3bcc88e4a5 | ||
|
|
9c62fce293 | ||
|
|
9f25573e73 | ||
|
|
d562206309 | ||
|
|
590dd677e3 | ||
|
|
bdbbfd3786 | ||
|
|
d3a38d9f28 | ||
|
|
c5a7a01889 | ||
|
|
604a2b7d87 | ||
|
|
d1372f928b | ||
|
|
c7e99415e0 | ||
|
|
bc4457c957 | ||
|
|
ecdb08ec8c | ||
|
|
3afa6206ff | ||
|
|
f2d4dec5a6 | ||
|
|
62fff2b37b | ||
|
|
fe2064d5b9 | ||
|
|
c2419ad58d | ||
|
|
6b99f44475 | ||
|
|
eee5aa3060 | ||
|
|
948bc0e138 | ||
|
|
deb7a7da46 | ||
|
|
90fb9919f4 | ||
|
|
11ed061136 | ||
|
|
c98d437c0d | ||
|
|
9c53c7090e | ||
|
|
a86d713e8a | ||
|
|
92384bf0c6 | ||
|
|
bbe5c42e64 | ||
|
|
9791061ca2 | ||
|
|
f87d7a735e | ||
|
|
14055547fa | ||
|
|
9843f739db | ||
|
|
3a3a3453e7 | ||
|
|
0228b9725e | ||
|
|
385a267208 | ||
|
|
bbf217f090 | ||
|
|
f474c284f4 | ||
|
|
7ad30dae85 | ||
|
|
3967429440 | ||
|
|
29b0b0611a | ||
|
|
2ab63a451a | ||
|
|
2a9afe8046 | ||
|
|
51b983509d | ||
|
|
36939092fb | ||
|
|
598ac0aff3 | ||
|
|
ae14e4bb3d | ||
|
|
857bce91ee | ||
|
|
ef52c25aa6 | ||
|
|
18d59c29ae | ||
|
|
f26ee1fb67 | ||
|
|
f82b1beaa0 | ||
|
|
e0c90207de | ||
|
|
e2d49e7c7a | ||
|
|
87b4652f92 | ||
|
|
812ab5e250 | ||
|
|
767c538bbf | ||
|
|
49b8160a58 | ||
|
|
6dba4f60ff | ||
|
|
4d80ef39cb | ||
|
|
8e0074e580 | ||
|
|
8ea76a7d8b | ||
|
|
046821112b | ||
|
|
399f19752d | ||
|
|
883972a466 | ||
|
|
5a48ce22c7 | ||
|
|
2278b396a8 | ||
|
|
54bf446cbc | ||
|
|
ecfe50be26 | ||
|
|
7ecc049fd4 | ||
|
|
7e4fa575f8 | ||
|
|
1994fa1a7e | ||
|
|
623029cc62 | ||
|
|
4076edd843 | ||
|
|
a6c015adc3 | ||
|
|
20954f7f75 | ||
|
|
315f3086f3 | ||
|
|
783e4bc227 | ||
|
|
26fdb44186 | ||
|
|
39f50a85c4 | ||
|
|
f973792142 | ||
|
|
1ad52f98b1 | ||
|
|
934a8563df | ||
|
|
034390f36c | ||
|
|
6d85f9cdf9 | ||
|
|
58d3a5285a | ||
|
|
989ca62269 | ||
|
|
13968a9723 | ||
|
|
1d0a886ec6 | ||
|
|
5798b073a1 | ||
|
|
976c901875 | ||
|
|
b8fe2ac52e | ||
|
|
18ac98a353 | ||
|
|
fad828ed78 | ||
|
|
4b1be560bb | ||
|
|
ee36eab4b6 | ||
|
|
c2a1a88257 | ||
|
|
3150de06ca | ||
|
|
61ef05afc8 | ||
|
|
357cc3fdc1 | ||
|
|
fa0fe29791 | ||
|
|
f675d7ece3 | ||
|
|
213799975c | ||
|
|
a1044f2f30 | ||
|
|
df670f8e13 | ||
|
|
a64b60670f | ||
|
|
473ce33fec | ||
|
|
63193e123b | ||
|
|
1e47af5b6f | ||
|
|
11f7300035 | ||
|
|
c67590a505 | ||
|
|
9e592073dd | ||
|
|
3512a088d6 | ||
|
|
8ec3dfa3fd | ||
|
|
e5cdfac6b7 | ||
|
|
f7543e3aaa | ||
|
|
7a2de290cf | ||
|
|
8c49ac2a8d | ||
|
|
557ced4b75 | ||
|
|
106bde2dc6 | ||
|
|
a509b332b5 | ||
|
|
905f8dc216 | ||
|
|
6464f55fcf | ||
|
|
6ae687faa3 | ||
|
|
2e00bb9a31 | ||
|
|
10090a03a6 | ||
|
|
1f278e75c3 | ||
|
|
dba4a28d88 | ||
|
|
bcc256ec16 | ||
|
|
53a3864fdc | ||
|
|
0ea25159d4 | ||
|
|
42fe8076e6 | ||
|
|
5297166d4f | ||
|
|
b89e45a4b6 | ||
|
|
060c14117c | ||
|
|
b00df8d64d | ||
|
|
4e7b679889 | ||
|
|
30950f0aaa | ||
|
|
385c336ba7 | ||
|
|
b8fae51686 | ||
|
|
c750359475 | ||
|
|
618c9c7d0c | ||
|
|
8b36869283 | ||
|
|
64c9e5f67a | ||
|
|
5dae210933 | ||
|
|
85312ed31d | ||
|
|
19db7fe4b5 | ||
|
|
38e90ce750 | ||
|
|
76f22333e6 | ||
|
|
740c141887 | ||
|
|
b00eaa2670 | ||
|
|
3a839384bb | ||
|
|
5f307788e2 | ||
|
|
ce9ab28489 | ||
|
|
3ca675fd58 | ||
|
|
09519ae210 | ||
|
|
a370b3d064 | ||
|
|
1246f5a62c | ||
|
|
164a2962b6 | ||
|
|
5f14aab942 | ||
|
|
1502b87e47 | ||
|
|
88768b9c28 | ||
|
|
94ab7f9087 | ||
|
|
e5abb36d32 | ||
|
|
91393ad80e | ||
|
|
ad6fd53398 | ||
|
|
d85e30e746 | ||
|
|
1935d85357 | ||
|
|
18f29bffa8 | ||
|
|
f0a8c1aa16 | ||
|
|
f3c8c5f389 | ||
|
|
52f7999233 | ||
|
|
173f79ca4e | ||
|
|
7ed461992e | ||
|
|
57f9e1e5c9 | ||
|
|
0bb6c89282 | ||
|
|
bfab754869 | ||
|
|
957b812f78 | ||
|
|
288978b251 | ||
|
|
9a37e6882c | ||
|
|
143207aadb | ||
|
|
b2c9167eec | ||
|
|
8b7dc8ba3a | ||
|
|
7ea76ed031 | ||
|
|
f092c8fadf | ||
|
|
1001afecc8 | ||
|
|
add968510d | ||
|
|
68c891e713 | ||
|
|
2ad3a4006e | ||
|
|
cc1eb1a977 | ||
|
|
0edf6c3ea7 | ||
|
|
bdd881b4e7 | ||
|
|
0b4f51b32e | ||
|
|
4e22b6577f | ||
|
|
1ab60bc247 | ||
|
|
25d98de880 | ||
|
|
7fa6d48ce4 | ||
|
|
a07827e079 | ||
|
|
7290c0ce6a | ||
|
|
cc13a92a06 | ||
|
|
0c1df4edb1 | ||
|
|
e1cf5abc32 | ||
|
|
d9551d2dcc | ||
|
|
35d12432e7 | ||
|
|
8bf86bedcf | ||
|
|
33eb2f6abe | ||
|
|
11262438e3 | ||
|
|
53d99cddc4 | ||
|
|
8aa5f40dfa | ||
|
|
7133b63c95 | ||
|
|
885881294d | ||
|
|
aecb7d541b | ||
|
|
db7c9c78b9 | ||
|
|
0d2e793df7 | ||
|
|
0317f3439d | ||
|
|
673a68d4cc | ||
|
|
ae2faa7b2d | ||
|
|
fd63b2674a | ||
|
|
437d9b333a | ||
|
|
0139274856 | ||
|
|
87cfa702bc | ||
|
|
47b502b965 | ||
|
|
013bff267e | ||
|
|
56ac2218d5 | ||
|
|
ac0801f75e | ||
|
|
0924f5c0e9 | ||
|
|
0e4389c96f | ||
|
|
61e33bda63 | ||
|
|
80b4c418ad | ||
|
|
483f9823c8 | ||
|
|
607bc7af62 | ||
|
|
905fc0fe9b | ||
|
|
e79dbfb671 | ||
|
|
217760ea68 | ||
|
|
71d78e310b | ||
|
|
b641611b86 | ||
|
|
50a8c7b1df | ||
|
|
f7a1d32bea | ||
|
|
062b0a80d3 | ||
|
|
81989243ad | ||
|
|
d37cffa9d8 | ||
|
|
bde41134f9 | ||
|
|
4497b7fb2b | ||
|
|
d942d64b7b | ||
|
|
63dbbb8b38 | ||
|
|
1a2bf6fc4c | ||
|
|
64cc5c42e7 | ||
|
|
17f7cd1c2c | ||
|
|
0b66fe2535 | ||
|
|
1cc0983315 | ||
|
|
828589705d | ||
|
|
fb0b4d1504 | ||
|
|
390c987081 | ||
|
|
87f0b9fdee | ||
|
|
c83637e6fe | ||
|
|
c4b44d3038 | ||
|
|
0b1064ea7d | ||
|
|
16f5f68ff8 | ||
|
|
d2cb68506b | ||
|
|
9b290c5a8a | ||
|
|
7bac5a7101 | ||
|
|
736cf279c3 | ||
|
|
3d49cfa0e7 | ||
|
|
9e7b2d68ad | ||
|
|
8401086544 | ||
|
|
5b44545fd2 | ||
|
|
52b2b8f6df | ||
|
|
67345e0e6d | ||
|
|
ecf57ce8d2 | ||
|
|
0259eeeb5d | ||
|
|
8c989a057d | ||
|
|
3a0aa9eaa9 | ||
|
|
0a13cdec11 | ||
|
|
6ff23b461c | ||
|
|
978d9ae574 | ||
|
|
399b43666f | ||
|
|
26d5679d5d | ||
|
|
f297d411df | ||
|
|
25d74973b0 | ||
|
|
adf99597f6 | ||
|
|
52fe7952d6 | ||
|
|
aa4c5df4b7 | ||
|
|
a3de2f9bee | ||
|
|
28f6dd66d2 | ||
|
|
89fd6a960c | ||
|
|
8b06e7d04f | ||
|
|
b1021432ec | ||
|
|
2cca514128 | ||
|
|
2e33027272 | ||
|
|
73a0b95df7 | ||
|
|
39f32a3b45 | ||
|
|
16f352169c | ||
|
|
adff6e66d5 | ||
|
|
1877aed36a | ||
|
|
50c1efadd8 | ||
|
|
83df90082a | ||
|
|
b1d7d19ed7 | ||
|
|
80ea255a7c | ||
|
|
f3f151075b |
@@ -0,0 +1,79 @@
|
||||
name: Bug Report - Language Service
|
||||
description: Create a bug report for IntelliSense, code editing, code navigation, code completion, code formatting, semantic colorization, etc.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
### Is there an existing issue for this?
|
||||
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
|
||||
|
||||
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Environment
|
||||
description: |
|
||||
Please provide the information for the following:
|
||||
- OS and Version
|
||||
- VS Code Version
|
||||
- C/C++ Extension Version
|
||||
- If using SSH remote, specify OS of remote machine
|
||||
value: |
|
||||
- OS and Version:
|
||||
- VS Code Version:
|
||||
- C/C++ Extension Version:
|
||||
- If using SSH remote, specify OS of remote machine:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Bug Summary and Steps to Reproduce
|
||||
description: |
|
||||
Please describe the language service issue or language service feature that is not working as expected. Include information about the actual workspace project (for example, is the workspace a single project or multiple projects, size of the project, etc).
|
||||
|
||||
Include clear steps on how to reproduce the issue and a description of what you expected to happen.
|
||||
value: |
|
||||
Bug Summary:
|
||||
|
||||
|
||||
Steps to reproduce:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
Expected behavior:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Configuration and Logs
|
||||
description: |
|
||||
Please provide your c_cpp_properties.json and logs:
|
||||
- Configurations in `c_cpp_properties.json`
|
||||
- Logs from running `C/C++: Log Diagnostics` from the VS Code command palette
|
||||
- Logs from [the language server logging](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Other Extensions
|
||||
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: |
|
||||
Optionally provide other information that will give us more context about the issue you are encountering, such as code sample, screenshots, screen recording of the issue, call stacks, etc.
|
||||
|
||||
Providing call stacks:
|
||||
For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
|
||||
|
||||
Instructions for attaching debugger to language service process:
|
||||
https://github.com/microsoft/vscode-cpptools/wiki/Attaching-debugger-to-cpptools-or-cpptools%E2%80%90srv.
|
||||
|
||||
Performance analysis:
|
||||
For a performance issue see instructions at https://github.com/microsoft/vscode-cpptools/wiki/Troubleshooting-Performance-Issues.
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,78 @@
|
||||
name: Bug Report - Debugger
|
||||
description: Create a bug report for debugging such as call stack, breakpoints, watch window, launching or attaching to a debuggee.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
### Is there an existing issue for this?
|
||||
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
|
||||
|
||||
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Environment
|
||||
description: |
|
||||
Please provide the information for the following:
|
||||
- OS and version
|
||||
- VS Code version
|
||||
- C/C++ extension version
|
||||
- OS and version of remote machine (if applicable)
|
||||
- GDB / LLDB version
|
||||
value: |
|
||||
- OS and version:
|
||||
- VS Code:
|
||||
- C/C++ extension:
|
||||
- OS and version of remote machine (if applicable):
|
||||
- GDB / LLDB version:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Bug Summary and Steps to Reproduce
|
||||
description: |
|
||||
Please describe the debugging issue or debugger feature that is not working as expected.
|
||||
|
||||
Include clear steps on how to reproduce the issue.
|
||||
value: |
|
||||
Bug Summary:
|
||||
|
||||
|
||||
Steps to reproduce:
|
||||
1. In this environment...
|
||||
2. With this config...
|
||||
3. Do '...'
|
||||
4. See error...
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Debugger Configurations
|
||||
description: Please provide the debugger configurations from the **tasks.json** and **launch.json** files.
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Debugger Logs
|
||||
description: |
|
||||
If applicable, please include [logging for the debugger adapter](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-debug-adapter) by adding `"logging": { "engineLogging": true, "trace": true, "traceResponse": true }` in the **launch.json** file.
|
||||
|
||||
Include logs or error messages from the Debug Console or Output windows.
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Other Extensions
|
||||
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: |
|
||||
Optionally provide other information that will give us more context about the issue you are encountering, such as a code sample, screenshots, or screen recording of the issue.
|
||||
|
||||
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,15 @@
|
||||
name: Feature Request
|
||||
description: Suggest an idea for the C/C++ extension.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
### Is there an existing request for this feature?
|
||||
Prior to creating a new feature request, please review our [existing feature requests](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22) to avoid duplicates.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Feature Request
|
||||
description: |
|
||||
Describe the feature you'd like.
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,38 +0,0 @@
|
||||
---
|
||||
name: Debugger
|
||||
about: Issues pertaining to debugging such as call stack, breakpoints, watch window,
|
||||
launching or attaching to a debuggee.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Type: Debugger
|
||||
<!----- Input information below ----->
|
||||
|
||||
<!--
|
||||
**Prior to filing an issue, please review:**
|
||||
- Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
|
||||
- Our documentation at https://code.visualstudio.com/docs/languages/cpp
|
||||
- FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
|
||||
-->
|
||||
|
||||
**Describe the bug**
|
||||
- OS and Version:
|
||||
- VS Code Version:
|
||||
- C/C++ Extension Version:
|
||||
- Other extensions you installed (and if the issue persists after disabling them):
|
||||
- A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
*Please include a code sample and `launch.json` configuration.*
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Additional context**
|
||||
*If applicable, please include logging by adding "logging": { "engineLogging": true, "trace": true, "traceResponse": true } in your `launch.json`*
|
||||
Add any other context about the problem here including log or error messages in your Debug Console or Output windows.
|
||||
@@ -1,42 +0,0 @@
|
||||
---
|
||||
name: General Extension
|
||||
about: Issues pertaining to downloading, installing, or building the extension.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Type: General
|
||||
<!----- Input information below ----->
|
||||
|
||||
<!--
|
||||
**Prior to filing an issue, please review:**
|
||||
- Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
|
||||
- Our documentation at https://code.visualstudio.com/docs/languages/cpp
|
||||
- FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
|
||||
-->
|
||||
|
||||
**Describe the bug**
|
||||
- OS and Version:
|
||||
- VS Code Version:
|
||||
- C/C++ Extension Version:
|
||||
- Other extensions you installed (and if the issue persists after disabling them):
|
||||
- A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
*Please include code sample and `task.json` files.*
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here including log messages from the Output window.
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
name: Language Service
|
||||
about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Type: LanguageService**
|
||||
<!----- Input information below ----->
|
||||
|
||||
<!--
|
||||
**Prior to filing an issue, please review:**
|
||||
- Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
|
||||
- Our documentation at https://code.visualstudio.com/docs/languages/cpp
|
||||
- FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
|
||||
-->
|
||||
|
||||
**Describe the bug**
|
||||
- OS and Version:
|
||||
- VS Code Version:
|
||||
- C/C++ Extension Version:
|
||||
- Other extensions you installed (and if the issue persists after disabling them):
|
||||
- Does this issue involve using SSH remote to run the extension on a remote machine?:
|
||||
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
|
||||
|
||||
**Steps to reproduce**
|
||||
<!-- Provide clear steps to reproduce the behavior: -->
|
||||
<!-- *The most actionable issue reports include a code sample including configuration files such as c_cpp_properties.json* -->
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
<!-- Please provide the following logs that show diagnostics and debugging information about the language server.
|
||||
1. Logs from the command `C/C++: Log Diagnostics`
|
||||
2. Logs from [the language server](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
|
||||
-->
|
||||
<details>
|
||||
<summary><strong>Logs</strong></summary>
|
||||
|
||||
<!-- Note: do not remove empty line after </summary> tag, otherwise the code blocks formatting won't show correctly. -->
|
||||
```
|
||||
Insert logs here.
|
||||
```
|
||||
</details>
|
||||
|
||||
**Screenshots**
|
||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
||||
|
||||
**Additional context**
|
||||
<!--
|
||||
* Call Stacks: For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
|
||||
-->
|
||||
@@ -15,8 +15,8 @@ class Locker extends ActionBase_1.ActionBase {
|
||||
this.daysSinceUpdate = daysSinceUpdate;
|
||||
}
|
||||
async run() {
|
||||
const closedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceClose);
|
||||
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceUpdate);
|
||||
const closedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.daysSinceClose);
|
||||
const updatedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.daysSinceUpdate);
|
||||
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
await Promise.all(page.map(async (issue) => {
|
||||
@@ -24,15 +24,15 @@ class Locker extends ActionBase_1.ActionBase {
|
||||
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
|
||||
// TODO: Verify closed and updated timestamps
|
||||
) {
|
||||
console.log(`Locking issue ${hydrated.number}`);
|
||||
(0, utils_1.safeLog)(`Locking issue ${hydrated.number}`);
|
||||
await issue.lockIssue();
|
||||
}
|
||||
else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is already locked. Ignoring`);
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is already locked. Ignoring`);
|
||||
}
|
||||
else if (hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { GitHub, Issue } from '../api/api'
|
||||
import { daysAgoToHumanReadbleDate } from '../common/utils'
|
||||
import { ActionBase } from '../common/ActionBase'
|
||||
import { GitHub, Issue } from '../api/api';
|
||||
import { daysAgoToHumanReadbleDate, safeLog } from '../common/utils';
|
||||
import { ActionBase } from '../common/ActionBase';
|
||||
|
||||
export class Locker extends ActionBase {
|
||||
constructor(
|
||||
@@ -26,26 +26,26 @@ export class Locker extends ActionBase {
|
||||
}
|
||||
|
||||
async run() {
|
||||
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose)
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate)
|
||||
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose);
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate);
|
||||
|
||||
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
|
||||
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
await Promise.all(
|
||||
page.map(async (issue) => {
|
||||
const hydrated = await issue.getIssue()
|
||||
const hydrated = await issue.getIssue();
|
||||
|
||||
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
|
||||
// TODO: Verify closed and updated timestamps
|
||||
) {
|
||||
console.log(`Locking issue ${hydrated.number}`)
|
||||
await issue.lockIssue()
|
||||
safeLog(`Locking issue ${hydrated.number}`);
|
||||
await issue.lockIssue();
|
||||
} else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is already locked. Ignoring`)
|
||||
safeLog(`Issue ${hydrated.number} is already locked. Ignoring`);
|
||||
} else if (hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`)
|
||||
safeLog(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
||||
@@ -13,7 +13,7 @@ class LockerAction extends Action_1.Action {
|
||||
this.id = 'Locker';
|
||||
}
|
||||
async onTriggered(github) {
|
||||
await new Locker_1.Locker(github, +utils_1.getRequiredInput('daysSinceClose'), +utils_1.getRequiredInput('daysSinceUpdate'), utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
|
||||
await new Locker_1.Locker(github, +(0, utils_1.getRequiredInput)('daysSinceClose'), +(0, utils_1.getRequiredInput)('daysSinceUpdate'), (0, utils_1.getInput)('labels') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999)).run();
|
||||
}
|
||||
}
|
||||
new LockerAction().run(); // eslint-disable-line
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { OctoKit } from '../api/octokit'
|
||||
import { getInput, getRequiredInput } from '../common/utils'
|
||||
import { Locker } from './Locker'
|
||||
import { Action } from '../common/Action'
|
||||
import { OctoKit } from '../api/octokit';
|
||||
import { getInput, getRequiredInput } from '../common/utils';
|
||||
import { Locker } from './Locker';
|
||||
import { Action } from '../common/Action';
|
||||
|
||||
class LockerAction extends Action {
|
||||
id = 'Locker'
|
||||
id = 'Locker';
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
await new Locker(
|
||||
@@ -24,8 +24,8 @@ class LockerAction extends Action {
|
||||
getInput('ignoreMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999)
|
||||
).run()
|
||||
).run();
|
||||
}
|
||||
}
|
||||
|
||||
new LockerAction().run() // eslint-disable-line
|
||||
new LockerAction().run(); // eslint-disable-line
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Reopener = void 0;
|
||||
const utils_1 = require("../common/utils");
|
||||
const ActionBase_1 = require("../common/ActionBase");
|
||||
class Reopener extends ActionBase_1.ActionBase {
|
||||
constructor(github, alsoApplyToOpenIssues, addLabels, removeLabels, reopenComment, setMilestoneId, labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
|
||||
@@ -19,7 +20,7 @@ class Reopener extends ActionBase_1.ActionBase {
|
||||
async run() {
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
|
||||
(0, utils_1.safeLog)(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
|
||||
const query = this.buildQuery((this.alsoApplyToOpenIssues ? "" : "is:closed ") + "is:unlocked");
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
await Promise.all(page.map(async (issue) => {
|
||||
@@ -28,17 +29,17 @@ class Reopener extends ActionBase_1.ActionBase {
|
||||
// TODO: Verify closed and updated timestamps
|
||||
) {
|
||||
if (hydrated.open === false) {
|
||||
console.log(`Reopening issue ${hydrated.number}`);
|
||||
(0, utils_1.safeLog)(`Reopening issue ${hydrated.number}`);
|
||||
await issue.reopenIssue();
|
||||
}
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
@@ -46,22 +47,22 @@ class Reopener extends ActionBase_1.ActionBase {
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.reopenComment) {
|
||||
console.log(`Posting comment to issue ${hydrated.number}.`);
|
||||
(0, utils_1.safeLog)(`Posting comment to issue ${hydrated.number}.`);
|
||||
await issue.postComment(this.reopenComment);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is locked. Ignoring`);
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is locked. Ignoring`);
|
||||
}
|
||||
else if (!this.alsoApplyToOpenIssues && hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { GitHub, Issue } from '../api/api'
|
||||
import { ActionBase } from '../common/ActionBase'
|
||||
import { GitHub, Issue } from '../api/api';
|
||||
import { daysAgoToHumanReadbleDate, safeLog } from '../common/utils';
|
||||
import { ActionBase } from '../common/ActionBase';
|
||||
|
||||
export class Reopener extends ActionBase {
|
||||
constructor(
|
||||
@@ -31,50 +32,50 @@ export class Reopener extends ActionBase {
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
|
||||
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
|
||||
safeLog(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
|
||||
|
||||
const query = this.buildQuery((this.alsoApplyToOpenIssues ? "": "is:closed ") + "is:unlocked");
|
||||
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
await Promise.all(
|
||||
page.map(async (issue) => {
|
||||
const hydrated = await issue.getIssue()
|
||||
const hydrated = await issue.getIssue();
|
||||
if (!hydrated.locked && (this.alsoApplyToOpenIssues || hydrated.open === false) && this.validateIssue(hydrated)
|
||||
// TODO: Verify closed and updated timestamps
|
||||
) {
|
||||
if (hydrated.open === false) {
|
||||
console.log(`Reopening issue ${hydrated.number}`)
|
||||
await issue.reopenIssue()
|
||||
safeLog(`Reopening issue ${hydrated.number}`);
|
||||
await issue.reopenIssue();
|
||||
}
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
|
||||
await issue.setMilestone(+this.setMilestoneId)
|
||||
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`)
|
||||
await issue.removeLabel(removeLabel)
|
||||
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
|
||||
await issue.addLabel(addLabel)
|
||||
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.reopenComment) {
|
||||
console.log(`Posting comment to issue ${hydrated.number}.`)
|
||||
await issue.postComment(this.reopenComment)
|
||||
safeLog(`Posting comment to issue ${hydrated.number}.`);
|
||||
await issue.postComment(this.reopenComment);
|
||||
}
|
||||
} else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is locked. Ignoring`)
|
||||
safeLog(`Issue ${hydrated.number} is locked. Ignoring`);
|
||||
} else if (!this.alsoApplyToOpenIssues && hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`)
|
||||
safeLog(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
||||
@@ -10,11 +10,11 @@ const Action_1 = require("../common/Action");
|
||||
class ReopenerAction extends Action_1.Action {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.id = 'Locker';
|
||||
this.id = 'Reopener';
|
||||
}
|
||||
async onTriggered(github) {
|
||||
const alsoApplyToOpenIssues = utils_1.getInput('alsoApplyToOpenIssues');
|
||||
await new Reopener_1.Reopener(github, alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true', utils_1.getInput('addLabels') || undefined, utils_1.getInput('removeLabels') || undefined, utils_1.getInput('reopenComment') || '', utils_1.getInput('setMilestoneId') || undefined, utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
|
||||
const alsoApplyToOpenIssues = (0, utils_1.getInput)('alsoApplyToOpenIssues');
|
||||
await new Reopener_1.Reopener(github, alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true', (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('reopenComment') || '', (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('labels') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999)).run();
|
||||
}
|
||||
}
|
||||
new ReopenerAction().run(); // eslint-disable-line
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { OctoKit } from '../api/octokit'
|
||||
import { getInput, getRequiredInput } from '../common/utils'
|
||||
import { Reopener } from './Reopener'
|
||||
import { Action } from '../common/Action'
|
||||
import { OctoKit } from '../api/octokit';
|
||||
import { getInput, getRequiredInput } from '../common/utils';
|
||||
import { Reopener } from './Reopener';
|
||||
import { Action } from '../common/Action';
|
||||
|
||||
class ReopenerAction extends Action {
|
||||
id = 'Locker'
|
||||
id = 'Reopener';
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
const alsoApplyToOpenIssues: string | undefined = getInput('alsoApplyToOpenIssues');
|
||||
@@ -28,8 +28,8 @@ class ReopenerAction extends Action {
|
||||
getInput('ignoreMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999)
|
||||
).run()
|
||||
).run();
|
||||
}
|
||||
}
|
||||
|
||||
new ReopenerAction().run() // eslint-disable-line
|
||||
new ReopenerAction().run(); // eslint-disable-line
|
||||
|
||||
@@ -21,8 +21,8 @@ class StaleCloser extends ActionBase_1.ActionBase {
|
||||
this.setMilestoneId = setMilestoneId;
|
||||
}
|
||||
async run() {
|
||||
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.closeDays);
|
||||
const pingTimestamp = this.pingDays ? utils_1.daysAgoToTimestamp(this.pingDays) : undefined;
|
||||
const updatedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays);
|
||||
const pingTimestamp = this.pingDays ? (0, utils_1.daysAgoToTimestamp)(this.pingDays) : undefined;
|
||||
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
@@ -45,20 +45,20 @@ class StaleCloser extends ActionBase_1.ActionBase {
|
||||
await issue.hasWriteAccess(lastComment.author)) {
|
||||
if (pingTimestamp != undefined) {
|
||||
if (lastComment) {
|
||||
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
|
||||
}
|
||||
else {
|
||||
console.log(`No comments on issue ${hydrated.number}. Closing.`);
|
||||
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
|
||||
}
|
||||
}
|
||||
if (this.closeComment) {
|
||||
console.log(`Posting comment on issue ${hydrated.number}`);
|
||||
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
|
||||
await issue.postComment(this.closeComment);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
@@ -66,22 +66,22 @@ class StaleCloser extends ActionBase_1.ActionBase {
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
await issue.closeIssue();
|
||||
await issue.closeIssue("not_planned");
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
console.log(`Closing issue ${hydrated.number}.`);
|
||||
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
|
||||
}
|
||||
else {
|
||||
// Ping
|
||||
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
|
||||
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
|
||||
if (this.pingComment) {
|
||||
await issue.postComment(this.pingComment
|
||||
.replace('${assignee}', hydrated.assignee)
|
||||
@@ -89,13 +89,13 @@ class StaleCloser extends ActionBase_1.ActionBase {
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is not open. Ignoring`);
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { GitHub } from '../api/api'
|
||||
import { ActionBase } from '../common/ActionBase'
|
||||
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp } from '../common/utils'
|
||||
import { GitHub } from '../api/api';
|
||||
import { ActionBase } from '../common/ActionBase';
|
||||
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp, safeLog } from '../common/utils';
|
||||
|
||||
export class StaleCloser extends ActionBase {
|
||||
constructor(
|
||||
@@ -33,7 +33,7 @@ export class StaleCloser extends ActionBase {
|
||||
}
|
||||
|
||||
async run() {
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays)
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays);
|
||||
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
|
||||
|
||||
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
@@ -43,12 +43,12 @@ export class StaleCloser extends ActionBase {
|
||||
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
for (const issue of page) {
|
||||
const hydrated = await issue.getIssue()
|
||||
const lastCommentIterator = await issue.getComments(true).next()
|
||||
const hydrated = await issue.getIssue();
|
||||
const lastCommentIterator = await issue.getComments(true).next();
|
||||
if (lastCommentIterator.done) {
|
||||
throw Error('Unexpected comment data')
|
||||
throw Error('Unexpected comment data');
|
||||
}
|
||||
const lastComment = lastCommentIterator.value[0]
|
||||
const lastComment = lastCommentIterator.value[0];
|
||||
|
||||
if (hydrated.open && this.validateIssue(hydrated)
|
||||
// TODO: Verify updated timestamp
|
||||
@@ -63,63 +63,63 @@ export class StaleCloser extends ActionBase {
|
||||
) {
|
||||
if (pingTimestamp != undefined) {
|
||||
if (lastComment) {
|
||||
console.log(
|
||||
safeLog(
|
||||
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`,
|
||||
)
|
||||
);
|
||||
} else {
|
||||
console.log(`No comments on issue ${hydrated.number}. Closing.`)
|
||||
safeLog(`No comments on issue ${hydrated.number}. Closing.`);
|
||||
}
|
||||
}
|
||||
if (this.closeComment) {
|
||||
console.log(`Posting comment on issue ${hydrated.number}`)
|
||||
await issue.postComment(this.closeComment)
|
||||
safeLog(`Posting comment on issue ${hydrated.number}`);
|
||||
await issue.postComment(this.closeComment);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`)
|
||||
await issue.removeLabel(removeLabel)
|
||||
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
|
||||
await issue.addLabel(addLabel)
|
||||
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
await issue.closeIssue()
|
||||
await issue.closeIssue("not_planned");
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
|
||||
await issue.setMilestone(+this.setMilestoneId)
|
||||
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
console.log(`Closing issue ${hydrated.number}.`)
|
||||
safeLog(`Closing issue ${hydrated.number}.`);
|
||||
} else {
|
||||
// Ping
|
||||
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
|
||||
console.log(
|
||||
safeLog(
|
||||
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`,
|
||||
)
|
||||
);
|
||||
if (this.pingComment) {
|
||||
await issue.postComment(
|
||||
this.pingComment
|
||||
.replace('${assignee}', hydrated.assignee)
|
||||
.replace('${author}', hydrated.author.name),
|
||||
)
|
||||
);
|
||||
}
|
||||
} else {
|
||||
console.log(
|
||||
safeLog(
|
||||
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${
|
||||
hydrated.assignee ? ' cc @' + hydrated.assignee : ''
|
||||
}`,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is not open. Ignoring`)
|
||||
safeLog(`Issue ${hydrated.number} is not open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class StaleCloserAction extends Action_1.Action {
|
||||
}
|
||||
async onTriggered(github) {
|
||||
var _a;
|
||||
await new StaleCloser_1.StaleCloser(github, +utils_1.getRequiredInput('closeDays'), utils_1.getRequiredInput('labels'), utils_1.getInput('closeComment') || '', +(utils_1.getInput('pingDays') || 0), utils_1.getInput('pingComment') || '', ((_a = utils_1.getInput('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), utils_1.getInput('addLabels') || undefined, utils_1.getInput('removeLabels') || undefined, utils_1.getInput('setMilestoneId') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999), utils_1.getInput('involves') || undefined).run();
|
||||
await new StaleCloser_1.StaleCloser(github, +(0, utils_1.getRequiredInput)('closeDays'), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('closeComment') || '', +((0, utils_1.getInput)('pingDays') || 0), (0, utils_1.getInput)('pingComment') || '', ((_a = (0, utils_1.getInput)('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
|
||||
}
|
||||
}
|
||||
new StaleCloserAction().run(); // eslint-disable-line
|
||||
|
||||
@@ -9,7 +9,7 @@ import { StaleCloser } from './StaleCloser'
|
||||
import { Action } from '../common/Action'
|
||||
|
||||
class StaleCloserAction extends Action {
|
||||
id = 'StaleCloser'
|
||||
id = 'StaleCloser';
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
await new StaleCloser(
|
||||
@@ -31,8 +31,8 @@ class StaleCloserAction extends Action {
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999),
|
||||
getInput('involves') || undefined
|
||||
).run()
|
||||
).run();
|
||||
}
|
||||
}
|
||||
|
||||
new StaleCloserAction().run() // eslint-disable-line
|
||||
new StaleCloserAction().run(); // eslint-disable-line
|
||||
|
||||
+79
-56
@@ -4,43 +4,53 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
export interface GitHub {
|
||||
query(query: Query): AsyncIterableIterator<GitHubIssue[]>
|
||||
repoOwner: string;
|
||||
repoName: string;
|
||||
|
||||
hasWriteAccess(user: User): Promise<boolean>
|
||||
query(query: Query): AsyncIterableIterator<GitHubIssue[]>;
|
||||
|
||||
repoHasLabel(label: string): Promise<boolean>
|
||||
createLabel(label: string, color: string, description: string): Promise<void>
|
||||
deleteLabel(label: string): Promise<void>
|
||||
hasWriteAccess(user: User): Promise<boolean>;
|
||||
|
||||
readConfig(path: string): Promise<any>
|
||||
repoHasLabel(label: string): Promise<boolean>;
|
||||
createLabel(label: string, color: string, description: string): Promise<void>;
|
||||
deleteLabel(label: string): Promise<void>;
|
||||
|
||||
dispatch(title: string): Promise<void>
|
||||
readConfig(path: string): Promise<any>;
|
||||
|
||||
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>
|
||||
dispatch(title: string): Promise<void>;
|
||||
|
||||
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>
|
||||
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>;
|
||||
|
||||
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>;
|
||||
|
||||
/**
|
||||
* Returns what we think the current milestone for the repo is based on the due on date.
|
||||
* @returns The milestone id if one is found, else undefined
|
||||
*/
|
||||
getCurrentRepoMilestone(): Promise<number | undefined>;
|
||||
}
|
||||
|
||||
export interface GitHubIssue extends GitHub {
|
||||
getIssue(): Promise<Issue>
|
||||
getIssue(): Promise<Issue>;
|
||||
|
||||
postComment(body: string): Promise<void>
|
||||
deleteComment(id: number): Promise<void>
|
||||
getComments(last?: boolean): AsyncIterableIterator<Comment[]>
|
||||
postComment(body: string): Promise<void>;
|
||||
deleteComment(id: number): Promise<void>;
|
||||
getComments(last?: boolean): AsyncIterableIterator<Comment[]>;
|
||||
|
||||
closeIssue(): Promise<void>
|
||||
lockIssue(): Promise<void>
|
||||
reopenIssue(): Promise<void>
|
||||
closeIssue(reason: 'completed' | 'not_planned'): Promise<void>;
|
||||
lockIssue(): Promise<void>;
|
||||
unlockIssue(): Promise<void>;
|
||||
reopenIssue(): Promise<void>;
|
||||
|
||||
setMilestone(milestoneId: number): Promise<void>
|
||||
setMilestone(milestoneId: number): Promise<void>;
|
||||
|
||||
addLabel(label: string): Promise<void>
|
||||
removeLabel(label: string): Promise<void>
|
||||
addLabel(label: string): Promise<void>;
|
||||
removeLabel(label: string): Promise<void>;
|
||||
|
||||
addAssignee(assignee: string): Promise<void>
|
||||
removeAssignee(assignee: string): Promise<void>
|
||||
addAssignee(assignee: string): Promise<void>;
|
||||
removeAssignee(assignee: string): Promise<void>;
|
||||
|
||||
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>
|
||||
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>;
|
||||
}
|
||||
|
||||
type SortVar =
|
||||
@@ -54,47 +64,60 @@ type SortVar =
|
||||
| 'reactions-tada'
|
||||
| 'interactions'
|
||||
| 'created'
|
||||
| 'updated'
|
||||
type SortOrder = 'asc' | 'desc'
|
||||
| 'updated';
|
||||
type SortOrder = 'asc' | 'desc';
|
||||
export type Reactions = {
|
||||
'+1': number
|
||||
'-1': number
|
||||
laugh: number
|
||||
hooray: number
|
||||
confused: number
|
||||
heart: number
|
||||
rocket: number
|
||||
eyes: number
|
||||
}
|
||||
'+1': number;
|
||||
'-1': number;
|
||||
laugh: number;
|
||||
hooray: number;
|
||||
confused: number;
|
||||
heart: number;
|
||||
rocket: number;
|
||||
eyes: number;
|
||||
};
|
||||
|
||||
export interface User {
|
||||
name: string
|
||||
isGitHubApp?: boolean
|
||||
name: string;
|
||||
isGitHubApp?: boolean;
|
||||
}
|
||||
export interface Comment {
|
||||
author: User
|
||||
body: string
|
||||
id: number
|
||||
timestamp: number
|
||||
author: User;
|
||||
body: string;
|
||||
id: number;
|
||||
timestamp: number;
|
||||
}
|
||||
export interface Issue {
|
||||
author: User
|
||||
body: string
|
||||
title: string
|
||||
labels: string[]
|
||||
open: boolean
|
||||
locked: boolean
|
||||
number: number
|
||||
numComments: number
|
||||
reactions: Reactions
|
||||
milestoneId: number | null
|
||||
assignee?: string
|
||||
createdAt: number
|
||||
updatedAt: number
|
||||
closedAt?: number
|
||||
author: User;
|
||||
body: string;
|
||||
title: string;
|
||||
labels: string[];
|
||||
open: boolean;
|
||||
locked: boolean;
|
||||
number: number;
|
||||
isPr: boolean;
|
||||
numComments: number;
|
||||
reactions: Reactions;
|
||||
milestone: Milestone | null;
|
||||
assignee?: string;
|
||||
assignees: string[];
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
closedAt?: number;
|
||||
}
|
||||
export interface Milestone {
|
||||
milestoneId: number;
|
||||
title: string;
|
||||
description: string;
|
||||
numClosedIssues: number;
|
||||
numOpenIssues: number;
|
||||
dueOn: Date | null;
|
||||
createdAt: Date | null;
|
||||
closedAt: Date | null;
|
||||
state: 'open' | 'closed';
|
||||
}
|
||||
export interface Query {
|
||||
q: string
|
||||
sort?: SortVar
|
||||
order?: SortOrder
|
||||
q: string;
|
||||
sort?: SortVar;
|
||||
order?: SortOrder;
|
||||
}
|
||||
|
||||
+167
-88
@@ -5,11 +5,12 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.OctoKitIssue = exports.OctoKit = exports.getNumRequests = void 0;
|
||||
const core_1 = require("@actions/core");
|
||||
const github_1 = require("@actions/github");
|
||||
const child_process_1 = require("child_process");
|
||||
const utils_1 = require("../common/utils");
|
||||
let numRequests = 0;
|
||||
exports.getNumRequests = () => numRequests;
|
||||
const getNumRequests = () => numRequests;
|
||||
exports.getNumRequests = getNumRequests;
|
||||
class OctoKit {
|
||||
constructor(token, params, options = { readonly: false }) {
|
||||
this.token = token;
|
||||
@@ -18,73 +19,97 @@ class OctoKit {
|
||||
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
|
||||
this.mockLabels = new Set();
|
||||
this.writeAccessCache = {};
|
||||
this._octokit = new github_1.GitHub(token);
|
||||
this._octokit = (0, github_1.getOctokit)(token);
|
||||
this.repoName = params.repo;
|
||||
this.repoOwner = params.owner;
|
||||
}
|
||||
get octokit() {
|
||||
numRequests++;
|
||||
return this._octokit;
|
||||
}
|
||||
getIssueByNumber(number) {
|
||||
return new OctoKitIssue(this.token, this.params, { number: number });
|
||||
}
|
||||
// TODO: just iterate over the issues in a page here instead of making caller do it
|
||||
async *query(query) {
|
||||
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
|
||||
console.log(`Querying for ${q}:`);
|
||||
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
|
||||
const options = {
|
||||
...query,
|
||||
q,
|
||||
per_page: 100,
|
||||
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
|
||||
});
|
||||
};
|
||||
let pageNum = 0;
|
||||
const timeout = async () => {
|
||||
if (pageNum < 2) {
|
||||
/* pass */
|
||||
}
|
||||
else if (pageNum < 4) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||
await new Promise((resolve) => setTimeout(resolve, 10000));
|
||||
}
|
||||
else {
|
||||
await new Promise((resolve) => setTimeout(resolve, 30000));
|
||||
}
|
||||
};
|
||||
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
|
||||
for await (const pageResponse of this.octokit.paginate.iterator(this.octokit.rest.search.issuesAndPullRequests, options)) {
|
||||
await timeout();
|
||||
numRequests++;
|
||||
const page = pageResponse.data;
|
||||
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
|
||||
(0, utils_1.safeLog)(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
|
||||
yield page.map((issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options));
|
||||
}
|
||||
}
|
||||
async createIssue(owner, repo, title, body) {
|
||||
core_1.debug(`Creating issue \`${title}\` on ${owner}/${repo}`);
|
||||
(0, utils_1.safeLog)(`Creating issue \`${title}\` on ${owner}/${repo}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.create({ owner, repo, title, body });
|
||||
await this.octokit.rest.issues.create({ owner, repo, title, body });
|
||||
}
|
||||
octokitIssueToIssue(issue) {
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
||||
return {
|
||||
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
|
||||
body: issue.body,
|
||||
author: { name: (_b = (_a = issue.user) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : 'unkown', isGitHubApp: ((_c = issue.user) === null || _c === void 0 ? void 0 : _c.type) === 'Bot' },
|
||||
body: (_d = issue.body) !== null && _d !== void 0 ? _d : '',
|
||||
number: issue.number,
|
||||
title: issue.title,
|
||||
labels: issue.labels.map((label) => label.name),
|
||||
isPr: !!((_e = issue.pull_request) === null || _e === void 0 ? void 0 : _e.html_url),
|
||||
labels: issue.labels.map((label) => { var _a; return (typeof label === 'string' ? label : (_a = label.name) !== null && _a !== void 0 ? _a : ''); }),
|
||||
open: issue.state === 'open',
|
||||
locked: issue.locked,
|
||||
numComments: issue.comments,
|
||||
reactions: issue.reactions,
|
||||
assignee: (_b = (_a = issue.assignee) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : (_d = (_c = issue.assignees) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.login,
|
||||
milestoneId: (_f = (_e = issue.milestone) === null || _e === void 0 ? void 0 : _e.number) !== null && _f !== void 0 ? _f : null,
|
||||
assignee: (_g = (_f = issue.assignee) === null || _f === void 0 ? void 0 : _f.login) !== null && _g !== void 0 ? _g : (_j = (_h = issue.assignees) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.login,
|
||||
assignees: (_l = (_k = issue.assignees) === null || _k === void 0 ? void 0 : _k.map((assignee) => assignee.login)) !== null && _l !== void 0 ? _l : [],
|
||||
milestone: issue.milestone ? this.octokitMilestoneToMilestone(issue.milestone) : null,
|
||||
createdAt: +new Date(issue.created_at),
|
||||
updatedAt: +new Date(issue.updated_at),
|
||||
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
|
||||
};
|
||||
}
|
||||
octokitMilestoneToMilestone(milestone) {
|
||||
var _a;
|
||||
if ((milestone === null || milestone === void 0 ? void 0 : milestone.number) === undefined) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
title: milestone.title,
|
||||
milestoneId: milestone.number,
|
||||
// Remove the time portions of the dates as they're not important
|
||||
createdAt: milestone.created_at !== null ? new Date(milestone.created_at.split('T')[0]) : null,
|
||||
dueOn: milestone.due_on !== null ? new Date(milestone.due_on.split('T')[0]) : null,
|
||||
closedAt: milestone.closed_at !== null ? new Date(milestone.closed_at.split('T')[0]) : null,
|
||||
description: (_a = milestone.description) !== null && _a !== void 0 ? _a : '',
|
||||
numClosedIssues: milestone.closed_issues,
|
||||
numOpenIssues: milestone.open_issues,
|
||||
state: milestone.state === 'open' ? 'open' : 'closed',
|
||||
};
|
||||
}
|
||||
async hasWriteAccess(user) {
|
||||
if (user.name in this.writeAccessCache) {
|
||||
core_1.debug('Got permissions from cache for ' + user);
|
||||
(0, utils_1.safeLog)('Got permissions from cache for ' + user);
|
||||
return this.writeAccessCache[user.name];
|
||||
}
|
||||
core_1.debug('Fetching permissions for ' + user);
|
||||
const permissions = (await this.octokit.repos.getCollaboratorPermissionLevel({
|
||||
(0, utils_1.safeLog)('Fetching permissions for ' + user.name);
|
||||
const permissions = (await this.octokit.rest.repos.getCollaboratorPermissionLevel({
|
||||
...this.params,
|
||||
username: user.name,
|
||||
})).data.permission;
|
||||
@@ -92,42 +117,44 @@ class OctoKit {
|
||||
}
|
||||
async repoHasLabel(name) {
|
||||
try {
|
||||
await this.octokit.issues.getLabel({ ...this.params, name });
|
||||
await this.octokit.rest.issues.getLabel({ ...this.params, name });
|
||||
return true;
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
const statusErorr = err;
|
||||
if (statusErorr.status === 404) {
|
||||
return this.options.readonly && this.mockLabels.has(name);
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async createLabel(name, color, description) {
|
||||
core_1.debug('Creating label ' + name);
|
||||
(0, utils_1.safeLog)('Creating label ' + name);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
|
||||
await this.octokit.rest.issues.createLabel({ ...this.params, color, description, name });
|
||||
else
|
||||
this.mockLabels.add(name);
|
||||
}
|
||||
async deleteLabel(name) {
|
||||
core_1.debug('Deleting label ' + name);
|
||||
(0, utils_1.safeLog)('Deleting label ' + name);
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.deleteLabel({ ...this.params, name });
|
||||
await this.octokit.rest.issues.deleteLabel({ ...this.params, name });
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
const statusErorr = err;
|
||||
if (statusErorr.status === 404) {
|
||||
return;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async readConfig(path) {
|
||||
core_1.debug('Reading config at ' + path);
|
||||
(0, utils_1.safeLog)('Reading config at ' + path);
|
||||
const repoPath = `.github/${path}.json`;
|
||||
try {
|
||||
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data;
|
||||
if ('type' in data && data.type === 'file') {
|
||||
const data = (await this.octokit.rest.repos.getContent({ ...this.params, path: repoPath })).data;
|
||||
if ('type' in data && data.type === 'file' && 'content' in data) {
|
||||
if (data.encoding === 'base64' && data.content) {
|
||||
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
|
||||
}
|
||||
@@ -140,7 +167,10 @@ class OctoKit {
|
||||
}
|
||||
}
|
||||
async releaseContainsCommit(release, commit) {
|
||||
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
|
||||
const isHash = (s) => /^[a-fA-F0-9]*$/.test(s);
|
||||
if (!isHash(release) || !isHash(commit))
|
||||
return 'unknown';
|
||||
return new Promise((resolve, reject) => (0, child_process_1.exec)(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
|
||||
if (!err || err.code === 1) {
|
||||
resolve(!err ? 'yes' : 'no');
|
||||
}
|
||||
@@ -157,10 +187,31 @@ class OctoKit {
|
||||
}
|
||||
}));
|
||||
}
|
||||
async getCurrentRepoMilestone() {
|
||||
(0, utils_1.safeLog)(`Getting repo milestone for ${this.params.owner}/${this.params.repo}`);
|
||||
// Fetch all milestones open for this repo
|
||||
const allMilestones = (await this.octokit.rest.issues.listMilestones({
|
||||
owner: this.params.owner,
|
||||
repo: this.params.repo,
|
||||
state: 'open',
|
||||
sort: 'due_on',
|
||||
direction: 'asc',
|
||||
})).data;
|
||||
const currentDate = new Date();
|
||||
const possibleMilestones = allMilestones
|
||||
.filter((milestone) => new Date(milestone.due_on === null ? currentDate : milestone.due_on) > currentDate &&
|
||||
currentDate > new Date(milestone.created_at) &&
|
||||
!milestone.title.includes('Recovery'))
|
||||
.sort((a, b) => { var _a, _b; return +new Date((_a = a.due_on) !== null && _a !== void 0 ? _a : currentDate) - +new Date((_b = b.due_on) !== null && _b !== void 0 ? _b : currentDate); });
|
||||
if (possibleMilestones.length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
return possibleMilestones[0].number;
|
||||
}
|
||||
async dispatch(title) {
|
||||
core_1.debug('Dispatching ' + title);
|
||||
(0, utils_1.safeLog)('Dispatching ' + title);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title });
|
||||
await this.octokit.rest.repos.createDispatchEvent({ ...this.params, event_type: title });
|
||||
}
|
||||
}
|
||||
exports.OctoKit = OctoKit;
|
||||
@@ -169,12 +220,12 @@ class OctoKitIssue extends OctoKit {
|
||||
super(token, params, options);
|
||||
this.params = params;
|
||||
this.issueData = issueData;
|
||||
console.log('running bot on issue', issueData.number);
|
||||
(0, utils_1.safeLog)('running bot on issue', issueData.number);
|
||||
}
|
||||
async addAssignee(assignee) {
|
||||
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
(0, utils_1.safeLog)('Adding assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.addAssignees({
|
||||
await this.octokit.rest.issues.addAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
@@ -182,45 +233,64 @@ class OctoKitIssue extends OctoKit {
|
||||
}
|
||||
}
|
||||
async removeAssignee(assignee) {
|
||||
core_1.debug('Removing assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
(0, utils_1.safeLog)('Removing assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.removeAssignees({
|
||||
await this.octokit.rest.issues.removeAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
});
|
||||
}
|
||||
}
|
||||
async closeIssue() {
|
||||
core_1.debug('Closing issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
async closeIssue(reason) {
|
||||
(0, utils_1.safeLog)('Closing issue ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
const issue = await this.octokit.rest.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
// Don't close already closed issues even if it means changing the state
|
||||
if (issue.data.state === 'closed') {
|
||||
return;
|
||||
}
|
||||
await this.octokit.rest.issues
|
||||
.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'closed',
|
||||
state_reason: reason,
|
||||
})
|
||||
.catch((e) => {
|
||||
(0, utils_1.safeLog)('error closing issue:', e);
|
||||
});
|
||||
}
|
||||
}
|
||||
async reopenIssue() {
|
||||
core_1.debug('Reopening issue ' + this.issueData.number);
|
||||
(0, utils_1.safeLog)('Reopening issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
await this.octokit.rest.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'open',
|
||||
});
|
||||
}
|
||||
async lockIssue() {
|
||||
core_1.debug('Locking issue ' + this.issueData.number);
|
||||
(0, utils_1.safeLog)('Locking issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number });
|
||||
await this.octokit.rest.issues.lock({ ...this.params, issue_number: this.issueData.number });
|
||||
}
|
||||
async unlockIssue() {
|
||||
(0, utils_1.safeLog)('Unlocking issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.rest.issues.unlock({ ...this.params, issue_number: this.issueData.number });
|
||||
}
|
||||
async getIssue() {
|
||||
if (isIssue(this.issueData)) {
|
||||
core_1.debug('Got issue data from query result ' + this.issueData.number);
|
||||
(0, utils_1.safeLog)('Got issue data from query result ' + this.issueData.number);
|
||||
return this.issueData;
|
||||
}
|
||||
console.log('Fetching issue ' + this.issueData.number);
|
||||
const issue = (await this.octokit.issues.get({
|
||||
(0, utils_1.safeLog)('Fetching issue ' + this.issueData.number);
|
||||
const issue = (await this.octokit.rest.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
mediaType: { previews: ['squirrel-girl'] },
|
||||
@@ -228,77 +298,83 @@ class OctoKitIssue extends OctoKit {
|
||||
return (this.issueData = this.octokitIssueToIssue(issue));
|
||||
}
|
||||
async postComment(body) {
|
||||
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
|
||||
(0, utils_1.safeLog)(`Posting comment on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createComment({
|
||||
await this.octokit.rest.issues.createComment({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
body,
|
||||
});
|
||||
}
|
||||
async deleteComment(id) {
|
||||
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
|
||||
(0, utils_1.safeLog)(`Deleting comment ${id} on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.deleteComment({
|
||||
await this.octokit.rest.issues.deleteComment({
|
||||
owner: this.params.owner,
|
||||
repo: this.params.repo,
|
||||
comment_id: id,
|
||||
});
|
||||
}
|
||||
async setMilestone(milestoneId) {
|
||||
core_1.debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
|
||||
(0, utils_1.safeLog)(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
await this.octokit.rest.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
milestone: milestoneId,
|
||||
});
|
||||
}
|
||||
async *getComments(last) {
|
||||
core_1.debug('Fetching comments for ' + this.issueData.number);
|
||||
const response = this.octokit.paginate.iterator(this.octokit.issues.listComments.endpoint.merge({
|
||||
(0, utils_1.safeLog)('Fetching comments for ' + this.issueData.number);
|
||||
const response = this.octokit.paginate.iterator(this.octokit.rest.issues.listComments, {
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
per_page: 100,
|
||||
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
|
||||
}));
|
||||
});
|
||||
for await (const page of response) {
|
||||
numRequests++;
|
||||
yield page.data.map((comment) => ({
|
||||
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
|
||||
body: comment.body,
|
||||
yield page.data.map((comment) => {
|
||||
var _a, _b, _c, _d;
|
||||
return ({
|
||||
author: { name: (_b = (_a = comment.user) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : '', isGitHubApp: ((_c = comment.user) === null || _c === void 0 ? void 0 : _c.type) === 'Bot' },
|
||||
body: (_d = comment.body) !== null && _d !== void 0 ? _d : '',
|
||||
id: comment.id,
|
||||
timestamp: +new Date(comment.created_at),
|
||||
}));
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
async addLabel(name) {
|
||||
core_1.debug(`Adding label ${name} to ${this.issueData.number}`);
|
||||
(0, utils_1.safeLog)(`Adding label ${name} to ${this.issueData.number}`);
|
||||
if (!(await this.repoHasLabel(name))) {
|
||||
throw Error(`Action could not execute becuase label ${name} is not defined.`);
|
||||
}
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.addLabels({
|
||||
await this.octokit.rest.issues.addLabels({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
labels: [name],
|
||||
});
|
||||
}
|
||||
async getAssigner(assignee) {
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
var _a, _b;
|
||||
const options = {
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
};
|
||||
let assigner;
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
for await (const event of this.octokit.paginate.iterator(this.octokit.rest.issues.listEventsForTimeline, options)) {
|
||||
numRequests++;
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (timelineEvent.event === 'assigned' &&
|
||||
timelineEvent.assignee.login === assignee) {
|
||||
assigner = timelineEvent.actor.login;
|
||||
if (timelineEvent.event === 'assigned' && ((_a = timelineEvent.assignee) === null || _a === void 0 ? void 0 : _a.login) === assignee) {
|
||||
assigner = (_b = timelineEvent.actor) === null || _b === void 0 ? void 0 : _b.login;
|
||||
}
|
||||
}
|
||||
if (assigner) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!assigner) {
|
||||
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
|
||||
@@ -306,25 +382,26 @@ class OctoKitIssue extends OctoKit {
|
||||
return assigner;
|
||||
}
|
||||
async removeLabel(name) {
|
||||
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
|
||||
(0, utils_1.safeLog)(`Removing label ${name} from ${this.issueData.number}`);
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.removeLabel({
|
||||
await this.octokit.rest.issues.removeLabel({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
name,
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
console.log(`Label ${name} not found on issue`);
|
||||
const statusErorr = err;
|
||||
if (statusErorr.status === 404) {
|
||||
(0, utils_1.safeLog)(`Label ${name} not found on issue`);
|
||||
return;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async getClosingInfo(alreadyChecked = []) {
|
||||
var _a, _b, _c, _d, _e, _f, _g;
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h;
|
||||
if (alreadyChecked.includes(this.issueData.number)) {
|
||||
return undefined;
|
||||
}
|
||||
@@ -332,22 +409,21 @@ class OctoKitIssue extends OctoKit {
|
||||
if ((await this.getIssue()).open) {
|
||||
return;
|
||||
}
|
||||
const closingHashComment = /(?:\\|\/)closedWith (\S*)/;
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
const closingHashComment = /(?:\\|\/)closedWith (?:https:\/\/github\.com\/microsoft\/vscode\/commit\/)?([a-fA-F0-9]{7,40})/;
|
||||
const options = {
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
};
|
||||
let closingCommit;
|
||||
const crossReferencing = [];
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
for await (const event of this.octokit.paginate.iterator(this.octokit.rest.issues.listEventsForTimeline, options)) {
|
||||
numRequests++;
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if ((timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
|
||||
timelineEvent.created_at &&
|
||||
timelineEvent.commit_id &&
|
||||
timelineEvent.commit_url
|
||||
.toLowerCase()
|
||||
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())) {
|
||||
((_a = timelineEvent.commit_url) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
|
||||
closingCommit = {
|
||||
hash: timelineEvent.commit_id,
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
@@ -356,15 +432,18 @@ class OctoKitIssue extends OctoKit {
|
||||
if (timelineEvent.event === 'reopened') {
|
||||
closingCommit = undefined;
|
||||
}
|
||||
if (timelineEvent.event === 'commented' &&
|
||||
!((_a = timelineEvent.body) === null || _a === void 0 ? void 0 : _a.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE')) &&
|
||||
if (timelineEvent.created_at &&
|
||||
timelineEvent.event === 'commented' &&
|
||||
!((_b = timelineEvent.body) === null || _b === void 0 ? void 0 : _b.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE')) &&
|
||||
closingHashComment.test(timelineEvent.body)) {
|
||||
closingCommit = {
|
||||
hash: closingHashComment.exec(timelineEvent.body)[1],
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
};
|
||||
}
|
||||
if (timelineEvent.event === 'cross-referenced' && ((_c = (_b = timelineEvent.source) === null || _b === void 0 ? void 0 : _b.issue) === null || _c === void 0 ? void 0 : _c.number) && ((_f = (_e = (_d = timelineEvent.source) === null || _d === void 0 ? void 0 : _d.issue) === null || _e === void 0 ? void 0 : _e.pull_request) === null || _f === void 0 ? void 0 : _f.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
|
||||
if (timelineEvent.event === 'cross-referenced' &&
|
||||
((_d = (_c = timelineEvent.source) === null || _c === void 0 ? void 0 : _c.issue) === null || _d === void 0 ? void 0 : _d.number) &&
|
||||
((_g = (_f = (_e = timelineEvent.source) === null || _e === void 0 ? void 0 : _e.issue) === null || _f === void 0 ? void 0 : _f.pull_request) === null || _g === void 0 ? void 0 : _g.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
|
||||
crossReferencing.push(timelineEvent.source.issue.number);
|
||||
}
|
||||
}
|
||||
@@ -375,16 +454,16 @@ class OctoKitIssue extends OctoKit {
|
||||
for (const id of crossReferencing.reverse()) {
|
||||
const closed = await new OctoKitIssue(this.token, this.params, {
|
||||
number: id,
|
||||
}, this.options).getClosingInfo(alreadyChecked);
|
||||
}).getClosingInfo(alreadyChecked);
|
||||
if (closed) {
|
||||
if (Math.abs(closed.timestamp - ((_g = (await this.getIssue()).closedAt) !== null && _g !== void 0 ? _g : 0)) < 5000) {
|
||||
if (Math.abs(closed.timestamp - ((_h = (await this.getIssue()).closedAt) !== null && _h !== void 0 ? _h : 0)) < 5000) {
|
||||
closingCommit = closed;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
|
||||
(0, utils_1.safeLog)(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
|
||||
return closingCommit;
|
||||
}
|
||||
}
|
||||
|
||||
+253
-164
@@ -3,181 +3,242 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { debug } from '@actions/core'
|
||||
import { GitHub as GitHubAPI } from '@actions/github'
|
||||
import { Octokit } from '@octokit/rest'
|
||||
import { exec } from 'child_process'
|
||||
import { Comment, GitHub, GitHubIssue, Issue, Query, User } from './api'
|
||||
import { getOctokit } from '@actions/github';
|
||||
import type { RequestError } from '@octokit/request-error';
|
||||
import { exec } from 'child_process';
|
||||
import { IssueGetResponse, IssuesGetResponseMilestone } from '../common/OctokitTypings';
|
||||
import { safeLog } from '../common/utils';
|
||||
import { Comment, GitHub, GitHubIssue, Issue, Milestone, Query, User } from './api';
|
||||
|
||||
let numRequests = 0
|
||||
export const getNumRequests = () => numRequests
|
||||
let numRequests = 0;
|
||||
export const getNumRequests = () => numRequests;
|
||||
|
||||
export class OctoKit implements GitHub {
|
||||
private _octokit: GitHubAPI
|
||||
protected get octokit(): GitHubAPI {
|
||||
numRequests++
|
||||
return this._octokit
|
||||
private _octokit: ReturnType<typeof getOctokit>;
|
||||
protected get octokit(): ReturnType<typeof getOctokit> {
|
||||
numRequests++;
|
||||
return this._octokit;
|
||||
}
|
||||
|
||||
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
|
||||
protected mockLabels: Set<string> = new Set()
|
||||
protected mockLabels: Set<string> = new Set();
|
||||
|
||||
public readonly repoName: string;
|
||||
public readonly repoOwner: string;
|
||||
|
||||
constructor(
|
||||
protected token: string,
|
||||
protected params: { repo: string; owner: string },
|
||||
protected options: { readonly: boolean } = { readonly: false },
|
||||
) {
|
||||
this._octokit = new GitHubAPI(token)
|
||||
this._octokit = getOctokit(token);
|
||||
this.repoName = params.repo;
|
||||
this.repoOwner = params.owner;
|
||||
}
|
||||
|
||||
getIssueByNumber(number: number) {
|
||||
return new OctoKitIssue(this.token, this.params, { number: number });
|
||||
}
|
||||
|
||||
// TODO: just iterate over the issues in a page here instead of making caller do it
|
||||
async *query(query: Query): AsyncIterableIterator<GitHubIssue[]> {
|
||||
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`
|
||||
console.log(`Querying for ${q}:`)
|
||||
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
|
||||
|
||||
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
|
||||
const options = {
|
||||
...query,
|
||||
q,
|
||||
per_page: 100,
|
||||
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
|
||||
})
|
||||
};
|
||||
|
||||
let pageNum = 0
|
||||
let pageNum = 0;
|
||||
|
||||
const timeout = async () => {
|
||||
if (pageNum < 2) {
|
||||
/* pass */
|
||||
} else if (pageNum < 4) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000))
|
||||
await new Promise((resolve) => setTimeout(resolve, 10000));
|
||||
} else {
|
||||
await new Promise((resolve) => setTimeout(resolve, 30000))
|
||||
}
|
||||
await new Promise((resolve) => setTimeout(resolve, 30000));
|
||||
}
|
||||
};
|
||||
|
||||
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
|
||||
await timeout()
|
||||
numRequests++
|
||||
const page: Array<Octokit.SearchIssuesAndPullRequestsResponseItemsItem> = pageResponse.data
|
||||
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`)
|
||||
for await (const pageResponse of this.octokit.paginate.iterator(
|
||||
this.octokit.rest.search.issuesAndPullRequests,
|
||||
options,
|
||||
)) {
|
||||
await timeout();
|
||||
numRequests++;
|
||||
const page = pageResponse.data;
|
||||
safeLog(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
|
||||
yield page.map(
|
||||
(issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options),
|
||||
)
|
||||
(issue) =>
|
||||
new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
async createIssue(owner: string, repo: string, title: string, body: string): Promise<void> {
|
||||
debug(`Creating issue \`${title}\` on ${owner}/${repo}`)
|
||||
if (!this.options.readonly) await this.octokit.issues.create({ owner, repo, title, body })
|
||||
safeLog(`Creating issue \`${title}\` on ${owner}/${repo}`);
|
||||
if (!this.options.readonly) await this.octokit.rest.issues.create({ owner, repo, title, body });
|
||||
}
|
||||
|
||||
protected octokitIssueToIssue(
|
||||
issue: Octokit.IssuesGetResponse | Octokit.SearchIssuesAndPullRequestsResponseItemsItem,
|
||||
): Issue {
|
||||
protected octokitIssueToIssue(issue: IssueGetResponse): Issue {
|
||||
return {
|
||||
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
|
||||
body: issue.body,
|
||||
author: { name: issue.user?.login ?? 'unkown', isGitHubApp: issue.user?.type === 'Bot' },
|
||||
body: issue.body ?? '',
|
||||
number: issue.number,
|
||||
title: issue.title,
|
||||
labels: (issue.labels as Octokit.IssuesGetLabelResponse[]).map((label) => label.name),
|
||||
isPr: !!issue.pull_request?.html_url,
|
||||
labels: issue.labels.map((label) => (typeof label === 'string' ? label : label.name ?? '')),
|
||||
open: issue.state === 'open',
|
||||
locked: (issue as any).locked,
|
||||
numComments: issue.comments,
|
||||
reactions: (issue as any).reactions,
|
||||
assignee: issue.assignee?.login ?? (issue as any).assignees?.[0]?.login,
|
||||
milestoneId: issue.milestone?.number ?? null,
|
||||
assignee: issue.assignee?.login ?? (issue as IssueGetResponse).assignees?.[0]?.login,
|
||||
assignees: (issue as IssueGetResponse).assignees?.map((assignee) => assignee.login) ?? [],
|
||||
milestone: issue.milestone ? this.octokitMilestoneToMilestone(issue.milestone) : null,
|
||||
createdAt: +new Date(issue.created_at),
|
||||
updatedAt: +new Date(issue.updated_at),
|
||||
closedAt: issue.closed_at ? +new Date((issue.closed_at as unknown) as string) : undefined,
|
||||
}
|
||||
closedAt: issue.closed_at ? +new Date(issue.closed_at as unknown as string) : undefined,
|
||||
};
|
||||
}
|
||||
|
||||
private writeAccessCache: Record<string, boolean> = {}
|
||||
protected octokitMilestoneToMilestone(milestone: IssuesGetResponseMilestone): Milestone | null {
|
||||
if (milestone?.number === undefined) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
title: milestone.title,
|
||||
milestoneId: milestone.number,
|
||||
// Remove the time portions of the dates as they're not important
|
||||
createdAt: milestone.created_at !== null ? new Date(milestone.created_at.split('T')[0]) : null,
|
||||
dueOn: milestone.due_on !== null ? new Date(milestone.due_on.split('T')[0]) : null,
|
||||
closedAt: milestone.closed_at !== null ? new Date(milestone.closed_at.split('T')[0]) : null,
|
||||
description: milestone.description ?? '',
|
||||
numClosedIssues: milestone.closed_issues,
|
||||
numOpenIssues: milestone.open_issues,
|
||||
state: milestone.state === 'open' ? 'open' : 'closed',
|
||||
};
|
||||
}
|
||||
|
||||
private writeAccessCache: Record<string, boolean> = {};
|
||||
async hasWriteAccess(user: User): Promise<boolean> {
|
||||
if (user.name in this.writeAccessCache) {
|
||||
debug('Got permissions from cache for ' + user)
|
||||
return this.writeAccessCache[user.name]
|
||||
safeLog('Got permissions from cache for ' + user);
|
||||
return this.writeAccessCache[user.name];
|
||||
}
|
||||
debug('Fetching permissions for ' + user)
|
||||
safeLog('Fetching permissions for ' + user.name);
|
||||
const permissions = (
|
||||
await this.octokit.repos.getCollaboratorPermissionLevel({
|
||||
await this.octokit.rest.repos.getCollaboratorPermissionLevel({
|
||||
...this.params,
|
||||
username: user.name,
|
||||
})
|
||||
).data.permission
|
||||
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write')
|
||||
).data.permission;
|
||||
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write');
|
||||
}
|
||||
|
||||
async repoHasLabel(name: string): Promise<boolean> {
|
||||
try {
|
||||
await this.octokit.issues.getLabel({ ...this.params, name })
|
||||
return true
|
||||
await this.octokit.rest.issues.getLabel({ ...this.params, name });
|
||||
return true;
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
return this.options.readonly && this.mockLabels.has(name)
|
||||
const statusErorr = err as RequestError;
|
||||
if (statusErorr.status === 404) {
|
||||
return this.options.readonly && this.mockLabels.has(name);
|
||||
}
|
||||
throw err
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
async createLabel(name: string, color: string, description: string): Promise<void> {
|
||||
debug('Creating label ' + name)
|
||||
safeLog('Creating label ' + name);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createLabel({ ...this.params, color, description, name })
|
||||
else this.mockLabels.add(name)
|
||||
await this.octokit.rest.issues.createLabel({ ...this.params, color, description, name });
|
||||
else this.mockLabels.add(name);
|
||||
}
|
||||
|
||||
async deleteLabel(name: string): Promise<void> {
|
||||
debug('Deleting label ' + name)
|
||||
safeLog('Deleting label ' + name);
|
||||
try {
|
||||
if (!this.options.readonly) await this.octokit.issues.deleteLabel({ ...this.params, name })
|
||||
if (!this.options.readonly) await this.octokit.rest.issues.deleteLabel({ ...this.params, name });
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
return
|
||||
const statusErorr = err as RequestError;
|
||||
if (statusErorr.status === 404) {
|
||||
return;
|
||||
}
|
||||
throw err
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
async readConfig(path: string): Promise<any> {
|
||||
debug('Reading config at ' + path)
|
||||
const repoPath = `.github/${path}.json`
|
||||
safeLog('Reading config at ' + path);
|
||||
const repoPath = `.github/${path}.json`;
|
||||
try {
|
||||
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data
|
||||
|
||||
if ('type' in data && data.type === 'file') {
|
||||
const data = (await this.octokit.rest.repos.getContent({ ...this.params, path: repoPath })).data;
|
||||
if ('type' in data && data.type === 'file' && 'content' in data) {
|
||||
if (data.encoding === 'base64' && data.content) {
|
||||
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'))
|
||||
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
|
||||
}
|
||||
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`)
|
||||
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`);
|
||||
}
|
||||
throw Error('Found directory at config path when expecting file' + JSON.stringify(data))
|
||||
throw Error('Found directory at config path when expecting file' + JSON.stringify(data));
|
||||
} catch (e) {
|
||||
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e))
|
||||
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e));
|
||||
}
|
||||
}
|
||||
|
||||
async releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'> {
|
||||
const isHash = (s: string) => /^[a-fA-F0-9]*$/.test(s);
|
||||
if (!isHash(release) || !isHash(commit)) return 'unknown';
|
||||
return new Promise((resolve, reject) =>
|
||||
exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
|
||||
if (!err || err.code === 1) {
|
||||
resolve(!err ? 'yes' : 'no')
|
||||
resolve(!err ? 'yes' : 'no');
|
||||
} else if (err.message.includes(`Not a valid commit name ${release}`)) {
|
||||
// release branch is forked. Probably in endgame. Not released.
|
||||
resolve('no')
|
||||
resolve('no');
|
||||
} else if (err.message.includes(`Not a valid commit name ${commit}`)) {
|
||||
// commit is probably in a different repo.
|
||||
resolve('unknown')
|
||||
resolve('unknown');
|
||||
} else {
|
||||
reject(err)
|
||||
reject(err);
|
||||
}
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
async getCurrentRepoMilestone(): Promise<number | undefined> {
|
||||
safeLog(`Getting repo milestone for ${this.params.owner}/${this.params.repo}`);
|
||||
// Fetch all milestones open for this repo
|
||||
const allMilestones = (
|
||||
await this.octokit.rest.issues.listMilestones({
|
||||
owner: this.params.owner,
|
||||
repo: this.params.repo,
|
||||
state: 'open',
|
||||
sort: 'due_on',
|
||||
direction: 'asc',
|
||||
})
|
||||
).data;
|
||||
const currentDate = new Date();
|
||||
const possibleMilestones = allMilestones
|
||||
.filter(
|
||||
(milestone) =>
|
||||
new Date(milestone.due_on === null ? currentDate : milestone.due_on) > currentDate &&
|
||||
currentDate > new Date(milestone.created_at) &&
|
||||
!milestone.title.includes('Recovery'),
|
||||
)
|
||||
.sort((a, b) => +new Date(a.due_on ?? currentDate) - +new Date(b.due_on ?? currentDate));
|
||||
if (possibleMilestones.length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
return possibleMilestones[0].number;
|
||||
}
|
||||
|
||||
async dispatch(title: string): Promise<void> {
|
||||
debug('Dispatching ' + title)
|
||||
safeLog('Dispatching ' + title);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title })
|
||||
await this.octokit.rest.repos.createDispatchEvent({ ...this.params, event_type: title });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,184 +249,206 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
|
||||
private issueData: { number: number } | Issue,
|
||||
options: { readonly: boolean } = { readonly: false },
|
||||
) {
|
||||
super(token, params, options)
|
||||
console.log('running bot on issue', issueData.number)
|
||||
super(token, params, options);
|
||||
safeLog('running bot on issue', issueData.number);
|
||||
}
|
||||
|
||||
async addAssignee(assignee: string): Promise<void> {
|
||||
debug('Adding assignee ' + assignee + ' to ' + this.issueData.number)
|
||||
safeLog('Adding assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.addAssignees({
|
||||
await this.octokit.rest.issues.addAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async removeAssignee(assignee: string): Promise<void> {
|
||||
debug('Removing assignee ' + assignee + ' to ' + this.issueData.number)
|
||||
safeLog('Removing assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.removeAssignees({
|
||||
await this.octokit.rest.issues.removeAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async closeIssue(): Promise<void> {
|
||||
debug('Closing issue ' + this.issueData.number)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
async closeIssue(reason: 'completed' | 'not_planned'): Promise<void> {
|
||||
safeLog('Closing issue ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
const issue = await this.octokit.rest.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
// Don't close already closed issues even if it means changing the state
|
||||
if (issue.data.state === 'closed') {
|
||||
return;
|
||||
}
|
||||
await this.octokit.rest.issues
|
||||
.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'closed',
|
||||
state_reason: reason,
|
||||
})
|
||||
.catch((e) => {
|
||||
safeLog('error closing issue:', e);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async reopenIssue(): Promise<void> {
|
||||
debug('Reopening issue ' + this.issueData.number)
|
||||
safeLog('Reopening issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
await this.octokit.rest.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'open',
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
async lockIssue(): Promise<void> {
|
||||
debug('Locking issue ' + this.issueData.number)
|
||||
safeLog('Locking issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number })
|
||||
await this.octokit.rest.issues.lock({ ...this.params, issue_number: this.issueData.number });
|
||||
}
|
||||
|
||||
async unlockIssue(): Promise<void> {
|
||||
safeLog('Unlocking issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.rest.issues.unlock({ ...this.params, issue_number: this.issueData.number });
|
||||
}
|
||||
|
||||
async getIssue(): Promise<Issue> {
|
||||
if (isIssue(this.issueData)) {
|
||||
debug('Got issue data from query result ' + this.issueData.number)
|
||||
return this.issueData
|
||||
safeLog('Got issue data from query result ' + this.issueData.number);
|
||||
return this.issueData;
|
||||
}
|
||||
|
||||
console.log('Fetching issue ' + this.issueData.number)
|
||||
safeLog('Fetching issue ' + this.issueData.number);
|
||||
const issue = (
|
||||
await this.octokit.issues.get({
|
||||
await this.octokit.rest.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
mediaType: { previews: ['squirrel-girl'] },
|
||||
})
|
||||
).data
|
||||
return (this.issueData = this.octokitIssueToIssue(issue))
|
||||
).data;
|
||||
return (this.issueData = this.octokitIssueToIssue(issue));
|
||||
}
|
||||
|
||||
async postComment(body: string): Promise<void> {
|
||||
debug(`Posting comment ${body} on ${this.issueData.number}`)
|
||||
safeLog(`Posting comment on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createComment({
|
||||
await this.octokit.rest.issues.createComment({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
body,
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
async deleteComment(id: number): Promise<void> {
|
||||
debug(`Deleting comment ${id} on ${this.issueData.number}`)
|
||||
safeLog(`Deleting comment ${id} on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.deleteComment({
|
||||
await this.octokit.rest.issues.deleteComment({
|
||||
owner: this.params.owner,
|
||||
repo: this.params.repo,
|
||||
comment_id: id,
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
async setMilestone(milestoneId: number) {
|
||||
debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`)
|
||||
safeLog(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
await this.octokit.rest.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
milestone: milestoneId,
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
async *getComments(last?: boolean): AsyncIterableIterator<Comment[]> {
|
||||
debug('Fetching comments for ' + this.issueData.number)
|
||||
safeLog('Fetching comments for ' + this.issueData.number);
|
||||
|
||||
const response = this.octokit.paginate.iterator(
|
||||
this.octokit.issues.listComments.endpoint.merge({
|
||||
const response = this.octokit.paginate.iterator(this.octokit.rest.issues.listComments, {
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
per_page: 100,
|
||||
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
|
||||
}),
|
||||
)
|
||||
});
|
||||
|
||||
for await (const page of response) {
|
||||
numRequests++
|
||||
yield (page.data as Octokit.IssuesListCommentsResponseItem[]).map((comment) => ({
|
||||
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
|
||||
body: comment.body,
|
||||
numRequests++;
|
||||
yield page.data.map((comment) => ({
|
||||
author: { name: comment.user?.login ?? '', isGitHubApp: comment.user?.type === 'Bot' },
|
||||
body: comment.body ?? '',
|
||||
id: comment.id,
|
||||
timestamp: +new Date(comment.created_at),
|
||||
}))
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
async addLabel(name: string): Promise<void> {
|
||||
debug(`Adding label ${name} to ${this.issueData.number}`)
|
||||
safeLog(`Adding label ${name} to ${this.issueData.number}`);
|
||||
if (!(await this.repoHasLabel(name))) {
|
||||
throw Error(`Action could not execute becuase label ${name} is not defined.`)
|
||||
throw Error(`Action could not execute becuase label ${name} is not defined.`);
|
||||
}
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.addLabels({
|
||||
await this.octokit.rest.issues.addLabels({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
labels: [name],
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
async getAssigner(assignee: string): Promise<string> {
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
const options = {
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
})
|
||||
};
|
||||
|
||||
let assigner: string | undefined
|
||||
let assigner: string | undefined;
|
||||
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++
|
||||
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
|
||||
for await (const event of this.octokit.paginate.iterator(
|
||||
this.octokit.rest.issues.listEventsForTimeline,
|
||||
options,
|
||||
)) {
|
||||
numRequests++;
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (
|
||||
timelineEvent.event === 'assigned' &&
|
||||
(timelineEvent as any).assignee.login === assignee
|
||||
) {
|
||||
assigner = timelineEvent.actor.login
|
||||
if (timelineEvent.event === 'assigned' && timelineEvent.assignee?.login === assignee) {
|
||||
assigner = timelineEvent.actor?.login;
|
||||
}
|
||||
}
|
||||
if (assigner) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!assigner) {
|
||||
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.')
|
||||
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
|
||||
}
|
||||
|
||||
return assigner
|
||||
return assigner;
|
||||
}
|
||||
|
||||
async removeLabel(name: string): Promise<void> {
|
||||
debug(`Removing label ${name} from ${this.issueData.number}`)
|
||||
safeLog(`Removing label ${name} from ${this.issueData.number}`);
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.removeLabel({
|
||||
await this.octokit.rest.issues.removeLabel({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
name,
|
||||
})
|
||||
});
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
console.log(`Label ${name} not found on issue`)
|
||||
return
|
||||
const statusErorr = err as RequestError;
|
||||
if (statusErorr.status === 404) {
|
||||
safeLog(`Label ${name} not found on issue`);
|
||||
return;
|
||||
}
|
||||
throw err
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -373,43 +456,49 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
|
||||
alreadyChecked: number[] = [],
|
||||
): Promise<{ hash: string | undefined; timestamp: number } | undefined> {
|
||||
if (alreadyChecked.includes(this.issueData.number)) {
|
||||
return undefined
|
||||
return undefined;
|
||||
}
|
||||
alreadyChecked.push(this.issueData.number)
|
||||
alreadyChecked.push(this.issueData.number);
|
||||
|
||||
if ((await this.getIssue()).open) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
|
||||
const closingHashComment = /(?:\\|\/)closedWith (\S*)/
|
||||
const closingHashComment =
|
||||
/(?:\\|\/)closedWith (?:https:\/\/github\.com\/microsoft\/vscode\/commit\/)?([a-fA-F0-9]{7,40})/;
|
||||
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
const options = {
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
})
|
||||
let closingCommit: { hash: string | undefined; timestamp: number } | undefined
|
||||
const crossReferencing: number[] = []
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++
|
||||
};
|
||||
let closingCommit: { hash: string | undefined; timestamp: number } | undefined;
|
||||
const crossReferencing: number[] = [];
|
||||
for await (const event of this.octokit.paginate.iterator(
|
||||
this.octokit.rest.issues.listEventsForTimeline,
|
||||
options,
|
||||
)) {
|
||||
numRequests++;
|
||||
|
||||
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (
|
||||
(timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
|
||||
timelineEvent.created_at &&
|
||||
timelineEvent.commit_id &&
|
||||
timelineEvent.commit_url
|
||||
.toLowerCase()
|
||||
?.toLowerCase()
|
||||
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())
|
||||
) {
|
||||
closingCommit = {
|
||||
hash: timelineEvent.commit_id,
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
}
|
||||
};
|
||||
}
|
||||
if (timelineEvent.event === 'reopened') {
|
||||
closingCommit = undefined
|
||||
closingCommit = undefined;
|
||||
}
|
||||
if (
|
||||
timelineEvent.created_at &&
|
||||
timelineEvent.event === 'commented' &&
|
||||
!((timelineEvent as any).body as string)?.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE') &&
|
||||
closingHashComment.test((timelineEvent as any).body)
|
||||
@@ -417,7 +506,7 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
|
||||
closingCommit = {
|
||||
hash: closingHashComment.exec((timelineEvent as any).body)![1],
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
}
|
||||
};
|
||||
}
|
||||
if (
|
||||
timelineEvent.event === 'cross-referenced' &&
|
||||
@@ -426,7 +515,7 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
|
||||
`/${this.params.owner}/${this.params.repo}/`.toLowerCase(),
|
||||
)
|
||||
) {
|
||||
crossReferencing.push((timelineEvent as any).source.issue.number)
|
||||
crossReferencing.push((timelineEvent as any).source.issue.number);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -437,19 +526,19 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
|
||||
for (const id of crossReferencing.reverse()) {
|
||||
const closed = await new OctoKitIssue(this.token, this.params, {
|
||||
number: id,
|
||||
}, this.options).getClosingInfo(alreadyChecked)
|
||||
}).getClosingInfo(alreadyChecked);
|
||||
|
||||
if (closed) {
|
||||
if (Math.abs(closed.timestamp - ((await this.getIssue()).closedAt ?? 0)) < 5000) {
|
||||
closingCommit = closed
|
||||
break
|
||||
closingCommit = closed;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`)
|
||||
return closingCommit
|
||||
safeLog(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
|
||||
return closingCommit;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,7 +553,7 @@ function isIssue(object: any): object is Issue {
|
||||
'number' in object &&
|
||||
'numComments' in object &&
|
||||
'reactions' in object &&
|
||||
'milestoneId' in object
|
||||
'milestoneId' in object;
|
||||
|
||||
return isIssue
|
||||
return isIssue;
|
||||
}
|
||||
|
||||
@@ -11,51 +11,50 @@ const utils_1 = require("./utils");
|
||||
const core_1 = require("@actions/core");
|
||||
class Action {
|
||||
constructor() {
|
||||
this.token = utils_1.getRequiredInput('token');
|
||||
this.username = new github_1.GitHub(this.token).users.getAuthenticated().then((v) => v.data.name);
|
||||
this.token = (0, utils_1.getRequiredInput)('token');
|
||||
this.username = (0, github_1.getOctokit)(this.token)
|
||||
.rest.users.getAuthenticated()
|
||||
.then((v) => { var _a; return (_a = v.data.name) !== null && _a !== void 0 ? _a : 'unknown'; }, () => 'unknown');
|
||||
}
|
||||
async run() {
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
||||
console.log('running ', this.id, 'with context', {
|
||||
...github_1.context,
|
||||
payload: {
|
||||
issue: (_b = (_a = github_1.context.payload) === null || _a === void 0 ? void 0 : _a.issue) === null || _b === void 0 ? void 0 : _b.number,
|
||||
label: (_d = (_c = github_1.context.payload) === null || _c === void 0 ? void 0 : _c.label) === null || _d === void 0 ? void 0 : _d.name,
|
||||
repository: (_f = (_e = github_1.context.payload) === null || _e === void 0 ? void 0 : _e.repository) === null || _f === void 0 ? void 0 : _f.html_url,
|
||||
sender: (_j = (_h = (_g = github_1.context.payload) === null || _g === void 0 ? void 0 : _g.sender) === null || _h === void 0 ? void 0 : _h.login) !== null && _j !== void 0 ? _j : (_l = (_k = github_1.context.payload) === null || _k === void 0 ? void 0 : _k.sender) === null || _l === void 0 ? void 0 : _l.type,
|
||||
},
|
||||
});
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
if (utils_1.errorLoggingIssue) {
|
||||
const { repo, issue, owner } = utils_1.errorLoggingIssue;
|
||||
if (github_1.context.repo.repo === repo &&
|
||||
github_1.context.repo.owner === owner &&
|
||||
((_m = github_1.context.payload.issue) === null || _m === void 0 ? void 0 : _m.number) === issue) {
|
||||
return console.log('refusing to run on error logging issue to prevent cascading errors');
|
||||
((_a = github_1.context.payload.issue) === null || _a === void 0 ? void 0 : _a.number) === issue) {
|
||||
return (0, utils_1.safeLog)('refusing to run on error logging issue to prevent cascading errors');
|
||||
}
|
||||
}
|
||||
try {
|
||||
const token = utils_1.getRequiredInput('token');
|
||||
const readonly = !!core_1.getInput('readonly');
|
||||
const issue = (_o = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _o === void 0 ? void 0 : _o.number;
|
||||
const token = (0, utils_1.getRequiredInput)('token');
|
||||
const readonly = !!(0, core_1.getInput)('readonly');
|
||||
const issue = (_b = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _b === void 0 ? void 0 : _b.number;
|
||||
if (issue) {
|
||||
const octokit = new octokit_1.OctoKitIssue(token, github_1.context.repo, { number: issue }, { readonly });
|
||||
if (github_1.context.eventName === 'issue_comment') {
|
||||
await this.onCommented(octokit, github_1.context.payload.comment.body, github_1.context.actor);
|
||||
await this.onCommented(octokit, (_c = github_1.context.payload.comment) === null || _c === void 0 ? void 0 : _c.body, github_1.context.actor);
|
||||
}
|
||||
else if (github_1.context.eventName === 'issues') {
|
||||
else if (github_1.context.eventName === 'issues' ||
|
||||
github_1.context.eventName === 'pull_request' ||
|
||||
github_1.context.eventName === 'pull_request_target') {
|
||||
switch (github_1.context.payload.action) {
|
||||
case 'opened':
|
||||
await this.onOpened(octokit);
|
||||
case 'ready_for_review':
|
||||
await this.onOpened(octokit, github_1.context.payload);
|
||||
break;
|
||||
case 'reopened':
|
||||
await this.onReopened(octokit);
|
||||
break;
|
||||
case 'closed':
|
||||
await this.onClosed(octokit);
|
||||
await this.onClosed(octokit, github_1.context.payload);
|
||||
break;
|
||||
case 'labeled':
|
||||
await this.onLabeled(octokit, github_1.context.payload.label.name);
|
||||
break;
|
||||
case 'assigned':
|
||||
await this.onAssigned(octokit, github_1.context.payload.assignee.login);
|
||||
break;
|
||||
case 'unassigned':
|
||||
await this.onUnassigned(octokit, github_1.context.payload.assignee.login);
|
||||
break;
|
||||
@@ -70,22 +69,32 @@ class Action {
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (github_1.context.eventName === 'create') {
|
||||
await this.onCreated(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }), (_d = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.payload) === null || _d === void 0 ? void 0 : _d.ref, (_f = (_e = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.payload) === null || _e === void 0 ? void 0 : _e.sender) === null || _f === void 0 ? void 0 : _f.login);
|
||||
}
|
||||
else {
|
||||
await this.onTriggered(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }));
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
await this.error(e);
|
||||
const err = e;
|
||||
try {
|
||||
await this.error(err);
|
||||
}
|
||||
const usage = await utils_1.getRateLimit(this.token);
|
||||
catch {
|
||||
(0, utils_1.safeLog)((err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.message) || String(e));
|
||||
}
|
||||
}
|
||||
const usage = await (0, utils_1.getRateLimit)(this.token);
|
||||
}
|
||||
async error(error) {
|
||||
var _a;
|
||||
const details = {
|
||||
message: `${error.message}\n${error.stack}`,
|
||||
id: this.id,
|
||||
user: await this.username,
|
||||
};
|
||||
if (github_1.context.issue.number)
|
||||
if ((_a = github_1.context.issue) === null || _a === void 0 ? void 0 : _a.number)
|
||||
details.issue = github_1.context.issue.number;
|
||||
const rendered = `
|
||||
Message: ${details.message}
|
||||
@@ -94,28 +103,34 @@ Actor: ${details.user}
|
||||
|
||||
ID: ${details.id}
|
||||
`;
|
||||
await utils_1.logErrorToIssue(rendered, true, this.token);
|
||||
core_1.setFailed(error.message);
|
||||
await (0, utils_1.logErrorToIssue)(rendered, true, this.token);
|
||||
(0, core_1.setFailed)(error.message);
|
||||
}
|
||||
async onTriggered(_octokit) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onCreated(_octokit, _ref, _creator) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onEdited(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onLabeled(_issue, _label) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onUnassigned(_issue, _label) {
|
||||
async onAssigned(_issue, _assignee) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onOpened(_issue) {
|
||||
async onUnassigned(_issue, _assignee) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onOpened(_issue, _payload) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onReopened(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onClosed(_issue) {
|
||||
async onClosed(_issue, _payload) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onMilestoned(_issue) {
|
||||
|
||||
@@ -3,87 +3,102 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit'
|
||||
import { context, GitHub } from '@actions/github'
|
||||
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue } from './utils'
|
||||
import { getInput, setFailed } from '@actions/core'
|
||||
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit';
|
||||
import { context, getOctokit } from '@actions/github';
|
||||
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue, safeLog } from './utils';
|
||||
import { getInput, setFailed } from '@actions/core';
|
||||
import { WebhookPayload } from '@actions/github/lib/interfaces';
|
||||
|
||||
export abstract class Action {
|
||||
abstract id: string
|
||||
abstract id: string;
|
||||
|
||||
private username: Promise<string>
|
||||
private token = getRequiredInput('token')
|
||||
private username: Promise<string>;
|
||||
private token = getRequiredInput('token');
|
||||
|
||||
constructor() {
|
||||
this.username = new GitHub(this.token).users.getAuthenticated().then((v) => v.data.name)
|
||||
this.username = getOctokit(this.token)
|
||||
.rest.users.getAuthenticated()
|
||||
.then(
|
||||
(v) => v.data.name ?? 'unknown',
|
||||
() => 'unknown',
|
||||
);
|
||||
}
|
||||
|
||||
public async run() {
|
||||
console.log('running ', this.id, 'with context', {
|
||||
...context,
|
||||
payload: {
|
||||
issue: context.payload?.issue?.number,
|
||||
label: context.payload?.label?.name,
|
||||
repository: context.payload?.repository?.html_url,
|
||||
sender: context.payload?.sender?.login ?? context.payload?.sender?.type,
|
||||
},
|
||||
})
|
||||
|
||||
if (errorLoggingIssue) {
|
||||
const { repo, issue, owner } = errorLoggingIssue
|
||||
const { repo, issue, owner } = errorLoggingIssue;
|
||||
if (
|
||||
context.repo.repo === repo &&
|
||||
context.repo.owner === owner &&
|
||||
context.payload.issue?.number === issue
|
||||
) {
|
||||
return console.log('refusing to run on error logging issue to prevent cascading errors')
|
||||
return safeLog('refusing to run on error logging issue to prevent cascading errors');
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
const token = getRequiredInput('token')
|
||||
const readonly = !!getInput('readonly')
|
||||
const token = getRequiredInput('token');
|
||||
const readonly = !!getInput('readonly');
|
||||
|
||||
const issue = context?.issue?.number
|
||||
const issue = context?.issue?.number;
|
||||
if (issue) {
|
||||
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly })
|
||||
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly });
|
||||
if (context.eventName === 'issue_comment') {
|
||||
await this.onCommented(octokit, context.payload.comment.body, context.actor)
|
||||
} else if (context.eventName === 'issues') {
|
||||
await this.onCommented(octokit, context.payload.comment?.body, context.actor);
|
||||
} else if (
|
||||
context.eventName === 'issues' ||
|
||||
context.eventName === 'pull_request' ||
|
||||
context.eventName === 'pull_request_target'
|
||||
) {
|
||||
switch (context.payload.action) {
|
||||
case 'opened':
|
||||
await this.onOpened(octokit)
|
||||
break
|
||||
case 'ready_for_review':
|
||||
await this.onOpened(octokit, context.payload);
|
||||
break;
|
||||
case 'reopened':
|
||||
await this.onReopened(octokit)
|
||||
break
|
||||
await this.onReopened(octokit);
|
||||
break;
|
||||
case 'closed':
|
||||
await this.onClosed(octokit)
|
||||
break
|
||||
await this.onClosed(octokit, context.payload);
|
||||
break;
|
||||
case 'labeled':
|
||||
await this.onLabeled(octokit, context.payload.label.name)
|
||||
break
|
||||
await this.onLabeled(octokit, context.payload.label.name);
|
||||
break;
|
||||
case 'assigned':
|
||||
await this.onAssigned(octokit, context.payload.assignee.login);
|
||||
break;
|
||||
case 'unassigned':
|
||||
await this.onUnassigned(octokit, context.payload.assignee.login)
|
||||
break
|
||||
await this.onUnassigned(octokit, context.payload.assignee.login);
|
||||
break;
|
||||
case 'edited':
|
||||
await this.onEdited(octokit)
|
||||
break
|
||||
await this.onEdited(octokit);
|
||||
break;
|
||||
case 'milestoned':
|
||||
await this.onMilestoned(octokit)
|
||||
break
|
||||
await this.onMilestoned(octokit);
|
||||
break;
|
||||
default:
|
||||
throw Error('Unexpected action: ' + context.payload.action)
|
||||
throw Error('Unexpected action: ' + context.payload.action);
|
||||
}
|
||||
}
|
||||
} else if (context.eventName === 'create') {
|
||||
await this.onCreated(
|
||||
new OctoKit(token, context.repo, { readonly }),
|
||||
context?.payload?.ref,
|
||||
context?.payload?.sender?.login,
|
||||
);
|
||||
} else {
|
||||
await this.onTriggered(new OctoKit(token, context.repo, { readonly }))
|
||||
await this.onTriggered(new OctoKit(token, context.repo, { readonly }));
|
||||
}
|
||||
} catch (e) {
|
||||
await this.error(e)
|
||||
const err = e as Error;
|
||||
try {
|
||||
await this.error(err);
|
||||
} catch {
|
||||
safeLog(err?.stack || err?.message || String(e));
|
||||
}
|
||||
}
|
||||
|
||||
const usage = await getRateLimit(this.token)
|
||||
const usage = await getRateLimit(this.token);
|
||||
}
|
||||
|
||||
private async error(error: Error) {
|
||||
@@ -91,9 +106,9 @@ export abstract class Action {
|
||||
message: `${error.message}\n${error.stack}`,
|
||||
id: this.id,
|
||||
user: await this.username,
|
||||
}
|
||||
};
|
||||
|
||||
if (context.issue.number) details.issue = context.issue.number
|
||||
if (context.issue?.number) details.issue = context.issue.number;
|
||||
|
||||
const rendered = `
|
||||
Message: ${details.message}
|
||||
@@ -101,37 +116,43 @@ Message: ${details.message}
|
||||
Actor: ${details.user}
|
||||
|
||||
ID: ${details.id}
|
||||
`
|
||||
await logErrorToIssue(rendered, true, this.token)
|
||||
`;
|
||||
await logErrorToIssue(rendered, true, this.token);
|
||||
|
||||
setFailed(error.message)
|
||||
setFailed(error.message);
|
||||
}
|
||||
|
||||
protected async onTriggered(_octokit: OctoKit): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onCreated(_octokit: OctoKit, _ref: string, _creator: string): Promise<void> {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onEdited(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onLabeled(_issue: OctoKitIssue, _label: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onUnassigned(_issue: OctoKitIssue, _label: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
protected async onAssigned(_issue: OctoKitIssue, _assignee: string): Promise<void> {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onOpened(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
protected async onUnassigned(_issue: OctoKitIssue, _assignee: string): Promise<void> {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onOpened(_issue: OctoKitIssue, _payload: WebhookPayload): Promise<void> {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onReopened(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onClosed(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
protected async onClosed(_issue: OctoKitIssue, _payload: WebhookPayload): Promise<void> {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onMilestoned(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
throw Error('not implemented');
|
||||
}
|
||||
protected async onCommented(_issue: OctoKitIssue, _comment: string, _actor: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
throw Error('not implemented');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ActionBase = void 0;
|
||||
const utils_1 = require("./utils");
|
||||
class ActionBase {
|
||||
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
this.labels = labels;
|
||||
@@ -27,15 +28,15 @@ class ActionBase {
|
||||
buildQuery(baseQuery) {
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
let query = baseQuery;
|
||||
console.log(`labels: ${this.labels}`);
|
||||
console.log(`milestoneName: ${this.milestoneName}`);
|
||||
console.log(`milestoneId: ${this.milestoneId}`);
|
||||
console.log(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
console.log(`minimumVotes: ${this.minimumVotes}`);
|
||||
console.log(`maximumVotes: ${this.maximumVotes}`);
|
||||
console.log(`involves: ${this.involves}`);
|
||||
(0, utils_1.safeLog)(`labels: ${this.labels}`);
|
||||
(0, utils_1.safeLog)(`milestoneName: ${this.milestoneName}`);
|
||||
(0, utils_1.safeLog)(`milestoneId: ${this.milestoneId}`);
|
||||
(0, utils_1.safeLog)(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
(0, utils_1.safeLog)(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
(0, utils_1.safeLog)(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
(0, utils_1.safeLog)(`minimumVotes: ${this.minimumVotes}`);
|
||||
(0, utils_1.safeLog)(`maximumVotes: ${this.maximumVotes}`);
|
||||
(0, utils_1.safeLog)(`involves: ${this.involves}`);
|
||||
// Both milestone name and milestone Id must be provided and must match.
|
||||
// The name is used to construct the query, which does not accept ID.
|
||||
// The ID is used for comparisons with issue data, which does not include the name.
|
||||
@@ -104,22 +105,23 @@ class ActionBase {
|
||||
// This is necessary because GitHub sometimes returns incorrect results,
|
||||
// and because issues may get modified while we are processing them.
|
||||
validateIssue(issue) {
|
||||
var _a, _b;
|
||||
if (this.ignoreAllWithLabels) {
|
||||
// Validate that the issue does not have labels
|
||||
if (issue.labels && issue.labels.length !== 0) {
|
||||
console.log(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure all labels we wanted are present.
|
||||
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
|
||||
return false;
|
||||
}
|
||||
for (const str of this.labelsSet) {
|
||||
if (!issue.labels.includes(str)) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having a required label set.`);
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -127,7 +129,7 @@ class ActionBase {
|
||||
if (issue.labels && issue.labels.length > 0) {
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (issue.labels.includes(str)) {
|
||||
console.log(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -135,22 +137,22 @@ class ActionBase {
|
||||
}
|
||||
if (this.ignoreAllWithMilestones) {
|
||||
// Validate that the issue does not have a milestone.
|
||||
if (issue.milestoneId != null) {
|
||||
console.log(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
|
||||
if (issue.milestone) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure milestone is present, if required.
|
||||
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
|
||||
if (this.milestoneId != null && ((_a = issue.milestone) === null || _a === void 0 ? void 0 : _a.milestoneId) != +this.milestoneId) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b = issue.milestone) === null || _b === void 0 ? void 0 : _b.milestoneId}`);
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.milestoneId != null) {
|
||||
if (issue.milestone && issue.milestone.milestoneId != null) {
|
||||
for (const str of this.ignoreMilestoneIdsSet) {
|
||||
if (issue.milestoneId == +str) {
|
||||
console.log(`Issue ${issue.number} skipped due to milestone ${issue.milestoneId} found in list of ignored milestone IDs.`);
|
||||
if (issue.milestone.milestoneId == +str) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -163,14 +165,14 @@ class ActionBase {
|
||||
}
|
||||
if (this.minimumVotes != undefined) {
|
||||
if (upvotes < this.minimumVotes) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Verify the issue does not have too many upvotes
|
||||
if (this.maximumVotes != undefined) {
|
||||
if (upvotes > this.maximumVotes) {
|
||||
console.log(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Issue } from '../api/api'
|
||||
import { safeLog } from './utils';
|
||||
|
||||
export class ActionBase {
|
||||
constructor(
|
||||
@@ -29,15 +30,15 @@ export class ActionBase {
|
||||
buildQuery(baseQuery: string): string {
|
||||
let query = baseQuery;
|
||||
|
||||
console.log(`labels: ${this.labels}`);
|
||||
console.log(`milestoneName: ${this.milestoneName}`);
|
||||
console.log(`milestoneId: ${this.milestoneId}`);
|
||||
console.log(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
console.log(`minimumVotes: ${this.minimumVotes}`);
|
||||
console.log(`maximumVotes: ${this.maximumVotes}`);
|
||||
console.log(`involves: ${this.involves}`);
|
||||
safeLog(`labels: ${this.labels}`);
|
||||
safeLog(`milestoneName: ${this.milestoneName}`);
|
||||
safeLog(`milestoneId: ${this.milestoneId}`);
|
||||
safeLog(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
safeLog(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
safeLog(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
safeLog(`minimumVotes: ${this.minimumVotes}`);
|
||||
safeLog(`maximumVotes: ${this.maximumVotes}`);
|
||||
safeLog(`involves: ${this.involves}`);
|
||||
|
||||
// Both milestone name and milestone Id must be provided and must match.
|
||||
// The name is used to construct the query, which does not accept ID.
|
||||
@@ -117,18 +118,18 @@ export class ActionBase {
|
||||
if (this.ignoreAllWithLabels) {
|
||||
// Validate that the issue does not have labels
|
||||
if (issue.labels && issue.labels.length !== 0) {
|
||||
console.log(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
|
||||
safeLog(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// Make sure all labels we wanted are present.
|
||||
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
|
||||
safeLog(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
|
||||
return false;
|
||||
}
|
||||
for (const str of this.labelsSet) {
|
||||
if (!issue.labels.includes(str)) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having a required label set.`);
|
||||
safeLog(`Issue ${issue.number} skipped due to not having a required label set.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -136,7 +137,7 @@ export class ActionBase {
|
||||
if (issue.labels && issue.labels.length > 0) {
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (issue.labels.includes(str)) {
|
||||
console.log(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
|
||||
safeLog(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -144,21 +145,21 @@ export class ActionBase {
|
||||
}
|
||||
if (this.ignoreAllWithMilestones) {
|
||||
// Validate that the issue does not have a milestone.
|
||||
if (issue.milestoneId != null) {
|
||||
console.log(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
|
||||
if (issue.milestone) {
|
||||
safeLog(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// Make sure milestone is present, if required.
|
||||
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
|
||||
if (this.milestoneId != null && issue.milestone?.milestoneId != +this.milestoneId) {
|
||||
safeLog(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestone?.milestoneId}`);
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.milestoneId != null) {
|
||||
if (issue.milestone && issue.milestone.milestoneId != null) {
|
||||
for (const str of this.ignoreMilestoneIdsSet) {
|
||||
if (issue.milestoneId == +str) {
|
||||
console.log(`Issue ${issue.number} skipped due to milestone ${issue.milestoneId} found in list of ignored milestone IDs.`);
|
||||
if (issue.milestone.milestoneId == +str) {
|
||||
safeLog(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -171,14 +172,14 @@ export class ActionBase {
|
||||
}
|
||||
if (this.minimumVotes != undefined) {
|
||||
if (upvotes < this.minimumVotes) {
|
||||
console.log(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
|
||||
safeLog(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Verify the issue does not have too many upvotes
|
||||
if (this.maximumVotes != undefined) {
|
||||
if (upvotes > this.maximumVotes) {
|
||||
console.log(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
|
||||
safeLog(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=OctokitTypings.js.map
|
||||
@@ -0,0 +1,16 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import type { RestEndpointMethodTypes } from '@octokit/rest';
|
||||
|
||||
// This file is just to re-export some octokit types as nicer names
|
||||
|
||||
export type ActionsListWorkflowRunsResponseWorkflowRunsItem =
|
||||
RestEndpointMethodTypes['actions']['listWorkflowRuns']['response']['data']['workflow_runs'][0];
|
||||
|
||||
export type IssueGetResponse = RestEndpointMethodTypes['issues']['get']['response']['data'];
|
||||
|
||||
export type IssuesGetResponseMilestone =
|
||||
RestEndpointMethodTypes['issues']['get']['response']['data']['milestone'];
|
||||
@@ -4,14 +4,16 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.logErrorToIssue = exports.errorLoggingIssue = exports.getRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
|
||||
exports.safeLog = exports.logErrorToIssue = exports.errorLoggingIssue = exports.getRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
|
||||
const core = require("@actions/core");
|
||||
const github_1 = require("@actions/github");
|
||||
const axios_1 = require("axios");
|
||||
const octokit_1 = require("../api/octokit");
|
||||
exports.getInput = (name) => core.getInput(name) || undefined;
|
||||
exports.getRequiredInput = (name) => core.getInput(name, { required: true });
|
||||
exports.normalizeIssue = (issue) => {
|
||||
const getInput = (name) => core.getInput(name) || undefined;
|
||||
exports.getInput = getInput;
|
||||
const getRequiredInput = (name) => core.getInput(name, { required: true });
|
||||
exports.getRequiredInput = getRequiredInput;
|
||||
const normalizeIssue = (issue) => {
|
||||
let { body, title } = issue;
|
||||
body = body !== null && body !== void 0 ? body : '';
|
||||
title = title !== null && title !== void 0 ? title : '';
|
||||
@@ -43,25 +45,36 @@ exports.normalizeIssue = (issue) => {
|
||||
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
|
||||
};
|
||||
};
|
||||
exports.loadLatestRelease = async (quality) => (await axios_1.default.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data;
|
||||
exports.daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
|
||||
exports.daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
|
||||
exports.getRateLimit = async (token) => {
|
||||
const usageData = (await new github_1.GitHub(token).rateLimit.get()).data.resources;
|
||||
exports.normalizeIssue = normalizeIssue;
|
||||
const loadLatestRelease = async (quality) => (await axios_1.default.get(`https://update.code.visualstudio.com/api/update/darwin/${quality}/latest`)).data;
|
||||
exports.loadLatestRelease = loadLatestRelease;
|
||||
const daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
|
||||
exports.daysAgoToTimestamp = daysAgoToTimestamp;
|
||||
const daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
|
||||
exports.daysAgoToHumanReadbleDate = daysAgoToHumanReadbleDate;
|
||||
const getRateLimit = async (token) => {
|
||||
const usageData = (await (0, github_1.getOctokit)(token).rest.rateLimit.get()).data.resources;
|
||||
const usage = {};
|
||||
['core', 'graphql', 'search'].forEach(async (category) => {
|
||||
usage[category] = 1 - usageData[category].remaining / usageData[category].limit;
|
||||
var _a, _b, _c, _d;
|
||||
if (usageData[category]) {
|
||||
usage[category] = 1 - ((_b = (_a = usageData[category]) === null || _a === void 0 ? void 0 : _a.remaining) !== null && _b !== void 0 ? _b : 0) / ((_d = (_c = usageData[category]) === null || _c === void 0 ? void 0 : _c.limit) !== null && _d !== void 0 ? _d : 1);
|
||||
}
|
||||
});
|
||||
return usage;
|
||||
};
|
||||
exports.getRateLimit = getRateLimit;
|
||||
exports.errorLoggingIssue = (() => {
|
||||
try {
|
||||
const repo = github_1.context.repo.owner.toLowerCase() + '/' + github_1.context.repo.repo.toLowerCase();
|
||||
if (repo === 'microsoft/vscode-cpptools') {
|
||||
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 };
|
||||
if (repo === 'microsoft/vscode' || repo === 'microsoft/vscode-remote-release') {
|
||||
return { repo: 'vscode', owner: 'Microsoft', issue: 93814 };
|
||||
}
|
||||
else if (exports.getInput('errorLogIssueNumber')) {
|
||||
return { ...github_1.context.repo, issue: +exports.getRequiredInput('errorLogIssueNumber') };
|
||||
else if (/microsoft\//.test(repo)) {
|
||||
return { repo: 'vscode-internalbacklog', owner: 'Microsoft', issue: 974 };
|
||||
}
|
||||
else if ((0, exports.getInput)('errorLogIssueNumber')) {
|
||||
return { ...github_1.context.repo, issue: +(0, exports.getRequiredInput)('errorLogIssueNumber') };
|
||||
}
|
||||
else {
|
||||
return undefined;
|
||||
@@ -72,19 +85,20 @@ exports.errorLoggingIssue = (() => {
|
||||
return undefined;
|
||||
}
|
||||
})();
|
||||
exports.logErrorToIssue = async (message, ping, token) => {
|
||||
const logErrorToIssue = async (message, ping, token) => {
|
||||
var _a;
|
||||
// Attempt to wait out abuse detection timeout if present
|
||||
await new Promise((resolve) => setTimeout(resolve, 10000));
|
||||
const dest = exports.errorLoggingIssue;
|
||||
if (!dest)
|
||||
return console.log('no error logging repo defined. swallowing error:', message);
|
||||
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!exports.getInput('readonly') })
|
||||
return console.log('no error logging repo defined. swallowing error.');
|
||||
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
|
||||
.postComment(`
|
||||
Workflow: ${github_1.context.workflow}
|
||||
|
||||
Error: ${message}
|
||||
|
||||
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${github_1.context.issue.number}
|
||||
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${(_a = github_1.context.issue) === null || _a === void 0 ? void 0 : _a.number}
|
||||
|
||||
Repo: ${github_1.context.repo.owner}/${github_1.context.repo.repo}
|
||||
|
||||
@@ -96,4 +110,10 @@ ${JSON.stringify(github_1.context, null, 2)
|
||||
-->
|
||||
`);
|
||||
};
|
||||
exports.logErrorToIssue = logErrorToIssue;
|
||||
const safeLog = (message, ...args) => {
|
||||
const clean = (val) => ('' + val).replace(/:|#/g, '');
|
||||
console.log(clean(message), ...args.map(clean));
|
||||
};
|
||||
exports.safeLog = safeLog;
|
||||
//# sourceMappingURL=utils.js.map
|
||||
@@ -3,24 +3,24 @@
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as core from '@actions/core'
|
||||
import { context, GitHub } from '@actions/github'
|
||||
import axios from 'axios'
|
||||
import { OctoKitIssue } from '../api/octokit'
|
||||
import * as core from '@actions/core';
|
||||
import { context, getOctokit } from '@actions/github';
|
||||
import axios from 'axios';
|
||||
import { OctoKitIssue } from '../api/octokit';
|
||||
|
||||
export const getInput = (name: string) => core.getInput(name) || undefined
|
||||
export const getRequiredInput = (name: string) => core.getInput(name, { required: true })
|
||||
export const getInput = (name: string) => core.getInput(name) || undefined;
|
||||
export const getRequiredInput = (name: string) => core.getInput(name, { required: true });
|
||||
|
||||
export const normalizeIssue = (issue: {
|
||||
body: string
|
||||
title: string
|
||||
body: string;
|
||||
title: string;
|
||||
}): { body: string; title: string; issueType: 'bug' | 'feature_request' | 'unknown' } => {
|
||||
let { body, title } = issue
|
||||
body = body ?? ''
|
||||
title = title ?? ''
|
||||
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body)
|
||||
let { body, title } = issue;
|
||||
body = body ?? '';
|
||||
title = title ?? '';
|
||||
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body);
|
||||
const isFeatureRequest =
|
||||
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body)
|
||||
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body);
|
||||
|
||||
const cleanse = (str: string) => {
|
||||
let out = str
|
||||
@@ -34,78 +34,83 @@ export const normalizeIssue = (issue: {
|
||||
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
|
||||
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
|
||||
.replace(/\s+/gu, ' ')
|
||||
.replace(/```[^`]*?```/gu, '')
|
||||
.replace(/```[^`]*?```/gu, '');
|
||||
|
||||
while (
|
||||
out.includes(`<details>`) &&
|
||||
out.includes('</details>') &&
|
||||
out.indexOf(`</details>`) > out.indexOf(`<details>`)
|
||||
) {
|
||||
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10)
|
||||
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10);
|
||||
}
|
||||
|
||||
return out
|
||||
}
|
||||
return out;
|
||||
};
|
||||
|
||||
return {
|
||||
body: cleanse(body),
|
||||
title: cleanse(title),
|
||||
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
export interface Release {
|
||||
productVersion: string
|
||||
timestamp: number
|
||||
version: string
|
||||
productVersion: string;
|
||||
timestamp: number;
|
||||
version: string;
|
||||
}
|
||||
|
||||
export const loadLatestRelease = async (quality: 'stable' | 'insider'): Promise<Release | undefined> =>
|
||||
(await axios.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data
|
||||
(await axios.get(`https://update.code.visualstudio.com/api/update/darwin/${quality}/latest`)).data;
|
||||
|
||||
export const daysAgoToTimestamp = (days: number): number => +new Date(Date.now() - days * 24 * 60 * 60 * 1000)
|
||||
export const daysAgoToTimestamp = (days: number): number =>
|
||||
+new Date(Date.now() - days * 24 * 60 * 60 * 1000);
|
||||
|
||||
export const daysAgoToHumanReadbleDate = (days: number) =>
|
||||
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '')
|
||||
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
|
||||
|
||||
export const getRateLimit = async (token: string) => {
|
||||
const usageData = (await new GitHub(token).rateLimit.get()).data.resources
|
||||
const usage = {} as { core: number; graphql: number; search: number }
|
||||
;(['core', 'graphql', 'search'] as const).forEach(async (category) => {
|
||||
usage[category] = 1 - usageData[category].remaining / usageData[category].limit
|
||||
})
|
||||
return usage
|
||||
const usageData = (await getOctokit(token).rest.rateLimit.get()).data.resources;
|
||||
const usage = {} as { core: number; graphql: number; search: number };
|
||||
(['core', 'graphql', 'search'] as const).forEach(async (category) => {
|
||||
if (usageData[category]) {
|
||||
usage[category] = 1 - (usageData[category]?.remaining ?? 0) / (usageData[category]?.limit ?? 1);
|
||||
}
|
||||
});
|
||||
return usage;
|
||||
};
|
||||
|
||||
export const errorLoggingIssue = (() => {
|
||||
try {
|
||||
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase()
|
||||
if (repo === 'microsoft/vscode-cpptools') {
|
||||
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 }
|
||||
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase();
|
||||
if (repo === 'microsoft/vscode' || repo === 'microsoft/vscode-remote-release') {
|
||||
return { repo: 'vscode', owner: 'Microsoft', issue: 93814 };
|
||||
} else if (/microsoft\//.test(repo)) {
|
||||
return { repo: 'vscode-internalbacklog', owner: 'Microsoft', issue: 974 };
|
||||
} else if (getInput('errorLogIssueNumber')) {
|
||||
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') }
|
||||
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') };
|
||||
} else {
|
||||
return undefined
|
||||
return undefined;
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return undefined
|
||||
console.error(e);
|
||||
return undefined;
|
||||
}
|
||||
})()
|
||||
})();
|
||||
|
||||
export const logErrorToIssue = async (message: string, ping: boolean, token: string): Promise<void> => {
|
||||
// Attempt to wait out abuse detection timeout if present
|
||||
await new Promise((resolve) => setTimeout(resolve, 10000))
|
||||
const dest = errorLoggingIssue
|
||||
if (!dest) return console.log('no error logging repo defined. swallowing error:', message)
|
||||
await new Promise((resolve) => setTimeout(resolve, 10000));
|
||||
const dest = errorLoggingIssue;
|
||||
if (!dest) return console.log('no error logging repo defined. swallowing error.');
|
||||
|
||||
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!getInput('readonly') })
|
||||
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
|
||||
.postComment(`
|
||||
Workflow: ${context.workflow}
|
||||
|
||||
Error: ${message}
|
||||
|
||||
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue.number}
|
||||
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue?.number}
|
||||
|
||||
Repo: ${context.repo.owner}/${context.repo.repo}
|
||||
|
||||
@@ -115,5 +120,10 @@ ${JSON.stringify(context, null, 2)
|
||||
.replace(/-->/gu, '--@>')
|
||||
.replace(/\/|\\/gu, 'slash-')}
|
||||
-->
|
||||
`)
|
||||
}
|
||||
`);
|
||||
};
|
||||
|
||||
export const safeLog = (message: string, ...args: (string | number | string[])[]): void => {
|
||||
const clean = (val: any) => ('' + val).replace(/:|#/g, '');
|
||||
console.log(clean(message), ...args.map(clean));
|
||||
};
|
||||
|
||||
Generated
+9547
-795
File diff suppressed because it is too large
Load Diff
@@ -10,12 +10,36 @@
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.6",
|
||||
"@actions/github": "^2.1.1",
|
||||
"axios": "^0.21.1"
|
||||
"@actions/core": "^1.9.1",
|
||||
"@actions/github": "^5.0.3",
|
||||
"@octokit/rest": "^19.0.3",
|
||||
"@slack/web-api": "^6.7.2",
|
||||
"applicationinsights": "^2.5.1",
|
||||
"axios": "^0.27.2",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^6.8.0",
|
||||
"typescript": "^3.8.3"
|
||||
"@azure/storage-blob": "^12.13.0",
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/uuid": "^8.3.4",
|
||||
"@types/yargs": "^17.0.11",
|
||||
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
||||
"@typescript-eslint/parser": "^5.33.0",
|
||||
"chai": "^4.3.6",
|
||||
"eslint": "^8.21.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"husky": "^8.0.1",
|
||||
"mocha": "^10.0.0",
|
||||
"mongodb": "^4.17.0",
|
||||
"nock": "^13.2.9",
|
||||
"prettier": "2.7.1",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "^4.7.4",
|
||||
"yargs": "^17.5.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"minimatch": "^3.0.5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"moduleResolution": "node",
|
||||
"removeComments": false,
|
||||
"resolveJsonModule": true,
|
||||
"skipLibCheck": true,
|
||||
"sourceMap": true,
|
||||
"lib": [
|
||||
"es2020"
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
@@ -23,4 +23,4 @@ jobs:
|
||||
labels: by design,debugger
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 0
|
||||
closeComment: "This issue has been closed automatically because it's labeled as 'by design'."
|
||||
closeComment: "This issue has been closed because the described behavior was determined to be by design."
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
labels: by design
|
||||
ignoreLabels: debugger,Feature Request,more info needed,internal
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it's labeled as 'by design' and has not had recent activity."
|
||||
closeComment: "This issue has been closed because the described behavior was determined to be by design."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
|
||||
|
||||
@@ -7,49 +7,8 @@ on:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 10.16.x
|
||||
uses: actions/setup-node@v1
|
||||
job:
|
||||
uses: ./.github/workflows/job-compile-and-test.yml
|
||||
with:
|
||||
node-version: 10.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Generate hashes for runtime dependency packages
|
||||
run: yarn run generatePackageHashes
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Validate Extension/package.json
|
||||
run: yarn run pr-check
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Test Sources
|
||||
run: yarn run pretest
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
uses: GabrielBB/[email protected]
|
||||
with:
|
||||
run: yarn run unitTests
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run languageServer integration tests
|
||||
uses: GabrielBB/[email protected]
|
||||
with:
|
||||
run: yarn run integrationTests
|
||||
working-directory: Extension
|
||||
runner-env: ubuntu-22.04
|
||||
platform: linux
|
||||
@@ -7,49 +7,9 @@ on:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 10.16.x
|
||||
uses: actions/setup-node@v1
|
||||
job:
|
||||
uses: ./.github/workflows/job-compile-and-test.yml
|
||||
with:
|
||||
node-version: 10.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Generate hashes for runtime dependency packages
|
||||
run: yarn run generatePackageHashes
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Validate Extension/package.json
|
||||
run: yarn run pr-check
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Test Sources
|
||||
run: yarn run pretest
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
uses: GabrielBB/[email protected]
|
||||
with:
|
||||
run: yarn run unitTests
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run languageServer integration tests
|
||||
uses: GabrielBB/[email protected]
|
||||
with:
|
||||
run: yarn run integrationTests
|
||||
working-directory: Extension
|
||||
runner-env: macos-12
|
||||
platform: mac
|
||||
yarn-args: --network-timeout 100000
|
||||
@@ -7,45 +7,8 @@ on:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 10.16.x
|
||||
uses: actions/setup-node@v1
|
||||
job:
|
||||
uses: ./.github/workflows/job-compile-and-test.yml
|
||||
with:
|
||||
node-version: 10.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Generate hashes for runtime dependency packages
|
||||
run: yarn run generatePackageHashes
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Validate Extension/package.json
|
||||
run: yarn run pr-check
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Test Sources
|
||||
run: yarn run pretest
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
run: yarn run unitTests
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run languageServer integration tests
|
||||
run: yarn run integrationTests
|
||||
working-directory: Extension
|
||||
runner-env: windows-2022
|
||||
platform: windows
|
||||
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
labels: duplicate
|
||||
ignoreLabels: debugger,Feature Request,more info needed,by design,internal
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it's labeled as a 'duplicate' and has not had recent activity."
|
||||
closeComment: "This issue has been closed because it is a duplicate of another issue we are tracking."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
name: Enhancement Closer (no milestone)
|
||||
on:
|
||||
schedule:
|
||||
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: enhancement
|
||||
ignoreLabels: debugger,internal,Feature Request
|
||||
addLabels: more votes needed
|
||||
closeDays: 60
|
||||
maximumVotes: 2
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
|
||||
setMilestoneId: 30
|
||||
ignoreMilestoneNames: "*"
|
||||
@@ -0,0 +1,30 @@
|
||||
name: Enhancement Closer (Triage)
|
||||
on:
|
||||
schedule:
|
||||
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: enhancement
|
||||
ignoreLabels: debugger,internal,Feature Request
|
||||
addLabels: more votes needed
|
||||
closeDays: 60
|
||||
maximumVotes: 2
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
|
||||
milestoneName: Triage
|
||||
milestoneId: 30
|
||||
@@ -0,0 +1,31 @@
|
||||
name: Enhancement Reopener
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5:20 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Run Reopener
|
||||
uses: ./.github/actions/Reopener
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
alsoApplyToOpenIssues: true
|
||||
reopenComment: This feature request has received enough votes to be added to our backlog.
|
||||
labels: enhancement
|
||||
minimumVotes: 3
|
||||
ignoreLabels: debugger,internal,Feature Request
|
||||
milestoneId: 30
|
||||
milestoneName: Triage
|
||||
setMilestoneId: 28
|
||||
removeLabels: more votes needed
|
||||
@@ -23,4 +23,4 @@ jobs:
|
||||
labels: external,debugger
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 0
|
||||
closeComment: "This issue has been closed automatically because it's labeled as 'external'."
|
||||
closeComment: "This issue has been closed because it is external or not applicable to the extension."
|
||||
|
||||
@@ -25,6 +25,6 @@ jobs:
|
||||
addLabels: more votes needed
|
||||
closeDays: 60
|
||||
maximumVotes: 2
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
|
||||
setMilestoneId: 30
|
||||
ignoreMilestoneNames: "*"
|
||||
|
||||
@@ -25,6 +25,6 @@ jobs:
|
||||
addLabels: more votes needed
|
||||
closeDays: 60
|
||||
maximumVotes: 2
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
|
||||
milestoneName: Triage
|
||||
milestoneId: 30
|
||||
|
||||
@@ -23,4 +23,4 @@ jobs:
|
||||
labels: investigate,debugger
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 180
|
||||
closeComment: "This issue has been closed automatically because it has not had recent activity."
|
||||
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
|
||||
|
||||
@@ -23,4 +23,4 @@ jobs:
|
||||
labels: "investigate: costing,debugger"
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 180
|
||||
closeComment: "This issue has been closed automatically because it has not had recent activity."
|
||||
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
# Reuable workflow for compiling and testing extension.
|
||||
name: Compile and test extension
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
runner-env:
|
||||
required: true
|
||||
type: string
|
||||
platform:
|
||||
# Expects 'mac', 'linux', or 'windows'
|
||||
required: true
|
||||
type: string
|
||||
yarn-args:
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ inputs.runner-env }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node.js 16
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install ${{ inputs.yarn-args }}
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
run: yarn test
|
||||
working-directory: Extension
|
||||
|
||||
# NOTE : We can't run the test that require the native binary files
|
||||
# yet -- there will be an update soon that allows the tester to
|
||||
# acquire them on-the-fly
|
||||
# - name: Run languageServer integration tests
|
||||
# if: ${{ inputs.platform == 'windows' }}
|
||||
# run: yarn test --scenario=SingleRootProject
|
||||
# working-directory: Extension
|
||||
|
||||
# - name: Run E2E IntelliSense features tests
|
||||
# if: ${{ inputs.platform == 'windows' }}
|
||||
# run: yarn test --scenario=MultirootDeadlockTest
|
||||
# working-directory: Extension
|
||||
|
||||
# NOTE: For mac/linux run the tests with xvfb-action for UI support.
|
||||
# Another way to start xvfb https://github.com/microsoft/vscode-test/blob/master/sample/azure-pipelines.yml
|
||||
|
||||
# - name: Run languageServer integration tests (xvfb)
|
||||
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
||||
# uses: coactions/setup-xvfb@v1
|
||||
# with:
|
||||
# run: yarn test --scenario=SingleRootProject
|
||||
# working-directory: Extension
|
||||
|
||||
# - name: Run E2E IntelliSense features tests (xvfb)
|
||||
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
||||
# uses: coactions/setup-xvfb@v1
|
||||
# with:
|
||||
# run: yarn test --scenario=MultirootDeadlockTest
|
||||
# working-directory: Extension
|
||||
@@ -24,6 +24,6 @@ jobs:
|
||||
ignoreLabels: language service,internal
|
||||
involves: wardengnaw,pieandcakes,calgagi
|
||||
closeDays: 14
|
||||
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
|
||||
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
|
||||
pingDays: 7
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
|
||||
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
labels: more info needed
|
||||
ignoreLabels: debugger,internal
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
|
||||
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
|
||||
|
||||
@@ -24,6 +24,6 @@ jobs:
|
||||
ignoreLabels: language service,internal
|
||||
involves: wardengnaw,pieandcakes,calgagi
|
||||
closeDays: 14
|
||||
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
|
||||
closeComment: "This issue has been closed because it is a question and has not had recent activity."
|
||||
pingDays: 7
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
|
||||
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
labels: question
|
||||
ignoreLabels: debugger,internal
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
|
||||
closeComment: "This issue has been closed because it is a question and has not had recent activity."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
|
||||
|
||||
+3
-1
@@ -6,8 +6,10 @@ browse*.db*
|
||||
*.exe
|
||||
*.ilk
|
||||
|
||||
# ignore exported localization xlf directory
|
||||
# ignore exported localization xlf and LCL directories
|
||||
Build/loc/LCL
|
||||
vscode-extensions-localization-export
|
||||
OneLocBuild
|
||||
|
||||
# ignore imported localization xlf directory
|
||||
vscode-translations-import
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
This folder contains the entitlements needed for the debugger to run on macOS.
|
||||
|
||||
We use the entitlements that the .net runtime uses. See https://github.com/dotnet/runtime/blob/57678512d214af368ff055f358c5106f1aa19ac4/eng/pipelines/common/entitlements.plist
|
||||
|
||||
Related Links:
|
||||
https://docs.microsoft.com/en-us/dotnet/core/install/macos-notarization-issues#default-entitlements
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.debugger</key>
|
||||
<true/>
|
||||
<key>com.apple.security.get-task-allow</key>
|
||||
<true/>
|
||||
<key>com.apple.security.task_for_pid-allow</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
parameters:
|
||||
archs: ["x86_64", "arm64"]
|
||||
|
||||
jobs:
|
||||
- job:
|
||||
pool:
|
||||
name: VSEngSS-MicroBuild2022-1ES
|
||||
steps:
|
||||
- checkout: none
|
||||
|
||||
- ${{ each arch in parameters.archs }}:
|
||||
- task: DownloadPipelineArtifact@1
|
||||
displayName: 'Downloading unsigned_lldb-mi_${{ arch }}'
|
||||
inputs:
|
||||
targetPath: '$(Pipeline.Workspace)/Artifacts'
|
||||
artifactName: 'unsigned_lldb-mi_${{ arch }}'
|
||||
|
||||
- task: MicroBuildSignMacFiles@1
|
||||
displayName: 'ESRP Sign'
|
||||
inputs:
|
||||
SigningTarget: '$(Pipeline.Workspace)\Artifacts\lldb-mi_${{ arch }}.zip'
|
||||
SigningCert: 8023
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish signed LLDB-MI'
|
||||
inputs:
|
||||
targetPath: '$(Pipeline.Workspace)\Artifacts\lldb-mi_${{ arch }}.zip'
|
||||
artifactName: 'lldb-mi_${{ arch }}_zip'
|
||||
...
|
||||
@@ -0,0 +1,160 @@
|
||||
parameters:
|
||||
# Note: Make sure llvm_repo is the same as the one in Extension/cgmanifest.json
|
||||
# 'RepositoryUrl' for llvm-project.
|
||||
llvm_repo: https://github.com/llvm/llvm-project.git
|
||||
|
||||
# Note: Make sure llvm_commit is the same as the one in Extension/cgmanifest.json
|
||||
# 'CommitHash' for llvm-project.
|
||||
llvm_commit: 0d44201451f03ba907cdb268ddddfc3fa38a0ebd
|
||||
|
||||
llvm_build_type: Release
|
||||
|
||||
llvm_arch: x86_64
|
||||
|
||||
llvm_additional_parameters: "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON -DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
|
||||
|
||||
# Note: Make sure lldb_mi_repo is the same as the one in Extension/cgmanifest.json
|
||||
# 'CommitHash' for lldb-mi.
|
||||
lldb_mi_repo: https://github.com/lldb-tools/lldb-mi.git
|
||||
|
||||
# Note: Make sure lldb_mi_commit is the same as the one in Extension/cgmanifest.json
|
||||
# 'CommitHash' for lldb-mi.
|
||||
lldb_mi_commit: 4fe9c663edce2447e114c71851694d8c529b982d
|
||||
|
||||
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
|
||||
|
||||
jobs:
|
||||
- job: LLDB_MI_${{ parameters.llvm_arch }}
|
||||
timeoutInMinutes: 360
|
||||
pool:
|
||||
${{if eq(parameters['llvm_arch'], 'arm64')}}:
|
||||
vmImage: macos-13-arm64
|
||||
${{ else }}:
|
||||
vmImage: macOS-13
|
||||
steps:
|
||||
- task: CmdLine@2
|
||||
displayName: 'Install Dependencies'
|
||||
inputs:
|
||||
script: brew install cmake ninja swig
|
||||
continueOnError: true
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Make sure buildspace does not exist'
|
||||
inputs:
|
||||
script: rm -rf $(Build.StagingDirectory)/buildspace
|
||||
condition: always()
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Build LLVM Project'
|
||||
inputs:
|
||||
script: |
|
||||
log_and_exec_cmd() {
|
||||
echo "##[command] $1"
|
||||
$1
|
||||
}
|
||||
|
||||
log_and_exec_cmd "sudo rm -rf /Library/Developer/CommandLineTools"
|
||||
log_and_exec_cmd "sudo xcode-select --switch /Applications/XCode.app"
|
||||
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
|
||||
|
||||
log_and_exec_cmd "git clone ${{ parameters.llvm_repo }} llvm-project"
|
||||
log_and_exec_cmd "cd llvm-project"
|
||||
log_and_exec_cmd "git checkout ${{ parameters.llvm_commit }}"
|
||||
|
||||
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
|
||||
|
||||
log_and_exec_cmd "cd .."
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
|
||||
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=${{ parameters.llvm_build_type }} -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=${{ parameters.llvm_arch }} ${{ parameters.llvm_additional_parameters }} -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] cmake llvm failed"
|
||||
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd ninja
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
### Workaround for https://github.com/llvm/llvm-project/issues/108
|
||||
log_and_exec_cmd "ninja install"
|
||||
|
||||
# Remove conflicting LLDB.framework file.
|
||||
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
|
||||
|
||||
# Build lldb/sources/API first
|
||||
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
|
||||
### End of Workaround
|
||||
|
||||
log_and_exec_cmd "ninja install"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja install failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "##[section] Build LLDB-MI"
|
||||
# Download lldb-mi and build it against our custom installation.
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
|
||||
log_and_exec_cmd "git clone ${{ parameters.lldb_mi_repo }} lldb-mi"
|
||||
log_and_exec_cmd "cd lldb-mi"
|
||||
log_and_exec_cmd "git checkout ${{ parameters.lldb_mi_commit }}"
|
||||
|
||||
# Create a separate build directory for building lldb-mi.
|
||||
log_and_exec_cmd "mkdir build"
|
||||
log_and_exec_cmd "cd build"
|
||||
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=${{ parameters.llvm_arch }} ${{ parameters.lldb_mi_additional_parameters }} -GNinja .."
|
||||
log_and_exec_cmd "ninja"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
|
||||
|
||||
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin"
|
||||
|
||||
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/."
|
||||
|
||||
# Set rpath for finding LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
|
||||
|
||||
# Set rpath for App Store XCode LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
|
||||
|
||||
# Set rpath for XCode CLI LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
|
||||
|
||||
# Set rpath next to the lldb-mi executable LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
|
||||
|
||||
# Add entitlements
|
||||
log_and_exec_cmd "codesign -s - -f --entitlements $(Build.SourcesDirectory)/Build/lldb-mi/debugger-entitlements.plist ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
|
||||
|
||||
# Grab NOTICE.TXT
|
||||
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/.
|
||||
|
||||
zip -r $(Build.StagingDirectory)/lldb-mi_${{ parameters.llvm_arch }}.zip ./debugAdapters
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish LLDB-MI'
|
||||
inputs:
|
||||
targetPath: '$(Build.StagingDirectory)/lldb-mi_${{ parameters.llvm_arch }}.zip'
|
||||
artifactName: 'unsigned_lldb-mi_${{ parameters.llvm_arch }}'
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Clean up'
|
||||
inputs:
|
||||
script: rm -rf $(Build.StagingDirectory)/buildspace
|
||||
condition: always()
|
||||
+20
-122
@@ -1,125 +1,23 @@
|
||||
variables:
|
||||
llvm_repo: https://github.com/llvm/llvm-project.git
|
||||
llvm_branch: release/10.x
|
||||
llvm_build_type: Release
|
||||
llvm_arch: x86_64
|
||||
llvm_additional_parameters: "-DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
|
||||
# TODO: fix lldb_mi_repo and lldb_mi_branch (https://github.com/lldb-tools/lldb-mi/pull/37 and https://github.com/lldb-tools/lldb-mi/pull/39)
|
||||
lldb_mi_repo: https://github.com/WardenGnaw/lldb-mi # TODO: Change to lldb-tools
|
||||
lldb_mi_branch: release/cpptools # TODO: Change to main
|
||||
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
|
||||
parameters:
|
||||
- name: Build_Type
|
||||
displayName: Build Type
|
||||
type: string
|
||||
default: Release
|
||||
|
||||
stages:
|
||||
- stage: Build
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: LLDB_MI
|
||||
timeoutInMinutes: 360
|
||||
pool:
|
||||
vmImage: 'macOS-latest'
|
||||
steps:
|
||||
- task: CmdLine@2
|
||||
displayName: 'Install Dependencies'
|
||||
inputs:
|
||||
script: brew install cmake ninja swig
|
||||
continueOnError: true
|
||||
- template: lldb-mi.template.yml
|
||||
parameters:
|
||||
llvm_build_type: ${{ parameters.Build_Type }}
|
||||
llvm_arch: x86_64
|
||||
- template: lldb-mi.template.yml
|
||||
parameters:
|
||||
llvm_build_type: ${{ parameters.Build_Type }}
|
||||
llvm_arch: arm64
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Build LLVM Project'
|
||||
inputs:
|
||||
script: |
|
||||
log_and_exec_cmd() {
|
||||
echo "##[command] $1"
|
||||
$1
|
||||
}
|
||||
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
|
||||
|
||||
log_and_exec_cmd "git clone $(llvm_repo) llvm-project"
|
||||
log_and_exec_cmd "cd llvm-project"
|
||||
log_and_exec_cmd "git checkout $(llvm_branch)"
|
||||
|
||||
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
|
||||
|
||||
log_and_exec_cmd "cd .."
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
|
||||
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=$(llvm_build_type) -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=$(llvm_arch) $(llvm_additional_parameters) -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] cmake llvm failed"
|
||||
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd ninja
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
### Workaround for https://github.com/llvm/llvm-project/issues/108
|
||||
log_and_exec_cmd "ninja install"
|
||||
|
||||
# Remove conflicting LLDB.framework file.
|
||||
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
|
||||
|
||||
# Build lldb/sources/API first
|
||||
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
|
||||
### End of Workaround
|
||||
|
||||
log_and_exec_cmd "ninja install"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja install failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "##[section] Build LLDB-MI"
|
||||
# Download lldb-mi and build it against our custom installation.
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
|
||||
log_and_exec_cmd "git clone $(lldb_mi_repo) lldb-mi"
|
||||
log_and_exec_cmd "cd lldb-mi"
|
||||
log_and_exec_cmd "git checkout $(lldb_mi_branch)"
|
||||
|
||||
# Create a separate build directory for building lldb-mi.
|
||||
log_and_exec_cmd "mkdir build"
|
||||
log_and_exec_cmd "cd build"
|
||||
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ $(lldb_mi_additional_parameters) -GNinja .."
|
||||
log_and_exec_cmd "ninja"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
|
||||
|
||||
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi/bin"
|
||||
|
||||
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi/bin/."
|
||||
|
||||
# Set rpath for finding LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Set rpath for App Store XCode LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Set rpath for XCode CLI LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Set rpath next to the lldb-mi executable LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Grab NOTICE.TXT
|
||||
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi/.
|
||||
|
||||
# Build can be found at https://dev.azure.com/ms/vscode-cpptools/_build?definitionId=313
|
||||
# Click on the build and select 'Artifacts'
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish LLDB-MI'
|
||||
inputs:
|
||||
targetPath: '$(Build.StagingDirectory)/publish'
|
||||
artifactName: 'lldb-mi'
|
||||
- stage: Signing
|
||||
dependsOn: ["Build"]
|
||||
jobs:
|
||||
- template: lldb-mi-sign.template.yml
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguangeSet": "VS_Main_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "vscode-extensions-localization-export\\vscode-extensions\\vscode-cpptools.xlf",
|
||||
"Languages": "cs;de;es;fr;it;ja;ko;pl;pt-BR;ru;tr;zh-Hans;zh-Hant",
|
||||
"LclFile": "Build\\loc\\LCL\\{Lang}\\vscode-cpptools.xlf.lcl"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
# ==================================================================================
|
||||
# Pipeline for VsCodeExtension-Localization build definition
|
||||
# Runs OneLocBuild task to localize xlf file
|
||||
# ==================================================================================
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: self
|
||||
clean: true
|
||||
|
||||
trigger: none
|
||||
pr: none
|
||||
schedules:
|
||||
- cron: "0 7 * * *"
|
||||
displayName: Daily 7 AM
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
pool:
|
||||
name: 'AzurePipelines-EO'
|
||||
demands:
|
||||
- ImageOverride -equals AzurePipelinesWindows2022compliant
|
||||
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '16.x'
|
||||
displayName: 'Install Node.js'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && yarn install'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd ./Extension && yarn run translations-export && cd ..'
|
||||
|
||||
- task: OneLocBuild@2
|
||||
env:
|
||||
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
||||
inputs:
|
||||
locProj: 'Build/loc/LocProject.json'
|
||||
outDir: '$(Build.ArtifactStagingDirectory)'
|
||||
isCreatePrSelected: false
|
||||
prSourceBranchPrefix: 'locfiles'
|
||||
packageSourceAuth: 'patAuth'
|
||||
patVariable: '$(OneLocBuildPat)'
|
||||
LclSource: lclFilesfromPackage
|
||||
LclPackageId: 'LCL-JUNO-PROD-VCPP'
|
||||
lsBuildXLocPackageVersion: '7.0.30510'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||
ArtifactName: 'drop'
|
||||
publishLocation: 'Container'
|
||||
+8
-2
@@ -1,3 +1,9 @@
|
||||
## Microsoft Open Source Code of Conduct
|
||||
# Microsoft Open Source Code of Conduct
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com with any additional questions or comments.
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||
|
||||
Resources:
|
||||
|
||||
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
|
||||
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
|
||||
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
|
||||
@@ -10,6 +10,14 @@ Prerequisite steps:
|
||||
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
|
||||
* `yarn install` will install the dependencies needed to build the extension.
|
||||
* **(optional)** `yarn global add vsce` will install `vsce` globally to create a VSIX package that you can install.
|
||||
* **(optional)** Set an environment variable `CPPTOOLS_DEV=1`.
|
||||
* This enables the local developer workflow when testing the debugger, copying dependencies from the **node_modules** folder. Testing the language server does not require this step.
|
||||
* Open the **Extension** folder in Visual Studio Code and press F5. This will launch a VS Code Extension Host window and activate the TypeScript debugger. You can set breakpoints on the extension source code and debug your scenario.
|
||||
* If, after pressing F5, you see the following error in the `[Extension Development Host]` window,
|
||||
> Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: Missing binary at .../vscode-cpptools/Extension/bin/cpptools
|
||||
* Then, you can follow the instructions in this [comment in a discussion about building this extension locally](https://github.com/microsoft/vscode-cpptools/discussions/8745#discussioncomment-2091563).
|
||||
> get the <package.version.number> binaries from installing the extension and then copying the binaries
|
||||
1. To do this, install this extension from the Visual Studio Marketplace and find its location on your device. It might be in a directory like `\\wsl$\Ubuntu\home\hamir\.vscode-server\extensions\ms-vscode.cpptools-<package.version.number>`, for example.
|
||||
2. Next, go to the `bin/` directory of the aforementioned directory, and drag-and-drop, or copy-and-paste, `cpptools` and `cpptools-srv` from `...\extensions\ms-vscode.cpptools-<package.version.number>\bin\` to this repository's `Extension\bin\` directory on your local device, so that `.../vscode-cpptools/Extension/bin/cpptools` and `.../vscode-cpptools/Extension/bin/cpptools-srv` both exist in your workspace.
|
||||
3. The aforementioned warning should be gone, and Intellisense, which gives those squiggly red error lines, should now be present.
|
||||
4. The `insiders` branch has binaries compatible with the latest Pre-Release version of the extension, and the `release` branch has binaries compatible with the latest Release version, but the `main` branch may have TypeScript changes that are incompatible with the published binaries, in which case, you'll need to create a branch off the `insiders` or `release` branches.
|
||||
|
||||
* Feel free to use [the Discussions tab of this repository](https://github.com/microsoft/vscode-cpptools/discussions) if you have any further questions on building this extension locally.
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# Exception Settings
|
||||
|
||||
The Microsoft Windows C/C++ debugger (cppvsdbg) supports configuration options for if the debugger stops when exceptions are thrown. This is done with the 'All Exceptions' check box in the BREAKPOINTS section of the 'Run and Debug' view.
|
||||
|
||||
Note that the BREAKPOINTS section will be missing this entry until the first time that the folder has been debugged with the 'cppvsdbg' debugger.
|
||||
|
||||
Checking 'All Exceptions' will configure the debugger to stop when an exception is thrown.
|
||||
|
||||
##### Exception Conditions
|
||||
|
||||
The 'All Exceptions' checkbox support conditions to break on only selected exception types (C++ exceptions) or codes (Win32 exceptions). To edit the condition, click on the pencil icon or right click on the entry and invoke 'Edit Condition'. The condition is a comma-separated list of exception types and codes to break on, or if the list starts with '!', a list of exception types and codes to ignore.
|
||||
|
||||
Examples conditions:
|
||||
|
||||
| Example condition value | Result |
|
||||
|-------------------------|--------|
|
||||
| 0xC0000005, 0xC0000094 | Break on Win32 Access Violation exceptions and integer division by zero exceptions |
|
||||
| std::out_of_range, 0xC0000005 | This will break on out-of-range exceptions, and access violation exceptions |
|
||||
| !MyExceptionClass | This will break on all exceptions except C++ `MyExceptionClass` exceptions |
|
||||
| !MyExceptionClass, 0x6831C815 | This will break on all exceptions except C++ `MyExceptionClass` exceptions and Win32 exceptions with custom code 0x6831C815 |
|
||||
@@ -50,11 +50,11 @@ args: ["--pauseForDebugger"]
|
||||
|
||||
This will cause the debugger to look like it has hung once you start debugging, but in reality it is waiting for a debugger to attach. Set your breakpoints and attach your debugger to the `OpenDebugAD7.exe` process. Once the debugger is attached, VS Code should start debugging and you can reproduce your scenario.
|
||||
|
||||
### Debugging MIEngine running on Linux or Mac OS X
|
||||
### Debugging MIEngine running on Linux or macOS
|
||||
|
||||
#### With MonoDevelop
|
||||
|
||||
On Linux and Mac OS X, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
|
||||
On Linux and macOS, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
|
||||
|
||||
##### Install Prerequisites
|
||||
1. Install [GTK](http://www.mono-project.com/download/).
|
||||
@@ -83,7 +83,7 @@ Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/Ope
|
||||
##### Attach the remote debugger
|
||||
|
||||
In MonoDevelop: Run -> Run With -> Custom Command Mono Soft Debugger.
|
||||
Fill in the IP and port of the Linux/Mac OS X machine and hit "Connect" to start debugging.
|
||||
Fill in the IP and port of the Linux/macOS machine and hit "Connect" to start debugging.
|
||||
|
||||
After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F5</kbd> to bring up the connect dialog again.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*.js
|
||||
test/**/index.ts
|
||||
test/**/runTest.ts
|
||||
tools/prepublish.js
|
||||
|
||||
dist/
|
||||
vscode*.d.ts
|
||||
|
||||
+69
-50
@@ -1,4 +1,9 @@
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
"plugin:@typescript-eslint/strict",
|
||||
],
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true,
|
||||
@@ -6,21 +11,41 @@ module.exports = {
|
||||
},
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"project": "tsconfig.json",
|
||||
"sourceType": "module"
|
||||
"project": ["tsconfig.json", ".scripts/tsconfig.json"],
|
||||
"ecmaVersion": 2022,
|
||||
"sourceType": "module",
|
||||
"warnOnUnsupportedTypeScriptVersion": false,
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"@typescript-eslint/tslint",
|
||||
"eslint-plugin-jsdoc",
|
||||
"@typescript-eslint/eslint-plugin-tslint",
|
||||
"@typescript-eslint/eslint-plugin",
|
||||
"eslint-plugin-import",
|
||||
"eslint-plugin-header"
|
||||
],
|
||||
"rules": {
|
||||
"indent": [
|
||||
"warn",
|
||||
4,
|
||||
{
|
||||
"SwitchCase": 1,
|
||||
"ObjectExpression": "first"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/indent": [
|
||||
"error", 4
|
||||
],
|
||||
"@typescript-eslint/adjacent-overload-signatures": "error",
|
||||
"@typescript-eslint/array-type": "error",
|
||||
"@typescript-eslint/class-name-casing": "error",
|
||||
"@typescript-eslint/indent": "error",
|
||||
"@typescript-eslint/await-thenable": "error",
|
||||
"camelcase": "off",
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
"selector": "typeLike",
|
||||
"format": ["PascalCase"]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/member-delimiter-style": [
|
||||
"error",
|
||||
{
|
||||
@@ -34,7 +59,20 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/no-extraneous-class": "off",
|
||||
"no-case-declarations": "off",
|
||||
"no-useless-escape": "off",
|
||||
"no-floating-decimal": "error",
|
||||
"keyword-spacing": ["error", { "before": true, "overrides": { "this": { "before": false } } }],
|
||||
"arrow-spacing": ["error", { "before": true, "after": true }],
|
||||
"semi-spacing": ["error", { "before": false, "after": true }],
|
||||
"no-extra-parens": ["error", "all", { "nestedBinaryExpressions": false, "ternaryOperandBinaryExpressions": false }],
|
||||
"@typescript-eslint/no-array-constructor": "error",
|
||||
"@typescript-eslint/no-useless-constructor": "error",
|
||||
"@typescript-eslint/no-for-in-array": "error",
|
||||
"@typescript-eslint/no-misused-new": "error",
|
||||
"@typescript-eslint/no-misused-promises": "error",
|
||||
"@typescript-eslint/no-namespace": "error",
|
||||
"@typescript-eslint/no-non-null-assertion": "error",
|
||||
"@typescript-eslint/no-extra-non-null-assertion": "error",
|
||||
@@ -48,8 +86,16 @@ module.exports = {
|
||||
"@typescript-eslint/triple-slash-reference": "error",
|
||||
"@typescript-eslint/type-annotation-spacing": "error",
|
||||
"@typescript-eslint/unified-signatures": "error",
|
||||
"@typescript-eslint/no-floating-promises": "error",
|
||||
"@typescript-eslint/method-signature-style": ["error", "method"],
|
||||
"@typescript-eslint/space-infix-ops": "error",
|
||||
"no-unused-vars": "off",
|
||||
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
|
||||
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
|
||||
"arrow-body-style": "error",
|
||||
"comma-dangle": "error",
|
||||
"comma-spacing": "off",
|
||||
"@typescript-eslint/comma-spacing": "error",
|
||||
"constructor-super": "error",
|
||||
"curly": "error",
|
||||
"eol-last": "error",
|
||||
@@ -71,17 +117,19 @@ module.exports = {
|
||||
"no-fallthrough": "error",
|
||||
"no-invalid-this": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"rest-spread-spacing": ["error", "never"],
|
||||
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }],
|
||||
"no-new-wrappers": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"no-sequences": "error",
|
||||
"no-sparse-arrays": "error",
|
||||
"no-trailing-spaces": "error",
|
||||
"no-multi-spaces": "error",
|
||||
"no-undef-init": "error",
|
||||
"no-unsafe-finally": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-unused-labels": "error",
|
||||
"space-before-blocks": "error",
|
||||
"no-var": "error",
|
||||
"one-var": [
|
||||
"error",
|
||||
@@ -94,54 +142,25 @@ module.exports = {
|
||||
"never"
|
||||
],
|
||||
"spaced-comment": [
|
||||
"error",
|
||||
"always"
|
||||
"off",
|
||||
"always",
|
||||
{ "line": { "exceptions": ["/"] } } // triple slash directives
|
||||
],
|
||||
"use-isnan": "error",
|
||||
"valid-typeof": "error",
|
||||
"yoda": "error",
|
||||
"@typescript-eslint/tslint/config": [
|
||||
"error",
|
||||
{
|
||||
"rules": {
|
||||
"encoding": true,
|
||||
"file-header": [
|
||||
true,
|
||||
".*"
|
||||
"space-infix-ops": "error",
|
||||
"header/header": [
|
||||
"warn",
|
||||
"block",
|
||||
[
|
||||
" --------------------------------------------------------------------------------------------",
|
||||
" * Copyright (c) Microsoft Corporation. All Rights Reserved.",
|
||||
" * See 'LICENSE' in the project root for license information.",
|
||||
" * ------------------------------------------------------------------------------------------ "
|
||||
|
||||
],
|
||||
"import-spacing": true,
|
||||
"match-default-export-name": true,
|
||||
"no-boolean-literal-compare": true,
|
||||
"no-mergeable-namespace": true,
|
||||
"no-reference-import": true,
|
||||
"no-unnecessary-callback-wrapper": true,
|
||||
"number-literal-format": true,
|
||||
"one-line": [
|
||||
true,
|
||||
"check-catch",
|
||||
"check-finally",
|
||||
"check-else",
|
||||
"check-open-brace",
|
||||
"check-whitespace"
|
||||
],
|
||||
"prefer-method-signature": true,
|
||||
"prefer-while": true,
|
||||
"typedef": [
|
||||
true,
|
||||
"variable-declaration",
|
||||
"call-signature",
|
||||
"variable-declaration-ignore-function"
|
||||
],
|
||||
"whitespace": [
|
||||
true,
|
||||
"check-branch",
|
||||
"check-operator",
|
||||
"check-separator",
|
||||
"check-preblock",
|
||||
"check-type"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# ignore dependency packages
|
||||
node_modules
|
||||
|
||||
# ignore compliled typescript
|
||||
# ignore compiled typescript
|
||||
out
|
||||
dist
|
||||
|
||||
@@ -25,7 +25,6 @@ install.lock
|
||||
|
||||
# ignore generated localization file
|
||||
**/nls.*.json
|
||||
**/*.nls.json
|
||||
**/*.nls.*.json
|
||||
|
||||
# ignore generate native header
|
||||
@@ -34,3 +33,5 @@ localized_string_ids.h
|
||||
# ignore generate files. It will be generated when building
|
||||
src/nativeStrings.ts
|
||||
|
||||
vscode*.d.ts
|
||||
.scripts/_*
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { error } from 'node:console';
|
||||
import { resolve, sep } from 'node:path';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { $root, Git, brightGreen, cyan, getModifiedIgnoredFiles, rimraf } from './common';
|
||||
|
||||
// notes:
|
||||
// list all gitignore'd files that are modified: `git clean -Xd -n`
|
||||
// list all untracked and ignored files that are modified/created: `git clean -Xd -n`
|
||||
|
||||
export async function main() {
|
||||
await rimraf(resolve($root, 'dist'));
|
||||
}
|
||||
|
||||
export async function all() {
|
||||
await rimraf(...(await getModifiedIgnoredFiles()).filter(each => !each.includes('node_modules')));
|
||||
}
|
||||
|
||||
export async function reset() {
|
||||
verbose(`Resetting all .gitignored files in extension`);
|
||||
await rimraf(...await getModifiedIgnoredFiles());
|
||||
}
|
||||
|
||||
async function details(files: string[]) {
|
||||
let all = await Promise.all(files.filter(each => each).map(async (each) => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const [filename, stats ] = await filepath.stats(each);
|
||||
return {
|
||||
filename: stats.isDirectory() ? cyan(`${each}${sep}**`) : brightGreen(`${each}`),
|
||||
date: stats.mtime.toLocaleDateString().replace(/\b(\d)\//g, '0$1\/'),
|
||||
time: stats.mtime.toLocaleTimeString().replace(/^(\d)\:/g, '0$1:'),
|
||||
modified: stats.mtime
|
||||
};
|
||||
}));
|
||||
all = all.sort((a, b) => a.modified.getTime() - b.modified.getTime());
|
||||
// print a formatted table so the date and time are aligned
|
||||
const max = all.reduce((max, each) => Math.max(max, each.filename.length), 0);
|
||||
all.forEach(each => console.log(` ${each.filename.padEnd(max)} [${each.date} ${each.time}]`));
|
||||
console.log('');
|
||||
}
|
||||
|
||||
export async function show(opt?: string) {
|
||||
switch (opt?.toLowerCase()) {
|
||||
case 'new':
|
||||
console.log(cyan('\n\nNew files:'));
|
||||
const r = await Git('ls-files', '--others', '--exclude-standard', '-z');
|
||||
return details(r.stdio.all().map(each => resolve(each.trim().replace(/\0/g, ''))));
|
||||
|
||||
case undefined:
|
||||
case '':
|
||||
case 'ignored':
|
||||
case 'untracked':
|
||||
console.log(cyan('\n\nUntracked+Ignored files:'));
|
||||
return details(await getModifiedIgnoredFiles());
|
||||
|
||||
default:
|
||||
return error(`Unknown option '${opt}'`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { spawnSync } from 'child_process';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { $args, $root, $scenario, assertAnyFile, brightGreen, gray, green, pwd } from './common';
|
||||
|
||||
import { resolve } from 'path';
|
||||
import { getTestInfo } from '../test/common/selectTests';
|
||||
import { install, options } from "./vscode";
|
||||
|
||||
export { install, reset } from './vscode';
|
||||
|
||||
export async function main() {
|
||||
let ti = await getTestInfo($scenario);
|
||||
if (!ti) {
|
||||
// try using the first arg as a scenario name or location
|
||||
ti = await getTestInfo($args[0], $args[0] ? resolve(pwd, $args[0]) : undefined);
|
||||
if (ti) {
|
||||
$args[0] = ti.workspace;
|
||||
}
|
||||
} else {
|
||||
// we found it
|
||||
$args.unshift(ti.workspace);
|
||||
}
|
||||
await assertAnyFile('dist/src/main.js', `The extension entry point '${$root}/dist/src/main.js is missing. You should run ${brightGreen("yarn compile")}\n\n`);
|
||||
|
||||
const { cli, args } = await install();
|
||||
|
||||
// example of installing an extension into code
|
||||
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
|
||||
//spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' })
|
||||
verbose(green('Launch VSCode'));
|
||||
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ];
|
||||
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
|
||||
|
||||
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
|
||||
}
|
||||
@@ -0,0 +1,343 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { Command, CommandFunction } from '../src/Utility/Process/program';
|
||||
|
||||
import { ok } from 'assert';
|
||||
import { CommentJSONValue, parse, stringify } from 'comment-json';
|
||||
import { mkdir as md, readFile, rm, writeFile } from 'fs/promises';
|
||||
import { IOptions, glob as globSync } from 'glob';
|
||||
import { dirname, resolve } from 'path';
|
||||
import { chdir, cwd, env } from 'process';
|
||||
import { setImmediate } from 'timers/promises';
|
||||
import { promisify } from 'util';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { is } from '../src/Utility/System/guards';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
|
||||
export const $root = resolve(`${__dirname}/..`);
|
||||
export let $cmd = 'main';
|
||||
export let $scenario = '';
|
||||
|
||||
// loop through the args and pick out --scenario=... and remove it from the $args and set $scenario
|
||||
process.argv.slice(2).filter(each => !(each.startsWith('--scenario=') && ($scenario = each.substring('--scenario='.length))));
|
||||
export const $args = process.argv.slice(2).filter(each => !each.startsWith('--'));
|
||||
export const $switches = process.argv.slice(2).filter(each => each.startsWith('--'));
|
||||
|
||||
/** enqueue the call to the callback function to happen on the next available tick, and return a promise to the result */
|
||||
export function then<T>(callback: () => Promise<T> | T): Promise<T> {
|
||||
return setImmediate().then(callback);
|
||||
}
|
||||
|
||||
export const pwd = env.INIT_CWD ?? cwd();
|
||||
verbose(yellow(`pwd: ${pwd}`));
|
||||
|
||||
// ensure we're in the extension folder.
|
||||
chdir($root);
|
||||
|
||||
// dump unhandled async errors to the console and exit.
|
||||
process.on('unhandledRejection', (reason: any, _promise) => {
|
||||
error(`${reason?.stack?.split(/\r?\n/).filter(l => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
const git = new Command('git');
|
||||
export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (await git)(...args);
|
||||
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);
|
||||
|
||||
export async function getModifiedIgnoredFiles() {
|
||||
const {code, error, stdio } = await GitClean('-Xd', '-n');
|
||||
if (code) {
|
||||
throw new Error(`\n${error.all().join('\n')}`);
|
||||
}
|
||||
|
||||
// return the full path of files that would be removed.
|
||||
return Promise.all(stdio.filter("Would remove").map((s) => filepath.exists(s.replace(/^Would remove /, ''), $root)).filter(p => p));
|
||||
}
|
||||
|
||||
export async function rimraf(...paths: string[]) {
|
||||
const all = [];
|
||||
for (const each of paths) {
|
||||
if (!each) {
|
||||
continue;
|
||||
}
|
||||
if (await filepath.isFolder(each)) {
|
||||
verbose(`Removing folder ${red(each)}`);
|
||||
all.push(rm(each, {recursive: true, force: true}));
|
||||
continue;
|
||||
}
|
||||
verbose(`Removing file ${red(each)}`);
|
||||
all.push(rm(each, {force: true}));
|
||||
}
|
||||
await Promise.all(all);
|
||||
}
|
||||
|
||||
export async function mkdir(filePath: string) {
|
||||
const [fullPath, info] = await filepath.stats(filePath, $root);
|
||||
if (info) {
|
||||
if (info.isDirectory()) {
|
||||
return fullPath;
|
||||
}
|
||||
throw new Error(`Cannot create directory '${filePath}' because there is a file there.`);
|
||||
}
|
||||
|
||||
await md(fullPath, { recursive: true });
|
||||
return fullPath;
|
||||
}
|
||||
|
||||
export const glob: (pattern: string, options?: IOptions) => Promise<string[]> = promisify(globSync);
|
||||
|
||||
export async function write(filePath: string, data: Buffer | string) {
|
||||
await mkdir(dirname(filePath));
|
||||
|
||||
if (await filepath.isFile(filePath)) {
|
||||
const content = await readFile(filePath);
|
||||
if (is.string(data)) {
|
||||
// if we're passed a text file, we should match the line endings of the existing file.
|
||||
const textContent = content.toString();
|
||||
|
||||
// normalize the line endings to the same as the current file.
|
||||
data = textContent.indexOf('\r\n') > -1 ? data.replace(/\r\n|\n/g, '\r\n') : data.replace(/\r\n|\n/g, '\n');
|
||||
|
||||
// if the text content is a match, we don't have to change anything
|
||||
if (textContent === data) {
|
||||
verbose(`Text file at '${filePath}' is up to date.`);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// if the binary content is a match, we don't have to change anything
|
||||
if (content.equals(data)) {
|
||||
verbose(`File at '${filePath}' is up to date.`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
verbose(`Writing file '${filePath}'`);
|
||||
await writeFile(filePath, data);
|
||||
}
|
||||
|
||||
export async function updateFiles(files: string[], dest: string | Promise<string>) {
|
||||
const target = is.promise(dest) ? await dest : dest;
|
||||
await Promise.all(files.map(async (each) => {
|
||||
const sourceFile = await filepath.isFile(each, $root);
|
||||
if (sourceFile) {
|
||||
const targetFile = resolve(target, each);
|
||||
await write(targetFile, await readFile(sourceFile));
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
export async function go() {
|
||||
if (require.main) {
|
||||
// loop through the args and pick out the first non --arg and remove it from the $args and set $cmd
|
||||
for (let i = 0; i < $args.length; i++) {
|
||||
const each = $args[i];
|
||||
if (!each.startsWith('--') && require.main.exports[each]) {
|
||||
$cmd = each;
|
||||
$args.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
verbose(`${yellow("Running task:")} ${green($cmd)} ${green($args.join(' '))}`);
|
||||
require.main.exports[$cmd](...$args);
|
||||
}
|
||||
}
|
||||
void then(go);
|
||||
|
||||
export async function read(filename: string) {
|
||||
const content = await readFile(filename);
|
||||
ok(content, `File '${filename}' has no content`);
|
||||
return content.toString();
|
||||
}
|
||||
|
||||
export async function readJson(filename: string, fallback = {}): Promise<CommentJSONValue> {
|
||||
try {
|
||||
return parse(await read(filename));
|
||||
} catch {
|
||||
return fallback as CommentJSONValue;
|
||||
}
|
||||
}
|
||||
|
||||
export async function writeJson(filename: string, object: CommentJSONValue) {
|
||||
await write(filename, stringify(object, null, 4));
|
||||
}
|
||||
|
||||
export function error(text: string) {
|
||||
console.error(`\n${red('ERROR')}: ${text}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
export function warn(text: string) {
|
||||
console.error(`\n${yellow('WARNING')}: ${text}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
export function note(text: string) {
|
||||
console.error(`\n${cyan('NOTE')}: ${text}`);
|
||||
}
|
||||
|
||||
export function underline(text: string) {
|
||||
return `\u001b[4m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function bold(text: string) {
|
||||
return `\u001b[1m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function dim(text: string) {
|
||||
return `\u001b[2m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function brightGreen(text: string) {
|
||||
return `\u001b[38;2;19;161;14m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function green(text: string) {
|
||||
return `\u001b[38;2;78;154;6m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function brightWhite(text: string) {
|
||||
return `\u001b[38;2;238;238;236m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function gray(text: string) {
|
||||
return `\u001b[38;2;117;113;94m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function yellow(text: string) {
|
||||
return `\u001b[38;2;252;233;79m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function red(text: string) {
|
||||
return `\u001b[38;2;197;15;31m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function cyan(text: string) {
|
||||
return `\u001b[38;2;0;174;239m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export const hr = "===============================================================================";
|
||||
|
||||
export function heading(text: string, level = 1) {
|
||||
switch (level) {
|
||||
case 1:
|
||||
return `${underline(bold(text))}`;
|
||||
case 2:
|
||||
return `${brightGreen(text)}`;
|
||||
case 3:
|
||||
return `${green(text)}`;
|
||||
}
|
||||
return `${bold(text)}\n`;
|
||||
}
|
||||
|
||||
export function optional(text: string) {
|
||||
return gray(text);
|
||||
}
|
||||
|
||||
export function cmdSwitch(text: string) {
|
||||
return optional(`--${text}`);
|
||||
}
|
||||
|
||||
export function command(text: string) {
|
||||
return brightWhite(bold(text));
|
||||
}
|
||||
|
||||
export function hint(text: string) {
|
||||
return green(dim(text));
|
||||
}
|
||||
|
||||
export function count(num: number) {
|
||||
return gray(`${num}`);
|
||||
}
|
||||
|
||||
export function position(text: string) {
|
||||
return gray(`${text}`);
|
||||
}
|
||||
|
||||
export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise<string> {
|
||||
oneOrMoreFolders = is.array(oneOrMoreFolders) ? oneOrMoreFolders : [oneOrMoreFolders];
|
||||
for (const each of oneOrMoreFolders) {
|
||||
const result = await filepath.isFolder(each, $root);
|
||||
if (result) {
|
||||
verbose(`Folder ${brightGreen(each)} exists.`);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (errorMessage) {
|
||||
if (!$switches.includes('--quiet')) {
|
||||
error(errorMessage);
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise<string> {
|
||||
oneOrMoreFiles = is.array(oneOrMoreFiles) ? oneOrMoreFiles : [oneOrMoreFiles];
|
||||
for (const each of oneOrMoreFiles) {
|
||||
const result = await filepath.isFile(each, $root);
|
||||
if (result) {
|
||||
verbose(`Folder ${brightGreen(each)} exists.`);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (errorMessage) {
|
||||
if (!$switches.includes('--quiet')) {
|
||||
error(errorMessage);
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
const quiet = process.argv.includes('--quiet');
|
||||
|
||||
export async function checkPrep() {
|
||||
let failing = false;
|
||||
|
||||
failing = !await assertAnyFolder('dist/test') && (quiet || warn(`The compiled test files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFolder('dist/walkthrough') && (quiet || warn(`The walkthrough files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFolder('dist/html') && (quiet || warn(`The html files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFolder('dist/schema') && (quiet || warn(`The schema files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFile('dist/nls.metadata.json') && (quiet || warn(`The extension translation file '${$root}/dist/nls.metadata.json is missing.`)) || failing;
|
||||
failing = await checkDTS() || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('Prep files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
export async function checkCompiled() {
|
||||
let failing = false;
|
||||
failing = await checkDTS() || failing;
|
||||
failing = !await assertAnyFile('dist/src/main.js') && (quiet || warn(`The extension entry point '${$root}/dist/src/main.js is missing.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('Compiled files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
export async function checkDTS() {
|
||||
let failing = false;
|
||||
failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing;
|
||||
failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('VSCode d.ts files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
export async function checkBinaries() {
|
||||
let failing = false;
|
||||
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('Native binary files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { watch as watchFiles } from 'fs/promises';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { $root, glob, mkdir, updateFiles } from './common';
|
||||
|
||||
export async function main() {
|
||||
verbose(`Copying walkthrough media to extension/dist folder`);
|
||||
await updateFiles(await glob('walkthrough/images/**/*'), mkdir('dist'));
|
||||
}
|
||||
|
||||
export async function watch() {
|
||||
const source = await filepath.isFolder('walkthrough/images', $root);
|
||||
if (source) {
|
||||
verbose(`Watching ${source} folder for changes.`);
|
||||
console.log('Press Ctrl+C to exit.');
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
for await (const event of watchFiles(source, {recursive: true })) {
|
||||
await main();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { parse } from 'comment-json';
|
||||
import { resolve } from 'path';
|
||||
import { read, write } from './common';
|
||||
|
||||
// ****************************
|
||||
// Command: generate-native-strings
|
||||
// The following is used to generate nativeStrings.ts and localized_string_ids.h from ./src/nativeStrings.json
|
||||
// If adding localized strings to the native side, start by adding it to nativeStrings.json and use this to generate the others.
|
||||
// ****************************
|
||||
export async function main() {
|
||||
const $root = resolve(`${__dirname}/..`);
|
||||
const stringTable = parse(await read(`${$root}/src/nativeStrings.json`)) as any;
|
||||
|
||||
let nativeEnumContent = "";
|
||||
let nativeStringTableContent = "";
|
||||
let typeScriptSwitchContent = "";
|
||||
|
||||
let stringIndex = 1;
|
||||
for (const property in stringTable) {
|
||||
let stringValue = stringTable[property];
|
||||
let hintValue;
|
||||
if (typeof stringValue !== "string") {
|
||||
hintValue = stringValue.hint;
|
||||
stringValue = stringValue.text;
|
||||
}
|
||||
|
||||
// Add to native enum
|
||||
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
|
||||
|
||||
// Add to native string table
|
||||
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
|
||||
|
||||
// Add to TypeScript switch
|
||||
// Skip empty strings, which can be used to prevent enum/index reordering
|
||||
if (stringValue !== "") {
|
||||
// It's possible that a translation may skip "{#}" entries, so check for up to 50 of them.
|
||||
let numArgs = 0;
|
||||
for (let i = 0; i < 50; i++) {
|
||||
if (stringValue.includes(`{${i}}`)) {
|
||||
numArgs = i + 1;
|
||||
}
|
||||
}
|
||||
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
|
||||
if (numArgs !== 0) {
|
||||
typeScriptSwitchContent += ` if (stringArgs) {\n`;
|
||||
if (hintValue) {
|
||||
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
|
||||
} else {
|
||||
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
|
||||
}
|
||||
for (let i = 0; i < numArgs; i++) {
|
||||
typeScriptSwitchContent += `, stringArgs[${i}]`;
|
||||
}
|
||||
typeScriptSwitchContent += `);\n break;\n }\n`;
|
||||
}
|
||||
if (hintValue) {
|
||||
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
|
||||
} else {
|
||||
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
|
||||
}
|
||||
typeScriptSwitchContent += `);\n break;\n`;
|
||||
}
|
||||
++stringIndex;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// Generate the TypeScript file
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
const typeScriptContent = `/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as nls from 'vscode-nls';
|
||||
|
||||
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
|
||||
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
|
||||
|
||||
export const localizedStringCount: number = ${stringIndex};
|
||||
|
||||
export function lookupString(stringId: number, stringArgs?: string[]): string {
|
||||
let message: string = "";
|
||||
switch (stringId) {
|
||||
case 0:
|
||||
// Special case for blank string
|
||||
break;
|
||||
${typeScriptSwitchContent}
|
||||
default:
|
||||
console.assert(\"Unrecognized string ID\");
|
||||
break;
|
||||
}
|
||||
return message;
|
||||
}
|
||||
`;
|
||||
|
||||
// If the file isn't there, or the contents are different, write it out
|
||||
await write(`${$root}/src/nativeStrings.ts`, typeScriptContent);
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// Generate the native string header file
|
||||
// --------------------------------------------------------------------------------------------
|
||||
const nativeContents = `/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
|
||||
|
||||
#pragma once
|
||||
// NOLINTBEGIN(modernize-raw-string-literal)
|
||||
enum class localized_string_id : unsigned int
|
||||
{
|
||||
blank = 0,
|
||||
${nativeEnumContent}};
|
||||
|
||||
inline static const char *localizable_strings[] = {
|
||||
"",
|
||||
${nativeStringTableContent}};
|
||||
// NOLINTEND(modernize-raw-string-literal)
|
||||
`;
|
||||
|
||||
// If the file isn't there, or the contents are different, write it out
|
||||
await write(`${$root}/localized_string_ids.h`, nativeContents);
|
||||
}
|
||||
+34
-24
@@ -1,10 +1,12 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import * as fs from 'fs';
|
||||
import * as os from 'os';
|
||||
/* eslint-disable no-prototype-builtins */
|
||||
|
||||
import { resolve } from 'path';
|
||||
import { $root, read, write } from './common';
|
||||
|
||||
function appendFieldsToObject(reference: any, obj: any): any {
|
||||
// Make sure it is an object type
|
||||
@@ -43,7 +45,7 @@ function updateDefaults(object: any, defaults: any): any {
|
||||
for (const key in object) {
|
||||
if (object[key].hasOwnProperty('type') && object[key].type === 'object' && object[key].properties !== null) {
|
||||
object[key].properties = updateDefaults(object[key].properties, mergeDefaults(defaults, object[key].default));
|
||||
} else if (key in defaults) {
|
||||
} else if (defaults && key in defaults) {
|
||||
object[key].default = defaults[key];
|
||||
}
|
||||
}
|
||||
@@ -54,7 +56,7 @@ function updateDefaults(object: any, defaults: any): any {
|
||||
|
||||
function refReplace(definitions: any, ref: any): any {
|
||||
// $ref is formatted as "#/definitions/ObjectName"
|
||||
const referenceStringArray: string[] = ref['$ref'].split('/');
|
||||
const referenceStringArray: string[] = ref.$ref.split('/');
|
||||
|
||||
// Getting "ObjectName"
|
||||
const referenceName: string = referenceStringArray[referenceStringArray.length - 1];
|
||||
@@ -69,7 +71,7 @@ function refReplace(definitions: any, ref: any): any {
|
||||
ref = appendFieldsToObject(reference, ref);
|
||||
|
||||
// Remove $ref field
|
||||
delete ref['$ref'];
|
||||
delete ref.$ref;
|
||||
|
||||
return ref;
|
||||
}
|
||||
@@ -82,11 +84,7 @@ function replaceReferences(definitions: any, objects: any): any {
|
||||
|
||||
// Handle 'anyOf' with references
|
||||
if (objects[key].hasOwnProperty('anyOf')) {
|
||||
for (const index in objects[key].anyOf) {
|
||||
if (objects[key].anyOf[index].hasOwnProperty('$ref')) {
|
||||
objects[key].anyOf[index] = refReplace(definitions, objects[key].anyOf[index]);
|
||||
}
|
||||
}
|
||||
objects[key].anyOf = replaceReferences(definitions, objects[key].anyOf);
|
||||
}
|
||||
|
||||
// Recursively replace references if this object has properties.
|
||||
@@ -95,18 +93,35 @@ function replaceReferences(definitions: any, objects: any): any {
|
||||
objects[key].properties = updateDefaults(objects[key].properties, objects[key].default);
|
||||
}
|
||||
|
||||
// Recursively replace references if the array has objects in items.
|
||||
// Items in array contains ref
|
||||
if (objects[key].hasOwnProperty('type') && objects[key].type === "array" && objects[key].items !== null && objects[key].items.hasOwnProperty('$ref')) {
|
||||
objects[key].items = refReplace(definitions, objects[key].items);
|
||||
}
|
||||
|
||||
// Recursively replace references if the array has objects that contains ref in items.
|
||||
if (objects[key].hasOwnProperty('type') && objects[key].type === "array" && objects[key].items !== null) {
|
||||
objects[key].items = replaceReferences(definitions, objects[key].items);
|
||||
}
|
||||
}
|
||||
|
||||
return objects;
|
||||
}
|
||||
|
||||
function generateOptionsSchema(): void {
|
||||
const packageJSON: any = JSON.parse(fs.readFileSync('package.json').toString());
|
||||
const schemaJSON: any = JSON.parse(fs.readFileSync('tools/OptionsSchema.json').toString());
|
||||
function mergeReferences(baseDefinitions: any, additionalDefinitions: any): void {
|
||||
for (const key in additionalDefinitions) {
|
||||
if (baseDefinitions[key]) {
|
||||
throw `Error: '${key}' defined in multiple schema files.`;
|
||||
}
|
||||
baseDefinitions[key] = additionalDefinitions[key];
|
||||
}
|
||||
}
|
||||
|
||||
export async function main() {
|
||||
const packageJSON: any = JSON.parse(await read(resolve($root, 'package.json')));
|
||||
const schemaJSON: any = JSON.parse(await read(resolve($root, 'tools/OptionsSchema.json')));
|
||||
const symbolSettingsJSON: any = JSON.parse(await read(resolve($root, 'tools/VSSymbolSettings.json')));
|
||||
|
||||
mergeReferences(schemaJSON.definitions, symbolSettingsJSON.definitions);
|
||||
|
||||
schemaJSON.definitions = replaceReferences(schemaJSON.definitions, schemaJSON.definitions);
|
||||
|
||||
@@ -119,16 +134,11 @@ function generateOptionsSchema(): void {
|
||||
packageJSON.contributes.debuggers[1].configurationAttributes.launch = schemaJSON.definitions.CppvsdbgLaunchOptions;
|
||||
packageJSON.contributes.debuggers[1].configurationAttributes.attach = schemaJSON.definitions.CppvsdbgAttachOptions;
|
||||
|
||||
let content: string = JSON.stringify(packageJSON, null, 2);
|
||||
if (os.platform() === 'win32') {
|
||||
content = content.replace(/\n/gm, "\r\n");
|
||||
}
|
||||
let content: string = JSON.stringify(packageJSON, null, 4);
|
||||
|
||||
// We use '\u200b' (unicode zero-length space character) to break VS Code's URL detection regex for URLs that are examples. This process will
|
||||
// convert that from the readable espace sequence, to just an invisible character. Convert it back to the visible espace sequence.
|
||||
content = content.replace(/\u200b/gm, "\\u200b");
|
||||
content = content.replace(/\u200b/gm, "\\u200b") + "\n";
|
||||
|
||||
fs.writeFileSync('package.json', content);
|
||||
await write('package.json', content);
|
||||
}
|
||||
|
||||
generateOptionsSchema();
|
||||
@@ -0,0 +1,95 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
import * as fs from "fs";
|
||||
import * as path from 'path';
|
||||
import { parseString } from 'xml2js';
|
||||
import { mkdir, write } from './common';
|
||||
|
||||
export async function main() {
|
||||
|
||||
const localizeRepoPath = process.argv[2];
|
||||
const cpptoolsRepoPath = process.argv[3];
|
||||
|
||||
if (!localizeRepoPath || !cpptoolsRepoPath) {
|
||||
console.error(`ERROR: Usage: ${path.parse(process.argv[0]).base} ${path.parse(process.argv[1]).base} <Localize repo path> <vscode-cpptools repo path>`);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log("Importing EDGE strings from Localize repo: " + localizeRepoPath);
|
||||
console.log("Writing to cpptools repo: " + cpptoolsRepoPath);
|
||||
|
||||
if (!fs.existsSync(path.join(localizeRepoPath, ".git"))) {
|
||||
console.error("ERROR: Localize repo submodule is not initialized in Localize repo");
|
||||
return;
|
||||
}
|
||||
|
||||
const languages = [
|
||||
{ id: "zh-tw", folderName: "cht", transifexId: "zh-hant" },
|
||||
{ id: "zh-cn", folderName: "chs", transifexId: "zh-hans" },
|
||||
{ id: "fr", folderName: "fra" },
|
||||
{ id: "de", folderName: "deu" },
|
||||
{ id: "it", folderName: "ita" },
|
||||
{ id: "es", folderName: "esn" },
|
||||
{ id: "ja", folderName: "jpn" },
|
||||
{ id: "ko", folderName: "kor" },
|
||||
{ id: "ru", folderName: "rus" },
|
||||
{ id: "bg", folderName: "bul" }, // VS Code supports Bulgarian, but VS is not currently localized for those languages.
|
||||
{ id: "hu", folderName: "hun" }, // VS Code supports Hungarian, but VS is not currently localized for those languages.
|
||||
{ id: "pt-br", folderName: "ptb", transifexId: "pt-BR" },
|
||||
{ id: "tr", folderName: "trk" },
|
||||
{ id: "cs", folderName: "csy" },
|
||||
{ id: "pl", folderName: "plk" }
|
||||
];
|
||||
|
||||
const locFolderNames = fs.readdirSync(localizeRepoPath).filter(f => fs.lstatSync(path.join(localizeRepoPath, f)).isDirectory());
|
||||
for (const locFolderName of locFolderNames) {
|
||||
const lclPath = path.join(localizeRepoPath, locFolderName, "vc/vc/cpfeui.dll.lcl");
|
||||
const languageInfo = languages.find(l => l.folderName === locFolderName);
|
||||
if (!languageInfo) {
|
||||
return;
|
||||
}
|
||||
const languageId = languageInfo.id;
|
||||
const outputLanguageFolder = path.join(cpptoolsRepoPath, "Extension/bin/messages", languageId);
|
||||
const outputPath = path.join(outputLanguageFolder, "messages.json");
|
||||
const sourceContent = fs.readFileSync(lclPath, 'utf-8');
|
||||
|
||||
// Scan once, just to determine how many there are the size of the array we need
|
||||
let highestValue = 0;
|
||||
parseString(sourceContent, function (err, result) {
|
||||
result.LCX.Item.forEach((item) => {
|
||||
if (item.$.ItemId === ";String Table") {
|
||||
item.Item.forEach((subItem) => {
|
||||
const itemId = parseInt(subItem.$.ItemId, 10);
|
||||
if (subItem.Str[0].Tgt) {
|
||||
if (highestValue < itemId) {
|
||||
highestValue = itemId;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const resultArray = new Array(highestValue);
|
||||
parseString(sourceContent, function (err, result) {
|
||||
result.LCX.Item.forEach((item) => {
|
||||
if (item.$.ItemId === ";String Table") {
|
||||
item.Item.forEach((subItem) => {
|
||||
const itemId = parseInt(subItem.$.ItemId, 10);
|
||||
if (subItem.Str[0].Tgt) {
|
||||
resultArray[itemId] = subItem.Str[0].Tgt[0].Val[0].replace(/\]5D;/g, "]");
|
||||
if (highestValue < itemId) {
|
||||
highestValue = itemId;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
await mkdir(outputLanguageFolder);
|
||||
await write(outputPath, JSON.stringify(resultArray, null, 4) + "\n");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { gray, green, readJson } from './common';
|
||||
|
||||
export async function main() {
|
||||
const pkg = await readJson('package.json') as Record<string, any>;
|
||||
if (pkg.scripts) {
|
||||
console.log(green('\n\nAvailable script commands:\n'));
|
||||
for (const key of Object.keys(pkg.scripts)) {
|
||||
console.log(green(`yarn ${key} - ${gray(pkg.scripts[key])}`));
|
||||
}
|
||||
console.log('');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { runTests } from '@vscode/test-electron';
|
||||
import { spawnSync } from 'child_process';
|
||||
import { CommentArray, CommentObject } from 'comment-json';
|
||||
import { readdir } from 'fs/promises';
|
||||
import { resolve } from 'path';
|
||||
import { env } from 'process';
|
||||
import { returns } from '../src/Utility/Async/returns';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { is } from '../src/Utility/System/guards';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { getTestInfo } from '../test/common/selectTests';
|
||||
import { $args, $root, $scenario, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
|
||||
import { install, isolated, options } from './vscode';
|
||||
|
||||
export { install, reset } from './vscode';
|
||||
|
||||
const sowrite = process.stdout.write.bind(process.stdout) as (...args: unknown[]) => boolean;
|
||||
const sewrite = process.stderr.write.bind(process.stderr) as (...args: unknown[]) => boolean;
|
||||
|
||||
const filters = [
|
||||
/^\[(.*)\].*/,
|
||||
/^Unexpected token A/,
|
||||
/Cannot register 'cmake.cmakePath'/,
|
||||
/\[DEP0005\] DeprecationWarning/,
|
||||
/--trace-deprecation/,
|
||||
/Iconv-lite warning/,
|
||||
/^Extension '/,
|
||||
/^Found existing install/
|
||||
];
|
||||
|
||||
// remove unwanted messages from stdio
|
||||
function filterStdio() {
|
||||
process.stdout.write = function (...args: unknown[]) {
|
||||
if (typeof args[0] === 'string') {
|
||||
const text = args[0];
|
||||
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (args[0] instanceof Buffer) {
|
||||
const text = args[0].toString();
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return sowrite(...args);
|
||||
};
|
||||
|
||||
process.stderr.write = function (...args: unknown[]) {
|
||||
if (typeof args[0] === 'string') {
|
||||
const text = args[0];
|
||||
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (args[0] instanceof Buffer) {
|
||||
const text = args[0].toString();
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return sewrite(...args);
|
||||
};
|
||||
}
|
||||
|
||||
filterStdio();
|
||||
|
||||
async function unitTests() {
|
||||
await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
|
||||
const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
|
||||
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit'});
|
||||
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
|
||||
return result.status;
|
||||
}
|
||||
|
||||
async function scenarioTests(assets: string, name: string, workspace: string) {
|
||||
if (await checkBinaries()) {
|
||||
process.exit(1);
|
||||
}
|
||||
return runTests({
|
||||
...options,
|
||||
extensionDevelopmentPath: $root,
|
||||
extensionTestsPath: resolve($root, 'dist/test/common/selectTests'),
|
||||
launchArgs: workspace ? [...options.launchArgs, workspace] : options.launchArgs,
|
||||
extensionTestsEnv: {
|
||||
SCENARIO: assets
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export async function main() {
|
||||
await assertAnyFolder('dist/test/', `The folder '${$root}/dist/test is missing. You should run ${brightGreen("yarn compile")}\n\n`);
|
||||
const arg = $args.find(each => !each.startsWith("--"));
|
||||
const specifiedScenario = $scenario || env.SCENARIO || await getScenarioFolder(arg);
|
||||
const testInfo = await getTestInfo(specifiedScenario);
|
||||
|
||||
if (!testInfo) {
|
||||
if (arg) {
|
||||
return error(`Could not find scenario ${arg}`);
|
||||
}
|
||||
// lets just run the unit tests
|
||||
process.exit(await unitTests());
|
||||
}
|
||||
|
||||
// at this point, we're going to run some vscode tests
|
||||
if (!await filepath.isFolder(isolated)) {
|
||||
await install();
|
||||
}
|
||||
process.exit(await scenarioTests(testInfo.assets, testInfo.name, testInfo.workspace));
|
||||
}
|
||||
|
||||
export async function all() {
|
||||
if (await checkBinaries()) {
|
||||
process.exit(1);
|
||||
}
|
||||
const finished: string[] = [];
|
||||
|
||||
if (await unitTests() !== 0) {
|
||||
console.log(`${cyan(" UNIT TESTS: ")}${red("failed")}`);
|
||||
process.exit(1);
|
||||
}
|
||||
finished.push(`${cyan(" UNIT TESTS: ")}${green("success")}`);
|
||||
|
||||
// at this point, we're going to run some vscode tests
|
||||
if (!await filepath.isFolder(isolated)) {
|
||||
await install();
|
||||
}
|
||||
try {
|
||||
const scenarios = await getScenarioNames();
|
||||
for (const each of scenarios) {
|
||||
if (await filepath.isFolder(`${$root}/test/scenarios/${each}/tests`)) {
|
||||
const ti = await getTestInfo(each);
|
||||
|
||||
if (ti) {
|
||||
console.log(`\n\nRunning scenario ${each}`);
|
||||
const result = await scenarioTests(ti.assets, ti.name, ti.workspace);
|
||||
if (result) {
|
||||
console.log(finished.join('\n'));
|
||||
console.log(` ${cyan(`${ti.name} Tests:`)}${red("failed")}`);
|
||||
process.exit(result);
|
||||
}
|
||||
finished.push(` ${cyan(`${ti.name} Tests:`)}${green("success")}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
error(e);
|
||||
} finally {
|
||||
console.log(finished.join('\n'));
|
||||
}
|
||||
}
|
||||
|
||||
interface Input {
|
||||
id: string;
|
||||
type: string;
|
||||
description: string;
|
||||
options: CommentArray<{label: string; value: string}>;
|
||||
}
|
||||
|
||||
export async function getScenarioNames() {
|
||||
return (await readdir(`${$root}/test/scenarios`).catch(returns.none)).filter(each => each !== 'Debugger');
|
||||
}
|
||||
|
||||
export async function getScenarioFolder(scenarioName: string) {
|
||||
return scenarioName ? resolve(`${$root}/test/scenarios/${(await getScenarioNames()).find(each => each.toLowerCase() === scenarioName.toLowerCase())}`) : undefined;
|
||||
}
|
||||
|
||||
export async function list() {
|
||||
console.log(`\n${cyan("Scenarios: ")}\n`);
|
||||
const names = await getScenarioNames();
|
||||
const max = names.reduce((max, each) => Math.max(max, each), 0);
|
||||
for (const each of names) {
|
||||
console.log(` ${green(each.padEnd(max))}: ${gray(await getScenarioFolder(each))}`);
|
||||
}
|
||||
}
|
||||
|
||||
export async function regen() {
|
||||
// update the .vscode/launch.json file with the scenarios
|
||||
const scenarios = await getScenarioNames();
|
||||
const launch = await readJson(`${$root}/.vscode/launch.json`) as CommentObject;
|
||||
if (!is.object(launch)) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is not valid json`);
|
||||
}
|
||||
if (!is.array(launch.inputs)) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is missing the 'inputs' array`);
|
||||
}
|
||||
|
||||
const inputs = launch.inputs as unknown as CommentArray<Input>;
|
||||
const pickScenario = inputs.find(each => each.id === 'pickScenario');
|
||||
if (!pickScenario) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickScenario' input`);
|
||||
}
|
||||
const pickWorkspace = inputs.find(each => each.id === 'pickWorkspace');
|
||||
if (!pickWorkspace) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickWorkspace' input`);
|
||||
}
|
||||
|
||||
for (const scenarioFolder of scenarios) {
|
||||
|
||||
const prefix = $root.replace(/\\/g, '/');
|
||||
|
||||
if (await filepath.isFolder(`${$root}/test/scenarios/${scenarioFolder}/tests`)) {
|
||||
const testInfo = await getTestInfo(scenarioFolder);
|
||||
if (testInfo) {
|
||||
const label = `${scenarioFolder} `;
|
||||
const value = testInfo.workspace.replace(/\\/g, '/').replace(prefix, '${workspaceFolder}');
|
||||
|
||||
const scenario = pickScenario.options.find(s => s.label === label);
|
||||
if (!scenario) {
|
||||
console.log(`Adding scenario ${green(scenarioFolder)} to pickScenario`);
|
||||
pickScenario.options.push({ label, value });
|
||||
} else {
|
||||
verbose(`Skipping scenario ${scenarioFolder} because it already exists`);
|
||||
}
|
||||
|
||||
const wrkspace = pickWorkspace.options.find(s => s.label === label);
|
||||
if (!wrkspace) {
|
||||
console.log(`Adding workspace ${green(scenarioFolder)} to pickWorkspace`);
|
||||
pickWorkspace.options.push({ label, value });
|
||||
} else {
|
||||
verbose(`Skipping workspace ${scenarioFolder} because it already exists`);
|
||||
}
|
||||
} else {
|
||||
verbose(`Skipping scenario ${scenarioFolder} because it doesn't look like there are any tests. (maybe try and run ${brightGreen("yarn compile")})`);
|
||||
}
|
||||
}
|
||||
}
|
||||
await writeJson(`${$root}/.vscode/launch.json`, launch);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"module": "node16",
|
||||
"moduleResolution": "node16",
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"sourceMap": true,
|
||||
"esModuleInterop": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
|
||||
const quiet = process.argv.includes('--quiet');
|
||||
|
||||
export async function main() {
|
||||
let failing = await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`));
|
||||
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
|
||||
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function compiled() {
|
||||
let failing = false;
|
||||
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function binaries() {
|
||||
let failing = false;
|
||||
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function prep() {
|
||||
let failing = false;
|
||||
failing = (await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function dts() {
|
||||
let failing = false;
|
||||
failing = (await checkDTS() && (quiet || error(`VSCode import files are not present. Run ${green('yarn prep')} to fix it.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
|
||||
import { createHash } from 'crypto';
|
||||
import { tmpdir } from 'os';
|
||||
import { resolve } from 'path';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { mkdir, readJson, rimraf, write } from './common';
|
||||
|
||||
export const isolated = resolve(tmpdir(), '.vscode-test', createHash('sha256').update(__dirname).digest('hex').substring(0, 6));
|
||||
export const extensionsDir = resolve(isolated, 'extensions');
|
||||
export const userDir = resolve(isolated, 'user-data');
|
||||
export const settings = resolve(userDir, "User", 'settings.json');
|
||||
|
||||
export const options = {
|
||||
cachePath: `${isolated}/cache`,
|
||||
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
|
||||
};
|
||||
|
||||
export async function install() {
|
||||
try {
|
||||
// Create a new isolated directory for VS Code instance in the test folder, and make it specific to the extension folder so we can avoid collisions.
|
||||
// keeping this out of the Extension folder means we're not worried about VS Code getting weird with locking files and such.
|
||||
|
||||
verbose(`Isolated VSCode test folder: ${isolated}`);
|
||||
await mkdir(isolated);
|
||||
|
||||
const vscodeExecutablePath = await downloadAndUnzipVSCode(options);
|
||||
const [cli, ...args] = resolveCliArgsFromVSCodeExecutablePath(vscodeExecutablePath).filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir='));
|
||||
|
||||
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
|
||||
|
||||
// install the appropriate extensions
|
||||
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' });
|
||||
// spawnSync(cli, [...args, '--install-extension', 'twxs.cmake'], { encoding: 'utf-8', stdio: 'ignore' });
|
||||
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cmake-tools'], { encoding: 'utf-8', stdio: 'ignore' });
|
||||
const settingsJson = await readJson(settings, {});
|
||||
if (!settingsJson["workbench.colorTheme"]) {
|
||||
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
|
||||
}
|
||||
|
||||
settingsJson["git.openRepositoryInParentFolders"] = "never";
|
||||
await write(settings, JSON.stringify(settingsJson, null, 4));
|
||||
|
||||
return {
|
||||
cli, args
|
||||
};
|
||||
|
||||
} catch (err: unknown) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export async function reset() {
|
||||
verbose(`Removing VSCode test folder: ${isolated}`);
|
||||
await rimraf(isolated);
|
||||
}
|
||||
Vendored
+113
-106
@@ -3,134 +3,141 @@
|
||||
"version": "0.1.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch Extension (development)",
|
||||
// debugs the extension
|
||||
"name": "Run Extension",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Compile Dev",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (production)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "TypeScript Compile",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (do not build)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (watch, development)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Compile Dev Watch",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (watch, production)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "TypeScript Compile Watch",
|
||||
},
|
||||
{
|
||||
"name": "Launch Unit Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--no-sandbox",
|
||||
"--disable-updates",
|
||||
"--skip-welcome",
|
||||
"--skip-release-notes",
|
||||
"--disable-workspace-trust",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests/index"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
"${workspaceFolder}/dist/**"
|
||||
],
|
||||
"preLaunchTask": "Pretest"
|
||||
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||
"preLaunchTask": "watch"
|
||||
},
|
||||
{
|
||||
"name": "Launch Integration Tests",
|
||||
// debugs the extension (selecting the workspace)
|
||||
"name": "Run Extension-Select Workspace",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"--no-sandbox",
|
||||
"--disable-updates",
|
||||
"--skip-welcome",
|
||||
"--skip-release-notes",
|
||||
"--disable-workspace-trust",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"${input:pickWorkspace}"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**"
|
||||
],
|
||||
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||
"preLaunchTask": "watch"
|
||||
},
|
||||
{
|
||||
// debug scenario tests (selecting the workspace)
|
||||
"name": "VSCode Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"env": {
|
||||
"SCENARIO": "${input:pickScenario}"
|
||||
},
|
||||
"args": [
|
||||
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace",
|
||||
"--no-sandbox",
|
||||
"--disable-updates",
|
||||
"--skip-welcome",
|
||||
"--skip-release-notes",
|
||||
"--disable-extensions",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
|
||||
"--extensionTestsPath=${workspaceFolder}/dist/test/common/selectTests",
|
||||
"--scenario=${input:pickScenario}",
|
||||
"${input:pickScenario}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
"${workspaceFolder}/dist/**"
|
||||
],
|
||||
"preLaunchTask": "Pretest",
|
||||
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||
"preLaunchTask": "watch"
|
||||
},
|
||||
{
|
||||
"name": "Launch E2E IntelliSense features tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"C:/git/Vcls-vscode-test/SingleRootProject",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/IntelliSenseFeatures/index"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Pretest"
|
||||
},
|
||||
{
|
||||
"name": "Node Attach",
|
||||
// used for debugging unit tests
|
||||
"name": "MochaTest",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"port": 5858
|
||||
},
|
||||
"port": 9229,
|
||||
"continueOnAttach": true,
|
||||
"autoAttachChildProcesses": false,
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**",
|
||||
"!**/node_modules/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "pickScenario",
|
||||
"description": "Select which scenario to debug VSCode tests.",
|
||||
"options": [
|
||||
{
|
||||
"label": "MultirootDeadlockTest ",
|
||||
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SimpleCppProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SingleRootProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
|
||||
},
|
||||
{
|
||||
"label": "CompilerDetection ",
|
||||
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "pickWorkspace",
|
||||
"description": "Select which workspace scenario to debug VSCode.",
|
||||
"default": "-n",
|
||||
"options": [
|
||||
{
|
||||
"label": "(Debug with new window) ",
|
||||
"value": "-n"
|
||||
},
|
||||
{
|
||||
"label": "MultirootDeadlockTest ",
|
||||
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SimpleCppProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SingleRootProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
|
||||
},
|
||||
{
|
||||
"label": "CompilerDetection ",
|
||||
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
+58
-1
@@ -6,5 +6,62 @@
|
||||
"search.exclude": {
|
||||
"out": true // set this to false to include "out" folder in search results
|
||||
},
|
||||
"typescript.tsdk": "./node_modules/typescript/lib" // we want to use the TS server from our node_modules folder to control its version
|
||||
"typescript.tsdk": "./node_modules/typescript/lib", // we want to use the TS server from our node_modules folder to control its version
|
||||
// if you install the mocha test explorer extension, you can run the unit tests from the test explorer UI
|
||||
"testExplorer.useNativeTesting": true,
|
||||
"mochaExplorer.files": "./**/unit/**/*.test.js",
|
||||
"mochaExplorer.watch": "./**/unit/**/*.test.js",
|
||||
"mochaExplorer.ignore": [
|
||||
"**/*skip*",
|
||||
"**/dist/test/**/*.d.ts",
|
||||
"**/node_modules/**"
|
||||
],
|
||||
"mochaExplorer.debuggerConfig": "MochaTest",
|
||||
"mochaExplorer.logpanel": true,
|
||||
"mochaExplorer.timeout": 500000,
|
||||
"mochaExplorer.require": [
|
||||
"source-map-support/register"
|
||||
],
|
||||
"mochaExplorer.monkeyPatch": true,
|
||||
"[json]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "vscode.json-language-features",
|
||||
"editor.tabSize": 4,
|
||||
"files.insertFinalNewline": true
|
||||
},
|
||||
"[jsonc]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "vscode.json-language-features",
|
||||
"editor.tabSize": 4,
|
||||
"files.insertFinalNewline": true
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.tabSize": 4,
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||
"editor.formatOnSave": true,
|
||||
"files.insertFinalNewline": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true,
|
||||
"source.organizeImports": true
|
||||
},
|
||||
},
|
||||
"eslint.format.enable": true,
|
||||
"[javascript]": {
|
||||
"editor.tabSize": 4,
|
||||
},
|
||||
"markdown.extension.list.indentationSize": "inherit",
|
||||
"markdown.extension.toc.levels": "2..6",
|
||||
"[markdown]": {
|
||||
"editor.tabSize": 4,
|
||||
},
|
||||
"eslint.workingDirectories": [
|
||||
{
|
||||
"changeProcessCWD": true,
|
||||
"directory": "./",
|
||||
},
|
||||
{
|
||||
"changeProcessCWD": true,
|
||||
"directory": "./.scripts",
|
||||
}
|
||||
],
|
||||
}
|
||||
Vendored
+8
-155
@@ -4,172 +4,25 @@
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "TypeScript Compile",
|
||||
"label": "compile",
|
||||
"type": "npm",
|
||||
"script": "compile",
|
||||
"problemMatcher": "$tsc",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "silent",
|
||||
"focus": false,
|
||||
"panel": "shared"
|
||||
},
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile",
|
||||
"--loglevel",
|
||||
"silent"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "TypeScript Lint",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"lint"
|
||||
],
|
||||
"problemMatcher": {
|
||||
"fileLocation": "absolute",
|
||||
"source": "lint",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "(ERROR:) ([a-zA-Z/:\\-\\.]*)\\[(\\d+), (\\d+)\\]: (.*)",
|
||||
"severity": 1,
|
||||
"file": 2,
|
||||
"line": 3,
|
||||
"column": 4,
|
||||
"message": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"dependsOn": [
|
||||
"Compile Dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Compile Dev",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile-dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Pretest",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"pretest"
|
||||
],
|
||||
"dependsOn": [
|
||||
"Compile Dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "TypeScript Compile Watch",
|
||||
"label": "watch",
|
||||
"type": "npm",
|
||||
"script": "watch",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"isBackground": true,
|
||||
"type": "shell",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "silent",
|
||||
"focus": false,
|
||||
"panel": "shared"
|
||||
},
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile-watch",
|
||||
"--loglevel",
|
||||
"silent"
|
||||
],
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "typescript",
|
||||
"source": "ts",
|
||||
"applyTo": "closedDocuments",
|
||||
"fileLocation": "absolute",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3
|
||||
},
|
||||
{
|
||||
"regexp": "\\s*TS\\d+:\\s*(.*)",
|
||||
"message": 1
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "Compilation (.*?)starting…"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "Compilation (.*?)finished"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Compile Dev Watch",
|
||||
"group": "build",
|
||||
"isBackground": true,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile-dev-watch"
|
||||
],
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "typescript",
|
||||
"source": "ts",
|
||||
"applyTo": "closedDocuments",
|
||||
"fileLocation": "absolute",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3
|
||||
},
|
||||
{
|
||||
"regexp": "\\s*TS\\d+:\\s*(.*)",
|
||||
"message": 1
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "Compilation (.*?)starting…"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "Compilation (.*?)finished"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
"problemMatcher": "$tsc-watch",
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -15,15 +15,23 @@ src/**
|
||||
out/src/**
|
||||
out/tools/**
|
||||
|
||||
# don't include the local code and tests compiled files
|
||||
dist/test/**
|
||||
|
||||
# no project scripts
|
||||
.scripts/**
|
||||
|
||||
# ignore ts files in ui
|
||||
ui/*.ts
|
||||
|
||||
# ignore Azure-Pipelines files
|
||||
jobs/**
|
||||
cgmanifest.json
|
||||
|
||||
# ignore development files
|
||||
tsconfig.json
|
||||
test.tsconfig.json
|
||||
ui.tsconfig.json
|
||||
tslint.json
|
||||
.eslintrc.js
|
||||
webpack.config.js
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
ignore-engines true
|
||||
disable-self-update-check true
|
||||
--run.silent true
|
||||
+850
-25
@@ -1,14 +1,839 @@
|
||||
# C/C++ for Visual Studio Code Change Log
|
||||
# C/C++ for Visual Studio Code Changelog
|
||||
|
||||
## Version 1.18.0: October 12, 2023
|
||||
### New Features
|
||||
* Add an 'Extract to Function' (or Member Function) code action after selecting code. [#1162](https://github.com/microsoft/vscode-cpptools/issues/1162)
|
||||
* Currently, it's only enabled when `C_Cpp.experimentFeatures` is `true`. Also, 'Extract to Free Function' is disabled.
|
||||
* Compiler acquisition improvements. [#10525](https://github.com/microsoft/vscode-cpptools/issues/10525)
|
||||
|
||||
### Enhancements
|
||||
* Add setting `C_Cpp.refactoring.includeHeader` to customize whether or not to add an include header when doing a refactoring code action. [#11271](https://github.com/microsoft/vscode-cpptools/issues/11271)
|
||||
* Update clang-format and clang-tidy to 17.0.2. [PR #11491](https://github.com/microsoft/vscode-cpptools/pull/11491)
|
||||
|
||||
## Version 1.2.2-insiders2: February 18, 2021
|
||||
### Bug Fixes
|
||||
* Fix the debugger truncating long strings when inspecting values. [#1786](https://github.com/microsoft/vscode-cpptools/issues/1786)
|
||||
* Switch to using `XDG_CACHE_HOME` on Linux for the default database path. [#10191](https://github.com/microsoft/vscode-cpptools/issues/10191)
|
||||
* Fix incorrect status and commands with the tag parsing language status UI. [#10749](https://github.com/microsoft/vscode-cpptools/issues/10749)
|
||||
* Fix an empty (`""`) `compilerPath` in a base configuration overriding the compiler specified by a custom configuration provider or a `compile_commands.json`. [#11373](https://github.com/microsoft/vscode-cpptools/issues/11373)
|
||||
* Fix a startup crash when reading values from JSON (settings) that are not the type expected. [#11375](https://github.com/microsoft/vscode-cpptools/issues/11375)
|
||||
* Fix a crash detected by crash telemetry. [#11401](https://github.com/microsoft/vscode-cpptools/issues/11401)
|
||||
* Fix handling of an undefined `env` variable on Linux and macOS. [#11447](https://github.com/microsoft/vscode-cpptools/issues/11447)
|
||||
* Fix multiple issues with querying `nvcc` (CUDA) as a compiler. [#11454](https://github.com/microsoft/vscode-cpptools/issues/11454)
|
||||
* Fix an issue that could cause a C language standard to be applied to a C++ file, or vice versa.
|
||||
* Remove `cpp` and `clang-cpp` preprocessors from the list of detectable compilers.
|
||||
|
||||
## Version 1.17.5: August 28, 2023
|
||||
### Bug Fixes
|
||||
* Fix a language server crash for platforms that don't support the IntelliSense cache (AutoPCH). [#10789](https://github.com/microsoft/vscode-cpptools/issues/10789)
|
||||
* Fix markdown in comments when inline/block code is used. [#11322](https://github.com/microsoft/vscode-cpptools/issues/11322)
|
||||
* Fix Find All References and Call Hierarchy for C files when the cursor is at the end of a symbol. [#11338](https://github.com/microsoft/vscode-cpptools/issues/11338)
|
||||
* Fix usage of the `/Zc:alignedNew-` MSVC compiler option. [#11350](https://github.com/microsoft/vscode-cpptools/issues/11350)
|
||||
|
||||
## Version 1.17.4: August 21, 2023
|
||||
### Bug Fixes
|
||||
* Fix crash recovery for the main extension process. [#11335](https://github.com/microsoft/vscode-cpptools/issues/11335)
|
||||
* Fix an IntelliSense process crash when certain error messages occur with a language pack enabled. [#11336](https://github.com/microsoft/vscode-cpptools/issues/11336)
|
||||
|
||||
## Version 1.17.3: August 16, 2023
|
||||
### Bug Fix
|
||||
* Fix a regression with attaching the debugger to processes on Linux and macOS. [#11328](https://github.com/microsoft/vscode-cpptools/issues/11328)
|
||||
|
||||
## Version 1.17.2: August 14, 2023
|
||||
### Enhancements
|
||||
* Enable a subset of markdown to render in hover by default and a `C_Cpp.markdownInComments` setting. [#6020](https://github.com/microsoft/vscode-cpptools/issues/6020), [#10461](https://github.com/microsoft/vscode-cpptools/issues/10461)
|
||||
* Add support for gcc 13 features. [#11038](https://github.com/microsoft/vscode-cpptools/issues/11038)
|
||||
* Add default compiler detection of additional compilers in MSYS environments. [#11211](https://github.com/microsoft/vscode-cpptools/issues/11211)
|
||||
* Use musl for building Linux binaries of the extension.
|
||||
* Add support for additional compiler wrappers: gomacc, distcc, buildcache, and icecc.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix a couple bugs with documentation comments. [#5241](https://github.com/microsoft/vscode-cpptools/issues/5241)
|
||||
* Added `__float128` support in gcc IntelliSense mode. [#9558](https://github.com/microsoft/vscode-cpptools/issues/9558)
|
||||
* Fix an issue where the debugger would get stuck while using cl.exe options. [#10231](https://github.com/microsoft/vscode-cpptools/issues/10231)
|
||||
* Fix C/C++ commands showing in the Command Palette with non-C/C++ files. [#10421](https://github.com/microsoft/vscode-cpptools/issues/10421)
|
||||
* Fix the 'Select IntelliSense Configuration' command to also update an existing `compilerPath` in c_cpp_properties.json. [#10808](https://github.com/microsoft/vscode-cpptools/issues/10808)
|
||||
* Update clang-format (and clang-tidy) to 16.0.6 to fix a bug. [#11027](https://github.com/microsoft/vscode-cpptools/issues/11027)
|
||||
* Fix `#include` completion leaving an extra `>`. [#11042](https://github.com/microsoft/vscode-cpptools/issues/11042)
|
||||
* Fix an issue with matching of glob patterns containing path delimiters. [#11132](https://github.com/microsoft/vscode-cpptools/issues/11132)
|
||||
* Fix Create Declaration/Definition via `Quick Fix…` from hover tooltip. [#11157](https://github.com/microsoft/vscode-cpptools/issues/11157)
|
||||
* Fix issues with compiler querying of clang-cl. [#11207](https://github.com/microsoft/vscode-cpptools/issues/11207)
|
||||
* Fix `files.encoding` setting on startup. [#11210](https://github.com/microsoft/vscode-cpptools/issues/11210)
|
||||
* Fix a crash related to directories with a very large number of files. [#11226](https://github.com/microsoft/vscode-cpptools/issues/11226)
|
||||
* Fix the parameter format of call hierarchy items. [#11247](https://github.com/microsoft/vscode-cpptools/issues/11247)
|
||||
* Remove the vcpkg code action from the missing includes code action list. [#11252](https://github.com/microsoft/vscode-cpptools/issues/11252)
|
||||
* Fix the file path info of call hierarchy items to display the relative path to a workspace folder. [#11254](https://github.com/microsoft/vscode-cpptools/issues/11254)
|
||||
* Fix colorization for macro expansions in macro arguments. [#11256](https://github.com/microsoft/vscode-cpptools/issues/11256)
|
||||
* Fix a crash for CUDA projects with '>' in the command line. [#11289](https://github.com/microsoft/vscode-cpptools/issues/11289)
|
||||
* Increase the default standard for the 'Build and Debug Active File' feature to c++14 on macOS. [#11292](https://github.com/microsoft/vscode-cpptools/issues/11292)
|
||||
* Fix an issue with the compiler currently configured for use with IntelliSense being listed last in the task creation popup. [PR #11299](https://github.com/microsoft/vscode-cpptools/pull/11299)
|
||||
* Fix an IPCH issue on Linux due to the Position Independent Executable (PIE) option not being set since 1.17.0.
|
||||
* Fix Rank > 1 Display Strings for Natvis. [PR MIEngine#1406](https://github.com/microsoft/MIEngine/pull/1406)
|
||||
* Fix some crashes identified by crash telemetry.
|
||||
* Fix an issue that could cause zombie processes on Linux/Mac.
|
||||
* Address some issues with glibc version compatibility. Native binaries for cpptools and the bundled clang-tidy/clang-format are now built with musl and fully statically linked.
|
||||
* Fix the wrong compiler being set as default when configured to use `compile_commands.json` and overriding the compiler used there with an explicit `compilerPath`.
|
||||
|
||||
### Thank You to the Contributors
|
||||
* [@gareth-rees (Gareth Rees)](https://github.com/gareth-rees): Always use `--simple-values` in newer versions of GDB. [PR MIEngine#1400](https://github.com/microsoft/MIEngine/pull/1400)
|
||||
* [@iAbadia (Iñaki)](https://github.com/iAbadia): Align use of 'sendInvalidate' request arguments. [PR MIEngine#1402](https://github.com/microsoft/MIEngine/pull/1402)
|
||||
* [@intel-rganesh (Rakesh Ganesh)](https://github.com/intel-rganesh): Introduce `--thread` and `--frame options`. [PR MIEngine#1401](https://github.com/microsoft/MIEngine/pull/1401)
|
||||
* [@michalmaka (Michał Mąka)](https://github.com/michalmaka): Add support for Toybox to the remote process picker. [PR #11175](https://github.com/microsoft/vscode-cpptools/pull/11175)
|
||||
* [@sbobko (Sergey Bobko)](https://github.com/sbobko): Add 'sendInvalidate' request. [PR MIEngine#1367](https://github.com/microsoft/MIEngine/pull/1367)
|
||||
* [@yne (Rémy F.)](https://github.com/yne): Add wildcard support for `includePath`. [PR #10388](https://github.com/microsoft/vscode-cpptools/pull/10388)
|
||||
|
||||
## Version 1.16.3: June 23, 2023
|
||||
### Bug Fix
|
||||
* Fix "cout is ambiguous" error. [#11122](https://github.com/microsoft/vscode-cpptools/issues/11122)
|
||||
|
||||
## Version 1.16.2: June 22, 2023
|
||||
### New Features
|
||||
* Add Call Hierarchy. [#16](https://github.com/microsoft/vscode-cpptools/issues/16)
|
||||
* Add "Copy Definition" and "Copy Declaration" code actions (for when the default Create placement isn't desired). [#10238](https://github.com/microsoft/vscode-cpptools/issues/10238), [#10942](https://github.com/microsoft/vscode-cpptools/issues/10942)
|
||||
|
||||
### Enhancements
|
||||
* Add support for other glob pattern syntax, such as `[]` and `^`. [#8960](https://github.com/microsoft/vscode-cpptools/issues/8960)
|
||||
* Add support for C++23 z/Z and zu/ZU suffixes in clang/gcc modes. [#10190](https://github.com/microsoft/vscode-cpptools/issues/10190)
|
||||
* Add warning logging when the database is reset due to a version change. [#10984](https://github.com/microsoft/vscode-cpptools/issues/10984)
|
||||
* Move user compilers to the beginning of the "known compilers" lists. [#10985](https://github.com/microsoft/vscode-cpptools/issues/10985)
|
||||
* Add file path to the details of a call hierarchy result. [#10997](https://github.com/microsoft/vscode-cpptools/issues/10997)
|
||||
* Add `miDebuggerArgs` to debugger attach option.
|
||||
* Thank you for the contribution @Summon528 [PR #11066](https://github.com/microsoft/vscode-cpptools/pull/11066)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix an IntelliSense parsing bug with C++20 ranges. [#8039](https://github.com/microsoft/vscode-cpptools/issues/8039)
|
||||
* Fix incorrect insertion of Create Declaration/Definition when it also adds a #include. [#10464](https://github.com/microsoft/vscode-cpptools/issues/10464)
|
||||
* Fix an IntelliSense bug with user-defined floating-point literals. [#10837](https://github.com/microsoft/vscode-cpptools/issues/10837)
|
||||
* Fix deadlock with Find All References. [#10855](https://github.com/microsoft/vscode-cpptools/issues/10855)
|
||||
* Fix performance issues on machines with > 32 threads. [#10874](https://github.com/microsoft/vscode-cpptools/issues/10874)
|
||||
* Fix localization of "C/C++ Configurations". [#10907](https://github.com/microsoft/vscode-cpptools/issues/10907)
|
||||
* Fix the workspace folder not getting added to the browse.path in some cases. [#10914](https://github.com/microsoft/vscode-cpptools/issues/10914)
|
||||
* Fix incorrect Apple clang to LLVM clang version mappings. [#10920](https://github.com/microsoft/vscode-cpptools/issues/10920)
|
||||
* Revert -fms-extensions being added for mingw compilers by default (due to bugs). [#10940](https://github.com/microsoft/vscode-cpptools/issues/10940)
|
||||
* Fix the "known compilers" list not getting updated with "user compilers". [#10943](https://github.com/microsoft/vscode-cpptools/issues/10943)
|
||||
* Fix cancelation of Find All References while confirming references. [#10947](https://github.com/microsoft/vscode-cpptools/issues/10947)
|
||||
* Fix a bug with workspace parsing status. [PR #10974](https://github.com/microsoft/vscode-cpptools/pull/10974)
|
||||
* Fix some bugs if settings were empty string or null. [#10994](https://github.com/microsoft/vscode-cpptools/issues/10994)
|
||||
* Fix cancellation for Find All References/Rename/Call Hierarchy. [#10998](https://github.com/microsoft/vscode-cpptools/issues/10998)
|
||||
* Fix two Doxygen comment generation bugs. [#10995](https://github.com/microsoft/vscode-cpptools/issues/10995), [#11016](https://github.com/microsoft/vscode-cpptools/issues/11016)
|
||||
* Fix the thread pool sometimes not increasing in size, which could lead to the cpptools process incorrectly being shut down. [#11003](https://github.com/microsoft/vscode-cpptools/issues/11003)
|
||||
* Stop using vcFormat if .editorconfig exists with only non-formatting cpp settings. [PR #11015](https://github.com/microsoft/vscode-cpptools/pull/11015)
|
||||
* Use integratedTerminal when user is running cl.exe for debugger. [#11032](https://github.com/microsoft/vscode-cpptools/issues/11032)
|
||||
* Thank you for the contribution @caiohamamura [PR #11035](https://github.com/microsoft/vscode-cpptools/pull/11035)
|
||||
* Fix the configure your IntelliSense notification to not show again when the "Don't Show Again" option is selected. [#11070](https://github.com/microsoft/vscode-cpptools/issues/11070)
|
||||
* Fix a bug that could cause incomplete reading of stdout/stderr of child processes on Windows.
|
||||
* Fix incorrect "declaration is incompatible" IntelliSense errors.
|
||||
* Fix some potential crashes.
|
||||
|
||||
## Version 1.15.4: May 1, 2023
|
||||
### Enhancements
|
||||
* Support multiple natvis files in `visualizerFile`. [#925](https://github.com/microsoft/vscode-cpptools/issues/925)
|
||||
* Enable error squiggles for single file mode if includes resolve. [#10062](https://github.com/microsoft/vscode-cpptools/issues/10062)
|
||||
* Improve the description of the `C_Cpp.codeAnalysis.clangTidy.enabled` setting. [#10454](https://github.com/microsoft/vscode-cpptools/issues/10454)
|
||||
* Add a 'Select an IntelliSense configuration' code action and error message for standard headers which can't be found. [#10531](https://github.com/microsoft/vscode-cpptools/issues/10531)
|
||||
* Change the 'Edit "includePath" setting' code action to reference "compilerPath" for missing system includes. [#10675](https://github.com/microsoft/vscode-cpptools/issues/10675)
|
||||
* Add a "Configure IntelliSense" status bar warning (currently controlled by an experiment). [#10685](https://github.com/microsoft/vscode-cpptools/issues/10685)
|
||||
* Re-enable an updated C/C++ walkthrough (currently only available for some users). [PR #10707](https://github.com/microsoft/vscode-cpptools/pull/10707)
|
||||
* Update to clang-format/tidy 16. [#10725](https://github.com/microsoft/vscode-cpptools/issues/10725)
|
||||
* Move the configuration status bar item out of the language status UI. [#10755](https://github.com/microsoft/vscode-cpptools/issues/10755)
|
||||
* Change `Select Default Compiler` to `Select IntelliSense Configuration` with configuration providers and compile commands added. [#10756](https://github.com/microsoft/vscode-cpptools/issues/10756)
|
||||
|
||||
### Bug Fixes
|
||||
* Support use of `ccache`, 'sccache', and 'clcache' in `compilerPath` and `compile_commands.json` command lines. [#7616](https://github.com/microsoft/vscode-cpptools/issues/7616)
|
||||
* Enable `-fms-extensions` by default for Cygwin and MinGW. [#8353](https://github.com/microsoft/vscode-cpptools/issues/8353)
|
||||
* Fix incorrect, excessive logging with compile commands. [#9865](https://github.com/microsoft/vscode-cpptools/issues/9865)
|
||||
* Fix IntelliSense errors with C++ 20 range and span. [#10024](https://github.com/microsoft/vscode-cpptools/issues/10024), [#10252](https://github.com/microsoft/vscode-cpptools/issues/10252)
|
||||
* Fix two vcFormat settings being inverted. [#10262](https://github.com/microsoft/vscode-cpptools/issues/10262), [#10263](https://github.com/microsoft/vscode-cpptools/issues/10263)
|
||||
* Fix 'Create Declaration / Definition' making modifications to files outside the workspace folder. [#10402](https://github.com/microsoft/vscode-cpptools/issues/10402)
|
||||
* Fix code analysis when `--use-color=true` is used. [#10407](https://github.com/microsoft/vscode-cpptools/issues/10407)
|
||||
* Fix IntelliSense errors with CUDA. [#10455](https://github.com/microsoft/vscode-cpptools/issues/10455)
|
||||
* Fix random save failures while code analysis is running on the saved file. [#10482](https://github.com/microsoft/vscode-cpptools/issues/10482)
|
||||
* Fix the compile commands prompt setting `compileCommands` to a `compile_commands.json` in a different workspace folder. [#10588](https://github.com/microsoft/vscode-cpptools/issues/10588)
|
||||
* Fix code analysis with `_Float16`. [#10610](https://github.com/microsoft/vscode-cpptools/issues/10610)
|
||||
* Fix code analysis with c23/gnu23. [#10615](https://github.com/microsoft/vscode-cpptools/issues/10615)
|
||||
* Fix 'Reset IntelliSense Database' being delayed until parsing is finished. [#10616](https://github.com/microsoft/vscode-cpptools/issues/10616)
|
||||
* Fix uncaught exception with some configuration providers. [#10634](https://github.com/microsoft/vscode-cpptools/issues/10634)
|
||||
* Fix crashes with a multi-root workspace. [#10636](https://github.com/microsoft/vscode-cpptools/issues/10636)
|
||||
* Fix bugs with the "You do not have IntelliSense configured" prompt. [#10658](https://github.com/microsoft/vscode-cpptools/issues/10658), [#10659](https://github.com/microsoft/vscode-cpptools/issues/10659)
|
||||
* Fix random failures when adding or removing workspace folders. [PR #10665](https://github.com/microsoft/vscode-cpptools/pull/10665)
|
||||
* Fix missing clang-tidy checks setting values. [#10667](https://github.com/microsoft/vscode-cpptools/issues/10667)
|
||||
* Fix 'Select IntelliSense configuration' so that it works if it's already set in the workspace or workspace folder settings. [#10674](https://github.com/microsoft/vscode-cpptools/issues/10674)
|
||||
* Fix clang-tidy 'clang-analyzer-' documentation links not working. [#10678](https://github.com/microsoft/vscode-cpptools/issues/10678)
|
||||
* Fix the browse configuration provider cache not getting cleared. [#10692](https://github.com/microsoft/vscode-cpptools/issues/10692), [#10877](https://github.com/microsoft/vscode-cpptools/issues/10877)
|
||||
* Fix a crash with recursive environment variables on Windows. [#10704](https://github.com/microsoft/vscode-cpptools/issues/10704)
|
||||
* Fix `#import` of `.tlb` files failing due to `/Fo` arguments to `cl.exe` not being processed. [#10710](https://github.com/microsoft/vscode-cpptools/issues/10710)
|
||||
* Fix `cppbuild` tasks not using the workspace folder as the `cwd` by default. [#10742](https://github.com/microsoft/vscode-cpptools/issues/10742)
|
||||
* Fix lots of IntelliSense processes getting launched after a Find/Replace operation (potentially freezing the OS). [#10743](https://github.com/microsoft/vscode-cpptools/issues/10743)
|
||||
* Fix workspace folder variable resolution with `clang_format_style`. [#10752](https://github.com/microsoft/vscode-cpptools/issues/10752)
|
||||
* For remote attach, use an absolute `/bin/sh` path on Linux. [PR #10765](https://github.com/microsoft/vscode-cpptools/pull/10765)
|
||||
* Fix the first registered configuration provider still being automatically used after a second registers. [PR #10772](https://github.com/microsoft/vscode-cpptools/pull/10772)
|
||||
* Fix `C_Cpp.default.compilerPath` in the settings UI showing a string editor when it shouldn't. [#10795](https://github.com/microsoft/vscode-cpptools/issues/10795)
|
||||
* Fix some issues due to usage of the spread operator not doing a deep copy. [PR #10803](https://github.com/microsoft/vscode-cpptools/pull/10803)
|
||||
* Fix a deadlock with Find All References. [#10855](https://github.com/microsoft/vscode-cpptools/issues/10855)
|
||||
* Fix the Code Analysis Options dropdown showing 'Resume' instead of 'Pause' after a cancel is done in a paused state. [#10879](https://github.com/microsoft/vscode-cpptools/issues/10879)
|
||||
* Fix "Code Analysis Mode" not being localized when initially shown. [#10881](https://github.com/microsoft/vscode-cpptools/issues/10881)
|
||||
* Fix the C/C++-related status bar items flickering off/on when switching documents. [PR #10888](https://github.com/microsoft/vscode-cpptools/pull/10888)
|
||||
* Fix `__GXX_RTTI` incorrectly being defined by IntelliSense with clang and `-fms-compatibility`.
|
||||
* Reduce the likelihood of an `onWillSaveWaitUntil` timeout.
|
||||
* Fix an IntelliSense crash with C++20 concepts.
|
||||
* Stop querying clang-cl.exe as C.
|
||||
|
||||
## Version 1.14.5: March 22, 2023
|
||||
### Bug Fix
|
||||
* Fix a deadlock with a multi-root workspace. [#10719](https://github.com/microsoft/vscode-cpptools/issues/10719)
|
||||
|
||||
## Version 1.14.4: February 28, 2023
|
||||
### Enhancements
|
||||
* Add `c23` and `c2x` support for clang and gcc modes. [#7471](https://github.com/microsoft/vscode-cpptools/issues/7471)
|
||||
* Filter out clang-tidy `#pragma once in main file` warnings. [#10539](https://github.com/microsoft/vscode-cpptools/issues/10539)
|
||||
* Auto-configure `configurationProvider` even if `default.compilerPath` is set. [PR #10607](https://github.com/microsoft/vscode-cpptools/pull/10607)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix `--` in args making compiler querying fail. [#10529](https://github.com/microsoft/vscode-cpptools/issues/10529)
|
||||
* Fix every .C file being opened in a compile_commands.json if it's build for C++. [#10540](https://github.com/microsoft/vscode-cpptools/issues/10540)
|
||||
* Fix `-std=c++` not being used in compile_commands.json for .C files. [#10541](https://github.com/microsoft/vscode-cpptools/issues/10541)
|
||||
* Fix a crash when an error occurs in a forced include. [#10598](https://github.com/microsoft/vscode-cpptools/issues/10598)
|
||||
* Fix the configuration provider browse cache not getting cleared. [PR #10608](https://github.com/microsoft/vscode-cpptools/pull/10608)
|
||||
* Fix a bug that could cause IntelliSense to randomly stop updating.
|
||||
* Fix some random failures that could happen during database deletion.
|
||||
* Fix some random crashes on shutdown.
|
||||
|
||||
## Version 1.14.3: February 14, 2023
|
||||
### New Features
|
||||
* Add recursive macro expansion on hover. [#3579](https://github.com/microsoft/vscode-cpptools/issues/3579)
|
||||
* Move status bar items to the language status UI. [#8405](https://github.com/microsoft/vscode-cpptools/issues/8405)
|
||||
* This may not be enabled for all users unless `C_Cpp.experimentalFeatures` is `true`.
|
||||
* Add the 'Select Default Compiler' command that lets you choose a default compiler to configure IntelliSense. [#10027](https://github.com/microsoft/vscode-cpptools/issues/10027)
|
||||
|
||||
### Enhancements
|
||||
* Exclude rename results external to the workspace. [#9235](https://github.com/microsoft/vscode-cpptools/issues/9235)
|
||||
* Add error messages for Create Declaration / Definition. [#10163](https://github.com/microsoft/vscode-cpptools/issues/10163)
|
||||
* Add support for LLVM-based Intel C/C++ compilers. [#10218](https://github.com/microsoft/vscode-cpptools/issues/10218)
|
||||
* SSH output improvements. [PR #10292](https://github.com/microsoft/vscode-cpptools/pull/10292)
|
||||
* Reorder commands in the code action context menu. [#10400](https://github.com/microsoft/vscode-cpptools/issues/10400)
|
||||
* Add Ada to supported languages for debugging. [#10475](https://github.com/microsoft/vscode-cpptools/issues/10475)
|
||||
* Anthony Leonardo Gracio (@AnthonyLeonardoGracio) [PR #10476](https://github.com/microsoft/vscode-cpptools/pull/10476)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix usage of relative paths in IntelliSense configuration settings with multi-root workspaces. [#4983](https://github.com/microsoft/vscode-cpptools/issues/4983)
|
||||
* Fix infinite recursion in scout_parser. [#8898](https://github.com/microsoft/vscode-cpptools/issues/8898)
|
||||
* Fix an IntelliSense crash with the seqan3 library. [#8956](https://github.com/microsoft/vscode-cpptools/issues/8956)
|
||||
* Fix looping between C and C++. [#9689](https://github.com/microsoft/vscode-cpptools/issues/9689)
|
||||
* Fix Doxygen comments for the function signature being autogenerated when typing inside a function. [#9742](https://github.com/microsoft/vscode-cpptools/issues/9742)
|
||||
* Show a reload prompt after `C_Cpp.hover` is changed. [#10076](https://github.com/microsoft/vscode-cpptools/issues/10076)
|
||||
* Fix function inlay hints not working with `std::string_literal` arguments. [#10078](https://github.com/microsoft/vscode-cpptools/issues/10078)
|
||||
* Fix IntelliSense completion for `std::string` with `?:` and `string()`. [#10103](https://github.com/microsoft/vscode-cpptools/issues/10103)
|
||||
* Fix semantic colorization not working in a certain case. [#10105](https://github.com/microsoft/vscode-cpptools/issues/10105)
|
||||
* Fix IntelliSense completion not working inside constructor calls that are incomplete. [#10111](https://github.com/microsoft/vscode-cpptools/issues/10111)
|
||||
* Fix changes to the enclosing type not being taken into account after "Create Declaration / Definition" is used once. [#10162](https://github.com/microsoft/vscode-cpptools/issues/10162)
|
||||
* Fix "False positive expression must have a constant value with __builtin_choose_expr in _Static_assert". [#10168](https://github.com/microsoft/vscode-cpptools/issues/10168)
|
||||
* Fix Create Declaration / Definition with an anonymous namespace. [#10189](https://github.com/microsoft/vscode-cpptools/issues/10189)
|
||||
* Fix file exclusions not being applied to the first directory found for each browse.path entry. [#10205](https://github.com/microsoft/vscode-cpptools/issues/10205)
|
||||
* Fix IntelliSense mode auto-detection for VS 2015 compiler paths. [#10207](https://github.com/microsoft/vscode-cpptools/issues/10207)
|
||||
* Fix clang-cl 15 querying with /WX. [#10221](https://github.com/microsoft/vscode-cpptools/issues/10221)
|
||||
* Fix an incorrect IntelliSense error with `std::bind`, c++17, and windows-msvc-arm64 mode. [#10304](https://github.com/microsoft/vscode-cpptools/issues/10304)
|
||||
* Fix vcFormat when using lambda functions. [#10326](https://github.com/microsoft/vscode-cpptools/issues/10326)
|
||||
* Fix IntelliSense crash in field_for_lambda_capture. [#10359](https://github.com/microsoft/vscode-cpptools/issues/10359)
|
||||
* Fix for cpptools getting shutdown after waking up from sleep. [#10362](https://github.com/microsoft/vscode-cpptools/issues/10362)
|
||||
* Fix an IntelliSense crash when using the French language pack. [#10374](https://github.com/microsoft/vscode-cpptools/issues/10374)
|
||||
* Fix the process id picker only showing part of the process on a remote machine. [#10379](https://github.com/microsoft/vscode-cpptools/issues/10379)
|
||||
* Fix temp files generating at the incorrect path. [#10386](https://github.com/microsoft/vscode-cpptools/issues/10386)
|
||||
* Fix a crash in extractArgs. [PR #10394](https://github.com/microsoft/vscode-cpptools/pull/10394)
|
||||
* Fix a bug with settings changes not being handled correctly for multi-root. [PR #10458](https://github.com/microsoft/vscode-cpptools/pull/10458)
|
||||
|
||||
## Version 1.13.9: January 4, 2023
|
||||
### Bug Fix
|
||||
* Fix clang-format and clang-tidy not working for macOS 11 arm64. [#10282](https://github.com/microsoft/vscode-cpptools/issues/10282)
|
||||
|
||||
## Version 1.13.8: December 15, 2022
|
||||
### Bug Fixes
|
||||
* Fix tag parser failure on machines with multiple extension users. [#10224](https://github.com/microsoft/vscode-cpptools/issues/10224)
|
||||
* Fix a `--using_directory` IntelliSense error if LIBPATH is defined with non-msvc IntelliSense modes. [#10249](https://github.com/microsoft/vscode-cpptools/issues/10249)
|
||||
* Fix a crash when the configuration name is missing. [#10251](https://github.com/microsoft/vscode-cpptools/issues/10251)
|
||||
|
||||
## Version 1.13.7: December 8, 2022
|
||||
### Bug Fix
|
||||
* Fix `files.associations` not working. [#10244](https://github.com/microsoft/vscode-cpptools/issues/10244)
|
||||
|
||||
## Version 1.13.6: December 6, 2022
|
||||
### New Features
|
||||
* Add the ability to generate definitions from declarations and vice versa. [#664](https://github.com/microsoft/vscode-cpptools/issues/664)
|
||||
* Add SSH Target Selector. [PR #9760](https://github.com/microsoft/vscode-cpptools/pull/9760)
|
||||
* Add rsync support in deploySteps. [PR #9808](https://github.com/microsoft/vscode-cpptools/pull/9808)
|
||||
|
||||
### Enhancements
|
||||
* Add `C_Cpp.caseSensitiveFileSupport` for enabling case sensitive file handling on Windows. [#1994](https://github.com/microsoft/vscode-cpptools/issues/1994)
|
||||
* Add sections to settings. [#8237](https://github.com/microsoft/vscode-cpptools/issues/8237)
|
||||
* Make Doxygen hover comments customizable with `C_Cpp.doxygen.sectionTags`. [#8525](https://github.com/microsoft/vscode-cpptools/issues/8525)
|
||||
* Add better build and debug task handling for when a compiler or debugger doesn't exist. [#8836](https://github.com/microsoft/vscode-cpptools/issues/8836)
|
||||
* Delay applying `c_cpp_properties.json` changes until after a save. [#9185](https://github.com/microsoft/vscode-cpptools/issues/9185)
|
||||
* Create directories on Linux/Mac with 755 instead of 777 permissions. [#9670](https://github.com/microsoft/vscode-cpptools/issues/9670)
|
||||
* Check for MSVC environment variables for configuring IntelliSense. [#9745](https://github.com/microsoft/vscode-cpptools/issues/9745)
|
||||
* Enable the inlay hint settings to be set per-workspace folder. [#9782](https://github.com/microsoft/vscode-cpptools/issues/9782)
|
||||
* Add a `C_Cpp.hover` setting to enable disabling hover results. [#9793](https://github.com/microsoft/vscode-cpptools/issues/9793)
|
||||
* Update to clang-format and clang-tidy 15.0.3. [#9816](https://github.com/microsoft/vscode-cpptools/issues/9816)
|
||||
* Enable hiding the SSH Targets view with the `C_Cpp.sshTargetsView` setting. [#9836](https://github.com/microsoft/vscode-cpptools/issues/9836)
|
||||
* Change "Enabled", "Disabled", "Default" settings to camelCase. [PR #9862](https://github.com/microsoft/vscode-cpptools/pull/9862)
|
||||
* Add support for C++ modules IFC version 0.42. [#9884](https://github.com/microsoft/vscode-cpptools/issues/9884)
|
||||
* Add SSH terminal for targets. [PR #9895](https://github.com/microsoft/vscode-cpptools/pull/9895)
|
||||
* Make array settings give a warning for duplicates. [PR #9959](https://github.com/microsoft/vscode-cpptools/pull/9959)
|
||||
* Add "iar" and "armcc5" problem matchers. [#10054](https://github.com/microsoft/vscode-cpptools/issues/10054)
|
||||
* Michael (@morsisko) [PR #10085](https://github.com/microsoft/vscode-cpptools/pull/10085), [PR #10101](https://github.com/microsoft/vscode-cpptools/pull/10101)
|
||||
* Pass `--Wno-error=unknown` to clang-format (12 or newer) to avoid failing on unsupported settings. [#10072](https://github.com/microsoft/vscode-cpptools/issues/10072)
|
||||
* Add support for `/cygdrive` paths returned by some versions of Cygwin. [#10112](https://github.com/microsoft/vscode-cpptools/issues/10112)
|
||||
* Switch from RapidJSON to VS's internal JSON parser.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix "final" breaking formatting. [#6638](https://github.com/microsoft/vscode-cpptools/issues/6638)
|
||||
* Fix incorrect "expected concept name" IntelliSense error. [#6876](https://github.com/microsoft/vscode-cpptools/issues/6876)
|
||||
* Fix incorrect Outline view with C++20 namespace ::inline syntax. [#7216](https://github.com/microsoft/vscode-cpptools/issues/7216)
|
||||
* Fix updates to compile_commands.json not being handled if specified using a relative path. [#7610](https://github.com/microsoft/vscode-cpptools/issues/7610)
|
||||
* Fix variadic macros not expanding correctly. [#8178](https://github.com/microsoft/vscode-cpptools/issues/8178)
|
||||
* Fix the `editor.parameterHints.enabled` setting not being used when `C_Cpp.autocompleteAddParentheses` is `true`. [#9314](https://github.com/microsoft/vscode-cpptools/issues/9314)
|
||||
* Fix IntelliSense bug "A result type of `__builtin_choose_expr` that returns a pointer to a function is not correctly inferred in clang mode". [#9368](https://github.com/microsoft/vscode-cpptools/issues/9368)
|
||||
* Fix some invalid macro redefinition errors. [#9435](https://github.com/microsoft/vscode-cpptools/issues/9435)
|
||||
* Fix wordexp sometimes getting stuck on Mac (and Linux). [#9688](https://github.com/microsoft/vscode-cpptools/issues/9688)
|
||||
* Fix ctrl+space completion for Doxygen tags. [#9732](https://github.com/microsoft/vscode-cpptools/issues/9732)
|
||||
* Fix the position of inlay parameter hints when using at or operator[]. [#9741](https://github.com/microsoft/vscode-cpptools/issues/9741)
|
||||
* Fix `-std=` being passed to clang-tidy in certain cases . [#9776](https://github.com/microsoft/vscode-cpptools/issues/9776)
|
||||
* Fix `${workspaceFolder}` not being resolved in `C_Cpp.clang_format_style`. [#9786](https://github.com/microsoft/vscode-cpptools/issues/9786)
|
||||
* Fix debugger visualization for ArrayItem elements more than 1000. [#9801](https://github.com/microsoft/vscode-cpptools/issues/9801)
|
||||
* Fix extra comma in the generated the `(gdb) attach` configuration in `launch.json`. [#9818](https://github.com/microsoft/vscode-cpptools/issues/9818)
|
||||
* Fix IntelliSense crash with range-v3 `ranges::views::addressof`. [#9870](https://github.com/microsoft/vscode-cpptools/issues/9870)
|
||||
* Fix slow compiler querying. [#9882](https://github.com/microsoft/vscode-cpptools/issues/9882)
|
||||
* Handle `-fexperimental-library` clang argument. [#9888](https://github.com/microsoft/vscode-cpptools/issues/9888)
|
||||
* Fix compiler querying with multiple -arch. [#9894](https://github.com/microsoft/vscode-cpptools/issues/9894)
|
||||
* Fix code analysis errors related to SSE being enabled when gcc is used. [#9898](https://github.com/microsoft/vscode-cpptools/issues/9898)
|
||||
* Fix issue with parsing SSH configurations that could cause the extension to fail to activate. [#9933](https://github.com/microsoft/vscode-cpptools/pull/9933)
|
||||
* Fix inlay hints showing "type" for lambdas in certain cases. [#9971](https://github.com/microsoft/vscode-cpptools/issues/9971)
|
||||
* Resolve variables for `C_Cpp.codeAnalysis.clangTidy.args` and `headerFilter`. [#9981](https://github.com/microsoft/vscode-cpptools/issues/9981), [#9996](https://github.com/microsoft/vscode-cpptools/issues/9996)
|
||||
* Fix some translations. [#9986](https://github.com/microsoft/vscode-cpptools/issues/9986), [#10011](https://github.com/microsoft/vscode-cpptools/issues/10011), [#10012](https://github.com/microsoft/vscode-cpptools/issues/10012), [#10013](https://github.com/microsoft/vscode-cpptools/issues/10013)
|
||||
* Fix "Step Over past a logpoint stops at the wrong place". [#9995](https://github.com/microsoft/vscode-cpptools/issues/9995)
|
||||
* Disable the "Generate Doxygen Comment" context menu when IntelliSense is disabled. [PR #10007](https://github.com/microsoft/vscode-cpptools/pull/10007)
|
||||
* Fix Doxygen code action from appearing on a function that already has a `*/` comment. [#10009](https://github.com/microsoft/vscode-cpptools/issues/10009)
|
||||
* Fix clang-tidy and clang-format not working on CentOS7 and other Linux OS's without glibc 2.27 or greater. [#10019](https://github.com/microsoft/vscode-cpptools/issues/10019)
|
||||
* Fix various bugs with the `C_Cpp.codeAnalysis.clangTidy.headerFilter` setting. [#10023](https://github.com/microsoft/vscode-cpptools/issues/10023)
|
||||
* Fix Doxygen comment generation when there's a selection. [#10028](https://github.com/microsoft/vscode-cpptools/issues/10028)
|
||||
* Fix issue that could cause document corruption. [#10035](https://github.com/microsoft/vscode-cpptools/issues/10035)
|
||||
* Fixed crash on Linux/Mac when a full command line is specified in `compilerPath` containing invalid arguments. [PR #10070](https://github.com/microsoft/vscode-cpptools/pull/10070)
|
||||
* Fix random "Failed to spawn IntelliSense process: 65520" on Mac. [#10091](https://github.com/microsoft/vscode-cpptools/issues/10091)
|
||||
* Fix debugger throwing error "stdout maxBuffer exceeded". [10107](https://github.com/microsoft/vscode-cpptools/issues/10107)
|
||||
* Fix "Can't attach to process on Windows: Unexpected token \ in JSON". [#10108](https://github.com/microsoft/vscode-cpptools/issues/10108)
|
||||
* Fix "Don't hardcode path to kill in UnixUtilities". [#10124](https://github.com/microsoft/vscode-cpptools/issues/10124)
|
||||
* Ellie Hermaszewska (@expipiplus1) [PR #1373](https://github.com/microsoft/MIEngine/pull/1373)
|
||||
* Fix formatting when clang-format 11 or earlier is used (and another issue for version 8 or earlier). [#10178](https://github.com/microsoft/vscode-cpptools/issues/10178)
|
||||
* Fix "Natvis: are multi-dimensional arrays supported in gdb natvis?". [MIEngine#980](https://github.com/microsoft/MIEngine/issues/980)
|
||||
* Fix include completion sorting extensionless headers (e.g. string) after headers with an extension (e.g. string.h).
|
||||
* Fix extensionHost logging an error related to onWillSaveTextDocument whenever a save is done.
|
||||
* Fix random "Failed to spawn IntelliSense process" on Mac.
|
||||
* Fix a deadlock when IntelliSense errors are updating.
|
||||
* Fix redundant rescan when adding a workspace folder.
|
||||
|
||||
### Removed Feature
|
||||
* Removed explicit WSL support in favor of using the WSL extension. [PR #10066](https://github.com/microsoft/vscode-cpptools/pull/10066)
|
||||
|
||||
## Version 1.12.4: August 31, 2022
|
||||
### Other
|
||||
* Revert changes to telemetry key format. [PR #9822](https://github.com/microsoft/vscode-cpptools/pull/9822)
|
||||
|
||||
## Version 1.12.3: August 30, 2022
|
||||
### New Features
|
||||
* Add Doxygen comment generation via command, context menu, code action, or typing. [#5683](https://github.com/microsoft/vscode-cpptools/issues/5683)
|
||||
* Add auto-complete of Doxygen keywords in comments.
|
||||
|
||||
### Enhancements
|
||||
* Add auto-formatting of lines that are changed by code analysis fixes. [#9322](https://github.com/microsoft/vscode-cpptools/issues/9322)
|
||||
* Add compile arguments to enable colorized output in cppBuild tasks for clang. [#9643](https://github.com/microsoft/vscode-cpptools/issues/9643)
|
||||
* Cache and reuse SSH passwords in the current remote debugging session. [PR #9654](https://github.com/microsoft/vscode-cpptools/pull/9654)
|
||||
* Fix "natvis collections only show the first 50 elements". [MIEngine#821](https://github.com/microsoft/MIEngine/issues/821)
|
||||
* Related [#9377](https://github.com/microsoft/vscode-cpptools/issues/9377)
|
||||
* Fix "cppdbg doesn't support array view of char* buf". [MIEngine#1258](https://github.com/microsoft/MIEngine/issues/1258)
|
||||
* Support explicit `this` references in natvis files.
|
||||
* @Trass3r [PR MIEngine#1163](https://github.com/microsoft/MIEngine/pull/1163)
|
||||
* Do std fallback when compiler querying, even when explicitly specified via a compiler arg.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix several IntelliSense parsing bugs. [#3683](https://github.com/microsoft/vscode-cpptools/issues/3683), [#6659](https://github.com/microsoft/vscode-cpptools/issues/6659), [#7446](https://github.com/microsoft/vscode-cpptools/issues/7446), [#9215](https://github.com/microsoft/vscode-cpptools/issues/9215)
|
||||
* Fix crash when tag parsing files containing certain string literals. [#9538](https://github.com/microsoft/vscode-cpptools/issues/9538)
|
||||
* Fix incorrect semantic tokens with templated operator overloads. [#9556](https://github.com/microsoft/vscode-cpptools/issues/9556)
|
||||
* Fix `.` to `->` completion in functions defined in the class/struct definition. [#9599](https://github.com/microsoft/vscode-cpptools/issues/9599)
|
||||
* Fix inlay hint filtering not working with some cases of whitespace. [#9606](https://github.com/microsoft/vscode-cpptools/issues/9606)
|
||||
* Fix Chinese translation mistakes.
|
||||
* kouhe3 (@kouhe3) [PR #9624](https://github.com/microsoft/vscode-cpptools/pull/9624)
|
||||
* Fix IntelliSense error with ARM register declarations. [#9627](https://github.com/microsoft/vscode-cpptools/issues/9627)
|
||||
* Fix files with a `.c` extension not using a C++ `std` version passed in the `compilerArgs` or `compilerFragments`. [#9628](https://github.com/microsoft/vscode-cpptools/issues/9628)
|
||||
* Fix unnecessary IntelliSense process restarting on file creation handling. [#9630](https://github.com/microsoft/vscode-cpptools/issues/9630)
|
||||
* Fix tag parsing of classes and enums with attributes. [#9672](https://github.com/microsoft/vscode-cpptools/issues/9672)
|
||||
* Add PID to the extended remote process picker. [PR #9673](https://github.com/microsoft/vscode-cpptools/pull/9673)
|
||||
* Fix tag parser crash. [#9679](https://github.com/microsoft/vscode-cpptools/issues/9679), [#9695](https://github.com/microsoft/vscode-cpptools/issues/9695)
|
||||
* Fix code analysis fixes generating invalid code when the fix has escaped characters. [#9683](https://github.com/microsoft/vscode-cpptools/issues/9683)
|
||||
* Fix unintended generation of `nul.d` file when querying clang or gcc, when compiler arguments include dependency generation arguments. [#9707](https://github.com/microsoft/vscode-cpptools/issues/9707)
|
||||
* Fix code analysis fixes not being available when more than one check is associated with a fix. [#9755](https://github.com/microsoft/vscode-cpptools/issues/9755)
|
||||
* Fix error when debugging is started without a launch.json and IntelliSense is disabled. [#9762](https://github.com/microsoft/vscode-cpptools/issues/9762)
|
||||
* Fix "The result of GDB -exec evaluate request in all contexts is printed in debug console." [MIEngine #1236](https://github.com/microsoft/MIEngine/issues/1236)
|
||||
* Fix "Evaluating a variable after a failed Step Out causes a fatal error, leaving debug session unusable". [MIEngine#1336](https://github.com/microsoft/MIEngine/issues/1336)
|
||||
* Gareth Rees (@gareth-rees) [PR MIEngine#1337](https://github.com/microsoft/MIEngine/pull/1337)
|
||||
* Fix deadlock in HandleStackTraceRequestAsync where lock was hold too long.
|
||||
* GeorgeMay (@JoergMeier106) [PR MIEngine#1309](https://github.com/microsoft/MIEngine/pull/1309)
|
||||
* Fix potential crashes on shutdown.
|
||||
|
||||
## Version 1.11.5: August 9, 2022
|
||||
### Bug Fixes
|
||||
* Fix crash when tag parsing files containing certain string literals. [#9538](https://github.com/microsoft/vscode-cpptools/issues/9538)
|
||||
* Fix `llvm-project` parser crash on file: `clang/test/parser/parser_overflow.c`. [#9653](https://github.com/microsoft/vscode-cpptools/issues/9653)
|
||||
* Fix `llvm-project` parser crash on file: `libcxx/test/support/test.support/make_string_header.pass.cpp`. [#9679](https://github.com/microsoft/vscode-cpptools/issues/9679)
|
||||
|
||||
## Version 1.11.4: July 21, 2022
|
||||
### New Features
|
||||
* Add inlay hints for parameters and auto types. [#5845](https://github.com/microsoft/vscode-cpptools/issues/5845)
|
||||
* Add extended remote support for debugging. [#8497](https://github.com/microsoft/vscode-cpptools/issues/8497), [#9195](https://github.com/microsoft/vscode-cpptools/issues/9195), [#9491](https://github.com/microsoft/vscode-cpptools/discussions/9491), [#9505](https://github.com/microsoft/vscode-cpptools/issues/9505)
|
||||
|
||||
### Enhancements
|
||||
* Add deploySteps and variables to cppdbg. [PR #9418](https://github.com/microsoft/vscode-cpptools/pull/9418)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix "unknown register name" IntelliSense error. [#4382](https://github.com/microsoft/vscode-cpptools/issues/4382)
|
||||
* Fix performance issue with tag parsing a file with a lot of defines. [#6454](https://github.com/microsoft/vscode-cpptools/issues/6454)
|
||||
* Fix IntelliSense with gcc vector extension types. [#6890](https://github.com/microsoft/vscode-cpptools/issues/6890)
|
||||
* Fix doc comments for macros and typedefs. [#8320](https://github.com/microsoft/vscode-cpptools/issues/8320)
|
||||
* Fix issue with CUDA configuration when using a custom config provider and no config is available for the file. [#8483](https://github.com/microsoft/vscode-cpptools/issues/8483)
|
||||
* Fix missing logging when `C_Cpp.intelliSenseEngine` is set to `"Disabled"`. [#9277](https://github.com/microsoft/vscode-cpptools/issues/9277)
|
||||
* Fix doxygen comments not being displayed for multiple adjacent `@brief` or `@return` tags. [#9316](https://github.com/microsoft/vscode-cpptools/issues/9316)
|
||||
* Fix the code analysis "disable" option not automatically clearing the disabled diagnostics. [#9364](https://github.com/microsoft/vscode-cpptools/issues/9364)
|
||||
* Fix `-isystem` not being used for system headers with code analysis. [#9366](https://github.com/microsoft/vscode-cpptools/issues/9366)
|
||||
* Fix compiler querying for EDG-based compilers. [#9410](https://github.com/microsoft/vscode-cpptools/issues/9410)
|
||||
* Fix hiding IntelliSense dependent commands when `C_Cpp.intelliSenseEngine` is `"Disabled"`. [#9451](https://github.com/microsoft/vscode-cpptools/issues/9451)
|
||||
* Fix cl.exe build tasks not showing for .c files and .c build tasks being cached for .cpp files (and vice versa). [PR #9544](https://github.com/microsoft/vscode-cpptools/pull/9544)
|
||||
* Fix code analysis not detecting warnings with relative paths. [#9555](https://github.com/microsoft/vscode-cpptools/issues/9555)
|
||||
* Fix `--header-filter` being used with clang-tidy when it shouldn't when a .clang-tidy file exists. [#9566](https://github.com/microsoft/vscode-cpptools/issues/9566)
|
||||
* Fix code analysis giving an error with `__has_include` with gcc 9. [#9575](https://github.com/microsoft/vscode-cpptools/issues/9575)
|
||||
* Fix `-target` not being processed in `compilerArgs`. [#9586](https://github.com/microsoft/vscode-cpptools/issues/9586)
|
||||
|
||||
## Version 1.10.8: July 7, 2022
|
||||
### Enhancements
|
||||
* Allow breakpoints for Rust debugging. [PR #9484](https://github.com/microsoft/vscode-cpptools/pull/9484)
|
||||
* Make `C_Cpp.debugShortcut` settable per-workspace folder. [PR #9514](https://github.com/microsoft/vscode-cpptools/pull/9514)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix crash if clang-tidy returns a replacement with an empty FilePath. [#9437](https://github.com/microsoft/vscode-cpptools/issues/9437)
|
||||
* Fix skipping the compiler argument after `-c`. [#9453](https://github.com/microsoft/vscode-cpptools/issues/9453)
|
||||
* Fix `-std:c++20` not being handled with cl.exe. [#9458](https://github.com/microsoft/vscode-cpptools/issues/9458)
|
||||
* Fix bug with the environment being incorrect when compiler querying. [#9472](https://github.com/microsoft/vscode-cpptools/issues/9472)
|
||||
* Fix duplicate compiler args in compiler query with custom configuration providers using cpptools-api prior to v6. [#9531](https://github.com/microsoft/vscode-cpptools/issues/9531)
|
||||
* Fix process launching concurrency issues on Windows.
|
||||
|
||||
## Version 1.10.7: June 15, 2022
|
||||
### Bug Fixes
|
||||
* Fix bugs with process creation on Windows (which caused IntelliSense to fail). [#9431](https://github.com/microsoft/vscode-cpptools/issues/9431)
|
||||
|
||||
## Version 1.10.6: June 14, 2022
|
||||
### Bug Fixes
|
||||
* Fix `@responseFile` in `compilerArgs` not being handled on Linux/Mac. [#9434](https://github.com/microsoft/vscode-cpptools/issues/9434)
|
||||
* Fix debug preLaunchTask not working when `C_Cpp.intelliSenseEngine` is `"Disabled"`. [#9446](https://github.com/microsoft/vscode-cpptools/issues/9446)
|
||||
* Make the `C_Cpp.legacyCompilerArgsBehavior` setting non-deprecated.
|
||||
|
||||
## Version 1.10.5: June 8, 2022
|
||||
### New Features
|
||||
* Add code actions to apply clang-tidy fixes (and other actions). [#8476](https://github.com/microsoft/vscode-cpptools/issues/8476)
|
||||
* Added support for setting values on top level watch window expressions. [#9019](https://github.com/microsoft/vscode-cpptools/issues/9019)
|
||||
* Make the "Run and Debug" button feature available to all users. [#9306](https://github.com/microsoft/vscode-cpptools/issues/9306)
|
||||
|
||||
### Enhancements
|
||||
* Add `C_Cpp.clangTidy.useBuildPath` setting to enable using `-p` with clang-tidy. [#8740](https://github.com/microsoft/vscode-cpptools/issues/8740), [#8952](https://github.com/microsoft/vscode-cpptools/issues/8952)
|
||||
* Generate launch.json when adding a new debug configuration. [#9100](https://github.com/microsoft/vscode-cpptools/issues/9100)
|
||||
* Prioritize the "folder" option when doing a `#include` completion. [#9222](https://github.com/microsoft/vscode-cpptools/issues/9222)
|
||||
* Add compiler path to debug configuration details. [PR #9264](https://github.com/microsoft/vscode-cpptools/pull/9264)
|
||||
* Update the bundled clang-format and clang-tidy to version 14.0.0.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix 'System.NullReferenceException when continuing after adding breakpoint.' [#1297](https://github.com/microsoft/MIEngine/issues/1297)
|
||||
* Fix completion not working in `#define` definitions and in definition names when manually invoked. [#4662](https://github.com/microsoft/vscode-cpptools/issues/4662), [#8973](https://github.com/microsoft/vscode-cpptools/issues/8973), [#9078](https://github.com/microsoft/vscode-cpptools/issues/9078)
|
||||
* Fix several IntelliSense bugs. [#6226](https://github.com/microsoft/vscode-cpptools/issues/6226), [#8294](https://github.com/microsoft/vscode-cpptools/issues/8294), [#8530](https://github.com/microsoft/vscode-cpptools/issues/8530), [#8725](https://github.com/microsoft/vscode-cpptools/issues/8725), [#8751](https://github.com/microsoft/vscode-cpptools/issues/8751), [#9076](https://github.com/microsoft/vscode-cpptools/issues/9076), [#9224](https://github.com/microsoft/vscode-cpptools/issues/9224), [#9336](https://github.com/microsoft/vscode-cpptools/issues/9336).
|
||||
* Fix issue with shell processing incorrectly occurring for `arguments` fields in `compile_commands.json` files. [#8649](https://github.com/microsoft/vscode-cpptools/issues/8649)
|
||||
* Fix handling of `@response` files for clang-tidy on Windows. [#8843](https://github.com/microsoft/vscode-cpptools/issues/8843), [#9032](https://github.com/microsoft/vscode-cpptools/issues/9032), [#9102](https://github.com/microsoft/vscode-cpptools/issues/9102)
|
||||
* Fix issue with inconsistent handling of shell escaping in compiler arg fields. All compiler arg array fields are now assumed to not include shell quoting, escaping or shell variables. Added a `C_Cpp.legacyCompilerArgsBehavior` to restore the legacy behavior. [#8963](https://github.com/microsoft/vscode-cpptools/issues/8963)
|
||||
* Add localized strings for build tasks. [#9051](https://github.com/microsoft/vscode-cpptools/issues/9051)
|
||||
* Fix Go to Definition with C for identifiers that are C++ keywords. [#9081](https://github.com/microsoft/vscode-cpptools/issues/9081)
|
||||
* Fix the new Run/Debug Code button not working with a modified program location. [#9082](https://github.com/microsoft/vscode-cpptools/issues/9082)
|
||||
* Fix `__GNUC__` system defines causing clang-tidy to undefine `_Float32`. [#9091](https://github.com/microsoft/vscode-cpptools/issues/9091)
|
||||
* Fix 'breakpoints set before launch in shared objects cannot be disabled/deleted' [#9095](https://github.com/microsoft/vscode-cpptools/issues/9095)
|
||||
* Fix compiler querying failing for compilers that don't output system includes. [#9099](https://github.com/microsoft/vscode-cpptools/issues/9099)
|
||||
* Fix completion occurring (when it shouldn't) after the comma in a definition list. [#9101](https://github.com/microsoft/vscode-cpptools/issues/9101)
|
||||
* Fix `;` incorrectly matching for `break;` and `continue;` completion. [#9115](https://github.com/microsoft/vscode-cpptools/issues/9115)
|
||||
* Fix Go to Definition on a `#include` with an absolute path. [#9287](https://github.com/microsoft/vscode-cpptools/issues/9287)
|
||||
* Fix formatting issue with vcFormat when using multi-byte UTF-8 sequences. [#9297](https://github.com/microsoft/vscode-cpptools/issues/9297)
|
||||
* Fix language server disabling due to a TypeError when invalid json values are used. [#9302](https://github.com/microsoft/vscode-cpptools/issues/9302)
|
||||
* Add support for "user" level and "workspace" level debug configurations. [#9319](https://github.com/microsoft/vscode-cpptools/issues/9319)
|
||||
* Prevent language service activation for macOS older than 10.12. [PR #9328](https://github.com/microsoft/vscode-cpptools/pull/9328)
|
||||
* Fix code analysis with g++ 12 system headers. [#9347](https://github.com/microsoft/vscode-cpptools/issues/9347)
|
||||
* Enable correct symbol parsing for methods that call loop-like macros without requiring the macro be added to cpp.hint. [#9378](https://github.com/microsoft/vscode-cpptools/issues/9378)
|
||||
* Fix a code analysis error when C++23 is used. [#9404](https://github.com/microsoft/vscode-cpptools/issues/9404)
|
||||
* Fix a potential crash in cpptools (in `get_identifier_at_offset`).
|
||||
* Other Run and Debug button updates/fixes.
|
||||
|
||||
## Version 1.9.8: April 20, 2022
|
||||
### Bug Fixes
|
||||
* Fix an issue with extension activation failing if `C_Cpp.intelliSenseEngine` was set to `Disabled`. [#9083](https://github.com/microsoft/vscode-cpptools/issues/9083)
|
||||
|
||||
## Version 1.9.7: March 23, 2022
|
||||
### New Features
|
||||
* Add debugger support for Apple M1 (osx-arm64). [#7035](https://github.com/microsoft/vscode-cpptools/issues/7035)
|
||||
* Resolves issue "[Big Sur M1] ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process exited with status -1 (attach failed ((os/kern) invalid argument))". [#6779](https://github.com/microsoft/vscode-cpptools/issues/6779)
|
||||
* Add a build and debug button when `C_Cpp.debugShortcut` is `true`. [#7497](https://github.com/microsoft/vscode-cpptools/issues/7497)
|
||||
* The "Build and Debug Active File" command has been split into "Debug C++ File" and "Run C++ File", and it has been removed from the context menu.
|
||||
* Add Alpine Linux arm64 support (VSIX).
|
||||
* Add x64 debugger for CppVsdbg on Windows x64.
|
||||
|
||||
### Enhancements
|
||||
* Reserved identifiers with characters that match typed characters in the correct order but not contiguously are initially filtered in the auto-completion list. Doing a `ctrl` + `space` in the same location will show all auto-complete suggestions. [#4939](https://github.com/microsoft/vscode-cpptools/issues/4939)
|
||||
* Add `dotConfig` property to IntelliSense Configuration (c_cpp_properties.json) to use .config file created by Kconfig system.
|
||||
* Matheus Castello (@microhobby) [PR #7845](https://github.com/microsoft/vscode-cpptools/pull/7845)
|
||||
* Rework how cancelation is processed for semantic tokens and folding operations. [PR #8739](https://github.com/microsoft/vscode-cpptools/pull/8739)
|
||||
* Make SwitchHeaderSource use the `workbench.editor.revealIfOpen` setting.
|
||||
* Joel Smith (@joelmsmith) [PR #8857](https://github.com/microsoft/vscode-cpptools/pull/8857)
|
||||
* Add tag parser error logging. [#8907](https://github.com/microsoft/vscode-cpptools/issues/8907)
|
||||
* Add error and warning messages if the VSIX for an incompatible or mismatching platform or architecture is installed. [#8908](https://github.com/microsoft/vscode-cpptools/issues/8908)
|
||||
* Add a "More Info" option when an incompatible VSIX is encountered. [PR #8920](https://github.com/microsoft/vscode-cpptools/pull/8920)
|
||||
* Add `;` to `break` and `continue` completion keywords. [#8932](https://github.com/microsoft/vscode-cpptools/issues/8932)
|
||||
* Prevent stripping of format specifiers from -exec commands.
|
||||
* Gareth Rees (@gareth-rees) [PR MIEngine#1277](https://github.com/microsoft/MIEngine/pull/1278)
|
||||
* Improve messages for unknown breakpoints and watchpoints.
|
||||
* Gareth Rees (@gareth-rees) [PR MIEngine#1282](https://github.com/microsoft/MIEngine/pull/1283)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix some IntelliSense parsing bugs. [#5117](https://github.com/microsoft/vscode-cpptools/issues/5117)
|
||||
* Fix IntelliSense process crashes caused by a stack overflow on Mac. [#7215](https://github.com/microsoft/vscode-cpptools/issues/7215), [#8653](https://github.com/microsoft/vscode-cpptools/issues/8653)
|
||||
* Fix exclusions not applying during tag parsing of non-recursive dependent includes. [#8702](https://github.com/microsoft/vscode-cpptools/issues/8702)
|
||||
* Fix issue that could cause an infinite loop when clicking on a preprocessor conditional directive. [#8717](https://github.com/microsoft/vscode-cpptools/issues/8717)
|
||||
* Fix excludes applying to cases it should not when running code analysis. [#8724](https://github.com/microsoft/vscode-cpptools/issues/8724)
|
||||
* Fix a crash when visualizing local variables for Microsoft Edge (msedge.exe) [#8738](https://github.com/microsoft/vscode-cpptools/issues/8738)
|
||||
* Fix some system defines being incorrectly removed when running code analysis. [#8740](https://github.com/microsoft/vscode-cpptools/issues/8740)
|
||||
* Prevent an error from being logged due to custom configuration processing prior to the provider being ready. [#8752](https://github.com/microsoft/vscode-cpptools/issues/8752)
|
||||
* Fix incorrect crash recovery with multi-root. [#8762](https://github.com/microsoft/vscode-cpptools/issues/8762)
|
||||
* Fix random compiler query, clang-tidy, or clang-format failure on Windows. [#8764](https://github.com/microsoft/vscode-cpptools/issues/8764)
|
||||
* Fix invoking commands before cpptools is activated. [#8785](https://github.com/microsoft/vscode-cpptools/issues/8785)
|
||||
* Fix a bug on Windows with semantic tokens updating. [#8799](https://github.com/microsoft/vscode-cpptools/issues/8799)
|
||||
* Fix tag parser failure due to missing DLL dependencies on Windows. [#8851](https://github.com/microsoft/vscode-cpptools/issues/8851)
|
||||
* Fix semantic tokens getting cleared for all other files in a TU after editing a file. [#8867](https://github.com/microsoft/vscode-cpptools/issues/8867)
|
||||
* Fix a bug and typos with cppbuild task providers.
|
||||
* InLAnn (@inlann) [PR #8897](https://github.com/microsoft/vscode-cpptools/pull/8897)
|
||||
* Fix an issue that could cause the extension to fail to start up properly. [PR #8906](https://github.com/microsoft/vscode-cpptools/pull/8906)
|
||||
* Fix handling of `-B` with compiler querying. [#8962](https://github.com/microsoft/vscode-cpptools/issues/8962)
|
||||
* Fix incorrect "Running clang-tidy" status indications with multi-root workspaces. [#8964](https://github.com/microsoft/vscode-cpptools/issues/8964)
|
||||
* Fix a crash during shutdown and potential database resetting due to shutdown being aborted too soon. [PR #8969](https://github.com/microsoft/vscode-cpptools/pull/8969)
|
||||
* Fix an issue that could cause the active file to not be configured by a configuration provider when custom configurations are reset. [#8974](https://github.com/microsoft/vscode-cpptools/issues/8974)
|
||||
* Fix detection of Visual Studio 2015. [#8975](https://github.com/microsoft/vscode-cpptools/issues/8975)
|
||||
* Fix mingw clang being detected as gcc. [#9024](https://github.com/microsoft/vscode-cpptools/issues/9024)
|
||||
* Fix a random crash on file open.
|
||||
* Fix some IntelliSense crashes.
|
||||
* Fix some IntelliSense parsing bugs.
|
||||
* Fix a bug with IntelliSense updating not working if a file was closed and reopened while its TU was processing an update.
|
||||
* Fix a potential heap corruption when `files.associations` are changed.
|
||||
* Update translated text.
|
||||
|
||||
### Documentation
|
||||
* Clarify how to get binaries when debugging the source from GitHub.
|
||||
* Hamir Mahal (@hamirmahal) [PR #8788](https://github.com/microsoft/vscode-cpptools/pull/8788)
|
||||
|
||||
## Version 1.8.4: February 7, 2022
|
||||
### Bug Fixes
|
||||
* Suppress incorrect warnings on ARM64 macOS. [#8756](https://github.com/microsoft/vscode-cpptools/issues/8756)
|
||||
* Fix debugger regressions. [#8760](https://github.com/microsoft/vscode-cpptools/issues/8760)
|
||||
* Remove `Offline Installation` section from README.md. [#8769](https://github.com/microsoft/vscode-cpptools/pull/8769)
|
||||
* Fix performance issue with loading large PDBs. [#8775](https://github.com/microsoft/vscode-cpptools/issues/8775)
|
||||
|
||||
## Version 1.8.2: January 31, 2022
|
||||
### New Features
|
||||
* Add data breakpoints (memory read/write interrupts) with `gdb` debugging. [#1410](https://github.com/microsoft/vscode-cpptools/issues/1410)
|
||||
* Add "All Exceptions" Breakpoint for cppdbg [#1800](https://github.com/microsoft/vscode-cpptools/issues/1800)
|
||||
* Add multi-threaded code analysis (using `clang-tidy`) based on the IntelliSense configuration. It defaults to using up to half the cores, but it can be changed via the `C_Cpp.codeAnalysis.maxConcurrentThreads` setting. [#2908](https://github.com/microsoft/vscode-cpptools/issues/2908)
|
||||
* Add support for Alpine Linux [#4827](https://github.com/microsoft/vscode-cpptools/issues/4827)
|
||||
* Implement platform-specific VSIX's via the marketplace. [#8152](https://github.com/microsoft/vscode-cpptools/issues/8152)
|
||||
|
||||
### Enhancements
|
||||
* The maximum number of threads to use for Find All References can be configured with the `C_Cpp.references.maxConcurrentThreads` settings. [#4036](https://github.com/microsoft/vscode-cpptools/issues/4036)
|
||||
* The IntelliSense processes launched to confirm references during Find All References can be cached via the `C_Cpp.references.maxCachedProcesses` setting. [#4038](https://github.com/microsoft/vscode-cpptools/issues/4038)
|
||||
* The maximum number of IntelliSense processes can be configured with the `C_Cpp.intelliSense.maxCachedProcesses` setting, and the number of processes will automatically decrease when the free memory becomes < 256 MB and it can be configured to use less memory via the `maxMemory` settings (memory usage from code analysis is not handled yet). [#4811](https://github.com/microsoft/vscode-cpptools/issues/4811)
|
||||
* Switch from 32-bit to 64-bit binaries on 64-bit Windows. [#7230](https://github.com/microsoft/vscode-cpptools/issues/7230)
|
||||
* Add a compiler arg to the generated gcc build task to display colored text. [PR #8165](https://github.com/microsoft/vscode-cpptools/pull/8165)
|
||||
* Add `static` and other modifiers to IntelliSense hover results. [#8173](https://github.com/microsoft/vscode-cpptools/issues/8173)
|
||||
* Add a configuration warning when the default compiler modifies an explicitly set `intelliSenseMode`.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix several IntelliSense bugs. [#5704](https://github.com/microsoft/vscode-cpptools/issues/5704), [#6759](https://github.com/microsoft/vscode-cpptools/issues/6759), [#8412](https://github.com/microsoft/vscode-cpptools/issues/8412), [#8434](https://github.com/microsoft/vscode-cpptools/issues/8434)
|
||||
* Fix newlines not being handled in comments with a Doxygen tag. [#5741](https://github.com/microsoft/vscode-cpptools/issues/5741)
|
||||
* Fix Doxygen comments with `\0` being truncated. [#6084](https://github.com/microsoft/vscode-cpptools/issues/6084)
|
||||
* Fix `files.exclude` not working for directories external to the active workspace folder. [#6877](https://github.com/microsoft/vscode-cpptools/issues/6877)
|
||||
* Fix [MSYS2 GDB 10.2] gdb: ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". Error creating process [#7706](https://github.com/microsoft/vscode-cpptools/issues/7706)
|
||||
* Fix a bug with vcFormat inserting additional spaces between `}` and `else`. [#7731](https://github.com/microsoft/vscode-cpptools/issues/7731)
|
||||
* Fix GCC system include processing on Windows. [#8112](https://github.com/microsoft/vscode-cpptools/issues/8112), [#8496](https://github.com/microsoft/vscode-cpptools/issues/8496)
|
||||
* Remove redundant cl.exe from the build and debug active file configuration list. [#8168](https://github.com/microsoft/vscode-cpptools/issues/8168)
|
||||
* Fix string elements to render as code in the IntelliSense configuration UI. [PR #8271](https://github.com/microsoft/vscode-cpptools/pull/8271)
|
||||
* Fix IntelliSense process crash on AMD Ryzen 3000 series processors without updated drivers. [#8312](https://github.com/microsoft/vscode-cpptools/issues/8312)
|
||||
* Fix bug with `wmic` not being recognized during Windows attach debugging. [#8328](https://github.com/microsoft/vscode-cpptools/issues/8328)
|
||||
* Fix Go to Type Definition on pointer types. [#8337](https://github.com/microsoft/vscode-cpptools/issues/8337)
|
||||
* Fix a "Cannot read property" error during deactivation if the language service wasn't fully activated. [#8354](https://github.com/microsoft/vscode-cpptools/issues/8354)
|
||||
* Fix an issue in which the language id for header files were not updated to match the source file of its TU. [#8381](https://github.com/microsoft/vscode-cpptools/issues/8381)
|
||||
* Fix parsing of `bit_cast` with gcc mode IntelliSense. [#8434](https://github.com/microsoft/vscode-cpptools/issues/8434)
|
||||
* Fix the tag parser getting stuck on certain code. [#8459](https://github.com/microsoft/vscode-cpptools/issues/8459)
|
||||
* Fix an invalid success message when a build task fails. [#8467](https://github.com/microsoft/vscode-cpptools/issues/8467)
|
||||
* Fix compiler querying with certain Cygwin/MSYS2 compilers on Windows. [#8496](https://github.com/microsoft/vscode-cpptools/issues/8496)
|
||||
* Fix a bug with conditional breakpoints. [#8515](https://github.com/microsoft/vscode-cpptools/issues/8515)
|
||||
* Fix non-ASCII output with `cppbuild` tasks. [#8518](https://github.com/microsoft/vscode-cpptools/issues/8518)
|
||||
* Fix 3 settings not getting environment variables resolved after a settings change. [#8531](https://github.com/microsoft/vscode-cpptools/issues/8531)
|
||||
* Don't block running a task if it doesn't use the active file. [#8586](https://github.com/microsoft/vscode-cpptools/issues/8586)
|
||||
* Fix a command not found error message after clicking the database status icon when commands aren't available. [#8599](https://github.com/microsoft/vscode-cpptools/issues/8599)
|
||||
* Fix /RTC compiler checks failures don't break into debugger [#8646](https://github.com/microsoft/vscode-cpptools/issues/8646)
|
||||
* Fix workspace rescanning (tag parsing) not automatically happening after c/cpp associations are added to `files.associations`. [#8687](https://github.com/microsoft/vscode-cpptools/issues/8687)
|
||||
* Fix debugging when Windows binaries are linked with /PDBPageSize > 4k. [#8690](https://github.com/microsoft/vscode-cpptools/issues/8690)
|
||||
* Switch usage of `-dD` to `-dM` when compiler querying. [#8692](https://github.com/microsoft/vscode-cpptools/issues/8692)
|
||||
* Fix breakpoints with msys2 gcc. [#8696](https://github.com/microsoft/vscode-cpptools/issues/8696)
|
||||
* Fix no document symbols appearing in certain cases. [#8726](https://github.com/microsoft/vscode-cpptools/issues/8726)
|
||||
* Fix an issue in which multiple (potentially different) diagnostics were delivered for headers shared by multiple TUs.
|
||||
* Fix some translations.
|
||||
|
||||
### Other
|
||||
* Remove trailing whitespaces in source code.
|
||||
* Alexander (@Gordon01) [PR #8254](https://github.com/microsoft/vscode-cpptools/pull/8254)
|
||||
|
||||
## Version 1.7.1: October 19, 2021
|
||||
### Bug Fixes
|
||||
* Fix an extension crash that occurred on activation while a workspace is open with no folders in it. [#8280](https://github.com/microsoft/vscode-cpptools/issues/8280)
|
||||
* Fix an issue in which configuration defaults were not properly applied. [#8298](https://github.com/microsoft/vscode-cpptools/pull/8298)
|
||||
|
||||
## Version 1.7.0: October 13, 2021
|
||||
### New Features
|
||||
* Add a command to restart IntelliSense for a specific file. [#3727](https://github.com/microsoft/vscode-cpptools/issues/3727)
|
||||
* Add support for macOS app bundles [#6726](https://github.com/microsoft/vscode-cpptools/issues/6726)
|
||||
* [PR MIEngine#1091](https://github.com/microsoft/MIEngine/pull/1091)
|
||||
* Add support for Go To / Peek Type Definition. [#7999](https://github.com/microsoft/vscode-cpptools/issues/7999)
|
||||
|
||||
### Enhancements
|
||||
* Detect IntelliSenseMode target architecture for `cl.exe` based on its path. [#8044](https://github.com/microsoft/vscode-cpptools/issues/8044)
|
||||
* In generated build tasks, add a compiler arg to cause color to be displayed in gcc/clang output in terminal. [PR #8165](https://github.com/microsoft/vscode-cpptools/pull/8165)
|
||||
* Add new configuration `mergeConfigurations` that enables include paths, defines, and forced includes from c_cpp_properties.json to be merged with those provided by a configuration provider.
|
||||
* Thomas Willson (@willson556) [PR #8174](https://github.com/microsoft/vscode-cpptools/pull/8174)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix an issue with signature help for overloaded constructors. [#1664](https://github.com/microsoft/vscode-cpptools/issues/1664)
|
||||
* Add markdown to settings descriptions. [#4544](https://github.com/microsoft/vscode-cpptools/issues/4544)
|
||||
* Fix an IntelliSense process crash. [#5584](https://github.com/microsoft/vscode-cpptools/issues/5548), [#8110](https://github.com/microsoft/vscode-cpptools/issues/8110)
|
||||
* Fix an issue with incorrect E0513 and E0167 IntelliSense errors. [#6338](https://github.com/microsoft/vscode-cpptools/issues/6338)
|
||||
* Fix issue with IntelliSense for anonymous members. [#6412](https://github.com/microsoft/vscode-cpptools/issues/6412)
|
||||
* Fix an issue with incorrect "no suitable user-defined conversion" errors. [#6721](https://github.com/microsoft/vscode-cpptools/issues/6721)
|
||||
* Fix some issues with punctuation in setting descriptions. [#6870](https://github.com/microsoft/vscode-cpptools/issues/6870)
|
||||
* Add descriptions for setting enum values. [#7358](https://github.com/microsoft/vscode-cpptools/issues/7358)
|
||||
* Add support for `${execPath}` and `${pathSeparator}` in `c_cpp_properties.json`. [#7753](https://github.com/microsoft/vscode-cpptools/issues/7753)
|
||||
* Move the scope of document symbols from the name (on the left) to the details (on the right). [#7785](https://github.com/microsoft/vscode-cpptools/issues/7785)
|
||||
* Fix an issue with config validation of Force Include values. [#7822](https://github.com/microsoft/vscode-cpptools/issues/7822)
|
||||
* Fix an issue related to arg parsing in build tasks. [#7891](https://github.com/microsoft/vscode-cpptools/issues/7891)
|
||||
* Add a check when cppbuild task is used when the active file is not a source file. [#7892](https://github.com/microsoft/vscode-cpptools/issues/7892)
|
||||
* Fix a cpptools crash [#8055](https://github.com/microsoft/vscode-cpptools/issues/8055)
|
||||
* Fix issue "LogPoint stopped working v1.6.0". [#8065](https://github.com/microsoft/vscode-cpptools/issues/8065)
|
||||
* [PR MIEngine#1208](https://github.com/microsoft/MIEngine/pull/1208)
|
||||
* Fix issue "Debugger won't read/write from/to stdio". [#8075](https://github.com/microsoft/vscode-cpptools/issues/8075)
|
||||
* [PR MIEngine#1209](https://github.com/microsoft/MIEngine/pull/1209)
|
||||
* Fix an issue with VC 14.0 headers not being found. [#8078](https://github.com/microsoft/vscode-cpptools/issues/8078)
|
||||
* Fix an issue with CUDA support with `compile_commands.json`. [#8091](https://github.com/microsoft/vscode-cpptools/issues/8091)
|
||||
* Fix an issue with `/kernel` arg to `cl.exe` for C files. [#8158](https://github.com/microsoft/vscode-cpptools/issues/8158)
|
||||
* Fix an issue where inactive regions no longer dimmed after switching between open files. [#8206](https://github.com/microsoft/vscode-cpptools/issues/8206)
|
||||
|
||||
## Version 1.6.0: August 24, 2021
|
||||
### New Features
|
||||
* Added support for standard `.editorconfig` entries when using vcFormat. [#7920](https://github.com/microsoft/vscode-cpptools/issues/7920)
|
||||
* Debug Step Granularity for cppdbg [PR MIEngine#1169](https://github.com/microsoft/MIEngine/pull/1169)
|
||||
* Thank you for the contribution @Trass3r
|
||||
* InstructionBreakpoints for cppdbg [PR MIEgnine#1192](https://github.com/microsoft/MIEngine/pull/1192)
|
||||
|
||||
### Enhancements
|
||||
* Debugger now runs on .NET 5 [#7858](https://github.com/microsoft/vscode-cpptools/pull/7858)
|
||||
* When using the `Default` setting for `C_Cpp.formatting`, vcFormat will now be selected if a `.editorconfig` file is found with vcFormat entries and no `.clang-format` file was found with nearer proximity to the source file. [#7929](https://github.com/microsoft/vscode-cpptools/issues/7929)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix incorrect sizeof for packed structs (gcc/clang) [#5267](https://github.com/microsoft/vscode-cpptools/issues/5267)
|
||||
* Fix designated initializers not working at file scope. [#6316](https://github.com/microsoft/vscode-cpptools/issues/6316)
|
||||
* Fix an IntelliSense crash on template code. [#7349](https://github.com/microsoft/vscode-cpptools/issues/7349)
|
||||
* Rank existence of a custom configuration higher than filename similarity and path proximity, when choosing a TU source for a header [#7396](https://github.com/microsoft/vscode-cpptools/issues/7396)
|
||||
* Fix an IntelliSense crash when the display language is set to Italian. [#7685](https://github.com/microsoft/vscode-cpptools/issues/7685)
|
||||
* Enable the C++ status bar items to be selectively disabled. [#7700](https://github.com/microsoft/vscode-cpptools/issues/7700)
|
||||
* Fix an issue causing incorrect color selection for semantic tokens. [#7773](https://github.com/microsoft/vscode-cpptools/issues/7773)
|
||||
* Fix some cl.exe and clang installations not being detected. [#7767](https://github.com/microsoft/vscode-cpptools/issues/7767) [#7795](https://github.com/microsoft/vscode-cpptools/issues/7795) [#7800](https://github.com/microsoft/vscode-cpptools/issues/7800)
|
||||
* Fix an issue with recursive includes not found. [#7783](https://github.com/microsoft/vscode-cpptools/issues/7783)
|
||||
* Fix an issue with code folding of single-line blocks. [#7809](https://github.com/microsoft/vscode-cpptools/issues/7809)
|
||||
* Fix a typo in a localized string. [#7823](https://github.com/microsoft/vscode-cpptools/issues/7823)
|
||||
* Add open file parsing status when hovering over the database icon. [PR #7831](https://github.com/microsoft/vscode-cpptools/pull/7831)
|
||||
* Fix an issue with IntelliSense flame icon getting stuck on. [#7838](https://github.com/microsoft/vscode-cpptools/issues/7838)
|
||||
* Fix an issue with character position after include completion. [#7856](https://github.com/microsoft/vscode-cpptools/issues/7856)
|
||||
* Fix wrong version of clang-format being used in multi-root workspaces. [#7870](https://github.com/microsoft/vscode-cpptools/issues/7870)
|
||||
* Fix issue with setting of MS extensions when `-fms-extensions` is used. [#7886](https://github.com/microsoft/vscode-cpptools/issues/7886)
|
||||
* Fix an issue with support detection on Android. [#7906](https://github.com/microsoft/vscode-cpptools/issues/7906)
|
||||
* Fix a bug with handling of `"C_Cpp.vcFormat.newLine.beforeOpenBrace.block": "newLine"`. [#7926](https://github.com/microsoft/vscode-cpptools/issues/7926)
|
||||
* Fix Disassembly view is blank on linux [#7960](https://github.com/microsoft/vscode-cpptools/issues/7960)
|
||||
* Fix an issue with cppdbg debugging on Windows x64. [#7971](https://github.com/microsoft/vscode-cpptools/issues/7971)
|
||||
* Fix an issue with VS `<execution>` header causing IntelliSense process crash. [#7972](https://github.com/microsoft/vscode-cpptools/issues/7972)
|
||||
* Fix insiders update install loop for remote scenarios. [#8000](https://github.com/microsoft/vscode-cpptools/issues/8000)
|
||||
* Fix macOS unable to use external terminal to debug [#8008](https://github.com/microsoft/vscode-cpptools/issues/8008)
|
||||
|
||||
## Version 1.5.1: July 9, 2021
|
||||
### Bug Fixes
|
||||
* cppvsdbg Debugging becomes no-op between 1.4.1 and 1.5.0 [#7808](https://github.com/microsoft/vscode-cpptools/issues/7808)
|
||||
|
||||
## Version 1.5.0: July 8, 2021
|
||||
### New Feature
|
||||
* Add the "Inline macro" code action. [#4183](https://github.com/microsoft/vscode-cpptools/issues/4183)
|
||||
* Add a Windows ARM64 debugger. [PR #7798](https://github.com/microsoft/vscode-cpptools/pull/7798)
|
||||
|
||||
### Enhancements
|
||||
* Add auto-detection of clang compilers on Windows (and different versions of cl.exe). [#6718](https://github.com/microsoft/vscode-cpptools/issues/6718)
|
||||
* Stop adding .cu files to `files.associations` (switch to using setTextDocumentLanguage). [#7359](https://github.com/microsoft/vscode-cpptools/issues/7359)
|
||||
* Add "Symbol Options" for CppVsdbg to configure symbol settings [PR #7680](https://github.com/microsoft/vscode-cpptools/pull/7680)
|
||||
* Update CppVsdbg to use newer CppEE and msdia.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix switch header/source not checking `files.exclude`. [#4429](https://github.com/microsoft/vscode-cpptools/issues/4429)
|
||||
* Fix code folding causing `} else if` lines to be hidden. [#5521](https://github.com/microsoft/vscode-cpptools/issues/5521)
|
||||
* Add abort handling to recursive includes directory iteration. [#6461](https://github.com/microsoft/vscode-cpptools/issues/6461)
|
||||
* Fix include completion with recursive includes in header files. [#6842](https://github.com/microsoft/vscode-cpptools/issues/6842)
|
||||
* Add the get-task-allow entitlement to macOS binaries to enable call stacks to be obtained when SIP is enabled. [#7412](https://github.com/microsoft/vscode-cpptools/issues/7412)
|
||||
* Fix Find All References reporting certain references in headers as inactive. [#7609](https://github.com/microsoft/vscode-cpptools/issues/7609)
|
||||
* Fix IntelliSense process crash and tag parser failure with columns > 65535. [#7621](https://github.com/microsoft/vscode-cpptools/issues/7621)
|
||||
* Fix incorrect localization translations.
|
||||
* jogo- (@jogo-) [PR #7625](https://github.com/microsoft/vscode-cpptools/pull/7625)
|
||||
* Fix `autocompleteAddParentheses` for some template argument deduction cases. [#7626](https://github.com/microsoft/vscode-cpptools/issues/7626)
|
||||
* Fix some incorrect IntelliSense errors. [#6639](https://github.com/microsoft/vscode-cpptools/issues/6639), [#7630](https://github.com/microsoft/vscode-cpptools/issues/7630)
|
||||
* Change references of "OS X" to "macOS".
|
||||
* Tyler Davis (@TylerADavis) [PR #7636](https://github.com/microsoft/vscode-cpptools/pull/7636)
|
||||
* Prevent the root path from being added to the `browse.path`. [#7648](https://github.com/microsoft/vscode-cpptools/issues/7648)
|
||||
* Fix a configuration squiggle when `${workspaceFolder}` is used with `compilerPath`. [#7649](https://github.com/microsoft/vscode-cpptools/issues/7649)
|
||||
* Fix an issue causing editorConfig not to be used or cached. [PR #7666](https://github.com/microsoft/vscode-cpptools/pull/7666)
|
||||
* Fix document symbols nesting with templates. [#7673](https://github.com/microsoft/vscode-cpptools/issues/7673)
|
||||
* Fix include paths not being found when the paths start with /D or /I. [#7701](https://github.com/microsoft/vscode-cpptools/issues/7701), [#7757](https://github.com/microsoft/vscode-cpptools/issues/7756)
|
||||
* Fix Find All References on a global variable giving incorrect references to local variables. [#7702](https://github.com/microsoft/vscode-cpptools/issues/7702)
|
||||
* Fix `vcFormat` not working near the end of the file with UTF-8 characters > 1 byte. [#7704](https://github.com/microsoft/vscode-cpptools/issues/7704)
|
||||
* Fix a configuration squiggle for a recursively resolved `forcedInclude`. [PR #7722](https://github.com/microsoft/vscode-cpptools/pull/7722)
|
||||
* Fix `Build and Debug Active File` for certain file extensions (.cu, .cp, etc.).
|
||||
* jogo- (@jogo-) [PR #7726](https://github.com/microsoft/vscode-cpptools/pull/7726)
|
||||
* Fix `browse.path` being incorrect if an invalid `compileCommands` is set. [#7737](https://github.com/microsoft/vscode-cpptools/issues/7737)
|
||||
* Fix an incorrect error message when `C_Cpp.errorSquiggles` is `"Enabled"`. [#7744](https://github.com/microsoft/vscode-cpptools/issues/7744)
|
||||
* Fix compiler querying sometimes not working with Cygwin. [#7751](https://github.com/microsoft/vscode-cpptools/issues/7751)
|
||||
* Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
|
||||
* Fix a potential IntelliSense process crash on shutdown.
|
||||
|
||||
## Version 1.4.1: June 8, 2021
|
||||
### Bug Fixes
|
||||
* Fix the configuration UI sometimes not populating initially with VS Code 1.56 or later. [#7641](https://github.com/microsoft/vscode-cpptools/issues/7641)
|
||||
|
||||
## Version 1.4.0: May 27, 2021
|
||||
### New Features
|
||||
* Add a C++ walkthrough to the "Getting Started" page. [#7273](https://github.com/microsoft/vscode-cpptools/issues/7273)
|
||||
* Note: VS Code may only make this available to a subset of users while they continue working on the feature.
|
||||
|
||||
### Enhancements
|
||||
* Update to clang-format 12. [#6434](https://github.com/microsoft/vscode-cpptools/issues/6434)
|
||||
* Add `private` or `protected` scope labels to class symbols. [#7120](https://github.com/microsoft/vscode-cpptools/issues/7120)
|
||||
* Fix file:line path for $FILEPOS [#7193](https://github.com/microsoft/vscode-cpptools/issues/7193)
|
||||
* [PR MIEngine#1124](https://github.com/microsoft/MIEngine/pull/1124)
|
||||
* Add `stopAtConnect` and `hardwareBreakpoints` launch options [PR #7449](https://github.com/microsoft/vscode-cpptools/pull/7449)
|
||||
* `stopAtConnect` stops the debugger on connection to a remote target [PR MIEngine#1109](https://github.com/microsoft/MIEngine/pull/1109)
|
||||
* `hardwareBreakpoints` controls usage and number of remote hardware breakpoints [PR MIEngine#1128](https://github.com/microsoft/MIEngine/pull/1128)
|
||||
* Add support for loading Concord extensions to the cppvsdbg debug adapter (see [documentation](https://github.com/microsoft/ConcordExtensibilitySamples/wiki/Support-for-VS-Code-cppvsdbg-Scenarios) for more information)
|
||||
* Add support for exception conditions to cppvsdbg (see [documentation](https://aka.ms/VSCode-Cpp-ExceptionSettings) for more information)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix an incorrect IntelliSense error with object initialization. [#3212](https://github.com/microsoft/vscode-cpptools/issues/3212)
|
||||
* Fix IntelliSense errors with designated initializers. [#3491](https://github.com/microsoft/vscode-cpptools/issues/3491), [#5500](https://github.com/microsoft/vscode-cpptools/issues/5550)
|
||||
* Fix IntelliSense configuration with cl.exe compiler args `/external:I`, `/Zc:preprocessor`, and others. [#4980](https://github.com/microsoft/vscode-cpptools/issues/4980), [#6531](https://github.com/microsoft/vscode-cpptools/issues/6531), [#7259](https://github.com/microsoft/vscode-cpptools/issues/7259)
|
||||
* Switch to showing no document symbols instead of random symbols for `files.exclude`'d documents. [#5142](https://github.com/microsoft/vscode-cpptools/issues/5142)
|
||||
* Fix macros getting undefined when duplicate `#include` are used. [#5182](https://github.com/microsoft/vscode-cpptools/issues/5182), [#7270](https://github.com/microsoft/vscode-cpptools/issues/7270)
|
||||
* Fix provider failed error logging. [#5487](https://github.com/microsoft/vscode-cpptools/issues/5487)
|
||||
* Fix an IntelliSense crash with `#pragma GCC target`. [#6698](https://github.com/microsoft/vscode-cpptools/issues/6698), [#7377](https://github.com/microsoft/vscode-cpptools/issues/7377)
|
||||
* Fix bitness detection for compilers targeting esp32. [#7034](https://github.com/microsoft/vscode-cpptools/issues/7034)
|
||||
* Fix -idirafter directories being included too early. [#7129](https://github.com/microsoft/vscode-cpptools/issues/7129)
|
||||
* Fix issue with the cpptools process lingering when no longer needed. [#7262](https://github.com/microsoft/vscode-cpptools/issues/7262)
|
||||
* Filter out C++ std when querying the compiler as C (and vice versa). [#7269](https://github.com/microsoft/vscode-cpptools/issues/7269)
|
||||
* Fix `files.exclude` ending with `/folder/**` not excluding `/folder`. [#7331](https://github.com/microsoft/vscode-cpptools/issues/7331)
|
||||
* Fix VS Code UI freezing when hovering over very large literals. [#7334](https://github.com/microsoft/vscode-cpptools/issues/7334), [#7577](https://github.com/microsoft/vscode-cpptools/issues/7577)
|
||||
* Fix clang-format formatting bug when new lines are removed. [#7360](https://github.com/microsoft/vscode-cpptools/issues/7360)
|
||||
* Change default cwd in launch.json to `${fileDirname}`. [#7362](https://github.com/microsoft/vscode-cpptools/issues/7362)
|
||||
* Syed Ahmad (@HackintoshwithUbuntu) [PR #7363](https://github.com/microsoft/vscode-cpptools/pull/7363)
|
||||
* Fix the compile commands entry not being used when -Werror is used. [#7388](https://github.com/microsoft/vscode-cpptools/issues/7388)
|
||||
* Fix some potential race conditions during vsix installation. [#7405](https://github.com/microsoft/vscode-cpptools/issues/7405)
|
||||
* Fix completion at the end of a file. [#7472](https://github.com/microsoft/vscode-cpptools/issues/7472)
|
||||
* Fix completion of constructors. [#7505](https://github.com/microsoft/vscode-cpptools/issues/7505)
|
||||
* Fix typos.
|
||||
* jogo- (@jogo-) [PR #7509](https://github.com/microsoft/vscode-cpptools/pull/7509), [PR #7568](https://github.com/microsoft/vscode-cpptools/pull/7568), [PR #7573](https://github.com/microsoft/vscode-cpptools/pull/7573)
|
||||
* Fix an IntelliSense crash with the arrow library. [#7518](https://github.com/microsoft/vscode-cpptools/issues/7518)
|
||||
* Fix the configuration UI randomly being blank (more frequently when remote). [#7523](https://github.com/microsoft/vscode-cpptools/issues/7523)
|
||||
* Fix IntelliSense mode switching from `linux` to `macos` if `__unix__` is defined but `__linux__` is not. [#7525](https://github.com/microsoft/vscode-cpptools/issues/7525)
|
||||
* Fix enabling of the `ms_extensions` flag for clang on Windows. [#7529](https://github.com/microsoft/vscode-cpptools/issues/7529)
|
||||
* Fix `autocompleteAddParentheses` with no argument const/non-const overloads and deduction guides. [#7540](https://github.com/microsoft/vscode-cpptools/issues/7540), [#7541](https://github.com/microsoft/vscode-cpptools/issues/7541)
|
||||
* Fix the browse configuration not being preserved when the configuration provider is auto-detected. [#7542](https://github.com/microsoft/vscode-cpptools/issues/7542)
|
||||
* Fix clang-format failure on macOS 10.13 or older. [#7561](https://github.com/microsoft/vscode-cpptools/issues/7561)
|
||||
* Fix an IntelliSense crash with std::ranges::unique. [#7576](https://github.com/microsoft/vscode-cpptools/issues/7576)
|
||||
* Prevent 'Configuration Warnings' output when a custom configuration provider omits optional fields.
|
||||
* Prevent 'Configuration Warnings' caused by corrections to auto-detected default configuration values.
|
||||
* Reduce IntelliSense memory and CPU usage in certain scenarios (e.g. large files).
|
||||
* Fix a crash on Linux with a `/**` includePath.
|
||||
|
||||
## Version 1.3.1: April 19, 2021
|
||||
### Bug Fixes
|
||||
* Fix extension not activating when `/.vscode/c_cpp_properties.json` exists but no C/C++ file is open. [#7344](https://github.com/microsoft/vscode-cpptools/issues/7344)
|
||||
* Fix logging for an invalid provider configuration.
|
||||
* Yonggang Luo (@lygstate) [PR #7350](https://github.com/microsoft/vscode-cpptools/pull/7350)
|
||||
* Fix extension activation with 32-bit Windows. [#7368](https://github.com/microsoft/vscode-cpptools/issues/7368)
|
||||
|
||||
## Version 1.3.0: April 13, 2021
|
||||
### New Features
|
||||
* Add language service support for CUDA.
|
||||
* Add highlighting of matching conditional preprocessor statements. [#2565](https://github.com/microsoft/vscode-cpptools/issues/2565)
|
||||
* Add commands for navigating to matching preprocessor directives in conditional groups. [#4779](https://github.com/microsoft/vscode-cpptools/issues/4779)
|
||||
* Add native language service binaries for ARM64 Mac. [#6595](https://github.com/microsoft/vscode-cpptools/issues/6595)
|
||||
|
||||
### Enhancements
|
||||
* Add parentheses to function calls when `C_Cpp.autocompleteAddParentheses` is `true`. [#882](https://github.com/microsoft/vscode-cpptools/issues/882)
|
||||
* Add @retval support to the simplified view of doc comments. [#6816](https://github.com/microsoft/vscode-cpptools/issues/6816)
|
||||
* Add auto-closing of include completion brackets. [#7054](https://github.com/microsoft/vscode-cpptools/issues/7054)
|
||||
* Add support for nodeAddonIncludes with Yarn PnP.
|
||||
* Mestery (@Mesterry) [PR #7123](https://github.com/microsoft/vscode-cpptools/pull/7123)
|
||||
* Add a `C_Cpp.files.exclude` setting, which is identical to `files.exclude` except items aren't excluded from the Explorer view. [PR #7285](https://github.com/microsoft/vscode-cpptools/pull/7285)
|
||||
|
||||
### Bug Fixes
|
||||
* Display integer values for char and unsigned char on hover instead of character symbols. [#1552](https://github.com/microsoft/vscode-cpptools/issues/1552)
|
||||
* Fix directory iteration to check files.exclude and symlinks and use less memory. [#3123](https://github.com/microsoft/vscode-cpptools/issues/3123), [#4206](https://github.com/microsoft/vscode-cpptools/issues/4206), [#6864](https://github.com/microsoft/vscode-cpptools/issues/6864)
|
||||
* Fix an issue with stale IntelliSense due to moving or renaming header files. [#3849](https://github.com/microsoft/vscode-cpptools/issues/3849)
|
||||
* Fix go to definition on large macros. [#4306](https://github.com/microsoft/vscode-cpptools/issues/4306)
|
||||
* Fix a spurious asterisk being inserted on a new line if the previous line starts with an asterisk. [#5733](https://github.com/microsoft/vscode-cpptools/issues/5733)
|
||||
* Fix bug with placement new on Windows with gcc mode. [#6246](https://github.com/microsoft/vscode-cpptools/issues/6246)
|
||||
* Fix size_t and placement new squiggles with clang on Windows. [#6573](https://github.com/microsoft/vscode-cpptools/issues/6573), [#7106](https://github.com/microsoft/vscode-cpptools/issues/7016)
|
||||
* Fix an incorrect IntelliSense error squiggle when assigning to std::variant in clang mode. [#6623](https://github.com/microsoft/vscode-cpptools/issues/6623)
|
||||
* Fix incorrect squiggle with range-v3 library. [#6639](https://github.com/microsoft/vscode-cpptools/issues/6639)
|
||||
* Fix incorrect squiggle with auto parameters. [#6714](https://github.com/microsoft/vscode-cpptools/issues/6714)
|
||||
* Fix (reimplement) nested document symbols. [#6830](https://github.com/microsoft/vscode-cpptools/issues/6830), [#7023](https://github.com/microsoft/vscode-cpptools/issues/7023), [#7024](https://github.com/microsoft/vscode-cpptools/issues/7024)
|
||||
* Fix detection of bitness for compilers targeting esp32. [#7034](https://github.com/microsoft/vscode-cpptools/issues/7034)
|
||||
* Fix include completion not working after creating a new header with a non-standard extension until a reload is done. [#6987](https://github.com/microsoft/vscode-cpptools/issues/6987), [#7061](https://github.com/microsoft/vscode-cpptools/issues/7061)
|
||||
* Fix endless CPU/memory usage in cpptools-srv when certain templated type aliases are used. [#7085](https://github.com/microsoft/vscode-cpptools/issues/7085)
|
||||
* Fix "No symbols found" sometimes occurring when a document first opens. [#7103](https://github.com/microsoft/vscode-cpptools/issues/7103)
|
||||
* Fix vcFormat formatting after typing brackets and a newline. [#7125](https://github.com/microsoft/vscode-cpptools/issues/7125)
|
||||
* Fix a performance bug after formatting a document. [#7159](https://github.com/microsoft/vscode-cpptools/issues/7159)
|
||||
* Fix random crashes of cpptools-srv during shutdown. [#7161](https://github.com/microsoft/vscode-cpptools/issues/7161)
|
||||
* Fix a bug with relative "." paths in compile commands. [#7221](https://github.com/microsoft/vscode-cpptools/issues/7221)
|
||||
* Fix configuration issues with Unreal Engine projects. [#7222](https://github.com/microsoft/vscode-cpptools/issues/7222)
|
||||
* Fix bug when `${workspaceFolder}` is used in `compileCommands`. [#7241](https://github.com/microsoft/vscode-cpptools/issues/7241)
|
||||
* Aleksa Pavlovic (@aleksa2808) [PR #7242](https://github.com/microsoft/vscode-cpptools/pull/7242)
|
||||
* Fix field requirements for custom configurations. [PR #7295](https://github.com/microsoft/vscode-cpptools/pull/7295)
|
||||
* Fix integrity hash checking of downloaded packages for the extension. [PR #7300](https://github.com/microsoft/vscode-cpptools/pull/7300)
|
||||
* Fix a bug preventing successful validation and receipt of browse configurations from custom configuration providers. [PR# 7131](https://github.com/microsoft/vscode-cpptools/pull/7313)
|
||||
* Fix a potential crash when editing at the end of a document.
|
||||
* Fix "Configure Task" selection to show root folder names for multi-root workspace [PR #7315](https://github.com/microsoft/vscode-cpptools/pull/7315)
|
||||
|
||||
## Version 1.2.2: February 25, 2021
|
||||
### Bug Fixes
|
||||
* Fix IntelliSense errors with variable length arrays with C Clang mode. [#6500](https://github.com/microsoft/vscode-cpptools/issues/6500)
|
||||
* Fix for random IntelliSense communication failures on Mac. [#6809](https://github.com/microsoft/vscode-cpptools/issues/6809), [#6958](https://github.com/microsoft/vscode-cpptools/issues/6958)
|
||||
* Fix an extension activation failure when a non-existent folder exists in the workspace. [#6981](https://github.com/microsoft/vscode-cpptools/issues/6981)
|
||||
* Fix infinite loops during document symbol processing. [#6988](https://github.com/microsoft/vscode-cpptools/issues/6988), [#7012](https://github.com/microsoft/vscode-cpptools/issues/7012), [#7022](https://github.com/microsoft/vscode-cpptools/issues/7022), [#7025](https://github.com/microsoft/vscode-cpptools/issues/7025)
|
||||
* Fix a regression with handling of -isysroot/--sysroot compiler arguments. [#6992](https://github.com/microsoft/vscode-cpptools/issues/6992)
|
||||
|
||||
## Version 1.2.2-insiders: February 17, 2021
|
||||
### Bug Fixes
|
||||
* Fix for random IntelliSense communication failures on Mac. Potentially fixes: [#6809](https://github.com/microsoft/vscode-cpptools/issues/6809), [#6958](https://github.com/microsoft/vscode-cpptools/issues/6958)
|
||||
* Potential fix for an "Unable to start the C/C++ language server" error. [#6981](https://github.com/microsoft/vscode-cpptools/issues/6981)
|
||||
* Fix issue querying certain compilers, including armclang and arm-poky-linux-musleabi-gcc. [#7021](https://github.com/microsoft/vscode-cpptools/issues/7021)
|
||||
* Fix invalid "console" property when generating a "cppdbg" task. [#7048](https://github.com/microsoft/vscode-cpptools/issues/7048)
|
||||
|
||||
## Version 1.2.1: February 16, 2021
|
||||
### Bug Fixes
|
||||
@@ -114,7 +939,7 @@
|
||||
* Fix the default `cwd` for `cppbuild` tasks. [#6618](https://github.com/microsoft/vscode-cpptools/issues/6618)
|
||||
|
||||
## Version 1.1.2: November 17, 2020
|
||||
### Bug Fix
|
||||
### Bug Fixes
|
||||
* Fix resolution of `${fileDirname}` with `cppbuild` tasks. [#6386](https://github.com/microsoft/vscode-cpptools/issues/6386)
|
||||
|
||||
## Version 1.1.1: November 9, 2020
|
||||
@@ -167,8 +992,8 @@
|
||||
* Fix C files being treated as C++ files with compile_commands.json. [#6279](https://github.com/microsoft/vscode-cpptools/issues/6279)
|
||||
* Fix `Build and Debug Active File` race condition with EngineLogs. [#6304](https://github.com/microsoft/vscode-cpptools/pull/6304)
|
||||
* Fix changes to some `c_cpp_properties.json` properties not taking effect (until a reload) if `compileCommands` is set. [#6332](https://github.com/microsoft/vscode-cpptools/issues/6332)
|
||||
* Fix issue with compiler querying not handling various clang command line options correctly. [6359](https://github.com/microsoft/vscode-cpptools/issues/6356)
|
||||
* Fix multiroot workspace tag parsing when `compileCommands` is set. [#6383](https://github.com/microsoft/vscode-cpptools/issues/6383)
|
||||
* Fix issue with compiler querying not handling various clang command line options correctly. [#6356](https://github.com/microsoft/vscode-cpptools/issues/6356), [#6359](https://github.com/microsoft/vscode-cpptools/issues/6359)
|
||||
* Fix multi-root workspace tag parsing when `compileCommands` is set. [#6383](https://github.com/microsoft/vscode-cpptools/issues/6383)
|
||||
* Fix mingw32 compilers not being detected. [#6394](https://github.com/microsoft/vscode-cpptools/issues/6394)
|
||||
* Various bug fixes for vcFormat. [PR #6408](https://github.com/microsoft/vscode-cpptools/pull/6408)
|
||||
* Fix issue causing zh-cn and zh-tw language files not to be used. [PR #6418](https://github.com/microsoft/vscode-cpptools/pull/6418)
|
||||
@@ -223,7 +1048,7 @@
|
||||
* Get the default target of the compiler. If the default target is ARM/ARM64, do not use the generic "--target" option to determine bitness. [#5772](https://github.com/microsoft/vscode-cpptools/issues/5772)
|
||||
* Fix `compilerArgs` not being used if no `compilerPath` is set. [#5776](https://github.com/microsoft/vscode-cpptools/issues/5776)
|
||||
* Fix an incorrect IntelliSense error squiggle. [#5783](https://github.com/microsoft/vscode-cpptools/issues/5783)
|
||||
* Fix semantic colorization and inactive regions for multiroot workspaces. [#5812](https://github.com/microsoft/vscode-cpptools/issues/5812), [#5828](https://github.com/microsoft/vscode-cpptools/issues/5828)
|
||||
* Fix semantic colorization and inactive regions for multi-root workspaces. [#5812](https://github.com/microsoft/vscode-cpptools/issues/5812), [#5828](https://github.com/microsoft/vscode-cpptools/issues/5828)
|
||||
* Fix bug with cl.exe flags /FU and /FI not being processed. [#5819](https://github.com/microsoft/vscode-cpptools/issues/5819)
|
||||
* Fix `cStandard` being set to `c11` instead of `gnu18` with gcc. [#5834](https://github.com/microsoft/vscode-cpptools/issues/5834)
|
||||
* Fix Doxygen parameterHint comment to display for a parameter name that is followed by colon. [#5836](https://github.com/microsoft/vscode-cpptools/issues/5836)
|
||||
@@ -251,7 +1076,7 @@
|
||||
* The way comments are formatted is controlled by the `C_Cpp.simplifyStructuredComments` setting.
|
||||
* Auto-convert `.` to `->` when the type is a pointer. [#862](https://github.com/microsoft/vscode-cpptools/issues/862)
|
||||
* Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). [PR #5401](https://github.com/microsoft/vscode-cpptools/pull/5401), [#3932](https://github.com/microsoft/vscode-cpptools/issues/3932), [#3933](https://github.com/microsoft/vscode-cpptools/issues/3933), [#3942](https://github.com/microsoft/vscode-cpptools/issues/3942)
|
||||
* Add support for LogMessage Breakpoints for debug type `cppdbg`. [MIEngine#1013](https://github.com/microsoft/MIEngine/pull/1013)
|
||||
* Add support for LogMessage Breakpoints for debug type `cppdbg`. [PR MIEngine#1013](https://github.com/microsoft/MIEngine/pull/1013)
|
||||
|
||||
### Enhancements
|
||||
* Automatically add `"${default}"` to the default `includePath` in `c_cpp_properties.json` if `C_Cpp.default.includePath` is set. [#3733](https://github.com/microsoft/vscode-cpptools/issues/3733)
|
||||
@@ -344,7 +1169,7 @@
|
||||
* Fix the "Unable to load schema" error for `c_cpp_properties.json`. [#4841](https://github.com/microsoft/vscode-cpptools/issues/4841)
|
||||
* Change "Visual Studio" `clang_format_fallback_style` setting to use NamespaceIndentation All. [#5124](https://github.com/microsoft/vscode-cpptools/issues/5124)
|
||||
* Fix "C++98" and "C++0x" modes. [#5157](https://github.com/microsoft/vscode-cpptools/issues/5157), [#5225](https://github.com/microsoft/vscode-cpptools/issues/5225)
|
||||
* Improve the error message for multiroot projects using `compile_commands.json`. [#5160](https://github.com/microsoft/vscode-cpptools/issues/5160)
|
||||
* Improve the error message for multi-root projects using `compile_commands.json`. [#5160](https://github.com/microsoft/vscode-cpptools/issues/5160)
|
||||
* Fix some cpptools process crashes. [#5280](https://github.com/microsoft/vscode-cpptools/issues/5280)
|
||||
* Avoid `<…>` truncation on hover. [#5291](https://github.com/microsoft/vscode-cpptools/issues/5291)
|
||||
* Fix incorrect translations. [PR #5300](https://github.com/microsoft/vscode-cpptools/pull/5300)
|
||||
@@ -362,7 +1187,7 @@
|
||||
|
||||
## Version 0.27.0: March 30, 2020
|
||||
### Enhancements
|
||||
* Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most [multi-root bugs](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature%3A+Multiroot%22+label%3A%22fixed+%28release+pending%29%22+milestone%3A0.27.0).
|
||||
* Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most [multi-root bugs](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature%3A+Multi-root%22+label%3A%22fixed+%28release+pending%29%22+milestone%3A0.27.0).
|
||||
* Update to clang-format 9.0.1 (and without shared library dependencies). [#2887](https://github.com/microsoft/vscode-cpptools/issues/2887), [#3174](https://github.com/microsoft/vscode-cpptools/issues/3174)
|
||||
* Add new setting `C_Cpp.debugger.useBacktickCommandSubstitution` to fix debugging when CShell is the remote default shell. [#4015](https://github.com/microsoft/vscode-cpptools/issues/4015)
|
||||
* @Helloimbob [PR #5053](https://github.com/microsoft/vscode-cpptools/pull/5053)
|
||||
@@ -413,7 +1238,7 @@
|
||||
* Fix `compile_commands.json` prompt appearing when a configuration provider is used. [#3972](https://github.com/microsoft/vscode-cpptools/issues/3972)
|
||||
* Improve IntelliSense performance with range-v3. [#4414](https://github.com/microsoft/vscode-cpptools/issues/4414)
|
||||
* Fix template members not being nested under the template type in the Outline view. [#4466](https://github.com/microsoft/vscode-cpptools/issues/4466)
|
||||
* Fix an issue in which failure to invoke a compiler could result in a hang on Linux and Mac. [#4627](https://github.com/microsoft/vscode-cpptools/issues/4627)
|
||||
* Fix an issue in which failure to invoke a compiler could result in a loss of functionality on Linux and Mac. [#4627](https://github.com/microsoft/vscode-cpptools/issues/4627)
|
||||
* Fix custom configurations sometimes not being applied to headers. [#4649](https://github.com/microsoft/vscode-cpptools/issues/4649)
|
||||
* Fix headers opening into header-only TU's instead of TU's for candidate source files. [#4696](https://github.com/microsoft/vscode-cpptools/issues/4696)
|
||||
* Fix the missing description of `C_Cpp.clang_format_style`.
|
||||
@@ -433,7 +1258,7 @@
|
||||
## Version 0.26.2: December 2, 2019
|
||||
### Enhancements
|
||||
* Reworked how a source file is selected for TU creation when opening a header file. [#2856](https://github.com/microsoft/vscode-cpptools/issues/2856)
|
||||
* Updated the default value of the `C_Cpp.intelliSenseCachePath` setting to a path under `XDG_CACHE_HOME` on Linux, or `~/Library/Cache` on MacOS. [#3979](https://github.com/microsoft/vscode-cpptools/issues/3979)
|
||||
* Updated the default value of the `C_Cpp.intelliSenseCachePath` setting to a path under `XDG_CACHE_HOME` on Linux, or `~/Library/Cache` on macOS. [#3979](https://github.com/microsoft/vscode-cpptools/issues/3979)
|
||||
* Reset memory usage of the IntelliSense process if it grows beyond a threshold. [#4119](https://github.com/microsoft/vscode-cpptools/issues/4119)
|
||||
* Add validation that the new symbol name provided to 'Rename Symbol' is a valid identifier. Add the setting `C_Cpp.renameRequiresIdentifier` to allow that verification to be disabled. [#4409](https://github.com/microsoft/vscode-cpptools/issues/4409)
|
||||
* Enable setting of breakpoints in CUDA sources.
|
||||
@@ -444,13 +1269,13 @@
|
||||
* Fix child process creation when the Windows code page is set to a language with non-ASCII characters and there are non-ASCII characters in the extension's install path. [#1560](https://github.com/microsoft/vscode-cpptools/issues/1560)
|
||||
* Fix path canonicalization of UNC paths to avoid duplicate files opening with different casing. [#2528](https://github.com/microsoft/vscode-cpptools/issues/2528), [#3980](https://github.com/microsoft/vscode-cpptools/issues/3980)
|
||||
* Fix header opening without IntelliSense due to creation of a TU from a source file that includes the header in an inactive region. [#4320](https://github.com/microsoft/vscode-cpptools/issues/4320)
|
||||
* Fix a hang in the extension process that can occur when using a scope named 'interface'. [#4470](https://github.com/microsoft/vscode-cpptools/issues/4470)
|
||||
* Fix an infinite loop in the extension process that can occur when using a scope named 'interface'. [#4470](https://github.com/microsoft/vscode-cpptools/issues/4470)
|
||||
* Fix an issue with the Rename UI that could cause the rename to not be applied. [#4504](https://github.com/microsoft/vscode-cpptools/issues/4504)
|
||||
* Show an error message when a Rename fails due to the symbol not being found. [#4510](https://github.com/microsoft/vscode-cpptools/issues/4510)
|
||||
* Fix `launch.json` creation due to localized strings containing quotes. [#4526](https://github.com/microsoft/vscode-cpptools/issues/4526)
|
||||
* Fix configuration error squiggles not being applied unless the setting was set in both `c_cpp_properties.json` and `settings.json`. [PR #4538](https://github.com/microsoft/vscode-cpptools/pull/4538)
|
||||
* Fix document symbol for Outline view and breadcrumbs on Windows 7. [#4536](https://github.com/microsoft/vscode-cpptools/issues/4536).
|
||||
* Add support for `"ms-vscode.cmake-tools"` `configurationProvider` id. [#4586](https://github.com/microsoft/vscode-cpptools/issues/4586).
|
||||
* Fix document symbol for Outline view and breadcrumbs on Windows 7. [#4536](https://github.com/microsoft/vscode-cpptools/issues/4536)
|
||||
* Add support for `"ms-vscode.cmake-tools"` `configurationProvider` id. [#4586](https://github.com/microsoft/vscode-cpptools/issues/4586)
|
||||
* Fix cancellation of Find All References sometimes resulting in an exception. [#2710](https://github.com/microsoft/vscode-cpptools/issues/2710)
|
||||
* Fix the sort order of files in the Find All References and Rename UI's. [#4615](https://github.com/microsoft/vscode-cpptools/issues/4615)
|
||||
* Fix localized Chinese strings not displaying on systems with case-sensitive file systems. [#4619](https://github.com/microsoft/vscode-cpptools/issues/4619)
|
||||
@@ -461,7 +1286,7 @@
|
||||
### Bug Fixes
|
||||
* Fix `launch.json` creation when using non-English display languages. [#4464](https://github.com/microsoft/vscode-cpptools/issues/4464)
|
||||
* Fix CHS translation. [#4422](https://github.com/microsoft/vscode-cpptools/issues/4422)
|
||||
* Fix debugging hang when Windows 10 Beta Unicode (UTF-8) support is enabled. [#1527](https://github.com/microsoft/vscode-cpptools/issues/1527)
|
||||
* Fix debugging not working when Windows 10 Beta Unicode (UTF-8) support is enabled. [#1527](https://github.com/microsoft/vscode-cpptools/issues/1527)
|
||||
|
||||
## Version 0.26.0: October 15, 2019
|
||||
### New Features
|
||||
@@ -534,11 +1359,11 @@
|
||||
|
||||
### Bug Fixes
|
||||
* Fix wrong type of `this` pointer. [#2303](https://github.com/microsoft/vscode-cpptools/issues/2303)
|
||||
* Fix previous cache path not deleted when new cache path is specified. Note that the VS Code bug [Microsoft/vscode#59391](https://github.com/microsoft/vscode/issues/59391) still occurs on the settings UI, but this fix should delete any incomplete path names as the extension receives changes from the cache path setting. [#3644](https://github.com/microsoft/vscode-cpptools/issues/3644).
|
||||
* Fix previous cache path not deleted when new cache path is specified. Note that the VS Code bug [Microsoft/vscode#59391](https://github.com/microsoft/vscode/issues/59391) still occurs on the settings UI, but this fix should delete any incomplete path names as the extension receives changes from the cache path setting. [#3644](https://github.com/microsoft/vscode-cpptools/issues/3644)
|
||||
* Fix broken shell script when launch/attaching as root. [#3711](https://github.com/microsoft/vscode-cpptools/issues/3711)
|
||||
* Christian A. Jacobsen (@ChristianJacobsen) [PR MIEngine#906](https://github.com/microsoft/MIEngine/pull/906)
|
||||
* Fix ".H" files not appearing in include completion results on Linux/macOS. [#3744](https://github.com/microsoft/vscode-cpptools/issues/3744)
|
||||
* Fix `compile_commands.json` file changes not updated. [#3864](https://github.com/microsoft/vscode-cpptools/issues/3864).
|
||||
* Fix `compile_commands.json` file changes not updated. [#3864](https://github.com/microsoft/vscode-cpptools/issues/3864)
|
||||
* Fix `Failed to parse` error message in the open file scenario. [#3888](https://github.com/microsoft/vscode-cpptools/issues/3888)
|
||||
* Fix loading the wrong symbols when creating or copying a file. [#3897](https://github.com/microsoft/vscode-cpptools/issues/3897)
|
||||
* Fix IntelliSense process crash in clang mode. [#3898](https://github.com/microsoft/vscode-cpptools/issues/3898)
|
||||
@@ -867,7 +1692,7 @@
|
||||
* Fix `Go to Definition` bug (missing symbols outside the workspace). [#2281](https://github.com/Microsoft/vscode-cpptools/issues/2281)
|
||||
* Fix incorrect hover in enum definitions. [#2286](https://github.com/Microsoft/vscode-cpptools/issues/2286)
|
||||
* Add a setting to silence configuration provider warnings. [#2292](https://github.com/Microsoft/vscode-cpptools/issues/2292)
|
||||
* Fix debugging async Visual C++ causing debugger to hang.
|
||||
* Fix debugging async Visual C++ causing the debugger to stop responding.
|
||||
* Fix `main` snippet.
|
||||
|
||||
## Version 0.17.6: July 2, 2018
|
||||
@@ -1135,8 +1960,8 @@
|
||||
* Add `Edit Configurations...` command to the `Select a Configuration...` dropdown.
|
||||
* Update Microsoft Visual C++ debugger to Visual Studio 2017 released components.
|
||||
* Fix issue with showing wrong thread. [#550](https://github.com/Microsoft/vscode-cpptools/issues/550)
|
||||
* Fix issue with binaries compiled with /FASTLINK causing debugger to hang. [#484](https://github.com/Microsoft/vscode-cpptools/issues/484)
|
||||
* Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to hang. [PR Microsoft/MIEngine#636](https://github.com/Microsoft/MIEngine/pull/636)
|
||||
* Fix issue with binaries compiled with /FASTLINK causing the debugger to stop responding. [#484](https://github.com/Microsoft/vscode-cpptools/issues/484)
|
||||
* Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to stop responding. [PR Microsoft/MIEngine#636](https://github.com/Microsoft/MIEngine/pull/636)
|
||||
|
||||
## Version 0.12.0: June 26, 2017
|
||||
* The default IntelliSense engine now provides semantic-aware autocomplete suggestions for `.`, `->`, and `::` operators. [#13](https://github.com/Microsoft/vscode-cpptools/issues/13)
|
||||
|
||||
+22
-16
@@ -1,13 +1,33 @@
|
||||
# C/C++ for Visual Studio Code
|
||||
|
||||
#### [Repository](https://github.com/microsoft/vscode-cpptools) | [Issues](https://github.com/microsoft/vscode-cpptools/issues) | [Documentation](https://code.visualstudio.com/docs/languages/cpp) | [Code Samples](https://github.com/microsoft/vscode-cpptools/tree/main/Code%20Samples) | [Offline Installers](https://github.com/microsoft/vscode-cpptools/releases)
|
||||
#### [Repository](https://github.com/microsoft/vscode-cpptools) | [Issues](https://github.com/microsoft/vscode-cpptools/issues) | [Documentation](https://code.visualstudio.com/docs/languages/cpp) | [Code Samples](https://github.com/microsoft/vscode-cpptools/tree/main/Code%20Samples)
|
||||
|
||||
[](https://aka.ms/vsls)
|
||||
|
||||
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
|
||||
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including [editing (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide) and [debugging](https://code.visualstudio.com/docs/cpp/cpp-debug) features.
|
||||
|
||||
## Pre-requisites
|
||||
C++ is a compiled language meaning your program's source code must be translated (compiled) before it can be run on your computer. VS Code is first and foremost an editor, and relies on command-line tools to do much of the development workflow. The C/C++ extension **does not include a C++ compiler or debugger**. You will need to install these tools or use those already installed on your computer.
|
||||
* C++ compiler pre-installed
|
||||
* C++ debugger pre-installed
|
||||
|
||||
<br/>
|
||||
|
||||
Here is a list of compilers and architectures per platform officially supported by the extension. These are reflected by the available [IntelliSense modes](https://code.visualstudio.com/docs/cpp/configure-intellisense-crosscompilation#_intellisense-mode) from the extension's IntelliSense configuration. Note that support for other compilers may be limited.
|
||||
|
||||
Platform | Compilers | Architectures
|
||||
:--- | :--- | :---
|
||||
Windows | MSVC, Clang, GCC | x64, x86, arm64, arm
|
||||
Linux | Clang, GCC | x64, x86, arm64, arm
|
||||
macOS | Clang, GCC | x64, x86, arm64
|
||||
|
||||
For more information about installing the required tools or setting up the extension, please follow the tutorials below.
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
## Overview and tutorials
|
||||
* [C/C++ extension overview](https://code.visualstudio.com/docs/languages/cpp)
|
||||
* [Introductory Videos](https://code.visualstudio.com/docs/cpp/introvideos-cpp)
|
||||
|
||||
C/C++ extension tutorials per compiler and platform
|
||||
* [Microsoft C++ compiler (MSVC) on Windows](https://code.visualstudio.com/docs/cpp/config-msvc)
|
||||
@@ -45,20 +65,6 @@ If someone has already filed an issue that encompasses your feedback, please lea
|
||||
<br>
|
||||
Let us know what you think of the extension by taking the quick survey.
|
||||
|
||||
## Offline installation
|
||||
|
||||
The extension has platform-specific binary dependencies, therefore installation via the Marketplace requires an Internet connection in order to download additional dependencies. If you are working on a computer that does not have access to the Internet or is behind a strict firewall, you may need to use our platform-specific packages and install them by running VS Code's `"Install from VSIX..."` command. These "offline' packages are available at: https://github.com/Microsoft/vscode-cpptools/releases.
|
||||
|
||||
Package | Platform
|
||||
:--- | :---
|
||||
`cpptools-linux.vsix` | Linux 64-bit
|
||||
`cpptools-linux-armhf.vsix` | Linux ARM 32-bit
|
||||
`cpptools-linux-aarch64.vsix` | Linux ARM 64-bit
|
||||
`cpptools-osx.vsix` | macOS
|
||||
`cpptools-win32.vsix` | Windows 64-bit & 32-bit
|
||||
`cpptools-win-arm64.vsix` | Windows ARM64
|
||||
`cpptools-linux32.vsix` | Linux 32-bit ([available up to version 0.27.0](https://github.com/microsoft/vscode-cpptools/issues/5346))
|
||||
|
||||
## Contribution
|
||||
|
||||
Contributions are always welcome. Please see our [contributing guide](CONTRIBUTING.md) for more details.
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<h1 data-loc-id="incompatible.extension.heading">Incompatible or Mismatched C/C++ Extension Binaries</h1>
|
||||
|
||||
<p data-loc-id="incompat.extension.text1">The C/C++ extension includes native binaries.</p>
|
||||
|
||||
<p data-loc-id="incompat.extension.text2">When installed via the marketplace UI in VS Code, the correct native binaries should be included. If incompatible binaries were detected and the C/C++ extension had been installed via the marketplace UI in VS Code, <a href="https://github.com/microsoft/vscode/issues/new?assignees=&labels=&template=bug_report.md" data-loc-id="bug.report.link.title">please report the issue</a>.</p>
|
||||
|
||||
<h1 data-loc-id="reinstalling.extension.heading">Reinstalling the C/C++ Extension</h1>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text1">When reinstalling an equivalent version of an extension, VS Code may reuse the existing extension directory. To prevent this from occurring when reinstalling the C/C++ extension, it may be necessary to first delete the existing extension directory.</p>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text2">Installed extension directories can be found under one of the following paths under your user directory (`%USERPROFILE%` on Windows, or `$HOME` on Linux and macOS)</p>
|
||||
|
||||
<pre><code class="lang-bash">%USERPROFILE%\.vscode\extensions</code></pre>
|
||||
<pre><code class="lang-bash">%USERPROFILE%\.vscode-insiders\extensions</code></pre>
|
||||
<pre><code class="lang-bash">%USERPROFILE%\.vscode-exploration\extensions</code></pre>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text3">In a remote connection:</p>
|
||||
<pre><code class="lang-bash">$HOME/.vscode-server/extensions</code></pre>
|
||||
<pre><code class="lang-bash">$HOME/.vscode-server-insiders/extensions</code></pre>
|
||||
<pre><code class="lang-bash">$HOME/.vscode-server-exploration/extensions</code></pre>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text4">Example paths to installed C/C++ extension directories:</p>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text5">On Windows:</p>
|
||||
<pre><code class="lang-bash">%USERPROFILE%\.vscode\extensions\ms-vscode.cpptools-1.9.0</code></pre>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text6">On Linux:</p>
|
||||
<pre><code class="lang-bash">$HOME/.vscode/extensions/ms-vscode.cpptools-1.9.0</code></pre>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text7">Then reinstall via the marketplace UI in VS Code.</p>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text8">If the correct version of the extension fails to be deployed by VS Code, the correct VSIX for your system can be <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools" data-loc-id="download.vsix.link.title">downloaded from the VS Code marketplace web site</a> and installed using the 'Install from VSIX...' option under the '...' menu in the marketplace UI in VS Code.</p>
|
||||
+1429
-577
File diff suppressed because it is too large
Load Diff
@@ -26,8 +26,8 @@
|
||||
"replace": "--using_directory\n$1"
|
||||
},
|
||||
{
|
||||
"match": "^/dE--header_only_fallback",
|
||||
"replace": "--header_only_fallback"
|
||||
"match": "^/dE--(.*)",
|
||||
"replace": "--$1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"operand * musí být ukazatel",
|
||||
"Operand pro * musí být ukazatel, má ale typ %t.",
|
||||
"argument v makru je prázdný",
|
||||
"tato deklarace nemá třídu úložiště specifikátoru typu",
|
||||
"deklarace parametru nesmí mít inicializátor",
|
||||
@@ -130,8 +130,8 @@
|
||||
"smyčka je nedosažitelná",
|
||||
"funkce rozsahu bloku může mít jenom externí třídu úložiště",
|
||||
"očekával se znak {",
|
||||
"Výraz musí být typu ukazatel na třídu.",
|
||||
"Výraz musí být typu ukazatel na strukturu nebo sjednocení.",
|
||||
"Výraz musí mít typ ukazatele na třídu, má ale typ %t.",
|
||||
"Výraz musí mít typ ukazatele na strukturu nebo sjednocení, má ale typ %t.",
|
||||
"očekával se název člena",
|
||||
"očekával se název pole",
|
||||
"%n nemá žádného člena %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"Převzetí adresy bitového pole není povolené.",
|
||||
"příliš moc argumentů ve volání funkce",
|
||||
"nepojmenované parametry prototypů nejsou dovolené, když se používá text",
|
||||
"Výraz musí být typu ukazatel na objekt.",
|
||||
"Výraz musí mít typ ukazatele na objekt, má ale typ %t.",
|
||||
"program je moc velký nebo komplikovaný k sestavení",
|
||||
"Hodnota typu %t1 se nedá použít k inicializaci entity typu %t2.",
|
||||
"%n se nedá inicializovat",
|
||||
@@ -152,8 +152,8 @@
|
||||
"Název typu se nedá znova deklarovat jako parametr.",
|
||||
"Název typedef se nedá znova deklarovat jako parametr.",
|
||||
"konverze nenulového celého čísla na ukazatel",
|
||||
"výraz musí mít typ třídy",
|
||||
"výraz musí mít typ struktury nebo jednoty",
|
||||
"Výraz musí mít typ třídy, má ale typ %t.",
|
||||
"Výraz musí mít typ struktury nebo sjednocení, má ale typ %t.",
|
||||
"zastaralý operátor přiřazení",
|
||||
"Zastaralý inicializátor",
|
||||
"Výraz musí být výrazem integrální konstanty.",
|
||||
@@ -180,7 +180,7 @@
|
||||
"Použití '&' na pole nemá žádný účinek.",
|
||||
"Pravý operand %% je nula.",
|
||||
"Argument je nekompatibilní s formálním parametrem.",
|
||||
"Argument je nekompatibilní s odpovídající konverzí formátovacího řetězce.",
|
||||
"Argument není kompatibilní s odpovídajícím převodem formátovacího řetězce (očekával se typ %t1, ale argument má typ %t2).",
|
||||
"Nepodařilo se otevřít zdrojový soubor %sq (seznam vyhledávání neobsahuje žádné adresáře).",
|
||||
"Přetypování musí být integrálního typu.",
|
||||
"Přetypování musí být aritmetického typu nebo typu ukazatel.",
|
||||
@@ -392,7 +392,7 @@
|
||||
"Funkce main se zřejmě nevolala nebo nedošlo k převzetí její adresy.",
|
||||
"Nový inicializátor se nedá specifikovat pro pole.",
|
||||
"Členská funkce %no se nemůže deklarovat mimo svoji třídu.",
|
||||
"Ukazatel na nekompletní typ třídy není povolený.",
|
||||
"Ukazatel na nekompletní typ třídy %t není povolený.",
|
||||
"Odkaz na místní proměnnou vnější funkce není povolený.",
|
||||
"Funkce s jedním argumentem se použila pro příponu %sq (anachronizmus).",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"Vrací se odkaz na místní proměnnou.",
|
||||
"Vynechání explicitního typu je nestandardní (předpokládá se int).",
|
||||
"Víc než jedna částečná specializace odpovídá seznamu argumentů šablony %n.",
|
||||
"%no",
|
||||
"%nod",
|
||||
"Seznam argumentů šablony není v deklaraci primární šablony povolený.",
|
||||
"Částečné specializace nemůžou mít výchozí argumenty šablony.",
|
||||
"%n1 se nepoužívá nebo nejde odvodit ze seznamu argumentů šablony %n2.",
|
||||
@@ -952,7 +952,7 @@
|
||||
"Možnost nonstd_using_decl se dá použít jenom při kompilaci C++.",
|
||||
"Návratový typ funkce main musí být int.",
|
||||
"Netypový parametr šablony nemůže být typu třídy.",
|
||||
"Výchozí argument šablony se nemůže specifikovat u deklarace člena šablony třídy mimo jeho třídu.",
|
||||
"U definice člena šablony třídy mimo šablonu nelze zadat výchozí argument šablony.",
|
||||
"Příkaz return není povolený v obslužné rutině testovacího bloku funkce konstruktoru.",
|
||||
"Běžné nebo rozšířené specifikátory se nedají kombinovat v označení inicializátoru.",
|
||||
"Druhý dolní index nesmí být menší než první dolní index.",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"Tato direktiva pragma se nedá použít v operátoru __Pragma (musí se použít direktiva #pragma).",
|
||||
"Pole používá koncové odsazení základní třídy.",
|
||||
"Kompilátory GNU C++ můžou používat odsazení bitového pole.",
|
||||
"%nd se deklarovalo jako zastaralé.",
|
||||
"%n se deklarovalo jako zastaralé",
|
||||
"Název asm není povolený u deklarace nestatického člena.",
|
||||
"Nerozpoznaný typ formátovací funkce %sq se ignoruje.",
|
||||
"Základní třída %no1 používá koncové odsazení základní třídy %no2.",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"Dllexport a dllimport se u šablon třídy ignorují.",
|
||||
"Specifikace základní třídy dllexport/dllimport se liší od specifikace odvozené třídy.",
|
||||
"Změnou deklarace se nedá přidat dllexport/dllimport k %nod.",
|
||||
"Dllexport/dllimport je v konfliktu s %nod. Očekával se dllexport.",
|
||||
"dllexport/dllimport je v konfliktu s %nod; Očekával se dllexport.",
|
||||
"Entita dllimport se nedá definovat.",
|
||||
"Dllexport/dllimport vyžaduje externí propojení.",
|
||||
"Člen třídy deklarované pomocí dllexport/dllimport nemůže sám být deklarovaný pomocí takového specifikátoru.",
|
||||
"pole typu třídy bez rozhraní DLL použité v třídě s rozhraním DLL",
|
||||
"Deklarace člena v závorkách je nestandardní.",
|
||||
"Prázdné znaky mezi zpětným lomítkem a znakem nového řádku se ve spojení řádku ignorují.",
|
||||
"Dllexport/dllimport je v konfliktu s %nod. Došlo k vynechání dllimport/dllexport.",
|
||||
"dllexport/dllimport je v konfliktu s %nod; Došlo k vynechání dllimport/dllexport.",
|
||||
"Neplatný člen pro anonymní členskou třídu – třída %t nepovolila členskou funkci.",
|
||||
"Nestandardní reinterpret_cast",
|
||||
"Specifikátor pozice formátu nemůže být nula.",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"Komplexní integrálové typy se nepodporují.",
|
||||
"__real a __imag se dají použít jenom u komplexních hodnot.",
|
||||
"__real/__imag se použilo na reálnou hodnotu.",
|
||||
"%nd se deklarovalo jako zastaralé (%sq).",
|
||||
"%n se deklarovalo jako zastaralé (%sq)",
|
||||
"neplatná změna definice %nd",
|
||||
"Došlo k použití dllimport/dllexport u člena nepojmenovaného oboru názvů.",
|
||||
"Klíčové slovo __thiscall se může vyskytovat jenom u deklarací nestatických členských funkcí.",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"makro",
|
||||
"návěstí",
|
||||
"parametr šablony",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"typ",
|
||||
"spojení",
|
||||
"třída",
|
||||
"struktura",
|
||||
"parametr Template šablony",
|
||||
"šablona",
|
||||
"šablona třídy",
|
||||
null,
|
||||
"výčet",
|
||||
"parametr",
|
||||
"parametr obslužné rutiny",
|
||||
"proměnná",
|
||||
"není typ",
|
||||
null,
|
||||
"konstanta",
|
||||
"funkce",
|
||||
"funkce přetížení",
|
||||
"člen",
|
||||
"pole",
|
||||
null,
|
||||
"obor názvů",
|
||||
"pojmenovaný registr",
|
||||
"pojmenovaný adresní prostor",
|
||||
"šablona funkce",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"Rozšiřující konverze ukazatele z %t1 na %t2 rozšiřuje bit znaménka.",
|
||||
"__sptr a __uptr se nedají použít u typů ukazatel na člena.",
|
||||
"Deklarace operátoru přiřazení pro kopírování pro %t se potlačila, protože %n je konstanta.",
|
||||
null,
|
||||
"deklarace operátoru přiřazení pro kopírování objektu %t byla potlačena, protože %n je typu odkaz",
|
||||
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože došlo k potlačení deklarace %t2.",
|
||||
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože deklarace %t2 je dvojznačná.",
|
||||
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože deklarace %t2 není přístupná.",
|
||||
@@ -1644,7 +1644,7 @@
|
||||
"Deklarace kopírovacího konstruktoru pro %t1 se potlačila, protože deklarace %t2 není přístupná.",
|
||||
"Destruktor pro %t1 se nebude volat, protože není přístupný a destruktor pro %t2 byl potlačený.",
|
||||
"Po definici na konci souboru nenásleduje středník nebo deklarátor.",
|
||||
"První argument musí být ukazatel na celočíselný nebo výčtový typ.",
|
||||
"Prvním argumentem musí být ukazatel na celočíselný typ nebo typ výčtu",
|
||||
"Synchronizované operace jsou platné jenom u objektů o velikosti 1, 2, 4 nebo 8.",
|
||||
"Argumenty navíc se ignorují.",
|
||||
"Předpokládalo se, že znak = následuje po názvu makra %sq v definici příkazového řádku.",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"Kvalifikátor typu není povolený u konstruktoru nebo destruktoru.",
|
||||
"Kvalifikátor typu není povolený u operátoru new a operátoru delete.",
|
||||
"Kvalifikátor typu není povolený u nečlenské funkce.",
|
||||
"Výraz __assume s vedlejšími účinky se zahodil.",
|
||||
"Argument pro %s má vedlejší účinky, ale nevyhodnotil se.",
|
||||
"nerozpoznaný druh zdroje Unicode (musí být jedním z UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s",
|
||||
"Znak Unicode se šestnáctkovou hodnotou %s se nedá prezentovat v předzpracovávaném výstupu.",
|
||||
"Požadovaná priorita konstruktoru/destruktoru je rezervovaná pro interní použití.",
|
||||
@@ -1916,13 +1916,13 @@
|
||||
"Sada parametrů nemůže mít výchozí hodnotu.",
|
||||
"C++/CLI se dá povolit jenom v režimu Microsoft C++.",
|
||||
"Pro konstantu enumerátoru se nedá použít název value__. (V tomto kontextu je to vyhrazený název.)",
|
||||
"U typu výčtu s nadřízeným typem boolean je povinná explicitní hodnota výčtu.",
|
||||
"Explicitní hodnota enumerátoru je ve výčtovém typu s logickou základní hodnotou povinná",
|
||||
null,
|
||||
"Odkazovalo se na sadu parametrů %sq, která nebyla rozšířená.",
|
||||
"Rozšíření sady nepoužívá žádnou sadu argumentů.",
|
||||
"Sada %sq má jiný počet prvků než sada %sq2.",
|
||||
null,
|
||||
"Atribut vector_size se u typu výčtu nepovoluje.",
|
||||
"atribut vector_size není povolený s typem výčtu",
|
||||
"Vlastnost nemůže být současně statická i virtuální.",
|
||||
"Indexovaná vlastnost nemůže být triviální.",
|
||||
"Tato deklarace se nedá použít v definici vlastnosti.",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"Specifikátor viditelnosti na nejvyšší úrovni vyžaduje definici typu.",
|
||||
"Triviální vlastnost nemůže být odkazovaného typu.",
|
||||
"Triviální vlastnost nemůže být typu const nebo volatile.",
|
||||
"%nd se dřív deklaroval jako jiný druh typu výčtu.",
|
||||
"%nd se dříve deklaroval jako jiný typ výčtu",
|
||||
"Proměnná zachycená výrazem lambda nemůže být typu třídy %[managed].",
|
||||
"Přepisování virtuální funkce s kovariantním návratovým typem není u třídy %[managed] povolené.",
|
||||
"Pole popisovačů není povolené.",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"Pojmenovaný specifikátor přepisu je povolený jenom ve třídě %[managed].",
|
||||
"Typu tohoto členu neodpovídá žádný člen označený pojmenovaným specifikátorem přepisu.",
|
||||
"Deklarace statického konstruktoru nemůže zahrnovat pojmenovaný specifikátor přepisu.",
|
||||
"Typ vymezeného výčtu musí mít název.",
|
||||
"Typ výčtu s vymezeným oborem musí mít název.",
|
||||
"Přenos řízení na blok finally není povolený.",
|
||||
"Příkaz return se v bloku finally použít nedá.",
|
||||
"Blok try vyžaduje aspoň jeden obslužnou rutinu nebo klauzuli finally.",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"Pole initonly se dá modifikovat jenom konstruktorem instance třídy, která ho obsahuje.",
|
||||
"Statické pole initonly se dá modifikovat jenom statickým konstruktorem třídy, která ho obsahuje.",
|
||||
"Členská funkce se vyvolá u kopie pole initonly.",
|
||||
"Výraz musí být typu popisovač nebo typu ukazatel.",
|
||||
"Výraz musí mít typ ukazatele nebo popisovače, má ale typ %t.",
|
||||
"Přenosový konstruktor nebo přenosový operátor přiřazení se tady použije ke zkopírování l-hodnoty. To může zničit zdrojový objekt.",
|
||||
"Při výběru člena u obecné entity %[C++/CLI] se musí použít syntaxe \"->\", ne \".\".",
|
||||
"Typ referenční třídy nemůže odvozovat od %t.",
|
||||
@@ -2216,7 +2216,7 @@
|
||||
"U operátoru dynamic_cast se nemůže použít obecný typ, který by mohl být hodnotovým typem.",
|
||||
"Univerzální název znaku musí označovat platný bod kódu.",
|
||||
"Obecná omezení neodpovídají omezením %nd.",
|
||||
"Výraz __underlying_type se vztahuje jenom na typy výčtu.",
|
||||
"__underlying_type platí jenom pro výčtové typy",
|
||||
"U tohoto přetypování se očekával jenom jeden výraz operandu.",
|
||||
"Znak Unicode s šestnáctkovou hodnotou %s se nedá prezentovat ve výchozí systémové znakové stránce.",
|
||||
"Nestandardní převod svázaného ukazatele na člen na ukazatel funkce",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"Nezabezpečený operátor reinterpret_cast popisovače",
|
||||
"Argument šablony nemůže odkazovat na parametr obecného typu.",
|
||||
"Seznam výrazů není u této operace dolního indexu povolený. (Operátor čárek nejvyšší úrovně uzavřete do závorek.)",
|
||||
"Výraz musí být typu pointer-to-object nebo handle-to-%[C++/CLI]-array.",
|
||||
"Výraz musí být typ ukazatele na objekt nebo popisovače pole %[C++/CLI], má ale typ %t.",
|
||||
"Neznámý atribut",
|
||||
"Člen třídy %[managed] nemůže být typu třídy, která není %[managed].",
|
||||
"Člen třídy, která není %[managed], nemůže být typu referenční třídy nebo třídy rozhraní.",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"%nd se dřív deklaroval s jiným základním typem.",
|
||||
"Tady se nedá použít enum class nebo enum struct. Použijte místo toho prostý výčet enum.",
|
||||
"U inicializátoru pro objekt typu %t je povolená jenom jedna úroveň závorek.",
|
||||
"%nd se nedá použít jako název výčtového typu.",
|
||||
"%nd nelze použít jako název typu výčtu",
|
||||
null,
|
||||
"U inicializátoru uzavřeného v závorkách nejde použít new auto.",
|
||||
"Definice std::initializer_list neobsahuje očekávaný konstruktor.",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"Inicializátor v závorkách pro entitu, která není třídou, musí být výraz, ne seznam uzavřený ve složených závorkách.",
|
||||
"Seznam uzavřený ve složených závorkách neposkytuje pro tuto funkci lambda návratový typ.",
|
||||
"Deklarovaná specifikace výjimky je nekompatibilní s generovanou specifikací.",
|
||||
"Typy vymezeného výčtu jsou funkcí C++11.",
|
||||
"Vymezené typy výčtu jsou funkcí C++11",
|
||||
"Typ funkce se nedá inicializovat pomocí hodnoty.",
|
||||
"Inicializace seznamu typu objektu %t není povolená, protože má neúplný typ.",
|
||||
"Seznam inicializátorů std::initializer_list obsahuje destruktor. Ten by ale obsahovat neměl: knihovna je chybně nakonfigurovaná.",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"Volání funkce musí mít v konstantním výrazu konstantní hodnotu.",
|
||||
"Funkce main se nedá deklarovat jako constexpr.",
|
||||
null,
|
||||
"Definice typu výčtu nebo třídy se nedá použít ve funkci constexpr nebo těle konstruktoru.",
|
||||
"Definice typu třídy nebo výčtu se nemůže vyskytovat ve funkci constexpr ani v těle konstruktoru",
|
||||
"Tady jsou povolené jenom atributy ve stylu GNU.",
|
||||
"Nestandardní použití auto současně k odvození typu od inicializátoru a ohlášení ukončovacího návratového typu.",
|
||||
"Deklarace seznamu parametrů typu void s kvalifikovaným typem void je nestandardní.",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"Očekávalo se návěstí.",
|
||||
"Po %%l se očekávalo číslo operandu.",
|
||||
"Číslo operandu pro %%l neodkazuje na platný argument návěstí.",
|
||||
"Číslo operandu pro %%l neodkazuje na platný argument popisku.",
|
||||
"Řetězec typu widestring není u příkazu asm platný.",
|
||||
"Atribut je nestandardní.",
|
||||
"Není základní třídou třídy %t.",
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"Typ decltype(auto) se nedá odvodit.",
|
||||
"Deklarace rozsahu bloku místního vlákna musí zahrnovat statickou nebo externí",
|
||||
"Odvozený návratový typ %t1 má konflikty s dříve odvozeným typem %t2.",
|
||||
"Návratový typ %nd se nedá odvodit, nebyl definovaný.",
|
||||
"Návratový typ %nd; se nedá odvodit, protože nebyl definován.",
|
||||
"Virtuální funkce nemůže mít odvozený návratový typ.",
|
||||
"%n se bude od tohoto bodu považovat za kontextové klíčové slovo.",
|
||||
"Globální obor názvů nemá žádný skutečný člen %sq.",
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"Definice veřejného typu C++/CX není u globálního rozsahu povolená.",
|
||||
"Indexovaná vlastnost s veřejným přístupovým objektem get nebo set není povolená.",
|
||||
"Veřejný vnořený typ delegáta není povolený.",
|
||||
"Neplatný inicializátor delegáta -- očekávaná syntaxe je (<adresa-funkce nebo objekt-funktoru> [, Platform::CallbackContext]) nebo (<popisovač objektu>, <adresa-člena> [, Platform::CallbackContext [, bool]]).",
|
||||
"Neplatný inicializátor delegáta -- očekávaná syntaxe je (<adresa-funkce nebo objekt-funktoru> [, Platform::CallbackContext]) nebo (<úchyt objektu>, <adresa-člena> [, Platform::CallbackContext [, bool]]).",
|
||||
"Neplatný inicializátor delegáta -- objekt musí být popisovačem na třídu %[managed].",
|
||||
"C++/CX nepodporuje pole in nebo out. U veřejných rozhraní API použijte pro in: const Platform::Array<T>^ a pro out: Platform::WriteOnlyArray<T>^ nebo Platform::Array<T>^*.",
|
||||
"Chybí cílový atribut pro %nd.",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"Proměnná ve funkci constexpr není inicializovaná.",
|
||||
"Inicializace (uzavřená v závorkách) proměnné deklarované se zástupným typem, ale bez znaku =, vyžaduje právě jeden element uzavřený do závorek.",
|
||||
"neexistuje žádná konfigurace %s --target",
|
||||
"atribut není podporovaný v 64bitových konfiguracích x86",
|
||||
"Atribut je podporován pouze v 32bitových konfiguracích x86",
|
||||
"%s vyžaduje argument",
|
||||
"konstruktor nebo destruktor nemůže být korutina",
|
||||
"%n nemůže být korutina",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"výraz co_await není povolený uvnitř klauzule catch",
|
||||
"korutina nemůže mít parametr tři tečky",
|
||||
"Povolení funkce constexpr stylu C++14 vyžaduje podporu logických hodnot.",
|
||||
"funkce constexpr %nd není definovaná",
|
||||
"Výraz constexpr %nd není definovaný.",
|
||||
"toto volání nejde vyhodnotit, protože cílová funkce %nd není constexpr nebo ještě není úplně definovaná",
|
||||
"poznámka",
|
||||
"Poznámka",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"specifikátor _Atomic(...) nelze použít u kvalifikovaného typu %t",
|
||||
"přístup k členovi objektu _Atomic",
|
||||
"bitové pole nemůže mít typ _Atomic",
|
||||
"typy třídy _Atomic jsou zakázané",
|
||||
null,
|
||||
"konstruktor constexpr volá jiný konstruktor než constexpr kvůli inicializaci podobjektu",
|
||||
"očekávala se čárka (verze static_assert s jedním argumentem není v tomto režimu povolená)",
|
||||
"statický kontrolní výraz selhal",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"Inicializace kopírování seznamu nemůže používat explicit. %n",
|
||||
"Vodítko pro dedukci",
|
||||
"Neplatná hodnota uživatelem definovaného operátoru literálu",
|
||||
"Funkci __has_cpp_attribute nelze použít mimo direktivu #if nebo #elif.",
|
||||
"%s se nemůže vyskytovat mimo direktivy preprocesoru.",
|
||||
"Vodítko pro dedukci se musí deklarovat se stejnou přístupností jako %n.",
|
||||
"Lambda se v tomto kontextu nepovoluje.",
|
||||
"Zadané zarovnání není ekvivalentní předchozí deklaraci.",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"Neplatný typ %t pro this-pointer členské funkce %nfd s omezením AMP",
|
||||
"Neplatný návratový typ %t pro funkci %nfd s omezením AMP",
|
||||
"Neplatný typ parametru %t pro funkci %nfd s omezením AMP",
|
||||
null,
|
||||
"Neplatný konstruktor ve funkci %nfd s omezením AMP",
|
||||
"Neplatná třída úložiště %s ve funkci %nfd s omezením AMP",
|
||||
"%s není ve funkci %nfd s omezením AMP povolené.",
|
||||
"Neplatné přetypování ve funkci s omezením AMP",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"očekávalo se >>>",
|
||||
"Nepovedlo se najít deklaraci __cudaPushCallConfiguration. Instalace sady nástrojů CUDA může být poškozená.",
|
||||
"Inicializátor ve stylu C++17 je v tomto režimu nestandardní.",
|
||||
"zachytávání *this je v tomto režimu nestandardní",
|
||||
"Předpona atributu using ve stylu C++17 je v tomto režimu nestandardní.",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"Nestálý typ %t brání vyhodnocování constexpr v __builtin_bit_cast.",
|
||||
"Typ sjednocení, ukazatele nebo ukazatele na člen %t brání vyhodnocování constexpr v __builtin_bit_cast.",
|
||||
"%npTd, zděděno pomocí decl %p",
|
||||
"Podobjekt %t pro dědící konstruktory se nedá vytvořit -- implicitní výchozí konstruktor se odstranil.",
|
||||
"Nelze provést vytvoření dílčího objektu %t pro dědící konstruktory – přidružený konstruktor je odstraněn",
|
||||
"%n musí vracet void.",
|
||||
"Neplatný začátek deklarace členu",
|
||||
"Očekává se klíčové slovo auto.",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"Deklarace exportu nemůže obsahovat deklaraci importu modulu.",
|
||||
"Deklarace exportu se může vyskytnout jen v jednotce rozhraní modulu.",
|
||||
"Deklarace exportu nemůže exportovat název s interním propojením.",
|
||||
"Deklarace using zahrnuje %nfd.",
|
||||
"Předdefinovaná funkce není dostupná, protože typy s plovoucí desetinnou čárkou __fp16 se nepodporují.",
|
||||
null,
|
||||
null,
|
||||
"Výraz requires musí určovat alespoň jeden požadavek.",
|
||||
"Modifikátor constinit tady není platný.",
|
||||
"Modifikátor constinit je platný jen pro deklarace proměnných s dobou trvání úložiště static nebo thread.",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"mapování souborů modulu pro %s bylo zadané více než jednou",
|
||||
"mapování jednotek záhlaví pro %s bylo zadané více než jednou",
|
||||
"není zadané žádné mapování pro %s",
|
||||
"mapování souborů modulu pro %s je neplatné",
|
||||
null,
|
||||
"nejde najít záhlaví %s, které se má importovat",
|
||||
"více než jeden soubor v seznamu souborů modulu odpovídá %s",
|
||||
"soubor modulu, který se našel pro %s, je pro jiný modul",
|
||||
"libovolný druh souboru modulu",
|
||||
"nejde přečíst soubor modulu",
|
||||
"předdefinovaná funkce není k dispozici, protože typ char8_t se nepodporuje s aktuálními možnostmi",
|
||||
"možnost příkazového řádku --ms_await nejde zadat, pokud jsou povolené korutiny C++20",
|
||||
null,
|
||||
"nestandardní použití explicitního konstruktoru %nod pro inicializaci výchozího agregačního elementu",
|
||||
"zdroj nebo cíl vnitřní funkce memcpy-like neukazuje na objekt",
|
||||
"vnitřní funkce memcpy-like se pokouší o kopírování reprezentačně odlišných typů %t1 a %t2",
|
||||
"vnitřní funkce memcpy-like se pokouší o kopírování netriviálně kopírovatelného typu %t",
|
||||
"vnitřní funkce memcpy-like se pokouší o kopírování částečného objektu",
|
||||
"vnitřní funkce memcpy-like se pokouší o kopírování hranice za polem",
|
||||
"vnitřní funkce memcpy-like se pokouší o kopírování překrývajících se bajtových rozsahů (místo toho se použije odpovídající operace memmove)"
|
||||
"vnitřní funkce memcpy-like se pokouší o kopírování překrývajících se bajtových rozsahů (místo toho se použije odpovídající operace memmove)",
|
||||
"Deklarace typu friend s klauzulí requires na konci musí být definice.",
|
||||
"Výraz musí mít aritmetický typ nebo typ ukazatele, má ale typ %t.",
|
||||
"Výraz musí mít aritmetický typ, typ výčtu nebo typ ukazatele, má ale typ %t.",
|
||||
"Výraz musí mít aritmetický typu, typ nevymezeného výčtu nebo typ ukazatele, má ale typ %t.",
|
||||
"Výraz musí mít typ ukazatele, má ale typ %t.",
|
||||
"Operátor -> nebo ->* se používá pro %t namísto typu ukazatele.",
|
||||
"Nekompletní typ třídy %t není povolený.",
|
||||
"Nepovedlo se interpretovat rozložení bitů pro tento cíl kompilace.",
|
||||
"Žádný odpovídající operátor pro operátor IFC %sq",
|
||||
"Žádná odpovídající konvence volání pro konvenci volání IFC %sq",
|
||||
"Modul %sq obsahuje nepodporované konstrukce.",
|
||||
"Nepodporovaná konstrukce IFC: %sq",
|
||||
"__is_signed už není klíčové slovo.",
|
||||
"Rozměr pole musí mít konstantní celočíselnou hodnotu bez znaménka.",
|
||||
"Soubor IFC %sq má nepodporovanou verzi %d1.%d2.",
|
||||
"Moduly se v tomto režimu nepovolily.",
|
||||
"Název modulu nesmí obsahovat slovo import.",
|
||||
"Název modulu nesmí obsahovat slovo module.",
|
||||
null,
|
||||
null,
|
||||
"%n není typ výčtu",
|
||||
"Enumerátor %no2 je v konfliktu s %n1.",
|
||||
"Enumerátor %no se už v tomto oboru %p deklaroval.",
|
||||
"specifikace throw() není součástí standardu C++20 a novějších",
|
||||
"více než jedna položka v mapě jednotky hlavičky odpovídá %s",
|
||||
"Diagnostika #pragma musí mít buď argument push nebo pop.",
|
||||
"Nenašel se žádný push diagnostiky #pragma, které by odpovídal tomuto popu diagnostiky.",
|
||||
"%sq nemůže být makro, pokud se použije ve směrnici pro import nebo modul.",
|
||||
"Tato direktiva se může vyskytovat jenom v rozsahu globálního oboru názvů.",
|
||||
"Deklarace typu export se může vyskytovat jenom na úrovni globálního rozsahu (global) nebo rozsahu oboru názvů (namespace).",
|
||||
"%sq se parsuje jako identifikátor, nikoli jako klíčové slovo, protože tokeny, které po něm následují, se neshodují s direktivou preprocesoru.",
|
||||
"Vypadá to, že se jedná o začátek direktivy preprocesoru, ale chybějící znak „;“, po kterém ihned následuje nový řádek, tomu brání.",
|
||||
"Vypadá to, že se jedná o direktivu předběžného zpracování modulů, ale tyto direktivy se nemůžou vyskytovat v rámci rozšíření makra.",
|
||||
"Direktiva typu module se nemůže vyskytovat v oboru podmíněného zahrnutí (např. #if, #else, #elseif apod.).",
|
||||
"Import %sq se přeskočil.",
|
||||
"typ příslibu %t musí deklarovat get_return_object_on_allocation_failure jako funkci statického člena, která nevyžaduje žádné argumenty",
|
||||
"šablona aliasu nemůže být explicitně specializovaná.",
|
||||
"aby se to shodovalo s tímto „{“",
|
||||
"v tomto volání makra",
|
||||
"volání vyžaduje nejednoznačný převod argumentu.",
|
||||
"deklarace vlastněná modulem %s je v konfliktu s %nd",
|
||||
"deklarace vlastněná globálním modulem je v konfliktu s %nd vlastněnou pojmenovaným modulem",
|
||||
"první argument atributu „malloc“ musí být funkce",
|
||||
"nejde zachytit %nod",
|
||||
"nejde zachytit „this“",
|
||||
"již v kontextu consteval",
|
||||
"Příkazy if consteval a if not consteval vyžadují příkazy uzavřené do složených závorek.",
|
||||
"Příkazy if consteval a if not consteval nemají ve funkci, která není constexpr, žádný význam.",
|
||||
"Převod řízení na příkaz if consteval nebo if not consteval se nepovoluje.",
|
||||
"Konstantní vyhodnocování nemůže projít deklarací proměnné se statickou dobou trvání nebo uloženou po dobu existence vlákna.",
|
||||
"Proměnlivý kvalifikátor se pro výraz lambda s explicitním parametrem this nepovoluje.",
|
||||
"Členská funkce deklarovaná jako static nemůže mít explicitní parametr this.",
|
||||
"Explicitní parametr this musí být první deklarovaný parametr.",
|
||||
"Proměnná this se tady nepodporuje.",
|
||||
"Porovnávací funkce s explicitním this nemůže být nastavena jako výchozí.",
|
||||
"Funkce s explicitním this vyžaduje druhý operand.",
|
||||
"Příkazy if consteval a if not consteval nejsou v tomto režimu standardní.",
|
||||
"Vynechání () v deklarátoru výrazu lambda je v tomto režimu nestandardní.",
|
||||
"Když se vynechá seznam parametrů výrazu lambda, nepodporuje se klauzule requires na konci.",
|
||||
"Požádalo se o neplatný oddíl modulu %sq.",
|
||||
"Požádalo se nedefinovaný oddíl modulu %sq1 (předpokládalo se, že je to %sq2).",
|
||||
null,
|
||||
null,
|
||||
"Modul %sq1 pozice souboru %u1 (relativní pozice %u2) požadovaná pro oddíl %sq2, který přetéká konec svého oddílu",
|
||||
"Modul %sq1 pozice souboru %u1 (relativní pozice %u2) požadována pro oddíl %sq2, který je nesprávně zarovnán s elementy oddílů",
|
||||
"z dílčího pole %sq (relativní pozice k uzlu %d)",
|
||||
"Z oddílu %sq elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
|
||||
"Atributy výrazu lambda tady nejsou standardní.",
|
||||
"Identifikátor %sq by bylo možné zaměnit za vizuálně podobné %p.",
|
||||
"Tento komentář obsahuje podezřelé řídicí znaky formátování Unicode.",
|
||||
"Tento řetězec obsahuje řídicí znaky formátování Unicode. To může způsobit neočekávané chování modulu runtime.",
|
||||
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
|
||||
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
|
||||
"Došlo k potlačení %d1 chyby při zpracovávání modulu %sq1.",
|
||||
"Došlo k potlačení %d1 chyb při zpracovávání modulu %sq1.",
|
||||
"včetně",
|
||||
"potlačeno",
|
||||
"Virtuální členská funkce nemůže mít explicitní parametr this.",
|
||||
"Převzetí adresy funkce s explicitním this vyžaduje kvalifikovaný název.",
|
||||
"Vytvoření adresy funkce s explicitním this vyžaduje operátor &.",
|
||||
"řetězcový literál nelze použít k inicializaci člena flexibilního pole.",
|
||||
"Reprezentace IFC definice funkce %sq je neplatná.",
|
||||
null,
|
||||
"graf UniLevel IFC se nepoužil k zadání parametrů.",
|
||||
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %d1, zatímco deklarace IFC určovala tento počet parametrů: %d2.",
|
||||
"V grafu definice parametrů IFC byl zadán %d1 parametr, zatímco deklarace IFC určovala tento počet parametrů: %d2.",
|
||||
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %d1, zatímco deklarace IFC určovala %d2 parametr.",
|
||||
"Chybí reprezentace IFC definice funkce %sq.",
|
||||
"modifikátor funkce se nevztahuje na deklaraci členské šablony.",
|
||||
"výběr člena zahrnuje příliš mnoho vnořených anonymních typů",
|
||||
"mezi operandy není žádný společný typ",
|
||||
"očekával se ukazatel na člen",
|
||||
"flexibilní člen pole nelze deklarovat v jinak prázdném typu",
|
||||
"Očekávalo se, že std::source_location::__impl bude definováno pro třídu pouze s datovými členy _M_function_name, _M_file_name, _M_column a _M_line.",
|
||||
"zadané číslo sloupce je pro implementaci std::source_location příliš velké",
|
||||
"zadané číslo řádku je pro implementaci std::source_location příliš velké",
|
||||
"znaková konstanta UTF-16 nemůže zabírat více než jednu jednotku kódu; hodnota byla zkrácena",
|
||||
"oba argumenty musí mít stejný typ",
|
||||
"typ %t není platný jako argument pro tento předdefinovan.",
|
||||
"voláno z %nd:",
|
||||
"kvalifikovaný typ je pro anonymní bitová pole nestandardní.",
|
||||
"typ elementu vektorové podmínky (%t1) musí mít stejnou velikost jako typ elementu výsledku (%t2).",
|
||||
"typ operandu vektoru s plovoucí desetinnou čárkou (%t) nemá žádný odpovídající celočíselný vektorový typ.",
|
||||
"mangling pro výrazy requires ještě není implementovaný.",
|
||||
"kvůli atributu „není k dispozici“",
|
||||
"duplicitní kvalifikátor asm",
|
||||
"bitové pole s nekompletním typem výčtu nebo neprůhledný výčet s neplatným základním typem",
|
||||
"došlo k pokusu o vytvoření elementu z oddílu IFC %sq pomocí indexu do oddílu IFC %sq2.",
|
||||
"oddíl %sq určil svou velikost položky jako %d1, když bylo očekáváno %d2.",
|
||||
"při zpracování modulu %sq1 byl zjištěn neočekávaný požadavek IFC.",
|
||||
"podmínka selhala na řádku %d v %s1: %sq2",
|
||||
"atomické omezení závisí na sobě",
|
||||
"Funkce noreturn má návratový typ, který není void.",
|
||||
"oprava byla provedena vyřazením parametru %sq (v relativním indexu %d).",
|
||||
"výchozí argument šablony nelze zadat pro definici členské šablony mimo její třídu.",
|
||||
"při rekonstrukci entity se zjistil neplatný název identifikátoru IFC %sq.",
|
||||
null,
|
||||
"neplatná hodnota řazení modulu %sq",
|
||||
"šablona funkce načtená z modulu IFC byla nesprávně parsována jako %nd.",
|
||||
"nepovedlo se načíst odkaz na entitu IFC v modulu %sq.",
|
||||
"Z oddílu %sq elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
|
||||
"zřetězené specifikátory nejsou povolené pro typ třídy s netriviálním destruktorem.",
|
||||
"Explicitní deklarace specializace nemůže být deklarací typu friend.",
|
||||
"typ std::float128_t se nepodporuje. místo toho se použije std::float64_t",
|
||||
"typ std::bfloat16_t se nepodporuje. místo toho se použije std::float32_t",
|
||||
"vodítko pro dedukce se nedá deklarovat pro šablonu aliasu %no",
|
||||
"%n bylo deklarováno jako nedostupné.",
|
||||
"%n bylo deklarováno jako nedostupné (%sq).",
|
||||
"kvůli atributu deprecated",
|
||||
"explicitní parametry šablony lambda jsou funkcí C++20",
|
||||
"použití _Noreturn je od C23 zastaralé. Místo toho použijte [[noreturn]].",
|
||||
"použití _Alignof je od C23 zastaralé. Místo toho použijte alignof.",
|
||||
"použití _Alignas je od C23 zastaralé. Místo toho použijte alignas.",
|
||||
"použití _Bool je od C23 zastaralé. Místo toho použijte bool.",
|
||||
"použití _Static_assert je od C23 zastaralé. Místo toho použijte static_assert.",
|
||||
"použití _Thread_local je od C23 zastaralé. Místo toho použijte thread_local.",
|
||||
"Aby bylo možné používat soubor modulu %sq (modul Microsoft Visual Studio IFC), musí být povolený režim Microsoftu.",
|
||||
"soubor modulu %sq se nepovedlo otevřít",
|
||||
"nalezeno v mapě modulu %sq.",
|
||||
"nalezeno v mapě jednotek hlaviček pro %sq",
|
||||
"nerozpoznaný režim výstupu (musí to být text, sarif): %s",
|
||||
"možnost c23_typeof se dá použít jenom při kompilaci C",
|
||||
"neplatné číslo verze Clang: %s",
|
||||
"řetězec IFC obsahuje neočekávaný znak null (nula) v modulu %sq",
|
||||
"bylo použito %d1 z %d2 bajtů",
|
||||
"z informací o řetězci v oddílu %sq, elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
|
||||
"nejde vyhodnotit inicializátor pro člena flexibilního pole",
|
||||
"výchozí inicializátor bitového pole je funkce C++20",
|
||||
"příliš mnoho argumentů v seznamu argumentů šablony v modulu %sq",
|
||||
"zjištěno pro argument šablony reprezentovaný %sq elementem %u1 (pozice souboru %u2, relativní pozice %u3)",
|
||||
"příliš málo argumentů v seznamu argumentů šablony v modulu %sq",
|
||||
"zjištěno při zpracování seznamu argumentů šablony reprezentovaného %sq elementem %u1 (pozice souboru %u2, relativní pozice %u3)",
|
||||
"převod z vymezeného výčtového typu %t je nestandardní",
|
||||
"zrušení přidělení se neshoduje s druhem přidělení (jedno je pro pole a druhé ne)",
|
||||
"porovnání zahrnuje neznámou adresu (např. adresu slabé proměnné)",
|
||||
"__make_signed je kompatibilní jenom s typem integer a výčtovým typem, které nejsou typu bool",
|
||||
"__make_unsigned je kompatibilní jenom s typem integer a výčtovým typem, které nejsou typu bool",
|
||||
"vnitřní název %sq bude odsud považován za běžný identifikátor",
|
||||
"přístup k neinicializovanému podobjektu v indexu %d",
|
||||
"Číslo řádku IFC (%u1) přetéká maximální povolenou hodnotu (%u2), modul %sq.",
|
||||
"Modul %sq1 požadoval element %u oddílu %sq2. Tato pozice souboru překračuje maximální reprezentovatelnou hodnotu.",
|
||||
"nesprávný počet argumentů",
|
||||
"Omezení kandidáta %n není splněno.",
|
||||
"Počet parametrů %n neodpovídá volání.",
|
||||
"Nahrazení explicitních argumentů šablony %T pro %n se nezdařilo.",
|
||||
"%n je implicitně funkce přesunu „= delete“, která se proto během řešení přetížení ignoruje.",
|
||||
"%n se neshoduje, protože pro prázdný balíček parametrů je zadaný argument #%d.",
|
||||
"%n se neshoduje, protože argument #%d neodpovídá parametru.",
|
||||
"Kandidát %n neuspěl při dedukci.",
|
||||
"Předdefinovaný operátor%s se neshoduje, protože argument #%d neodpovídá parametru.",
|
||||
"<integrál>",
|
||||
"<propagovaný integrál>",
|
||||
"<ptrdiff_t>",
|
||||
"<výčet>",
|
||||
"<vymezený výčet>",
|
||||
"<aritmetické>",
|
||||
"<aritmetické zvýšení úrovně>",
|
||||
"<nelogické aritmetické>",
|
||||
"<ukazatel>",
|
||||
"<nullptr>",
|
||||
"<popisovač>",
|
||||
"<popisovač pole rozhraní příkazového řádku>",
|
||||
"<ukazatel na objekt>",
|
||||
"<ukazatel na funkci>",
|
||||
"<ukazatel na člen>",
|
||||
"<bool>",
|
||||
"<podobné logické hodnotě>",
|
||||
"<třída>",
|
||||
"auto(<výraz>) a auto{<expr>} jsou funkce C++23.",
|
||||
"Neplatné anonymní sjednocení – deklarace using není povolená.",
|
||||
"Soubor IFC %sq nejde zpracovat.",
|
||||
"Verze IFC %u1.%u2 není podporována.",
|
||||
"Architektura IFC %sq není kompatibilní s aktuální cílovou architekturou.",
|
||||
"Modul %sq1 požaduje index %u nepodporovaného oddílu odpovídajícího %sq2.",
|
||||
"Číslo parametru %d z %n má typ %t, který nelze dokončit.",
|
||||
"Číslo parametru %d z %n má neúplný typ %t.",
|
||||
"Číslo parametru %d z %n má abstraktní typ %t.",
|
||||
"Strukturované vazby jsou funkcí C++17.",
|
||||
"Zachycení strukturovaných vazeb je funkce C++20."
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"Der Operand von \"*\" muss ein Zeiger sein.",
|
||||
"Der Operand \"*\" muss ein Zeiger sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"Das Argument für das Makro ist leer.",
|
||||
"Diese Deklaration hat keine Speicherklasse oder keinen Typspezifizierer.",
|
||||
"Eine Parameterdeklaration darf keinen Initialisierer aufweisen.",
|
||||
@@ -130,8 +130,8 @@
|
||||
"Die Schleife ist nicht erreichbar.",
|
||||
"Eine Blockbereichsfunktion darf nur eine externe Speicherklasse aufweisen.",
|
||||
"Es wurde eine \"{\" erwartet.",
|
||||
"Der Ausdruck muss den Typ \"pointer-to-class\" aufweisen.",
|
||||
"Der Ausdruck muss den Typ \"pointer-to-struct-or-union\" aufweisen.",
|
||||
"Der Ausdruck muss vom Typ \"Zeiger auf Klasse\" sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"Der Ausdruck muss vom Typ \"Zeiger auf Struktur oder Union\" sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"Es wurde ein Membername erwartet.",
|
||||
"Es wurde ein Feldname erwartet.",
|
||||
"\"%n\" hat keinen Member \"%sq\".",
|
||||
@@ -141,7 +141,7 @@
|
||||
"Das Verwenden der Adresse eines Bitfelds ist nicht zulässig.",
|
||||
"Zu viele Argumente im Funktionsaufruf.",
|
||||
"Unbenannte Prototypparameter sind nicht zulässig, wenn Text vorhanden ist.",
|
||||
"Der Ausdruck muss den Typ \"pointer-to-object\" aufweisen.",
|
||||
"Der Ausdruck muss vom Typ \"Zeiger auf Objekt\" sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"Das Programm ist zu groß oder zu kompliziert zum Kompilieren.",
|
||||
"Ein Wert vom Typ \"%t1\" kann nicht zum Initialisieren einer Entität vom Typ \"%t2\" verwendet werden.",
|
||||
"%n darf nicht initialisiert werden.",
|
||||
@@ -152,8 +152,8 @@
|
||||
"Ein Typname darf nicht erneut als Parameter deklariert werden.",
|
||||
"Ein typedef-Name darf nicht erneut als Parameter deklariert werden.",
|
||||
"Konvertierung einer ganzen Zahl, die nicht Null ist, in einen Zeiger",
|
||||
"Der Ausdruck muss einen Klassentyp aufweisen.",
|
||||
"Der Ausdruck muss den Typ \"union\" oder \"struct\" aufweisen.",
|
||||
"Der Ausdruck muss vom Typ \"Klasse\" sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"Der Ausdruck muss vom Typ \"Struktur\" oder \"Union\" sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"Veralteter Zuweisungsoperator.",
|
||||
"Veralteter Initialisierer.",
|
||||
"Der Ausdruck muss ein integraler Konstantenausdruck sein.",
|
||||
@@ -180,7 +180,7 @@
|
||||
"Das Anwenden von \"&\" auf ein Array hat keine Auswirkungen.",
|
||||
"Der rechte Operand von \"%%\" ist Null.",
|
||||
"Das Argument ist nicht mit dem formellen Parameter kompatibel.",
|
||||
"Das Argument ist mit der entsprechenden Formatzeichenfolgenkonvertierung inkompatibel.",
|
||||
"Argument ist nicht mit der entsprechenden Formatzeichenfolgenkonvertierung kompatibel (erwarteter Typ %t1, aber das Argument weist den Typ %t2 auf)",
|
||||
"Die Quelldatei \"%sq\" konnte nicht geöffnet werden (keine Verzeichnisse in der Suchliste).",
|
||||
"Der Typ der Umwandlung muss eine ganze Zahl sein.",
|
||||
"Der Typ der Umwandlung muss arithmetisch oder ein Zeiger sein.",
|
||||
@@ -392,7 +392,7 @@
|
||||
"Die Main-Funktion darf nicht aufgerufen werden, und ihre Adresse darf nicht verwendet werden.",
|
||||
"Für ein Array darf keine neue Initialisierung angegeben werden.",
|
||||
"Die Memberfunktion \"%no\" darf nicht außerhalb ihrer Klasse neu deklariert werden.",
|
||||
"Der Klassentyp \"pointer-to-incomplete\" ist nicht zulässig.",
|
||||
"Der Typ eines Zeigers auf eine unvollständige Klasse (%t) ist nicht zulässig.",
|
||||
"Ein Verweis auf eine lokale Variable der einschließenden Funktion ist nicht zulässig.",
|
||||
"Für Postfix \"%sq\" wird eine Funktion mit einem Argument verwendet (Anachronismus).",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"Ein Verweis auf die lokale Variable wird zurückgegeben.",
|
||||
"Die Auslassung des expliziten Typs entspricht nicht dem Standard (\"int\" wird angenommen).",
|
||||
"Mehr als eine teilweise Spezialisierung stimmt mit der Vorlagenargumentliste von \"%n\" überein.",
|
||||
"%no",
|
||||
"%nod",
|
||||
"In einer Deklaration einer primären Vorlage ist keine Vorlagenargumentliste zulässig.",
|
||||
"Teilweise Spezialisierungen dürfen keine Standardvorlagenargumente aufweisen.",
|
||||
"%n1 wird nicht in der Vorlagenargumentliste von \"%n2\" verwendet oder kann nicht daraus hergeleitet werden.",
|
||||
@@ -952,7 +952,7 @@
|
||||
"Die nonstad_using_decl-Option kann nur beim Kompilieren von C++ verwendet werden.",
|
||||
"Der Rückgabetyp der Main-Funktion muss \"int\" sein.",
|
||||
"Ein Nichttyp-Vorlagenparameter darf keinen Klassentyp aufweisen.",
|
||||
"Ein Standardvorlagenargument kann nicht in der Deklaration eines Members einer Klassenvorlage außerhalb seiner Klasse angegeben werden.",
|
||||
"ein Standardvorlagenargument kann nicht in der Definition eines Members einer Klassenvorlage außerhalb der Vorlage angegeben werden",
|
||||
"Eine return-Anweisung ist in einem Handler eines Funktions-Try-Blocks eines Konstruktors nicht zulässig.",
|
||||
"Normale und erweiterte Kennzeichner können nicht in einer Initialisiererkennzeichnung kombiniert werden.",
|
||||
"Der zweite Index darf nicht kleiner als der erste sein.",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"Dieses Pragma kann nicht in einem _Pragma-Operator verwendet werden (es muss eine #pragma-Direktive verwendet werden).",
|
||||
"Das Feld verwendet die Endauffüllung einer Basisklasse.",
|
||||
"GNU C++-Compiler verwenden möglicherweise eine Bitfeldauffüllung.",
|
||||
"%nd wurde als veraltet deklariert",
|
||||
"%n wurde als veraltet deklariert",
|
||||
"In einer nicht statischen Memberdeklaration ist kein ASM-Name zulässig.",
|
||||
"Unbekannter Formatfunktionstyp \"%sq\" wird ignoriert.",
|
||||
"Die Basisklasse \"%no1\" verwendet die Endauffüllung von Basisklasse \"%no2\".",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"dllexport und dllimport werden in Klassenvorlagen ignoriert.",
|
||||
"Die dllexport/dllimport -Spezifikation der Basisklasse unterscheidet sich von der der abgeleiteten Klasse.",
|
||||
"Durch die Neudeklaration kann dllexport/dllimport nicht zu \"%nod\" hinzugefügt werden.",
|
||||
"dllexport/dllimport-Konflikt mit \"%nod\"; dllexport wird angenommen.",
|
||||
"dllexport/dllimport-Konflikt mit %nod; dllexport wird angenommen.",
|
||||
"Die dllimport-Entität kann nicht definiert werden.",
|
||||
"dllexport/dllimport erfordert eine externe Bindung.",
|
||||
"Ein Member einer Klasse, die mit dllexport/dllimport deklariert wurde, kann nicht selbst mit einem solchen Spezifizierer deklariert werden.",
|
||||
"Das Feld eines Klassentyps ohne DLL-Schnittstelle wurde in einer Klasse mit DLL-Schnittstelle verwendet.",
|
||||
"Eine in Klammern gesetzte Memberdeklaration entspricht nicht dem Standard.",
|
||||
"Leerstellen zwischen dem umgekehrten Schrägstrich und dem Zeilenvorschub in der Zeilenverknüpfung wird ignoriert.",
|
||||
"dllexport/dllimport-Konflikt mit \"%nod\"; dllimport/dllexport wurde gelöscht.",
|
||||
"dllexport/dllimport-Konflikt mit %nod; dllimport/dllexport wurde gelöscht.",
|
||||
"Ungültiger Member für anonyme Memberklasse; die Klasse \"%t\" weist eine unzulässige Memberfunktion auf.",
|
||||
"reinterpret_cast entspricht nicht dem Standard.",
|
||||
"Der Positionsformatspezifizierer kann nicht Null sein.",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"Komplexe integrale Typen werden nicht unterstützt.",
|
||||
"__real und __imag können nur auf komplexe Werte angewendet werden.",
|
||||
"__real/__imag wurde auf den tatsächlichen Wert angewendet.",
|
||||
"%nd wurde als veraltet deklariert (%sq)",
|
||||
"%n wurde als veraltet deklariert (%sq)",
|
||||
"Ungültige Neudefinition von \"%nd\".",
|
||||
"dllimport/dllexport wurde auf ein Member eines unbenannten Namespaces angewendet.",
|
||||
"__thiscall kann nur in nicht statischen Memberfunktionsdeklarationen vorkommen.",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"Makro",
|
||||
"Bezeichnung",
|
||||
"Vorlagenparameter",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"Typ",
|
||||
"Union",
|
||||
"Klasse",
|
||||
"Struktur",
|
||||
"template template-Parameter",
|
||||
"Vorlage",
|
||||
"Klassenvorlage",
|
||||
null,
|
||||
"Enumeration",
|
||||
"Parameter",
|
||||
"Handlerparameter",
|
||||
"Variable",
|
||||
"Nichttyp",
|
||||
null,
|
||||
"Konstante",
|
||||
"Funktion",
|
||||
"Überladene Funktion",
|
||||
"Member",
|
||||
"Feld",
|
||||
null,
|
||||
"Namespace",
|
||||
"Benannte Registrierung",
|
||||
"Benannter Adressbereich",
|
||||
"Funktionsvorlage",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"Das Erweitern der Zeigerkonvertierung von \"%t1\" in \"%t2\" erweitert das signierte Bit.",
|
||||
"__sptr und __uptr gelten nicht für Pointer-to-Member-Typen.",
|
||||
"Die Deklaration des Kopierzuweisungsoperators für \"%t\" wurde unterdrückt, da \"%n\" konstant ist.",
|
||||
null,
|
||||
"Die Deklaration des Kopierzuweisungsoperators für \"%t\" wurde unterdrückt, weil \"%n\" folgenden Verweistyp aufweist",
|
||||
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da die Deklaration von \"%t2\" unterdrückt wurde.",
|
||||
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da die Deklaration von \"%t2\" mehrdeutig ist.",
|
||||
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da auf die Deklaration von \"%t2\" nicht zugegriffen werden kann.",
|
||||
@@ -1644,7 +1644,7 @@
|
||||
"Die Deklaration des Kopierkonstruktors für \"%t1\" wurde unterdrückt, da auf die Deklaration von \"%t2\" nicht zugegriffen werden kann.",
|
||||
"Der Destruktor für \"%t1\" wird nicht aufgerufen, da auf ihn nicht zugegriffen werden kann und der Destruktor für \"%t2\" unterdrückt wurde.",
|
||||
"Auf die Definition am Ende der Datei darf kein Semikolon oder ein Deklarator folgen.",
|
||||
"Das erste Argument muss ein Zeiger auf einen Ganzzahl- oder einen Enumerationstyp sein.",
|
||||
"das erste Argument muss ein Zeiger auf einen Integer- oder Enumerationstyp sein.",
|
||||
"Synchronisierte Operationen sind nur für Objekte der Größe 1, 2, 4 oder 8 gültig.",
|
||||
"Zusätzliche Argumente werden ignoriert.",
|
||||
"\"=\" nahm den folgenden Makronamen \"%sq\" in der Befehlszeilendefinition an.",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"Ein Typqualifizierer ist in einem Konstruktor oder Destruktor nicht zulässig.",
|
||||
"Im new- oder delete-Operator ist kein Typqualifizierer zulässig.",
|
||||
"Ein Typqualifizierer ist in einer statischen Nichtmemberfunktion nicht zulässig.",
|
||||
"Der __assume-Ausdruck mit Nebeneffekten wurde verworfen.",
|
||||
"Das Argument für \"%s\" weist Nebenwirkungen auf, wird jedoch nicht ausgewertet.",
|
||||
"Unbekannter Unicode-Quelltyp (muss UTF-8, UTF-16, UTF-16LE oder UTF-16BE sein): %s",
|
||||
"Das Unicode-Zeichen mit Hexadezimalwert %s kann in der Vorverarbeitungsausgabe nicht dargestellt werden.",
|
||||
"Die angeforderte Konstruktor-/Destruktorpriorität ist für die interne Verwendung reserviert.",
|
||||
@@ -1695,8 +1695,8 @@
|
||||
null,
|
||||
"Für die Vektoroperation sind identische Elementtypen erforderlich.",
|
||||
"Die Vektoroperation gilt nicht für Vektoren mit nicht integralem Typ.",
|
||||
"Die Datei \"%s\" kann nicht geöffnet werden: %sq2.",
|
||||
"Die -Datei \"%s\" kann nicht geöffnet werden: %sq2: %s3.",
|
||||
"Die Datei %s kann nicht geöffnet werden: %sq2.",
|
||||
"Die -Datei %s kann nicht geöffnet werden: %sq2: %s3.",
|
||||
"Vorkompilierte Headerdatei",
|
||||
"Vordefiniertes Makro",
|
||||
"Generierter C-Code",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"ein Sichtbarkeitsspezifizierer der obersten Ebene erfordert eine Typdefinition",
|
||||
"eine triviale Eigenschaft kann keinen Verweistyp aufweisen",
|
||||
"eine triviale Eigenschaft kann keinen const- oder volatile-Typ aufweisen",
|
||||
"%nd wurde zuvor als andere Art von Enumerationstyp deklariert",
|
||||
"%nd wurde zuvor als andere Variante des Enumerationstyps deklariert",
|
||||
"Eine von einer Lambdafunktion erfasste Variable kann keinen %[managed]-Klassentyp aufweisen.",
|
||||
"Überschreiben einer virtuellen Funktion mit einem covariant-Rückgabetyp ist in einer %[managed]-Klasse nicht zulässig",
|
||||
"ein Array von Handles ist nicht zulässig",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"ein benannter Überschreibungsspezifizierer ist nur in einer %[managed]-Klasse zulässig",
|
||||
"kein vom benannten Überschreibungsspezifizierer angegebener Member stimmt mit dem Typ dieses Members überein",
|
||||
"eine statische Destruktordeklaration kann keinen benannten Überschreibungsspezifizierer enthalten",
|
||||
"Eine Enumeration mit eigenem Gültigkeitsbereich muss einen Namen aufweisen.",
|
||||
"ein bereichsbezogenes Enumerationstyp muss einen Namen haben",
|
||||
"Übertragung des Steuerelements in einen Finally-Block ist nicht zulässig",
|
||||
"Eine return-Anweisung innerhalb eines Finally-Block ist unzulässig.",
|
||||
"Der Try-Block erfordert mindestens einen Handler oder eine Finally-Klausel.",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"ein initonly-Feld kann nur vom Instanzkonstruktor der enthaltenden Klasse geändert werden",
|
||||
"ein statisches initonly-Feld kann nur vom statischen Konstruktor der enthaltenden Klasse geändert werden",
|
||||
"die Memberfunktion wird für eine Kopie des initonly-Felds aufgerufen",
|
||||
"Der Ausdruck muss einen Zeiger- oder Handletyp aufweisen.",
|
||||
"Der Ausdruck muss einen Zeiger- oder Handletyp aufweisen, ist jedoch vom Typ \"%t\".",
|
||||
"ein Bewegungskonstruktor oder Bewegungszuweisungsoperator wird verwendet, um einen lvalue hierhin zu kopieren, der das Quellobjekt möglicherweise zerstört",
|
||||
"die Memberauswahl in einer generischen %[C++/CLI]-Entität muss die '->'-Syntax anstelle von '.' verwenden",
|
||||
"ein Verweisklassentyp kann nicht von %t abgeleitet werden",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"unsicheres reinterpret_cast des Handle",
|
||||
"ein Vorlagenargument darf nicht auf einen generischen Typparameter verweisen",
|
||||
"in diesem Abonnementvorgang ist keine Ausdrucksliste zulässig (Klammern um Kommaoperatoren der obersten Ebene setzen)",
|
||||
"der Ausdruck muss über einen \"pointer-to-object\"- oder \"handle-to-%[C++/CLI]-array\"-Typ verfügen",
|
||||
"Der Ausdruck muss vom Typ \"Zeiger auf Objekt\" oder \"Handle für %[C++/CLI]-Array\" sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"unbekanntes Attribut",
|
||||
"ein Member einer %[managed]-Klasse kann kein nicht-%[managed]-Klassentyp sein",
|
||||
"ein Member einer nicht-%[managed]-Klasse kann keinen Verweis- oder Schnittstellenklassentyp aufweisen",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"\"%nd\" wurde zuvor mit einem unterschiedlichen Basistyp deklariert",
|
||||
"'enum class' und 'enum struct' können hier nicht verwendet werden (verwenden Sie stattdessen eine einfache 'enum')",
|
||||
"bei Initialisierern für Objekte des Typs \"%t\" ist nur eine Ebene geschweifter Klammern zulässig",
|
||||
"\"%nd\" kann nicht als Name für einen Enumerationstyp",
|
||||
"%nd kann nicht als Name für einen Enumerationstyp verwendet werden",
|
||||
null,
|
||||
"Ein Initialisierer in geschweiften Klammern darf nicht mit 'new auto' verwendet werden.",
|
||||
"Die Definition von \"std::initializer_list\" enthält nicht den erwarteten Konstruktor.",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"Ein in Klammern gesetzter Initialisierer für eine Nicht-Klassenentität muss ein Ausdruck sein, keine in geschweifte Klammern gesetzte Liste.",
|
||||
"Eine in geschweifte Klammern gesetzte Liste stellt keinen Rückgabetyp für diese Lambdafunktion bereit.",
|
||||
"Die deklarierte Ausnahmespezifikation ist mit der generierten inkompatibel.",
|
||||
"Enumerationstypen mit eigenem Gültigkeitsbereich sind eine Funktion von C++11.",
|
||||
"bereichsbezogene Enumerationstypen sind ein C++11-Feature.",
|
||||
"Ein Funktionstyp kann nicht wertinitialisiert sein.",
|
||||
"Die Listeninitialisierung eines Objekttyps \"%t\" ist nicht zulässig, da der Typ unvollständig ist.",
|
||||
"\"std::initializer_list\" enthält entgegen der Erwartung einen Destruktor -- Die Bibliothek ist falsch konfiguriert.",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"Ein Funktionsaufruf muss in einem Konstantenausdruck einen konstanten Wert enthalten.",
|
||||
"Die Main-Funktion darf nicht als constexpr deklariert werden.",
|
||||
null,
|
||||
"Die Definition einer Klasse oder eines Enumerationstyps darf nicht in einer constexpr-Funktion oder einem Konstruktortext stehen.",
|
||||
"die Definition einer Klasse oder eines Enumerationstyps darf nicht in einer constexpr-Funktion oder einem Konstruktortext stehen",
|
||||
"Hier sind nur Attribute im GNU-Stil zulässig.",
|
||||
"Nicht dem Standard entsprechende Verwendung von 'auto', um den Typ eines Initialisierers abzuleiten und einen nachstehenden Rückgabetyp anzukündigen",
|
||||
"Die Deklaration einer Void-Parameterliste mit einem qualifizierten Void-Typ entspricht nicht dem Standard.",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"Bezeichnung erwartet",
|
||||
"Operandennummer nach \"%%l\" erwartet",
|
||||
"Operandennummer für '%%l' verweist nicht auf ein gültiges Bezeichnungsargument.",
|
||||
"Die Operandennummer für \"%%l\" verweist nicht auf ein gültiges Bezeichnungsargument",
|
||||
"Eine breite Zeichenfolge ist in einer asm-Anweisung ungültig.",
|
||||
"Das Attribut entspricht nicht dem Standard.",
|
||||
"Keine Basisklasse der Klasse \"%t\".",
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"Der Typ \"decltype(auto)\" kann nicht abgeleitet werden.",
|
||||
"Eine threadlokale Erklärung im Blockbereich muss \"static\" oder \"extern\" enthalten.",
|
||||
"abgeleiteter Rückgabetyp %t1 steht in Konflikt mit zuvor abgeleitetem Typ %t2",
|
||||
"Rückgabetyp %nd kann nicht abgeleitet werden; wurde nicht definiert",
|
||||
"Der Rückgabetyp \"%nd;\" kann nicht abgeleitet werden. Er wurde nicht definiert.",
|
||||
"Eine virtuelle Funktion darf keinen abgeleiteten Rückgabetyp aufweisen.",
|
||||
"%n wird als kontextsensibles Schlüsselwort von diesem Punkt betrachtet",
|
||||
"Der globale Namespace weist keinen tatsächlichen Member \"%sq\" auf.",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"Variable in constexpr-Funktion ist nicht initialisiert.",
|
||||
"Initialisierung in Klammern einer Variablen, die mit einem Platzhaltertyp, jedoch ohne \"=\" initialisiert wurde, erfordert genau ein Element innerhalb der Klammern",
|
||||
"Es ist keine --target-Konfiguration \"%s\" vorhanden.",
|
||||
"Das Attribut wird in 64-Bit-x86-Konfigurationen nicht unterstützt.",
|
||||
"das Attribut wird nur in einer 32-Bit-x86-Konfigurationen unterstützt",
|
||||
"\"%s\" erfordert ein Argument.",
|
||||
"Ein Konstruktor oder Destruktor kann keine Coroutine sein.",
|
||||
"\"%n\" kann keine Coroutine sein.",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"Ein co_await-Ausdruck ist in einer catch-Klausel unzulässig.",
|
||||
"Eine Coroutine darf keinen Parameter \"ellipsis\" aufweisen.",
|
||||
"Für das Aktivieren von \"constexpr\" im C++14-Stil ist Unterstützung für \"bool\" erforderlich.",
|
||||
"Die constexpr-Funktion \"%nd\" ist nicht definiert.",
|
||||
"Constexpr \"%nd\" ist nicht definiert.",
|
||||
"Dieser Aufruf kann nicht ausgewertet werden, weil die Zielfunktion \"%nd\" kein \"constexpr\" oder noch nicht vollständig definiert ist.",
|
||||
"Hinweis",
|
||||
"Hinweis",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"Der Spezifizierer \"_Atomic(...)\" kann nicht auf den qualifizierten Typ \"%t\" angewendet werden.",
|
||||
"Zugriff auf Member des _Atomic-Objekts",
|
||||
"Ein Bitfeld kann keinen _Atomic-Typ aufweisen.",
|
||||
"_Atomic-Klassentypen sind deaktiviert.",
|
||||
null,
|
||||
"Der constexpr-Konstruktor ruft den Nicht-constexpr-Konstruktor für die Teilobjektinitialisierung auf.",
|
||||
"Ein Komma wurde erwartet (die Version mit einem Argument von \"static_assert\" ist in diesem Modus nicht aktiviert).",
|
||||
"Fehler bei der statischen Assertion.",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"Der unvollständige %t-Wert kann nicht ausgewertet werden.",
|
||||
"Der Rückgabewert der Routine, die mit dem Attribut \"nodiscard\" deklariert ist, wird ignoriert.",
|
||||
"Der Rückgabewerttyp mit dem Attribut \"nodiscard\" wird ignoriert.",
|
||||
"Das Attribut \"nodiscard\" gilt nicht für Destruktoren oder Routinen mit einem ungültigen Rückgabetyp.",
|
||||
"Das Attribut \"nodiscard\" gilt nicht für Destruktoren oder Routinen mit einem ungültigen Rückgabetyp",
|
||||
"Das Attribut \"fallthrough\" gilt nur für NULL-Anweisungen.",
|
||||
"Das Attribut \"fallthrough\" erscheint unter Umständen nur in einer einschließenden switch-Anweisung.",
|
||||
"Die \"fallthrough\"-Anweisung muss einer \"switch case\"-Bezeichnung oder \"default\" vorausgehen.",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"Die copy-list-Initialisierung kann nicht \"%n\" als \"explicit\" verwenden.",
|
||||
"Deduktionsanweisung",
|
||||
"Ungültiger Wert für benutzerdefinierten Literaloperator.",
|
||||
"__has_cpp_attribute darf nicht außerhalb von #if oder #elif verwendet werden.",
|
||||
"%s darf nicht außerhalb von Präprozessordirektiven auftreten",
|
||||
"Die Deduktionsanweisung muss mit derselben Barrierefreiheit wie \"%n\" deklariert werden.",
|
||||
"Eine Lambdafunktion ist in diesem Kontext nicht zulässig.",
|
||||
"Die angegebene Ausrichtung entspricht nicht der vorherigen Deklaration.",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"Unzulässiger Typ %t im this-Zeiger für die eingeschränkte amp-Memberfunktion %nfd",
|
||||
"Unzulässiger Rückgabetyp \"%t\" für die auf AMP begrenzte Funktion \"%nfd\".",
|
||||
"Unzulässiger Parametertyp \"%t\" für die auf AMP begrenzte Funktion \"%nfd\".",
|
||||
null,
|
||||
"Unzulässiges Konstrukt in auf AMP begrenzter Funktion %nfd",
|
||||
"Unzulässige Speicherklasse \"%s\" in der auf AMP begrenzten Funktion \"%nfd\".",
|
||||
"\"%s\" ist in der auf AMP begrenzten Funktion \"%nfd\" unzulässig.",
|
||||
"Unzulässige Umwandlung in auf AMP begrenzte Funktion.",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"Es wurde \">>>\" erwartet.",
|
||||
"Die __cudaPushCallConfiguration-Deklaration wurde nicht gefunden. Die CUDA Toolkit-Installation ist möglicherweise beschädigt.",
|
||||
"Der Initialisierer im C++17-Stil ist in diesem Modus nicht standardisiert.",
|
||||
"Das Erfassen von *this ist in diesem Modus nicht standardisiert.",
|
||||
"Attributpräfix \"using\" im C++17-Stil ist in diesem Modus nicht standardisiert.",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"Ein flüchtiger %t-Typ verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
|
||||
"Ein Union-, Zeiger- oder Pointer-to-Member-Typ \"%t\" verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
|
||||
"%npTd, geerbt über die Verwendung von decl %p",
|
||||
"Die Teilobjekterstellung von \"%t\" für erbende Konstruktoren kann nicht durchgeführt werden – der implizite Standardkonstruktor wurde gelöscht.",
|
||||
"Die Teilobjekterstellung von %t für erbende Konstruktoren kann nicht durchgeführt werden – der zugehörige Konstruktor wurde gelöscht.",
|
||||
"\"%n\" muss \"void\" zurückgeben.",
|
||||
"Ungültiger Beginn der Memberdeklaration.",
|
||||
"Erwartet wurde \"auto\".",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"Eine Exportdeklaration kann keine Modulimportdeklaration enthalten.",
|
||||
"Eine Exportdeklaration kann nur in einer Modulschnittstelleneinheit verwendet werden.",
|
||||
"Eine Exportdeklaration kann keinen Namen mit interner Verknüpfung exportieren.",
|
||||
"Die using-Deklaration enthält \"%nfd\".",
|
||||
"Die integrierte Funktion ist nicht verfügbar, weil __fp16-Gleitkommatypen nicht unterstützt werden.",
|
||||
null,
|
||||
null,
|
||||
"Für einen requires-Ausdruck muss mindestens eine Anforderung angegeben werden.",
|
||||
"\"constinit\" ist hier nicht gültig.",
|
||||
"\"constinit\" ist nur für Deklarationen von Variablen mit Speicherdauer \"static\" oder \"thread\" gültig.",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"Die Moduldateizuordnung für \"%s\" wurde mehrmals angegeben.",
|
||||
"Die Zuordnung der Headereinheit für \"%s\" wurde mehrmals angegeben.",
|
||||
"Für \"%s\" wurde keine Zuordnung angegeben.",
|
||||
"Die Moduldateizuordnung für \"%s\" ist ungültig.",
|
||||
null,
|
||||
"Der zu importierende Header \"%s\" wurde nicht gefunden.",
|
||||
"Mehrere Dateien in der Moduldateiliste stimmen mit \"%s\" überein.",
|
||||
"Die für \"%s\" gefundene Moduldatei ist für ein anderes Modul bestimmt.",
|
||||
"Beliebige Art von Moduldatei",
|
||||
"Die Moduldatei kann nicht gelesen werden.",
|
||||
"Die integrierte Funktion ist nicht verfügbar, weil der char8_t-Typ mit den aktuellen Optionen nicht unterstützt wird.",
|
||||
"Die Befehlszeilenoption \"--ms_await\" kann nicht angegeben werden, wenn C++20-Coroutinen aktiviert sind.",
|
||||
null,
|
||||
"Nicht standardmäßige Verwendung des expliziten Konstruktors \"%nod\" für die standardmäßige Aggregatelementinitialisierung",
|
||||
"Die Quelle oder das Ziel des memcpy-ähnlichen systeminternen Objekts verweist nicht auf ein Objekt.",
|
||||
"Ein memcpy-ähnliches systeminternes Objekt versucht, die darstellerisch unterschiedlichen Typen %t1 und %t2 zu kopieren.",
|
||||
"Ein memcpy-ähnliches systeminternes Objekt versucht, den nicht trivial kopierbaren Typ %t zu kopieren.",
|
||||
"Ein memcpy-ähnliches systeminternes Objekt versucht, ein Teilobjekt zu kopieren.",
|
||||
"Ein memcpy-ähnliches systeminternes Objekt versucht, einen Kopiervorgang über die Arraygrenze hinaus durchzuführen.",
|
||||
"Ein memcpy-ähnliches systeminternes Objekt versucht, überlappende Bytebereiche (stattdessen mithilfe eines entsprechenden memmove-Vorgangs) zu kopieren."
|
||||
"Ein memcpy-ähnliches systeminternes Objekt versucht, überlappende Bytebereiche (stattdessen mithilfe eines entsprechenden memmove-Vorgangs) zu kopieren.",
|
||||
"Eine Frienddeklaration mit einer nachstehenden requires-Klausel muss eine Definition sein.",
|
||||
"Der Ausdruck muss einen arithmetischen Typ oder einen Zeigertyp aufweisen, ist jedoch vom Typ \"%t\".",
|
||||
"Der Ausdruck muss einen arithmetischen Typ, einen Enumerationstyp oder einen Zeigertyp aufweisen, ist jedoch vom Typ \"%t\".",
|
||||
"Der Ausdruck muss einen arithmetischen Typ, einen Enumerationstyp ohne eigenen Gültigkeitsbereich oder einen Zeigertyp aufweisen, ist jedoch vom Typ \"%t\".",
|
||||
"Der Ausdruck muss vom Typ \"Zeiger\" sein, weist jedoch den Typ \"%t\" auf.",
|
||||
"Der Operator \"->\" oder \"->*\" wurde auf \"%t\" statt auf einen Zeigertyp angewendet.",
|
||||
"Der unvollständige Klassentyp \"%t\" ist nicht zulässig.",
|
||||
"Das Bitlayout für dieses Kompilierungsziel kann nicht interpretiert werden.",
|
||||
"Kein entsprechender Operator für IFC-Operator \"%sq\".",
|
||||
"Keine entsprechende Aufrufkonvention für IFC-Aufrufkonvention \"%sq\".",
|
||||
"Das Modul \"%sq\" enthält nicht unterstützte Konstrukte.",
|
||||
"Nicht unterstütztes IFC-Konstrukt: %sq",
|
||||
"\"__is_signed\" kann ab jetzt nicht mehr als Schlüsselwort verwendet werden.",
|
||||
"Eine Arraydimension muss einen konstanten ganzzahligen Wert ohne Vorzeichen aufweisen.",
|
||||
"Die IFC-Datei \"%sq\" weist eine nicht unterstützte Version %d1.%d2 auf.",
|
||||
"Module sind in diesem Modus nicht aktiviert.",
|
||||
"\"Import\" ist in einem Modulnamen unzulässig.",
|
||||
"\"Modul\" ist in einem Modulnamen unzulässig.",
|
||||
null,
|
||||
null,
|
||||
"%n ist kein Enumerationstyp",
|
||||
"Der Enumerator \"%no2\" steht in Konflikt mit \"%n1\".",
|
||||
"Der Enumerator \"%no\" wurde bereits in diesem Bereich (%p) deklariert.",
|
||||
"Die Spezifikation \"throw()\" ist nicht in C++ 20 und höher enthalten.",
|
||||
"Mehrere Einträge in der Headereinheitenzuordnung stimmen mit \"%s\" überein.",
|
||||
"#pragma-Diagnose muss entweder das Argument \"push\" oder \"pop\" aufweisen",
|
||||
"es wurde kein \"#pragma diagnostic push\" gefunden, um diesem \"diagnostic pop\" zu entsprechen",
|
||||
"%sq kann kein Makro sein, wenn es in einer \"import\"- oder \"module\"-Direktive verwendet wird",
|
||||
"diese Direktive darf nur im globalen Namespacebereich angezeigt werden",
|
||||
"eine \"export\"-Deklaration kann nur im globalen oder Namespace-Gültigkeitsbereich auftreten.",
|
||||
"%sq wird als Bezeichner und nicht als Schlüsselwort analysiert, da die nachfolgenden Token nicht mit denen einer Präprozessor-Direktive übereinstimmen",
|
||||
"dies scheint der Anfang einer Präprozessor-Direktive zu sein, aber der Mangel an \";\", gefolgt von einem Zeilenumbruch, verhindert, dass",
|
||||
"dies scheint eine Direktive für die Vorverarbeitung von Modulen zu sein, aber solche Direktiven dürfen nicht innerhalb einer Makroerweiterung auftreten",
|
||||
"eine \"module\"-Direktive darf nicht im Bereich der bedingten Inklusion enthalten sein (z. B. #if, #else, #elseif usw.)",
|
||||
"der Import von %sq wurde übersprungen",
|
||||
"Der Zusagetyp „%t“ muss „get_return_object_on_allocation_failure“ als statische Memberfunktion deklarieren, die keine Argumente erfordert.",
|
||||
"Eine Aliasvorlage kann nicht explizit spezialisiert werden.",
|
||||
"um diesem „{“ zu entsprechen",
|
||||
"in diesem Makroaufruf",
|
||||
"Der Aufruf erfordert eine mehrdeutige Argumentkonvertierung.",
|
||||
"Die Deklaration im Besitz des Moduls „%s“ steht in Konflikt mit %nd.",
|
||||
"Die Deklaration im Besitz des globalen Moduls steht in Konflikt mit %nd im Besitz eines benannten Moduls.",
|
||||
"Das erste Argument für ein malloc-Attribut muss eine Funktion sein.",
|
||||
"%nod kann nicht erfasst werden.",
|
||||
"„this“ kann nicht erfasst werden.",
|
||||
"bereits im consteval-Kontext",
|
||||
"„wenn consteval“ und „wennn nicht consteval“ erfordern abhängige Anweisungen mit geschweiften Klammern",
|
||||
"„wenn consteval“ und „wenn nicht consteval“ sind in einer Nicht-constexpr-Funktion bedeutungslos",
|
||||
"die Übertragung der Steuerung in eine „wenn consteval“- oder „wenn nicht consteval“-Anweisung ist nicht zulässig",
|
||||
"die Konstantenauswertung kann die Deklaration einer Variablen mit statischer oder Thread-Speicherdauer nicht durchlaufen",
|
||||
"der änderbare Qualifizierer ist für einen Lambda-Ausdruck mit einem expliziten „dies“-Parameter nicht zulässig",
|
||||
"eine mit „statisch“ deklarierte Memberfunktion darf keinen expliziten „dies“-Parameter aufweisen",
|
||||
"ein expliziter „dies“-Parameter muss der erste deklarierte Parameter sein",
|
||||
"„dies“ ist hier nicht zulässig",
|
||||
"eine Vergleichsfunktion mit explizitem „dies“ kann nicht als Standard verwendet werden",
|
||||
"eine explizite „dies-2-Funktion erfordert einen Selektoroperanden",
|
||||
"„wenn consteval“ und „wenn nicht consteval“ sind in diesem Modus nicht Standard",
|
||||
"das Weglassen von „()“ in einem Lambda-Deklarator ist in diesem Modus nicht der Standard",
|
||||
"eine „trailing-requires“-Klausel ist nicht zulässig, wenn die Lambda-Parameterliste ausgelassen wird",
|
||||
"Modul %sq ungültige Partition angefordert",
|
||||
"Modul %sq1 undefinierte Partition (könnte %sq2 sein) wurde angefordert",
|
||||
null,
|
||||
null,
|
||||
"Die %sq1-Dateiposition %u1 (relative Position %u2) des Moduls wurde für die %sq2-Partition angefordert. Dadurch wird das Ende der Partition überschritten",
|
||||
"Modul %sq1 Dateiposition %u1 (relative Position %u2) wurde für die Partition %sq2 angefordert, welche mit dessen Partitionselementen falsch ausgerichtet ist",
|
||||
"von Unterfeld %sq (relative Position zum Knoten %d)",
|
||||
"von Partition %sq Element %u1 (Dateiposition %u2, relative Position %u3)",
|
||||
"Lambda-Attribute entsprechen hier nicht dem Standard",
|
||||
"der Bezeichner %sq könnte mit einem visuell ähnlichen Bezeichner verwechselt werden, der %p angezeigt wird",
|
||||
"dieser Kommentar enthält verdächtige Unicode-Formatierungssteuerzeichen",
|
||||
"diese Zeichenfolge enthält Unicode-Formatierungssteuerzeichen, die zu unerwartetem Laufzeitverhalten führen könnten",
|
||||
"%d1 unterdrückte Warnung wurde bei der Verarbeitung des Moduls %sq1 festgestellt",
|
||||
"%d1 unterdrückte Warnungen wurden bei der Verarbeitung des Moduls %sq1 festgestellt",
|
||||
"%d1 unterdrückter Fehler wurde beim Verarbeiten des Moduls %sq1 festgestellt",
|
||||
"%d1 unterdrückte Fehler wurden beim Verarbeiten des Moduls %sq1 festgestellt",
|
||||
"einschließlich",
|
||||
"Unterdrückt",
|
||||
"eine virtuelle Memberfunktion darf keinen expliziten „dies“-Parameter aufweisen",
|
||||
"das Übernehmen der Adresse einer expliziten „dies“-Funktion erfordert einen qualifizierten Namen.",
|
||||
"das Formatieren der Adresse einer expliziten „dies“-Funktion erfordert den Operator „&“",
|
||||
"Ein Zeichenfolgenliteral kann nicht zum Initialisieren eines flexiblen Arraymembers verwendet werden.",
|
||||
"Die IFC-Darstellung der Definition der Funktion %sq ist ungültig.",
|
||||
null,
|
||||
"Ein UniLevel-IFC-Chart wurde nicht zum Angeben von Parametern verwendet.",
|
||||
"%d1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurden.",
|
||||
"%d1 Parameter wurde im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurden.",
|
||||
"%d1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurde.",
|
||||
"Die IFC-Darstellung der Definition der Funktion %sq fehlt.",
|
||||
"Funktionsmodifizierer gilt nicht für eine statische Mitgliedervorlagendeklaration",
|
||||
"Die Mitgliederauswahl umfasst zu viele geschachtelte anonyme Typen",
|
||||
"Es gibt keinen gemeinsamen Typ zwischen den Operanden",
|
||||
"Es wurde ein Pointer-to-Member erwartet",
|
||||
"Ein flexibles Arrayelement kann nicht in einem ansonsten leeren Typ deklariert werden.",
|
||||
"Es wurde erwartet, dass \"std::source_location::__impl\" für eine Klasse definiert ist, die nur die Datenmember \"_M_function_name\", \"_M_file_name\", \"_M_column\", \"_M_line\" enthält.",
|
||||
"die angegebene Spaltennummer ist für die Implementierung von „std::source_location“ zu groß",
|
||||
"die angegebene Zeilennummer ist für die Implementierung von „std::source_location“ zu groß",
|
||||
"Eine UTF-16-Zeichenkonstante darf nicht mehrere Codeeinheiten belegen. Wert abgeschnitten.",
|
||||
"Beide Argumente müssen denselben Typ aufweisen.",
|
||||
"Der Typ \"%t\" ist als Argument für dieses integrierte Element ungültig.",
|
||||
"aufgerufen von %nd:",
|
||||
"ein qualifizierter Typ ist kein Standard für anonyme Bitfelder",
|
||||
"der Elementtyp der Vektorbedingung (%t1) muss dieselbe Größe haben wie der Elementtyp des Ergebnisses (%t2)",
|
||||
"der Gleitkomma-Vektoroperandentyp (%t) hat keinen übereinstimmenden ganzzahligen Vektortyp",
|
||||
"das Mangling für 'requires'-Ausdrücke ist noch nicht implementiert",
|
||||
"aufgrund eines „nicht verfügbaren“ Attributs",
|
||||
"Doppelter „ASM“-Qualifizierer",
|
||||
"entweder ein Bitfeld mit einem unvollständigen Enumerationstyp oder eine opake Enumeration mit einem ungültigen Basistyp",
|
||||
"Es wurde versucht, ein Element aus der IFC-Partition %sq mithilfe eines Indexes in der IFC-Partition %sq2 zu erstellen",
|
||||
"Die Partition %sq hat ihre Eintragsgröße mit %d1 angegeben, obwohl %d2 erwartet wurde",
|
||||
"Unerwartete IFC-Anforderung beim Verarbeiten des Moduls %sq1",
|
||||
"Bedingungsfehler in Zeile %d in %s1: %sq2",
|
||||
"Die atomische Einschränkung hängt von sich selbst ab",
|
||||
"Die Funktion \"noreturn\" weist den Rückgabetyp \"nicht void\" auf.",
|
||||
"Eine Korrektur wurde vorgenommen, indem der Parameter %sq (beim relativen Index %d) weggelassen wurde",
|
||||
"ein Standardvorlagenargument kann nicht für die Definition einer Membervorlage außerhalb seiner Klasse angegeben werden",
|
||||
"Ungültiger IFC-Bezeichnername %sq bei der Rekonstruktion der Entität gefunden",
|
||||
null,
|
||||
"Modul %sq ungültiger Sortierwert",
|
||||
"Eine aus einem IFC-Modul geladene Funktionsvorlage wurde fälschlicherweise als %nd analysiert",
|
||||
"Fehler beim Laden eines IFC-Entitätsverweises im Modul \"%sq\"",
|
||||
"von Partition %sq Element %u1 (Dateiposition %u2, relative Position %u3)",
|
||||
"verkettete Kennzeichner sind für einen Klassentyp mit einem nichttrivialen Destruktor nicht zulässig",
|
||||
"Eine explizite Spezialisierungsdeklaration darf keine Frienddeklaration sein",
|
||||
"der Typ „std::float128_t“ wird nicht unterstützt. Stattdessen wird „std::float64_t“ verwendet",
|
||||
"der Typ „std::bfloat16_t“ wird nicht unterstützt. Stattdessen wird „std::float32_t“ verwendet",
|
||||
"Für die Aliasvorlage %no darf keine Deduktionsanleitung deklariert werden.",
|
||||
"%n wurde als nicht verfügbar deklariert.",
|
||||
"%n wurde als nicht verfügbar deklariert (%sq).",
|
||||
"aufgrund eines „veralteten“ Attributs",
|
||||
"Explizite Lambdavorlagenparameter sind ein C++20-Feature.",
|
||||
"Die Verwendung von „_Noreturn“ in C23 ist veraltet. Verwenden Sie stattdessen „[[noreturn]]“.",
|
||||
"Die Verwendung von „_Alignof“ in C23 ist veraltet. Verwenden Sie stattdessen „alignof“.",
|
||||
"Die Verwendung von „_Alignas“ in C23 ist veraltet. Verwenden Sie stattdessen „alignas“.",
|
||||
"Die Verwendung von „_Bool“ in C23 ist veraltet. Verwenden Sie stattdessen „bool“.",
|
||||
"Die Verwendung von „_Static_assert“ in C23 ist veraltet. Verwenden Sie stattdessen „static_assert“.",
|
||||
"Die Verwendung von „_Thread_local“ in C23 ist veraltet. Verwenden Sie stattdessen „thread_local“.",
|
||||
"Der Microsoft-Modus muss aktiviert sein, um die Moduldatei %sq (ein Microsoft Visual Studio IFC-Modul) zu verwenden.",
|
||||
"Die Moduldatei \"%sq\" konnte nicht importiert werden.",
|
||||
"wurde in der Modulzuordnung für das Modul %sq gefunden",
|
||||
"wurde in der Headereinheitszuordnung für %sq gefunden",
|
||||
"nicht erkannter Ausgabemodus (muss einer von text, sarif sein): %s",
|
||||
"Die Option \"c23_typeof\" kann nur beim Kompilieren von C verwendet werden",
|
||||
"ungültige Clang-Versionsnummer: %s",
|
||||
"die IFC-Zeichenfolge enthält ein unerwartetes NULL-Zeichen (null) im Modul %sq",
|
||||
"%d1 von %d2 Bytes wurden verwendet",
|
||||
"aus Zeichenfolgeninformationen in Partition %sq Element %u1 (Dateiposition %u2, relative Position %u3)",
|
||||
"ein Initialisierer für einen flexiblen Arraymember kann nicht ausgewertet werden",
|
||||
"ein Standard-Bitfeldinitialisierer ist ein C++20-Feature",
|
||||
"zu viele Argumente in der Vorlagenargumentliste im Modul %sq",
|
||||
"für das Vorlagenargument erkannt, das durch das %sq-Element %u1 dargestellt wird (Dateiposition %u2, relative Position %u3)",
|
||||
"zu wenige Argumente in der Vorlagenargumentliste im Modul %sq",
|
||||
"wurde beim Verarbeiten der Vorlagenargumentliste erkannt, die durch das %sq-Element %u1 (Dateiposition %u2, relative Position %u3) dargestellt wird",
|
||||
"die Konvertierung vom bereichsbezogenen Enumerationstyp \"%t\" entspricht nicht dem Standard",
|
||||
"die Zuordnungsfreigabe stimmt nicht mit der Zuordnungsart überein (eine ist für ein Array und die andere nicht)",
|
||||
"der Vergleich umfasst eine unbekannte Adresse (z. B. die Adresse einer schwachen Variablen)",
|
||||
"__make_signed ist nur mit nicht booleschen Integer- und Enumerationstypen kompatibel",
|
||||
"__make_unsigned ist nur mit nicht booleschen Integer- und Enumerationstypen kompatibel",
|
||||
"der systeminterne Name\"%sq wird von hier aus als gewöhnlicher Bezeichner behandelt.",
|
||||
"Zugriff auf nicht initialisiertes Teilobjekt bei Index %d",
|
||||
"IFC-Zeilennummer (%u1) überläuft maximal zulässigen Wert (%u2) Modul %sq",
|
||||
"Das Modul %sq1 hat das Element %u der Partition %sq2 angefordert. Diese Dateiposition überschreitet den maximal darstellbaren Wert",
|
||||
"Falsche Anzahl von Argumenten",
|
||||
"Einschränkung für Kandidat %n nicht erfüllt",
|
||||
"Die Anzahl der Parameter von %n stimmt nicht mit dem Aufruf überein",
|
||||
"Fehler beim Ersetzen der expliziten Vorlagenargumente %T für %n",
|
||||
"%n ist eine implizite Verschiebungsfunktion \"= delete\" und wird daher während der Überladungsauflösung ignoriert",
|
||||
"%n stimmt nicht überein, da das Argument #%d für ein leeres Parameterpaket angegeben wurde",
|
||||
"%n stimmt nicht überein, da das Argument #%d nicht mit dem Parameter übereinstimmt",
|
||||
"Kandidat %n konnte nicht abgezogen werden",
|
||||
"Der integrierte Operator %s stimmt nicht überein, da das Argument #%d nicht mit dem Parameter übereinstimmt",
|
||||
"<integral>",
|
||||
"<promoted integral>",
|
||||
"<ptrdiff_t>",
|
||||
"<enum>",
|
||||
"<scoped enum>",
|
||||
"<arithmetic>",
|
||||
"<promoted arithmetic>",
|
||||
"<non-bool arithmetic>",
|
||||
"<pointer>",
|
||||
"<nullptr>",
|
||||
"<handle>",
|
||||
"<handle to CLI array>",
|
||||
"<pointer to object>",
|
||||
"<pointer to function>",
|
||||
"<pointer-to-member>",
|
||||
"<bool>",
|
||||
"<bool-like>",
|
||||
"<class>",
|
||||
"auto(<expr>) und auto{<expr>} sind C++23-Features.",
|
||||
"Ungültige anonyme Union; using-Deklaration ist nicht zulässig.",
|
||||
"IFC-Datei %sq kann nicht verarbeitet werden",
|
||||
"IFC-Version %u1.%u2 wird nicht unterstützt",
|
||||
"Die IFC-Architektur \"%sq\" ist nicht mit der aktuellen Zielarchitektur kompatibel",
|
||||
"Das Modul %sq1 fordert den Index %u einer nicht unterstützten Partition an, die %sq2 entspricht",
|
||||
"Die Parameternummer %d von %n weist den Typ %t auf, der nicht abgeschlossen werden kann",
|
||||
"Die Parameternummer %d von %n weist den unvollständigen Typ %t auf",
|
||||
"Die Parameternummer %d von %n weist den abstrakten Typ %t auf",
|
||||
"Strukturierte Bindungen sind ein C++17-Feature",
|
||||
"Das Erfassen strukturierter Bindungen ist ein C++20-Feature"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"un operando de '*' debe ser un puntero",
|
||||
"el operando de \"*\" debe ser un puntero, pero tiene el tipo %t",
|
||||
"el argumento para la macro está vacío",
|
||||
"esta declaración no tiene ningún especificador de tipo o clase de almacenamiento",
|
||||
"una declaración de parámetros no puede tener un inicializador",
|
||||
@@ -130,8 +130,8 @@
|
||||
"no se puede tener acceso al bucle",
|
||||
"una función de ámbito de bloque solo puede tener una clase de almacenamiento extern",
|
||||
"se esperaba '{'",
|
||||
"la expresión debe tener un tipo de puntero a clase",
|
||||
"la expresión debe tener un tipo de puntero a struct o union",
|
||||
"la expresión debe tener un tipo de puntero a clase, pero tiene el tipo %t",
|
||||
"la expresión debe tener un tipo de puntero a struct o union, pero tiene el tipo %t",
|
||||
"se esperaba un nombre de miembro",
|
||||
"se esperaba un nombre de campo",
|
||||
"%n no tiene ningún miembro %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"no se permite la aceptación de la dirección de un campo de bits",
|
||||
"hay demasiados argumentos en la llamada a función",
|
||||
"no se permiten parámetros de prototipos sin nombre si aparece un cuerpo",
|
||||
"la expresión debe tener un tipo de puntero a objeto",
|
||||
"la expresión debe tener un tipo de puntero a objeto, pero tiene el tipo %t",
|
||||
"el programa es demasiado grande o complicado para compilarlo",
|
||||
"no se puede usar un valor de tipo %t1 para inicializar una entidad de tipo %t2",
|
||||
"%n no se puede inicializar",
|
||||
@@ -152,8 +152,8 @@
|
||||
"un nombre de tipo no se puede declarar de nuevo como parámetro",
|
||||
"un nombre typedef no se puede declarar de nuevo como parámetro",
|
||||
"conversión de un entero distinto de cero en puntero",
|
||||
"la expresión debe tener un tipo de clase",
|
||||
"la expresión debe tener un tipo struct o union",
|
||||
"la expresión debe tener un tipo de clase, pero tiene el tipo %t",
|
||||
"la expresión debe tener un tipo struct o union, pero tiene el tipo %t",
|
||||
"operador de asignaciones anticuado",
|
||||
"inicializador anticuado",
|
||||
"la expresión debe ser de tipo constante integral",
|
||||
@@ -180,7 +180,7 @@
|
||||
"no tiene ningún efecto aplicar '&' a una matriz",
|
||||
"el operando derecho de '%%' es cero",
|
||||
"el argumento no es compatible con un parámetro formal",
|
||||
"el argumento no es compatible con la conversión de la cadena de formato correspondiente",
|
||||
"el argumento no es compatible con la conversión de cadena de formato correspondiente (se esperaba el tipo %t1 pero el argumento tiene el tipo %t2)",
|
||||
"no se pudo abrir el archivo de código fuente %sq (no hay directorios en la lista de búsqueda)",
|
||||
"la conversión debe ser de tipo integral",
|
||||
"la conversión debe ser de tipo aritmético o de puntero",
|
||||
@@ -392,7 +392,7 @@
|
||||
"no se puede llamar a la función 'main' ni tomar su dirección",
|
||||
"no se puede especificar un inicializador new para una matriz",
|
||||
"la función miembro %no no se puede declarar de nuevo fuera de su clase",
|
||||
"no se permite un puntero a un tipo de clase incompleta",
|
||||
"no se permite un puntero a un tipo %t de clase incompleta",
|
||||
"no se permite una referencia a una variable local de una función de inclusión",
|
||||
"se usó una función de un solo argumento para %sq postfijo (anacronismo)",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"devolviendo una referencia a una variable local",
|
||||
"la omisión de un tipo explícito no es estándar (se presupone 'int')",
|
||||
"más de una especialización parcial coincide con la lista de argumentos de plantilla de %n",
|
||||
"%no",
|
||||
"%nod",
|
||||
"no se permite una lista de argumentos de plantilla en una declaración de plantilla principal",
|
||||
"las especializaciones parciales no pueden tener argumentos de plantilla predeterminados",
|
||||
"%n1 no se usa en (o no se puede deducir de) la lista de argumentos de plantilla de %n2",
|
||||
@@ -952,7 +952,7 @@
|
||||
"la opción 'nonstd_using_decl' solo se puede usar al compilar C++",
|
||||
"el tipo de valor devuelto de la función 'main' debe ser 'int'",
|
||||
"un parámetro de plantilla sin tipo no puede tener un tipo de clase",
|
||||
"no se puede especificar un argumento de plantilla predeterminado en la declaración de un miembro de una plantilla de clase fuera de su clase",
|
||||
"no se puede especificar un argumento de plantilla predeterminado en la definición de un miembro de una plantilla de clase fuera de la plantilla",
|
||||
"No se permite una instrucción \"return\" en un controlador de un bloque try de función de un constructor",
|
||||
"los designadores comunes y extendidos no se pueden combinar en una designación de inicializador",
|
||||
"el segundo subíndice no debe ser más pequeño que el primero",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"esta pragma no se puede usar en un operador _Pragma (se debe usar una directiva #pragma)",
|
||||
"el campo usa el relleno posterior de una clase base",
|
||||
"los compiladores de GNU C++ pueden usar espacio de campo de bits",
|
||||
"%nd se declaró como deprecated",
|
||||
"%n se declaró desusado",
|
||||
"no se permite un nombre asm en una declaración de miembro no estático",
|
||||
"se ha omitido el tipo de función de formato %sq no reconocido",
|
||||
"la clase base %no1 usa el espacio de cola de la clase base %no2",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"no se admiten los tipos enteros complejos",
|
||||
"__real e __imag solo se pueden aplicar a valores complejos",
|
||||
"se ha aplicado __real o __imag a un valor real",
|
||||
"%nd se declaró como deprecated (%sq)",
|
||||
"%n se declaró como deprecated (%sq)",
|
||||
"nueva definición de %nd no válida",
|
||||
"se ha aplicado dllimport/dllexport a un miembro de un espacio de nombres sin nombre",
|
||||
"__thiscall solo puede aparecer en declaraciones de funciones miembro no estáticas",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"macro",
|
||||
"etiqueta",
|
||||
"parámetro de plantilla",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"tipo",
|
||||
"unión",
|
||||
"clase",
|
||||
"estructura",
|
||||
"parámetro template de plantilla",
|
||||
"plantilla",
|
||||
"plantilla de clase",
|
||||
null,
|
||||
"enumeración",
|
||||
"parámetro",
|
||||
"parámetro de controlador",
|
||||
"variable",
|
||||
"sin tipo",
|
||||
null,
|
||||
"constante",
|
||||
"función",
|
||||
"función sobrecargada",
|
||||
"miembro",
|
||||
"campo",
|
||||
null,
|
||||
"espacio de nombres",
|
||||
"registro con nombre",
|
||||
"espacio de dirección con nombre",
|
||||
"plantilla de función",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"la conversión de puntero de ampliación de %t1 a %t2 extiende el bit de signo",
|
||||
"__sptr y __uptr no se aplican a los tipos de puntero a miembro",
|
||||
"la declaración del operador de asignación de copia para %t se ha suprimido porque %n es const",
|
||||
null,
|
||||
"la declaración del operador de asignación de copia para %t se ha suprimido porque %n tiene un tipo de referencia",
|
||||
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque también se suprimió la de %t2",
|
||||
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque la de %t2 es ambigua",
|
||||
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque no se puede obtener acceso a la de %t2",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"no se permite un calificador de tipo en un constructor o destructor",
|
||||
"no se permite un calificador de tipo en operator new u operator delete",
|
||||
"no se permite un calificador de tipo en una función que no sea miembro",
|
||||
"expresión __assume con efectos secundarios descartada",
|
||||
"el argumento para %s tiene efectos secundarios, pero no se evalúa",
|
||||
"tipo de código fuente Unicode no reconocido (debe ser uno de los siguientes: UTF-8, UTF-16, UTF-16LE o UTF-16BE): %s",
|
||||
"el carácter Unicode con valor hexadecimal %s no se puede representar en la salida de preprocesamiento",
|
||||
"la prioridad de constructor o destructor solicitada está reservada para uso interno",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"un especificador de visibilidad de nivel superior requiere una definición de tipo",
|
||||
"una propiedad trivial no puede tener un tipo de referencia",
|
||||
"una propiedad trivial no puede tener un tipo const o volatile",
|
||||
"%nd se declaró previamente como un tipo de enumeración distinto",
|
||||
"%nd se declaró anteriormente como un tipo diferente de tipo de enumeración",
|
||||
"una variable capturada por una lambda no puede tener un tipo de clase %[managed]",
|
||||
"no se admite la invalidación de una función virtual con un tipo de valor devuelto covariante en una clase %[managed]",
|
||||
"no se permite una matriz de identificadores",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"un campo initonly solo se puede modificar mediante el constructor de instancias de su clase contenedora",
|
||||
"un campo initonly estático solo se puede modificar mediante el constructor estático de su clase contenedora",
|
||||
"la función miembro se invocará en una copia del campo initonly",
|
||||
"la expresión debe tener un tipo de puntero o identificador",
|
||||
"la expresión debe tener un tipo de identificador o puntero, pero tiene el tipo %t",
|
||||
"para copiar un valor L aquí, se usa un constructor de movimiento o de asignación de movimiento, lo cual puede destruir el objeto de origen",
|
||||
"la selección de miembros en una entidad genérica de %[C++/CLI] debe usar la sintaxis '->', no '.'",
|
||||
"un tipo de clase ref no se puede derivar de %t",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"reinterpret_cast de identificador no seguro",
|
||||
"un argumento de plantilla no puede hacer referencia a un parámetro de tipo genérico",
|
||||
"no se permite una lista de expresiones en esta operación de subíndice (use paréntesis para un operador de coma de nivel superior)",
|
||||
"la expresión debe tener un tipo 'puntero a objeto' o 'identificador a tipo de matriz %[C++/CLI]'",
|
||||
"la expresión debe tener un tipo de puntero a objeto o de identificador a tipo de matriz %[C++/CLI], pero tiene el tipo %t",
|
||||
"atributo no reconocido",
|
||||
"un miembro de una clase %[managed] no puede ser de un tipo de clase no %[managed]",
|
||||
"un miembro de una clase no %[managed] no puede tener un tipo de clase ref o interface",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"un inicializador entre paréntesis para una entidad que no es una clase debe ser una expresión, no una lista entre llaves",
|
||||
"una lista entre llaves no proporciona un tipo devuelto para este lambda",
|
||||
"la especificación de excepción declarada es incompatible con la que se ha generado",
|
||||
"los tipos de enumeración con ámbito son una funcionalidad de C++11",
|
||||
"los tipos de enumeración con ámbito son una característica de C++11",
|
||||
"un tipo de función no se puede inicializar con un valor",
|
||||
"no se permite la inicialización con lista de un tipo de objeto %t porque el tipo está incompleto",
|
||||
"std::initializer_list tiene un destructor y se supone que no debe tenerlo; la biblioteca no está bien configurada",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"se esperaba una etiqueta",
|
||||
"se esperaba un número de operando después de \"%%l\"",
|
||||
"el número de operando de \"%%l\" no hace referencia a un argumento de etiqueta válido",
|
||||
"el número de operando para '%%l' no hace referencia a un argumento de etiqueta válido",
|
||||
"las cadenas de tipo ancho no son válidas en una instrucción \"asm\"",
|
||||
"el atributo no es estándar",
|
||||
"no es una clase base de la clase %t",
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"la definición de un tipo C++/CX público no se permite en el ámbito global",
|
||||
"no se permite una propiedad indizada con un descriptor de acceso público 'get' o 'set'",
|
||||
"no se permite un tipo de delegado anidado público",
|
||||
"inicializador de delegado no válido: se esperaba '(<función-dirección o funtor-objeto> [, Platform::CallbackContext])' o '(<identificador de objeto>, <miembro-dirección> [, Platform::CallbackContext [, bool]])'",
|
||||
"inicializador de delegado no válido: se esperaba \"(<function-address or functor-object> [, Platform::CallbackContext])\" o \"(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])\"",
|
||||
"inicializador de delegado no válido: el objeto debe ser un identificador de una clase %[managed]",
|
||||
"C++/CX no admite matrices 'in/out': use 'const Platform::Array<T>^' para 'in' y 'Platform::WriteOnlyArray<T>^' o 'Platform::Array<T>^*' para 'out' en API públicas",
|
||||
"falta el atributo \"target\" de %nd",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"la variable de la función constexpr está sin inicializar",
|
||||
"la inicialización entre llaves de una variable declarada con un tipo de marcador de posición pero sin \"=\" necesita exactamente un elemento dentro de las llaves",
|
||||
"no existe ninguna configuración \"%s\" --target",
|
||||
"el atributo no es compatible con configuraciones x86 de 64 bits",
|
||||
"el atributo solo se admite en configuraciones x86 de 32 bits",
|
||||
"\"%s\" requiere un argumento",
|
||||
"un constructor o destructor no puede ser una corrutina",
|
||||
"%n no puede ser una corrutina",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"no se permite una expresión co_await dentro de una cláusula catch",
|
||||
"una corrutina no puede tener un parámetro de puntos suspensivos",
|
||||
"para habilitar constexpr como en C++14, se requiere compatibilidad con \"bool\"",
|
||||
"la función constexpr %nd no está definida",
|
||||
"el valor constexpr %nd no está definido",
|
||||
"esta llamada no se puede evaluar porque la función %nd de destino no es constexpr o no está totalmente definida aún",
|
||||
"nota",
|
||||
"Nota",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"el especificador _Atomic(...) no se puede aplicar al tipo calificado %t",
|
||||
"acceder al miembro del objeto _Atomic",
|
||||
"un campo de bits no puede tener un tipo _Atomic",
|
||||
"Los tipos de clase _Atomic están deshabilitados",
|
||||
null,
|
||||
"el constructor constexpr llama al constructor que no es constexpr para la inicialización del subobjeto",
|
||||
"se esperaba una coma (la versión de un argumento de static_assert no está habilitada en este modo)",
|
||||
"error de aserción estática",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"no se puede evaluar el valor de %t incompleto",
|
||||
"ignorando el valor devuelto de la rutina declarada con el atributo \"nodiscard\"",
|
||||
"ignorando el tipo de valor devuelto con el atributo \"nodiscard\"",
|
||||
"el atributo \"nodiscard\" no se aplica a los destructores ni a las rutinas con un tipo de valor devuelto void",
|
||||
"el atributo 'nodiscard' no se aplica a destructores o rutinas con tipo de valor devuelto void",
|
||||
"El atributo \"fallthrough\" solo se aplica a instrucciones null",
|
||||
"El atributo \"fallthrough\" solo puede aparecer dentro de una instrucción switch",
|
||||
"la instrucción fallthrough debe preceder a la etiqueta switch case o default",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"la inicialización de lista de copia no puede usar un elemento %n de tipo \"explicit\"",
|
||||
"guía de deducción",
|
||||
"Valor no válido para un operador literal definido por el usuario.",
|
||||
"__has_cpp_attribute no puede aparecer fuera de #if o #elif",
|
||||
"%s no puede aparecer fuera de las directivas de preprocesador",
|
||||
"la guía de deducción debe declararse con la misma accesibilidad que %n",
|
||||
"no se permite el uso de lambda en este contexto",
|
||||
"la alineación especificada no es equivalente a la declaración anterior",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"tipo %t no válido en puntero this para la función miembro %nfd con restricción amp",
|
||||
"Tipo de valor devuelto %t no válido para la función %nfd con restricción amp",
|
||||
"Tipo de parámetro %t no válido para la función %nfd con restricción amp",
|
||||
null,
|
||||
"construcción no válida en la función %nfd con restricción amp",
|
||||
"Clase de almacenamiento %s no válida en la función %nfd con restricción amp",
|
||||
"%s no se permite en la función %nfd con restricción amp",
|
||||
"conversión no válida en la función con restricción amp",
|
||||
@@ -2997,7 +2997,7 @@
|
||||
"<error de emisión de diagnóstico>",
|
||||
"Hay demasiados errores como para que el motor de IntelliSense funcione correctamente. Puede que algunos no se vean en el editor.",
|
||||
"la asignación al anacronismo \"this\" no es compatible con el modo C++11",
|
||||
"error desconocido. No se generó un archivo Intellisense PCH.",
|
||||
"error desconocido. No se generó un archivo IntelliSense PCH.",
|
||||
"No se pueden asignar una o varias rutas remotas a las rutas locales actuales. La experiencia con IntelliSense puede degradarse.",
|
||||
null,
|
||||
null,
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"se esperaba \">>>\"",
|
||||
"no se encuentra la declaración __cudaPushCallConfiguration. La instalación del kit de herramientas de CUDA puede estar dañada.",
|
||||
"El inicializador de estilo C++17 no es estándar en este modo",
|
||||
"la captura de *this no es estándar en este modo",
|
||||
"El prefijo del atributo \"using\" de estilo C++17 no es estándar en este modo",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"un tipo volatile %t impide la evaluación constexpr de __builtin_bit_cast",
|
||||
"un tipo de unión, puntero o puntero a miembro %t impide la evaluación constexpr de __builtin_bit_cast",
|
||||
"%npTd, heredado mediante el uso de la declaración %p",
|
||||
"no se puede realizar la construcción de subobjetos de %t para los constructores de herencia; se elimina el constructor predeterminado implícito",
|
||||
"no se puede realizar la construcción del subobjeto de %t para los constructores heredados; se elimina el constructor asociado",
|
||||
"%n debe devolver void",
|
||||
"inicio de declaración de miembro no válido",
|
||||
"se esperaba \"auto\"",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"una declaración de exportación no puede contener una declaración de importación de módulo",
|
||||
"una declaración de exportación solo puede aparecer en una unidad de interfaz de módulo",
|
||||
"una declaración de exportación no puede exportar un nombre con vinculación interna",
|
||||
"la declaración using incluye %nfd",
|
||||
"la función builtin no está disponible porque no se admiten tipos de punto flotante __fp16",
|
||||
null,
|
||||
null,
|
||||
"una expresión requires debe especificar al menos un requisito",
|
||||
"\"constexpr\" no es válido aquí",
|
||||
"\"constinit\" solo es válido para las declaraciones de variables con duración de almacenamiento estático o de subproceso",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"la asignación de archivos de módulo para \"%s\" se especificó más de una vez",
|
||||
"la asignación de unidades de encabezado para \"%s\" se especificó más de una vez",
|
||||
"no se especificó ninguna asignación para \"%s\"",
|
||||
"la asignación del archivo de módulo para \"%s\" no es válida",
|
||||
null,
|
||||
"no se encuentra el encabezado \"%s\" para importar",
|
||||
"hay más de un archivo de la lista de archivos de módulo que coincide con \"%s\"",
|
||||
"el archivo de módulo que se encontró para \"%s\" es para otro módulo",
|
||||
"cualquier tipo de archivo de módulo",
|
||||
"no se puede leer el archivo de módulo",
|
||||
"la función integrada no está disponible porque no se admite el tipo char8_t con las opciones actuales",
|
||||
"no se puede especificar la opción de línea de comandos --ms_await si están habilitadas las corrutinas de C++ 20",
|
||||
null,
|
||||
"uso no estándar de %nod de constructor explícito para la inicialización predeterminada del elemento de agregado",
|
||||
"el origen o el destino del intento intrínseco de tipo memcpy no apunta a un objeto",
|
||||
"intentos intrínsecos de tipo memcpy para copiar los tipos %t1 y %t2 diferentes de forma representativa",
|
||||
"intentos intrínsecos de tipo memcpy para copiar el tipo %t que no se puede copiar de forma trivial",
|
||||
"intentos intrínsecos de tipo memcpy para copiar el objeto parcial",
|
||||
"intentos intrínsecos de tipo memcpy para copiar más allá del límite de matriz",
|
||||
"intentos intrínsecos de tipo memcpy para copiar los intervalos de bytes solapados (con la operación memmove correspondiente en su lugar)"
|
||||
"intentos intrínsecos de tipo memcpy para copiar los intervalos de bytes solapados (con la operación memmove correspondiente en su lugar)",
|
||||
"una declaración \"friend\" con una cláusula requires final debe ser una definición",
|
||||
"la expresión debe tener un tipo aritmético o de puntero, pero tiene el tipo %t",
|
||||
"la expresión debe tener un tipo aritmético, de enumeración o de puntero, pero tiene el tipo %t",
|
||||
"la expresión debe tener un tipo aritmético, de enumeración sin ámbito o de puntero, pero tiene el tipo %t",
|
||||
"la expresión debe tener un tipo de puntero, pero tiene el tipo %t",
|
||||
"el operador -> o ->* se aplica a %t, en lugar de a un tipo de puntero",
|
||||
"no se permite un tipo %t de clase incompleta",
|
||||
"no se puede interpretar el diseño de bits de este destino de compilación",
|
||||
"no hay ningún operador correspondiente al operador IFC %sq",
|
||||
"no hay ninguna convención de llamada correspondiente a la convención de llamada IFC %sq",
|
||||
"el módulo %sq contiene construcciones no admitidas",
|
||||
"construcción IFC no admitida: %sq",
|
||||
"__is_signed ya no es una palabra clave a partir de este punto",
|
||||
"una dimensión de matriz debe tener un valor entero sin signo constante",
|
||||
"El archivo IFC %sq tiene la versión no compatible %d1.%d2",
|
||||
"los módulos no están habilitados en este modo",
|
||||
"No se permite \"import\" en un nombre de módulo",
|
||||
"No se permite usar \"módulo\" en un nombre de módulo",
|
||||
null,
|
||||
null,
|
||||
"%n no es un tipo de enumeración",
|
||||
"el enumerador %no2 entra en conflicto con %n1",
|
||||
"el enumerador %no ya se ha declarado en el ámbito %p",
|
||||
"la especificación \"throw()\" no forma parte de C++20 y versiones posteriores",
|
||||
"más que la entrada en el mapa de la unidad del encabezado coincide con \"%s\"",
|
||||
"el diagnóstico #pragma debe tener un argumento \"push\" o \"pop\"",
|
||||
"no se encontró ninguna \"diagnóstico 'push' de #pragma\" que coincidiera con este \"diagnóstico 'pop'\"",
|
||||
"%sq no puede ser una macro cuando se usa en una directiva \"import\" o \"module\"",
|
||||
"esta directiva solo puede aparecer en el ámbito de espacio de nombres global",
|
||||
"una declaración \"export\" solo puede aparecer en un ámbito global o de espacio de nombres",
|
||||
"%sq se analiza como identificador en lugar de como palabra clave porque los tokens posteriores no coinciden con los de una directiva de preprocesador",
|
||||
"parece ser el inicio de una directiva de preprocesador, pero la ausencia de un \";\" seguida inmediatamente por una nueva línea impide eso",
|
||||
"parece que se trata de una directiva de preprocesamiento de módulos, pero estas directivas no pueden aparecer dentro de una expansión de macro",
|
||||
"una directiva \"module\" no puede aparecer en el ámbito de la inclusión condicional (por ejemplo, #if, #else, #elseif, etc.)",
|
||||
"se ha omitido la importación de %sq",
|
||||
"el tipo de promesa %t debe declarar get_return_object_on_allocation_failure como una función miembro estática que no requiera argumentos",
|
||||
"una plantilla de alias no se puede especializar explícitamente",
|
||||
"para que coincida con este \"{\"",
|
||||
"en esta invocación de macro",
|
||||
"la llamada requiere una conversión de argumento ambigua",
|
||||
"la declaración propiedad del módulo %s está en conflicto con %nd",
|
||||
"la declaración propiedad del módulo global entra en conflicto con %nd propiedad de un módulo con nombre",
|
||||
"el primer argumento de un atributo \"malloc\" debe ser una función",
|
||||
"no se puede capturar %nod",
|
||||
"no se puede capturar \"this\"",
|
||||
"ya está en contexto de consteval",
|
||||
"'if consteval' y 'if not consteval' requieren instrucciones dependientes limitadas",
|
||||
"'if consteval' y 'if not consteval' no tienen sentido en una función que no es constexpr",
|
||||
"no se permite la transferencia del control a una instrucción 'if consteval' o 'if not consteval'",
|
||||
"constant-evaluation no puede pasar por la declaración de una variable con duración de almacenamiento estático o de subproceso",
|
||||
"no se permite el calificador mutable en una expresión lambda con un parámetro \"this\" explícito",
|
||||
"una función miembro declarada con 'static' no puede tener un parámetro 'this' explícito",
|
||||
"un parámetro 'this' explícito debe ser el primer parámetro declarado",
|
||||
"“this” no se permite aquí",
|
||||
"no se puede establecer de forma predeterminada una función de comparación con 'this' explícita",
|
||||
"una función explícita 'this' requiere un operando selector",
|
||||
"'if consteval' y 'if not consteval' no son estándar en este modo",
|
||||
"omitir '()' en un declarador lambda no es estándar en este modo",
|
||||
"no se permite una cláusula trailing-requires-clause cuando se omite la lista de parámetros lambda",
|
||||
"se solicitó una partición no válida del módulo %sq",
|
||||
"módulo %sq1 partición no definida (se considera que es %sq2) solicitada",
|
||||
null,
|
||||
null,
|
||||
"módulo %sq1, posición de archivo %u1 (posición relativa %u2) solicitada para la partición %sq2, que desborda el final de su partición",
|
||||
"módulo %sq1 posición de archivo %u1 (posición relativa %u2) solicitada para la partición %sq2, que está mal alineada con sus elementos de particiones",
|
||||
"desde el subcampo %sq (posición relativa al nodo %d)",
|
||||
"desde la partición %sq elemento %u1 (posición de archivo %u2, posición relativa %u3)",
|
||||
"los atributos lambda no son estándar aquí",
|
||||
"el identificador %sq podría confundirse con uno visualmente similar que aparece %p",
|
||||
"este comentario contiene caracteres de control de formato Unicode sospechosos",
|
||||
"esta cadena contiene caracteres de control de formato Unicode que podrían dar lugar a un comportamiento inesperado en tiempo de ejecución",
|
||||
"Se encontró %d1 advertencia suprimida al procesar el módulo %sq1",
|
||||
"Se encontraron %d1 advertencias suprimidas al procesar el módulo %sq1",
|
||||
"Se encontró un error suprimido %d1 al procesar el módulo %sq1",
|
||||
"Se encontraron %d1 errores suprimidos al procesar el módulo %sq1",
|
||||
"Incluido",
|
||||
"Suprimido",
|
||||
"una función miembro virtual no puede tener un parámetro 'this' explícito",
|
||||
"tomar la dirección de una función explícita \"this\" requiere un nombre completo",
|
||||
"la formación de la dirección de una función explícita 'this' requiere el operador '&'",
|
||||
"no se puede usar un literal de cadena para inicializar un miembro de matriz flexible",
|
||||
"La representación IFC de la definición de la función %sq no es válida",
|
||||
null,
|
||||
"no se usó un gráfico IFC UniLevel para especificar parámetros",
|
||||
"el gráfico de definición de parámetros IFC especificó %d1 parámetros, mientras que la declaración IFC especificó %d2 parámetros",
|
||||
"el gráfico de definición de parámetros IFC especificó %d1 parámetro, mientras que la declaración IFC especificó %d2 parámetros",
|
||||
"el gráfico de definición de parámetros IFC especificó %d1 parámetros, mientras que la declaración IFC especificó %d2 parámetro",
|
||||
"Falta la representación IFC de la definición de la función %sq",
|
||||
"el modificador de función no se aplica a la declaración de plantilla de miembro",
|
||||
"la selección de miembros implica demasiados tipos anónimos anidados",
|
||||
"no hay ningún tipo común entre los operandos",
|
||||
"se esperaba un puntero a miembro",
|
||||
"un miembro de matriz flexible no se puede declarar en un tipo que de otro modo estaría vacío",
|
||||
"se esperaba que 'std::source_location::__impl' se definiera a una clase con solo los miembros de datos '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
|
||||
"el número de columna dado es demasiado grande para la implementación 'std::source_location'",
|
||||
"el número de línea especificado es demasiado grande para la implementación 'std::source_location'",
|
||||
"una constante de caracteres UTF-16 no puede ocupar más de una unidad de código; valor truncado",
|
||||
"ambos argumentos deben tener el mismo tipo",
|
||||
"el tipo %t no es válido como argumento para este elemento integrado",
|
||||
"llamado desde %nd:",
|
||||
"un tipo calificado no es estándar para campos de bits anónimos",
|
||||
"el tipo de elemento de la condición de vector (%t1) debe tener el mismo tamaño que el tipo de elemento del resultado (%t2)",
|
||||
"el tipo de operando de vector de punto flotante (%t) no tiene ningún tipo de vector entero coincidente",
|
||||
"aún no se ha implementado la limpieza de expresiones \"requires\"",
|
||||
"debido a un atributo “no disponible”",
|
||||
"calificador 'asm' duplicado",
|
||||
"un campo de bits con un tipo de enumeración incompleto o una enumeración opaca con un tipo base no válido",
|
||||
"intentó construir un elemento a partir de la partición IFC %sq mediante un índice en la partición IFC %sq2",
|
||||
"la partición %sq especificó su tamaño de entrada como %d1 cuando se esperaba %d2",
|
||||
"se encontró un requisito IFC inesperado al procesar el módulo %sq1",
|
||||
"error de condición en la línea %d en %s1: %sq2",
|
||||
"la restricción atómica depende de sí misma",
|
||||
"La función \"noreturn\" tiene un tipo de valor devuelto distinto de nulo",
|
||||
"se ha quitado el parámetro %sq (en el índice relativo %d) para realizar una corrección",
|
||||
"no se puede especificar un argumento de plantilla predeterminado en la definición de una plantilla de miembro fuera de su clase",
|
||||
"se encontró un nombre de identificador IFC no válido %sq durante la reconstrucción de entidades",
|
||||
null,
|
||||
"el módulo %sq es un valor de ordenación no válido",
|
||||
"una plantilla de función cargada desde un módulo IFC se analizó incorrectamente como %nd",
|
||||
"no se pudo cargar una referencia de entidad IFC en el módulo %sq",
|
||||
"desde la partición %sq elemento %u1 (posición de archivo %u2, posición relativa %u3)",
|
||||
"no se permiten designadores encadenados para un tipo de clase con un destructor no trivial",
|
||||
"una declaración de especialización explícita no puede ser una declaración \"friend\"",
|
||||
"no se admite el tipo std::float128_t; se usará std::float64_t en su lugar",
|
||||
"no se admite el tipo std::bfloat16_t; se usará std::float32_t en su lugar",
|
||||
"no se puede declarar una guía de deducción para la plantilla de alias %no",
|
||||
"%n se declaró no disponible",
|
||||
"%n se declaró no disponible (%sq)",
|
||||
"debido a un atributo \"en desuso\"",
|
||||
"los parámetros de plantilla lambda explícitos son una característica de C++20",
|
||||
"el uso de \"_Noreturn\" ha quedado obsoleto en C23; usar '[[noreturn]]' en su lugar",
|
||||
"el uso de \"_Alignof\" ha quedado obsoleto en C23; usar \"alignof\" en su lugar",
|
||||
"el uso de \"_Alignas\" ha quedado obsoleto en C23; usar \"alignas\" en su lugar",
|
||||
"el uso de \"_Bool\" ha quedado obsoleto en C23; usar 'bool' en su lugar",
|
||||
"el uso de \"_Static_assert\" ha quedado obsoleto en C23; usar \"static_assert\" en su lugar",
|
||||
"el uso de \"_Thread_local\" ha quedado obsoleto en C23; usar \"thread_local\" en su lugar",
|
||||
"El modo Microsoft debe estar habilitado para usar el archivo de módulo %sq (un módulo IFC de Microsoft Visual Studio).",
|
||||
"no se pudo abrir el archivo de módulo %sq",
|
||||
"se encuentra en la asignación de módulo para el módulo %sq",
|
||||
"se encuentra en el mapa de unidad de encabezado para %sq",
|
||||
"modo de salida no reconocido (debe ser uno de texto, sarif): %s",
|
||||
"la opción 'c23_typeof' solo se puede usar al compilar C",
|
||||
"número de versión de clang no válido: %s",
|
||||
"La cadena IFC contiene un carácter nulo inesperado (cero) en el módulo %sq",
|
||||
"Se usaron %d1 de %d2 bytes",
|
||||
"de la información de cadena en la partición %sq elemento %u1 (posición de archivo %u2, posición relativa %u3)",
|
||||
"no se puede evaluar un inicializador para un miembro de matriz flexible",
|
||||
"un inicializador de campo de bits predeterminado es una característica de C++20",
|
||||
"demasiados argumentos en la lista de argumentos de plantilla en el módulo %sq",
|
||||
"detectado para el argumento de plantilla representado por el elemento %sq %u1 (posición de archivo %u2, posición relativa %u3)",
|
||||
"demasiado pocos argumentos en la lista de argumentos de plantilla en el módulo %sq",
|
||||
"detectado al procesar la lista de argumentos de plantilla representada por el elemento %sq %u1 (posición de archivo %u2, posición relativa %u3)",
|
||||
"la conversión del tipo de enumeración con ámbito %t no es estándar",
|
||||
"la desasignación no coincide con la clase de asignación (una es para una matriz y la otra no)",
|
||||
"la comparación implica una dirección desconocida (por ejemplo, la dirección de una variable débil)",
|
||||
"__make_signed solo es compatible con tipos de enumeración y enteros no booleanos",
|
||||
"__make_unsigned solo es compatible con tipos de enumeración y enteros no booleanos",
|
||||
"el nombre intrínseco %sq se tratará como un identificador normal desde aquí",
|
||||
"acceso al subobjeto no inicializado en el índice %d",
|
||||
"El número de línea IFC (%u1) desborda el valor máximo permitido (%u2) del módulo %sq",
|
||||
"el módulo %sq1 elemento solicitado %u de la partición %sq2, esta posición de archivo supera el valor máximo que se puede representar",
|
||||
"número de argumentos incorrecto.",
|
||||
"restricción en el candidato %n no satisfecho",
|
||||
"el número de parámetros de %n no coincide con la llamada",
|
||||
"error al sustituir los argumentos de plantilla explícitos %T por %n",
|
||||
"%n es una función de movimiento '= delete' implícitamente y, por lo tanto, se omite durante la resolución de sobrecarga",
|
||||
"%n no coincide porque se proporciona el argumento #%d para un paquete de parámetros vacío",
|
||||
"%n no coincide porque el argumento #%d no coincide con el parámetro",
|
||||
"candidato %n error de deducción",
|
||||
"el operador integrado%s no coincide porque el argumento #%d no coincide con el parámetro",
|
||||
"<integral>",
|
||||
"< integral promocionado>",
|
||||
"<ptrdiff_t>",
|
||||
"<enumeración>",
|
||||
"<enumeración con ámbito>",
|
||||
"<aritmética>",
|
||||
"<aritmética promocionada>",
|
||||
"<aritmética no booleana>",
|
||||
"<puntero>",
|
||||
"<nullptr>",
|
||||
"<identificador>",
|
||||
"<controlar la matriz de la CLI>",
|
||||
"<puntero al objeto>",
|
||||
"<puntero a la función>",
|
||||
"<puntero a miembro>",
|
||||
"<bool>",
|
||||
"<tipo bool>",
|
||||
"<clase>",
|
||||
"auto(<expr>) y auto{<expr>} son una característica de C++23",
|
||||
"unión anónima no válida: no se permite usar la declaración",
|
||||
"no se puede procesar la %sq del archivo IFC",
|
||||
"no se admite la versión IFC %u1.%u2",
|
||||
"la arquitectura IFC %sq no es compatible con la arquitectura de destino actual",
|
||||
"el módulo %sq1 solicita el índice %u de una partición no admitida correspondiente a %sq2",
|
||||
"el número de parámetro %d de %n tiene un tipo %t que no se puede completar",
|
||||
"el número de parámetro %d de %n tiene el tipo incompleto %t",
|
||||
"el número de parámetro %d de %n tiene el tipo abstracto %t",
|
||||
"los enlaces estructurados son una característica de C++17",
|
||||
"la captura de enlaces estructurados es una característica de C++20"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"l'opérande de '*' doit être un pointeur",
|
||||
"l'opérande de '*' doit être un pointeur mais il a le type %t",
|
||||
"l'argument de la macro est vide",
|
||||
"cette déclaration n'a pas de classe de stockage ou de spécificateur de type",
|
||||
"une déclaration de paramètre ne peut pas avoir d'initialiseur",
|
||||
@@ -130,8 +130,8 @@
|
||||
"boucle inaccessible",
|
||||
"une fonction avec portée de bloc ne peut avoir qu'une classe de stockage externe",
|
||||
"'{' attendu",
|
||||
"l'expression doit avoir un type pointeur vers classe",
|
||||
"l'expression doit avoir un type pointeur vers struct ou union",
|
||||
"l'expression doit avoir un type pointeur vers classe mais elle a le type %t",
|
||||
"l'expression doit avoir un type pointeur vers struct ou union mais elle a le type %t",
|
||||
"nom de membre attendu",
|
||||
"nom de champ attendu",
|
||||
"%n n'a pas de membre %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"prise d'adresse d'un champ de bits non autorisée",
|
||||
"trop d'arguments dans l'appel de fonction",
|
||||
"paramètres prototypés sans nom non autorisés lorsque le corps est présent",
|
||||
"l'expression doit avoir un type pointeur vers objet",
|
||||
"l'expression doit avoir un type pointeur vers objet mais elle a le type %t",
|
||||
"programme trop volumineux ou complexe pour être compilé",
|
||||
"impossible d'utiliser une valeur de type %t1 pour initialiser une entité de type %t2",
|
||||
"impossible d'initialiser %n",
|
||||
@@ -152,8 +152,8 @@
|
||||
"impossible de redéclarer un nom de type en tant que paramètre",
|
||||
"impossible de redéclarer un nom de typedef en tant que paramètre",
|
||||
"conversion d'entier non nul en pointeur",
|
||||
"l'expression doit avoir un type classe",
|
||||
"l'expression doit avoir un type struct ou union",
|
||||
"l'expression doit avoir un type classe mais elle a le type %t",
|
||||
"l'expression doit avoir un type struct ou union mais elle a le type %t",
|
||||
"ancien opérateur d'assignation",
|
||||
"ancien initialiseur",
|
||||
"l'expression doit avoir une expression constante intégrale",
|
||||
@@ -180,7 +180,7 @@
|
||||
"l'application de '&' à un tableau n'a aucun effet",
|
||||
"l'opérande droit de '%%' est égal à zéro",
|
||||
"argument incompatible avec le paramètre formel",
|
||||
"argument incompatible avec la conversion de chaîne de format correspondante",
|
||||
"l’argument est incompatible avec la conversion de chaîne de format correspondante (type attendu %t1 mais l’argument a le type %t2)",
|
||||
"impossible d'ouvrir le fichier source %sq (aucun répertoire dans la liste de recherche)",
|
||||
"le type de cast doit être intégral",
|
||||
"le type de cast doit être arithmétique ou pointeur",
|
||||
@@ -392,7 +392,7 @@
|
||||
"impossible d'appeler la fonction 'main' ou de prendre son adresse",
|
||||
"impossible de spécifier un new-initializer pour un tableau",
|
||||
"impossible de redéclarer la fonction membre %no en dehors de sa classe",
|
||||
"pointeur vers un type classe incomplète non autorisé",
|
||||
"le pointeur vers le type classe incomplet %t n'est pas autorisé",
|
||||
"référence à une variable locale de fonction englobante non autorisée",
|
||||
"fonction à argument unique utilisée pour %sq suffixé (anachronisme)",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"retourne la référence à une variable locale",
|
||||
"omission de type explicite non standard ('int' pris par défaut)",
|
||||
"plusieurs spécialisations partielles correspondent à la liste d'arguments template de %n",
|
||||
"%no",
|
||||
"%nod",
|
||||
"liste d'arguments template non autorisée dans une déclaration de modèle principal",
|
||||
"les spécialisations partielles ne peuvent pas avoir d'arguments template par défaut",
|
||||
"%n1 n'est pas utilisé dans la liste d'arguments template de %n2, ou ne peut pas en être déduit",
|
||||
@@ -952,7 +952,7 @@
|
||||
"l'option 'nonstd_using_decl' peut uniquement être utilisée lors de la compilation de C++",
|
||||
"le type de retour de la fonction 'main' doit être 'int'",
|
||||
"un paramètre de modèle sans type ne peut pas avoir le type classe",
|
||||
"impossible de spécifier un argument template par défaut sur la déclaration d'un membre de modèle de classe en dehors de sa classe",
|
||||
"impossible de spécifier un argument de modèle par défaut sur la définition d'un membre de modèle de classe en dehors du modèle",
|
||||
"instruction return non autorisée dans le gestionnaire d'un bloc try de fonction d'un constructeur",
|
||||
"impossible de combiner des désignateurs ordinaires et étendus dans la désignation d'un initialiseur",
|
||||
"le second indice doit être inférieur au premier",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"impossible d'utiliser ce pragma dans un opérateur _Pragma (une directive #pragma doit être utilisée)",
|
||||
"le champ utilise le remplissage de fin d'une classe de base",
|
||||
"les compilateurs C++ GNU peuvent utiliser le remplissage de champ de bits",
|
||||
"%nd a été déclaré déconseillé",
|
||||
"%n a été déclaré déconseillé",
|
||||
"nom asm non autorisé sur une déclaration membre non statique",
|
||||
"type de fonction de format non reconnu %sq ignoré",
|
||||
"la classe de base %no1 utilise le remplissage de fin de la classe de base %no2",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"dllexport et dllimport ignorés sur les modèles de classe",
|
||||
"la spécification dllexport/dllimport de la classe de base est différente de celle de la classe dérivée",
|
||||
"la redéclaration ne peut pas ajouter dllexport/dllimport à %nod",
|
||||
"dllexport/dllimport en conflit avec %nod ; dllexport pris par défaut",
|
||||
"dllexport/dllimport en conflit avec %nod; dllexport pris par défaut",
|
||||
"impossible de définir l'entité dllimport",
|
||||
"dllexport/dllimport requiert une liaison externe",
|
||||
"un membre d'une classe déclarée avec dllexport/dllimport ne peut pas être lui-même déclaré avec ce spécificateur",
|
||||
"un champ de type de classe sans interface DLL a été utilisé dans une classe à interface DLL",
|
||||
"déclaration de membre entre parenthèses non standard",
|
||||
"espace blanc ignoré entre la barre oblique inverse et le saut de ligne dans la jointure de ligne",
|
||||
"dllexport/dllimport en conflit avec %nod ; dllimport/dllexport supprimé",
|
||||
"dllexport/dllimport en conflit avec %nod; dllimport/dllexport supprimé",
|
||||
"membre non valide pour une classe membre anonyme -- la classe %t a une fonction membre interdite",
|
||||
"reinterpret_cast non standard",
|
||||
"le spécificateur de format de position ne peut pas être nul",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"types intégraux complexes non pris en charge",
|
||||
"__real et __imag ne peuvent s'appliquer qu'à des valeurs complexes",
|
||||
"__real/__imag appliqué à une valeur réelle",
|
||||
"%nd a été déclaré déconseillé (%sq)",
|
||||
"%n a été déclaré déconseillé (%sq)",
|
||||
"redéfinition non valide de %nd",
|
||||
"dllimport/dllexport appliqué à un membre d'un espace de noms sans nom",
|
||||
"__thiscall peut uniquement apparaître sur des déclarations de fonctions membres non statiques",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"macro",
|
||||
"étiquette",
|
||||
"paramètre du modèle",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"type",
|
||||
"Union",
|
||||
"classe",
|
||||
"struct",
|
||||
"paramètre template de modèle",
|
||||
"modèle",
|
||||
"modèle de classe",
|
||||
null,
|
||||
"enum",
|
||||
"paramètre",
|
||||
"paramètre de gestionnaire",
|
||||
"variable",
|
||||
"sans type",
|
||||
null,
|
||||
"constante",
|
||||
"fonction",
|
||||
"fonction surchargée",
|
||||
"membre",
|
||||
"champ",
|
||||
null,
|
||||
"espace de noms",
|
||||
"registre nommé",
|
||||
"espace d'adressage nommé",
|
||||
"modèle de fonction",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"la conversion étendue de pointeur de %t1 en %t2 étend le bit de signe",
|
||||
"__sptr et __uptr ne s'appliquent pas aux types pointeur vers membre",
|
||||
"la déclaration de l'opérateur d'assignation de copie de %t a été supprimée car %n est const",
|
||||
null,
|
||||
"la déclaration de l'opérateur d'assignation de copie de %t a été supprimée, car %n a un type référence",
|
||||
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 a été supprimée",
|
||||
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 est ambiguë",
|
||||
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 est inaccessible",
|
||||
@@ -1644,7 +1644,7 @@
|
||||
"la déclaration du constructeur de copie de %t1 a été supprimée car celle de %t2 est inaccessible",
|
||||
"le destructeur de %t1 ne sera pas appelé car il est inaccessible et le destructeur de %t2 a été supprimé",
|
||||
"la définition à la fin du fichier n'est pas suivie d'un point-virgule ou d'un déclarateur",
|
||||
"le premier argument doit être un pointeur vers un type entier ou énumération",
|
||||
"le premier argument doit être un pointeur vers un type enum ou entier",
|
||||
"les opérations synchronisées sont valides sur les objets de taille 1, 2, 4 ou 8",
|
||||
"arguments supplémentaires ignorés",
|
||||
"'=' pris par défaut après le nom de macro %sq dans la définition de ligne de commande",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"qualificateur de type non autorisé sur un constructeur ou un destructeur",
|
||||
"qualificateur de type non autorisé sur un opérateur new ou un opérateur delete",
|
||||
"qualificateur de type non autorisé sur une fonction non membre",
|
||||
"expression __assume avec effets secondaires ignorée",
|
||||
"l'argument de %s a des effets secondaires mais il n'est pas évalué",
|
||||
"genre de source Unicode non reconnu (doit être UTF-8, UTF-16, UTF-16LE ou UTF-16BE) : %s",
|
||||
"le caractère Unicode avec valeur hexadécimale %s n'est pas représentable dans la sortie de prétraitement",
|
||||
"la priorité demandée pour le constructeur/destructeur est réservée pour usage interne",
|
||||
@@ -1904,7 +1904,7 @@
|
||||
"un initialiseur ne peut pas être spécifié pour un membre de tableau flexible à durée de stockage automatique",
|
||||
null,
|
||||
"un type de classe 'final' ne peut pas être utilisé comme une classe de base",
|
||||
"les modèles exportés ne sont pus en langage C++ standard",
|
||||
"les modèles exportés ne sont plus en langage C++ standard",
|
||||
"un désignateur dépendant du modèle n'est pas autorisé",
|
||||
"le second opérande de offsetof ne peut pas être un champ avec type référence",
|
||||
"les temporaires à durée de vie longue sont incompatibles avec les autres fonctionnalités de langage plus récentes demandées",
|
||||
@@ -1916,13 +1916,13 @@
|
||||
"un package de paramètres ne peut pas avoir de valeur par défaut",
|
||||
"C++/CLI peut uniquement être activé en mode Microsoft C++",
|
||||
"impossible d'utiliser 'value__' en tant que nom de constante d'énumérateur (il s'agit d'un nom réservé dans ce contexte)",
|
||||
"une valeur d'énumérateur explicite est requise dans un type d'énumération avec un type sous-jacent booléen",
|
||||
"une valeur d’énumération explicite est requise dans un type enum avec un type sous-jacent booléen",
|
||||
null,
|
||||
"package de paramètres %sq référencé mais non développé",
|
||||
"l'expansion de package n'utilise aucun package d'arguments",
|
||||
"le package %sq n'a pas le même nombre d'éléments que %sq2",
|
||||
null,
|
||||
"l'attribut vector_size n'est pas autorisé avec un type d'énumération",
|
||||
"l'attribut vector_size n'est pas autorisé avec un type enum",
|
||||
"une propriété ne peut pas être à la fois statique et virtuelle",
|
||||
"une propriété indexée ne peut pas être triviale",
|
||||
"cette déclaration ne peut pas figurer dans une définition de propriété",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"un spécificateur de visibilité de niveau supérieur requiert une définition de type",
|
||||
"une propriété triviale ne peut pas être de type référence",
|
||||
"une propriété triviale ne peut pas être de type const ou volatile",
|
||||
"%nd a précédemment été déclaré en tant qu'un autre genre d'énumération",
|
||||
"%nd a précédemment été déclaré en tant qu'un autre genre de type enum",
|
||||
"une variable capturée par une capture lambda ne peut pas avoir un type de classe %[managed]",
|
||||
"une fonction virtuelle effectuant une substitution avec un type de retour covariant n'est pas autorisée dans une classe %[managed]",
|
||||
"tableau de handles non autorisé",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"un spécificateur de substitution nommé est uniquement autorisé dans une classe %[managed]",
|
||||
"aucun membre désigné par le spécificateur de substitution nommé ne correspond au type de ce membre",
|
||||
"une déclaration de constructeur statique ne peut pas inclure un spécificateur de substitution nommé",
|
||||
"un type énumération délimitée doit avoir un nom",
|
||||
"un type enum délimité doit avoir un nom",
|
||||
"transfert de contrôle non autorisé dans un bloc finally",
|
||||
"instruction return non autorisée dans un bloc finally",
|
||||
"un bloc try requiert au moins un gestionnaire ou une clause finally",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"un champ initonly peut uniquement être modifié par le constructeur d'instance de sa classe conteneur",
|
||||
"un champ initonly statique peut uniquement être modifié par le constructeur statique de sa classe conteneur",
|
||||
"la fonction membre sera appelée sur une copie du champ initonly",
|
||||
"l'expression doit avoir le type pointeur ou handle",
|
||||
"l'expression doit avoir un type pointeur ou descripteur mais elle a le type %t",
|
||||
"un constructeur de déplacement ou un opérateur d'assignation de déplacement est utilisé pour copier une lvalue ici, ce qui peut détruire l'objet source",
|
||||
"la sélection de membre sur une entité générique %[C++/CLI] doit utiliser la syntaxe '->', et non pas '.'",
|
||||
"un type de classe ref ne peut pas dériver de %t",
|
||||
@@ -2216,7 +2216,7 @@
|
||||
"le type d'un dynamic_cast ne peut pas être un type générique susceptible d'être un type valeur",
|
||||
"un nom de caractère universel doit désigner un point de code valide",
|
||||
"les contraintes génériques ne correspondent pas à celles de %nd",
|
||||
"__underlying_type s'applique uniquement aux types d'énumération",
|
||||
"__underlying_type s'applique uniquement aux types enum",
|
||||
"une seule expression d'opérande attendue pour ce cast",
|
||||
"le caractère Unicode avec valeur hexadécimale %s n'est pas représentable dans la page de codes par défaut système",
|
||||
"conversion non standard de pointeur vers membre lié en pointeur fonction",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"reinterpret_cast de handle non sécurisé",
|
||||
"un argument template ne peut pas faire référence à un paramètre de type générique",
|
||||
"une liste d'expressions n'est pas autorisée dans cette opération d'indice (utilisez des parenthèses autour d'un opérateur virgule de niveau supérieur)",
|
||||
"l'expression doit avoir un type pointeur vers objet ou handle vers tableau %[C++/CLI]",
|
||||
"l'expression doit avoir un type pointeur vers objet ou descripteur vers tableau %[C++/CLI] mais elle a le type %t",
|
||||
"attribut non reconnu",
|
||||
"un membre d'une classe %[managed] ne peut pas être d'un type de classe non %[managed]",
|
||||
"un membre d'une classe non %[managed] ne peut pas avoir un type de classe ref ou un type de classe interface",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"%nd a précédemment été déclaré avec un type de base différent",
|
||||
"'enum class' et 'enum struct' ne peuvent pas être utilisés ici (utilisez un 'enum' simple à la place)",
|
||||
"un seul niveau d'accolades autorisé sur un initialiseur pour un objet de type %t",
|
||||
"%nd ne peut pas être utilisé en tant que nom de type d'énumération",
|
||||
"%nd ne peut pas être utilisé en tant que nom de type enum",
|
||||
null,
|
||||
"un initialiseur entre accolades ne peut pas être utilisé avec 'new auto'",
|
||||
"la définition de std::initializer_list ne contient pas le constructeur attendu",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"un initialiseur entre parenthèses pour une entité autre qu'une classe doit être une expression et non une liste entre accolades",
|
||||
"une liste entre accolades ne fournit pas de type de retour pour cette expression lambda",
|
||||
"la spécification d'exception déclarée est incompatible avec celle qui a été générée",
|
||||
"les types d'énumération délimitée sont une fonctionnalité du C++11",
|
||||
"les types enum délimités sont une fonctionnalité du C++11",
|
||||
"un type de fonction ne peut pas être initialisé par une valeur",
|
||||
"l'initialisation de liste d'un type d'objet %t n'est pas autorisée car le type est incomplet",
|
||||
"std::initializer_list a un destructeur et n'est pas censé en avoir un -- la bibliothèque n'est pas configurée correctement",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"l'appel de fonction doit avoir une valeur constante dans une expression constante",
|
||||
"impossible de déclarer la fonction 'main' constexpr",
|
||||
null,
|
||||
"une définition de classe ou de type d'énumération ne peut pas apparaître dans une fonction constexpr ou dans le corps d'un constructeur",
|
||||
"une définition de classe ou de type enum ne peut pas apparaître dans une fonction constexpr ou dans le corps d'un constructeur",
|
||||
"seuls les attributs de style GNU sont autorisés ici",
|
||||
"utilisation non standard de 'auto' pour déduire le type d'un initialiseur et pour annoncer un type de retour de fin",
|
||||
"la déclaration d'une liste de paramètres void avec un type void qualifié est non standard",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"étiquette attendue",
|
||||
"nombre d'opérande attendu après '%%l'",
|
||||
"le nombre d'opérande pour '%%l' ne fait pas référence à un argument d'étiquette valide",
|
||||
"le numéro d’opérande pour '%% ne fait pas référence à un argument d’étiquette valide",
|
||||
"une chaîne étendue est non valide dans une instruction 'asm'",
|
||||
"attribut non standard",
|
||||
"n'est pas une classe de base de %t",
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"la définition d'un type C++/CX public n'est pas autorisée au niveau de la portée globale",
|
||||
"une propriété indexée avec un accesseur 'get' ou 'set' public n'est pas autorisée",
|
||||
"un type délégué imbriqué public n'est pas autorisé",
|
||||
"initialiseur de délégué non valide -- '(<adresse-fonction ou objet-foncteur> [, Platform::CallbackContext])' ou '(<handle-objet>, <adresse-membre> [, Platform::CallbackContext [, bool]])' attendu",
|
||||
"initialiseur de délégué non valide -- '(<function-address or functor-object> [, Platform::CallbackContext])' ou '(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])' attendu",
|
||||
"initialiseur de délégué non valide -- l'objet doit être un handle de classe %[managed]",
|
||||
"C++/CX ne prend pas en charge les tableaux 'in/out' -- utilisez 'const Platform::Array<T>^' pour 'in' et 'Platform::WriteOnlyArray<T>^' ou 'Platform::Array<T>^*' pour 'out' sur les API publiques",
|
||||
"attribut 'target' manquant pour %nd",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"la variable dans la fonction constexpr n'est pas initialisée",
|
||||
"L'initialisation entre accolades d'une variable déclarée avec un type d'espace réservé mais sans `=` requiert exactement un élément à l'intérieur des accolades",
|
||||
"aucune configuration --target '%s' n'existe",
|
||||
"l'attribut n'est pas pris en charge dans les configurations x86 64 bits",
|
||||
"l'attribut est uniquement pris en charge dans les configurations 32 bits x86",
|
||||
"'%s' nécessite un argument",
|
||||
"un constructeur ou un destructeur ne peut pas être une coroutine",
|
||||
"%n ne peut pas être une coroutine",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"une expression co_await n'est pas autorisée dans une clause catch",
|
||||
"une coroutine ne peut pas comporter de paramètre ellipse",
|
||||
"l'activation de constexpr en C++14 nécessite la prise en charge de 'bool'",
|
||||
"la fonction constexpr %nd n'est pas définie",
|
||||
"constexpr %nd non défini",
|
||||
"impossible d'évaluer cet appel, car la fonction cible %nd n'est pas constexpr ou n'est pas encore complètement définie",
|
||||
"remarque",
|
||||
"Remarque",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"impossible d'appliquer le spécificateur _Atomic(...) au type qualifié %t",
|
||||
"accès au membre de l'objet _Atomic",
|
||||
"un champ de bits ne peut pas avoir un type _Atomic",
|
||||
"Les types de classe _Atomic sont désactivés",
|
||||
null,
|
||||
"un constructeur constexpr appelle un constructeur non constexpr pour l'initialisation d'un sous-objet",
|
||||
"virgule attendue (la version de static_assert à un seul argument n'est pas activée dans ce mode)",
|
||||
"échec de l'assertion statique",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"impossible d'évaluer la valeur du %t incomplet",
|
||||
"valeur retournée ignorée dans la routine déclarée avec l'attribut 'nodiscard'",
|
||||
"type valeur retourné ignoré avec l'attribut 'nodiscard'",
|
||||
"l'attribut 'nodiscard' ne s'applique pas aux destructeurs ou routines ayant le type de retour void",
|
||||
"l’attribut 'nodiscard' ne s’applique pas aux destructeurs ou routines avec le type de retour void",
|
||||
"l'attribut 'fallthrough' s'applique uniquement aux instructions ayant une valeur null",
|
||||
"l'attribut 'fallthrough' peut apparaître uniquement dans une instruction switch englobante",
|
||||
"l'instruction fallthrough doit précéder l'étiquette case ou default de switch",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"l'initialisation de copie de liste ne peut pas utiliser un %n 'explicit'",
|
||||
"guide de déduction",
|
||||
"Valeur non valide pour l'opérateur de littéral défini par l'utilisateur",
|
||||
"__has_cpp_attribute ne peut pas apparaître en dehors de #if ou #elif",
|
||||
"%s ne peut pas apparaître en dehors des directives de préprocesseur",
|
||||
"le guide de déduction doit être déclaré avec la même accessibilité que %n",
|
||||
"un lambda n'est pas autorisé dans ce contexte",
|
||||
"l'alignement spécifié n'est pas équivalent à la déclaration précédente",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"type interdit %t dans ce pointeur pour la fonction membre %nfd restreinte à amp",
|
||||
"type de retour interdit %t pour la fonction à restriction amp %nfd",
|
||||
"type de paramètre interdit %t pour la fonction à restriction amp %nfd",
|
||||
null,
|
||||
"construction non conforme dans la fonction à restriction amp %nfd",
|
||||
"classe de stockage interdite %s dans la fonction à restriction amp %nfd",
|
||||
"%s non autorisé dans la fonction à restriction amp %nfd",
|
||||
"cast non conforme dans la fonction à restriction amp",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'>>>' attendu",
|
||||
"la déclaration __cudaPushCallConfiguration est introuvable. L'installation du kit de ressources CUDA est peut-être endommagée.",
|
||||
"l'initialiseur de style C++17 n'est pas standard dans ce mode",
|
||||
"la capture de *this n'est pas standard dans ce mode",
|
||||
"Le préfixe d'attribut 'using' de style C++17 n'est pas standard dans ce mode",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"un type volatile %t empêche l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"un type union, pointeur ou pointeur vers membre %t empêche l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"%npTd, hérité via l'utilisation de decl %p",
|
||||
"la construction de sous-objet de %t pour l'héritage de constructeurs ne peut pas être effectuée -- le constructeur par défaut implicite est supprimé",
|
||||
"la construction de sous-objet de %t pour l'héritage de constructeurs ne peut pas être effectuée -- le constructeur associé est supprimé",
|
||||
"%n doit retourner void",
|
||||
"début de déclaration de membre non valide",
|
||||
"'auto' attendu",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"une déclaration export ne peut pas contenir de déclaration import de module",
|
||||
"une déclaration export ne peut apparaître que dans une unité d'interface de module",
|
||||
"une déclaration export ne peut pas exporter un nom avec une liaison interne",
|
||||
"la déclaration using inclut %nfd",
|
||||
"la fonction intégrée n'est pas disponible, car les types à virgule flottante __fp16 ne sont pas pris en charge",
|
||||
null,
|
||||
null,
|
||||
"une expression requires doit spécifier au moins une exigence",
|
||||
"'constinit' est non valide ici",
|
||||
"'constinit' est valide uniquement pour les déclarations de variables ayant une durée de stockage statique ou de thread",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"mappage de fichier de module pour '%s' spécifié plusieurs fois",
|
||||
"mappage d'unité d'en-tête pour '%s' spécifié plusieurs fois",
|
||||
"aucun mappage spécifié pour '%s'",
|
||||
"le mappage de fichier de module pour '%s' est non valide",
|
||||
null,
|
||||
"l'en-tête '%s' à importer est introuvable",
|
||||
"plusieurs fichiers dans la liste de fichiers de module correspondent à '%s'",
|
||||
"le fichier de module trouvé pour '%s' est destiné à un autre module",
|
||||
"n'importe quel genre de fichier de module",
|
||||
"impossible de lire le fichier de module",
|
||||
"la fonction intégrée n'est pas disponible, car le type char8_t n'est pas pris en charge avec les options actuelles",
|
||||
"l'option de ligne de commande --ms_await ne peut pas être spécifiée si les coroutines C++20 sont activées",
|
||||
null,
|
||||
"utilisation non standard du constructeur explicite %nod pour l'initialisation de l'élément d'agrégation par défaut",
|
||||
"la source ou la destination de l'intrinsèque de type memcpy ne pointe pas vers un objet",
|
||||
"l'intrinsèque de type memcpy tente de copier les types représentatifs distincts %t1 et %t2",
|
||||
"l'intrinsèque de type memcpy tente de copier le type non trivialement copiable %t",
|
||||
"l'intrinsèque de type memcpy tente de copier un objet partiel",
|
||||
"l'intrinsèque de type memcpy tente de copier au-delà de la limite du tableau",
|
||||
"l'intrinsèque de type memcpy tente de copier des plages d'octets qui se chevauchent (en utilisant plutôt l'opération memmove correspondante)"
|
||||
"l'intrinsèque de type memcpy tente de copier des plages d'octets qui se chevauchent (en utilisant plutôt l'opération memmove correspondante)",
|
||||
"une déclaration friend avec une clause requires de fin doit être une définition",
|
||||
"l'expression doit avoir un type arithmétique ou pointeur mais elle a le type %t",
|
||||
"l'expression doit avoir un type arithmétique, enum ou pointeur mais elle a le type %t",
|
||||
"l'expression doit avoir un type arithmétique, enum non délimité ou pointeur mais elle a le type %t",
|
||||
"l'expression doit avoir un type pointeur mais elle a le type %t",
|
||||
"opérateur -> ou ->* appliqué à %t au lieu de l'être à un type pointeur",
|
||||
"le type classe incomplet %t n'est pas autorisé",
|
||||
"impossible d'interpréter la disposition des bits pour cette cible de compilation",
|
||||
"aucun opérateur correspondant pour l'opérateur IFC %sq",
|
||||
"aucune convention d'appel correspondante pour la convention d'appel IFC %sq",
|
||||
"le module %sq contient des constructions non prises en charge",
|
||||
"construction IFC non prise en charge : %sq",
|
||||
"__is_signed n'est plus un mot clé à partir de ce point",
|
||||
"une dimension de tableau doit avoir une valeur d'entier non signé constante",
|
||||
"le fichier IFC %sq a une version non prise en charge : %d1.%d2",
|
||||
"les modules ne sont pas activés dans ce mode",
|
||||
"'import' n'est pas autorisé dans un nom de module",
|
||||
"'module' n'est pas autorisé dans un nom de module",
|
||||
null,
|
||||
null,
|
||||
"%n n'est pas un type enum",
|
||||
"l'énumérateur %no2 est en conflit avec %n1",
|
||||
"l'énumérateur %no a déjà été déclaré dans cette étendue %p",
|
||||
"la spécification 'throw()' ne fait pas partie de C++20 ni des versions ultérieures",
|
||||
"plusieurs entrées dans le mappage d'unité d'en-tête correspondent à '%s'",
|
||||
"#Le diagnostic pragma doit avoir un argument « push » ou « pop »",
|
||||
"Aucun « #pragma diagnostic push » n’a été trouvé en correspondance à ce « diagnostic pop »",
|
||||
"%sq ne peut pas être une macro quand il est utilisé dans une directive d’importation ou de module",
|
||||
"cette directive ne peut apparaître que dans l’étendue de l’espace de noms global",
|
||||
"une déclaration « export » peut apparaître uniquement dans l’étendue globale ou de l’espace de noms",
|
||||
"Le %sq est ensuite analysé en tant qu’identificateur plutôt qu’en tant que mot clé, car les jetons qui suivent ne correspondent pas à ceux d’une directive de préprocesseur",
|
||||
"cette directive semble être le début d’une directive de préprocesseur, mais l’absence de « ; » suivie immédiatement d’une nouvelle ligne empêche",
|
||||
"il s’agit d’une directive de prétraitement de modules, mais une telle directive ne peut pas apparaître dans une extension de macro",
|
||||
"une directive « module » ne peut pas apparaître dans le cadre de l’inclusion conditionnelle (par exemple, #if, #else, #elseif, etc.)",
|
||||
"l’importation de %sq a été ignorée",
|
||||
"le type de promesse %t doit déclarer get_return_object_on_allocation_failure en tant que fonction membre statique ne nécessitant aucun argument",
|
||||
"un modèle d'alias ne peut pas être explicitement spécialisé",
|
||||
"pour correspondre à ce '{'",
|
||||
"dans cette invocation de macro",
|
||||
"l'appel nécessite une conversion d'argument ambiguë",
|
||||
"la déclaration appartenant au module %s est en conflit avec %nd",
|
||||
"la déclaration appartenant au module global est en conflit avec %nd appartenant à un module nommé",
|
||||
"le premier argument d'un attribut 'malloc' doit être une fonction",
|
||||
"impossible de capturer %nod",
|
||||
"impossible de capturer 'this'",
|
||||
"déjà dans un contexte consteval",
|
||||
"« if consteval » et « if not consteval » nécessitent des instructions dépendantes resserrés",
|
||||
"« if consteval » et « if not consteval » ne sont pas valides dans une fonction non constexpr",
|
||||
"le transfert de contrôle dans une instruction « if consteval » ou « if not consteval » n’est pas autorisé",
|
||||
"l’évaluation constante ne peut pas passer par la déclaration d’une variable avec une durée de stockage statique ou de thread",
|
||||
"le qualificateur mutable n’est pas autorisé sur une expression lambda avec un paramètre « this » explicite",
|
||||
"une fonction membre déclarée avec « static » ne peut pas avoir de paramètre « this » explicite",
|
||||
"un paramètre « this » explicite doit être le premier paramètre déclaré",
|
||||
"« this » n’est pas autorisé ici",
|
||||
"une fonction de comparaison avec « this » explicite ne peut pas être par défaut",
|
||||
"une fonction « this » explicite nécessite un opérande de sélecteur",
|
||||
"« if consteval » et « if not consteval » ne sont pas standard dans ce mode",
|
||||
"l’omission de « () » dans un déclarateur lambda n’est pas standard dans ce mode",
|
||||
"une clause requires de fin n’est pas autorisée lorsque la liste de paramètres lambda est omise",
|
||||
"module %sq partition non valide demandée",
|
||||
"module %sq1 partition non définie (on pense qu’il s’agirait de %sq2) demandée",
|
||||
null,
|
||||
null,
|
||||
"module %sq1 file position %u1 (position relative %u2) demandée pour la partition %sq2 - qui dépasse la fin de sa partition",
|
||||
"module %sq1 position de fichier %u1 (position relative %u2) demandée pour la partition %sq2, qui est mal alignée avec ses éléments de partitions",
|
||||
"à partir du sous-champ %sq (position relative par rapport au nœud %d)",
|
||||
"à partir de la partition %sq, élément %u1 (position de fichier %u2, position relative %u3)",
|
||||
"les attributs lambda ne sont pas standard ici",
|
||||
"l’identificateur %sq peut être confondu avec un identificateur visuellement similaire qui apparaît %p",
|
||||
"ce commentaire contient des caractères de contrôle de mise en forme Unicode suspects",
|
||||
"cette chaîne contient des caractères de contrôle de mise en forme Unicode qui peuvent entraîner un comportement d’exécution inattendu",
|
||||
"%d1 avertissement supprimé rencontré lors du traitement du module %sq1",
|
||||
"%d1 avertissements supprimés rencontrés lors du traitement du module %sq1",
|
||||
"%d1 erreur supprimé rencontré lors du traitement du module %sq1",
|
||||
"%d1 erreurs supprimées rencontrées lors du traitement du module %sq1",
|
||||
"Y compris",
|
||||
"Supprimé",
|
||||
"une fonction membre virtuelle ne peut pas avoir un paramètre « this » explicite",
|
||||
"la prise de l’adresse d’une fonction « this » explicite nécessite un nom qualifié",
|
||||
"la création de l’adresse d’une fonction « this » explicite nécessite l’opérateur '&'",
|
||||
"impossible d’utiliser un littéral de chaîne pour initialiser un membre de tableau flexible",
|
||||
"La représentation IFC de la définition de la fonction %sq n’est pas valide.",
|
||||
null,
|
||||
"un graphique IFC UniLevel n’a pas été utilisé pour spécifier des paramètres.",
|
||||
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
|
||||
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
|
||||
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
|
||||
"La représentation IFC de la définition de la fonction %sq est manquante.",
|
||||
"Le modificateur de fonction ne s'applique pas à la déclaration du modèle de membre.",
|
||||
"la sélection de membre implique un trop grand nombre de types anonymes imbriqués",
|
||||
"il n’existe aucun type commun entre les opérandes",
|
||||
"pointeur vers membre attendu",
|
||||
"un membre de tableau flexible ne peut pas être déclaré dans un type autrement vide.",
|
||||
"expected 'std::source_location::__impl' to be defined to a class with only the data members '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
|
||||
"numéro de colonne donné trop grand pour l’implémentation de 'std::source_location'",
|
||||
"numéro de ligne donné trop grand pour l’implémentation de 'std::source_location'",
|
||||
"une constante de caractères UTF-16 ne peut pas occuper plusieurs unités de code ; valeur tronquée",
|
||||
"les deux arguments doivent avoir le même type",
|
||||
"le type %t n’est pas valide en tant qu’argument pour ce builtin",
|
||||
"appelé à partir de %nd :",
|
||||
"un type qualifié n’est pas standard pour les champs de bits anonymes.",
|
||||
"le type d’élément de la condition vectorielle (%t1) doit avoir la même taille que le type d’élément du résultat (%t2).",
|
||||
"le type d’opérande vectoriel à virgule flottante (%t) n’a pas de type de vecteur entier correspondant.",
|
||||
"La gestion des expressions \"requires\" n'est pas encore implémentée.",
|
||||
"en raison d’un attribut 'unavailable'",
|
||||
"qualificateur 'asm' dupliqué",
|
||||
"soit un champ de bits avec un type enum incomplet, soit une énumération opaque avec un type de base non valide",
|
||||
"a tenté de construire un élément à partir d’une partition IFC %sq à l’aide d’un index dans la partition IFC %sq2.",
|
||||
"le %sq de partition a spécifié sa taille d’entrée %d1 alors que %d2 était attendu.",
|
||||
"une exigence IFC inattendue s’est produite lors du traitement du module %sq1.",
|
||||
"échec de la condition à la ligne %d dans %s1 : %sq2",
|
||||
"la contrainte atomique dépend d’elle-même.",
|
||||
"La fonction 'noreturn' a un type de retour non vide",
|
||||
"une correction a été effectuée en supprimant le paramètre %sq (au %d d’index relatif)",
|
||||
"impossible de spécifier un argument template par défaut sur la définition d'un membre de modèle en dehors de sa classe",
|
||||
"nom d’identificateur IFC non valide %sq rencontré lors de la reconstruction de l’entité",
|
||||
null,
|
||||
"le module %sq valeur de tri non valide",
|
||||
"un modèle de fonction chargé à partir d’un module IFC a été analysé de manière incorrecte en tant que %nd",
|
||||
"échec du chargement d’une référence d’entité IFC dans le module %sq",
|
||||
"à partir de la partition %sq, élément %u1 (position de fichier %u2, position relative %u3)",
|
||||
"les désignateurs chaînés ne sont pas autorisés pour un type classe avec un destructeur non trivial",
|
||||
"une déclaration de spécialisation explicite ne peut pas être une déclaration friend",
|
||||
"le type std::float128_t n’est pas pris en charge ; std::float64_t sera utilisé à la place",
|
||||
"le type std::bfloat16_t n’est pas pris en charge ; std::float32_t sera utilisé à la place",
|
||||
"un guide de déduction ne peut pas être déclaré pour le modèle d’alias %no",
|
||||
"%n a été déclaré non disponible",
|
||||
"%n a été déclaré indisponible (%sq)",
|
||||
"en raison d’un attribut 'deprecated'",
|
||||
"les paramètres de modèle lambda explicites sont une fonctionnalité C++20",
|
||||
"l’utilisation de '_Noreturn' a été obsolète en C23; utiliser '[[noreturn]]' à la place",
|
||||
"l’utilisation de '_Alignof' a été obsolète en C23; utiliser 'alignof' à la place",
|
||||
"l’utilisation de '_Alignas' a été obsolète en C23; utiliser 'alignas' à la place",
|
||||
"l’utilisation de '_Bool' a été obsolète en C23; utiliser 'bool' à la place",
|
||||
"l’utilisation de '_Static_assert' a été obsolète en C23; utiliser 'static_assert' à la place",
|
||||
"l’utilisation de '_Thread_local' a été obsolète en C23; utiliser 'thread_local' à la place",
|
||||
"Le mode Microsoft doit être activé pour utiliser le fichier de module %sq (module IFC Microsoft Visual Studio)",
|
||||
"impossible d’ouvrir le fichier de module %sq",
|
||||
"trouvé dans le mappage de module pour le module %sq",
|
||||
"trouvé dans le mappage d’unité d’en-tête pour %sq",
|
||||
"mode de sortie non reconnu (doit être un mode texte, sarif) : %s",
|
||||
"l’option 'c23_typeof' ne peut être utilisée que lors de la compilation de C",
|
||||
"numéro de version Clang non valide : %s",
|
||||
"La chaîne IFC contient un caractère null inattendu (zéro) dans le module %sq",
|
||||
"%d1 octet sur %d2 ont été utilisés",
|
||||
"à partir des informations de chaîne dans la partition %sq, élément %u1 (position de fichier %u2, position relative %u3)",
|
||||
"ne peut pas évaluer un initialiseur pour un membre de tableau flexible",
|
||||
"un initialiseur de champ de bits par défaut est une fonctionnalité C++20",
|
||||
"beaucoup d’arguments dans la liste d’arguments du modèle du module %sq",
|
||||
"détecté pour l’argument de modèle représenté par l’élément %sq %u1 (position de fichier %u2, position relative %u3)",
|
||||
"nombre insuffisant d’arguments dans la liste d’arguments du modèle du module %sq",
|
||||
"détecté lors du traitement de la liste d’arguments de modèle représentée par l’élément %sq %u1 (position de fichier %u2, position relative %u3)",
|
||||
"conversion à partir du type d’énumération étendue %t n’est pas standard",
|
||||
"la désallocation ne correspond pas au genre d’allocation (l’un est pour un tableau et l’autre non)",
|
||||
"la comparaison implique une adresse inconnue (par exemple, l’adresse d’une variable faible)",
|
||||
"__make_signed n’est compatible qu’avec les types entier et enum non bool",
|
||||
"__make_unsigned n’est compatible qu’avec les types entier et enum non bool",
|
||||
"le nom intrinsèque %sq sera considéré comme un identificateur ordinaire à partir d’ici",
|
||||
"accès au sous-objet non initialisé à l’index %d",
|
||||
"Le numéro de ligne IFC (%u1) dépasse le module de valeur maximale autorisée (%u2) %sq",
|
||||
"module %sq1 élément demandé %u de partition %sq2, cette position de fichier dépasse la valeur maximale pouvant être représentée",
|
||||
"nombre d'arguments erroné",
|
||||
"contrainte sur le candidat %n pas satisfaite",
|
||||
"nombre de paramètres de %n ne correspond pas à l’appel",
|
||||
"échec de la substitution des arguments de modèle explicites %T pour %n",
|
||||
"%n est une fonction de déplacement implicite '= delete' et donc ignorée durant la résolution de surcharge",
|
||||
"%n ne correspond pas, car l’argument #%d est fourni pour un package de paramètres vide",
|
||||
"%n ne correspond pas, car l’argument #%d ne correspond pas au paramètre",
|
||||
"%n candidat n’a pas été déduit",
|
||||
"l’opérateur intégré%s ne correspond pas, car l’argument #%d ne correspond pas au paramètre",
|
||||
"<integral>",
|
||||
"<promoted integral>",
|
||||
"<ptrdiff_t>",
|
||||
"<enum>",
|
||||
"<scoped enum>",
|
||||
"<arithmetic>",
|
||||
"<promoted arithmetic>",
|
||||
"<non-bool arithmetic>",
|
||||
"<pointer>",
|
||||
"<nullptr>",
|
||||
"<handle>",
|
||||
"<handle to CLI array>",
|
||||
"<pointer to object>",
|
||||
"<pointer to function>",
|
||||
"<pointer-to-member>",
|
||||
"<bool>",
|
||||
"<bool-like>",
|
||||
"<class>",
|
||||
"auto(<expr>) et auto{<expr>} sont une fonctionnalité C++23",
|
||||
"union anonyme non valide -- l’utilisation de la déclaration n’est pas autorisée",
|
||||
"Le fichier IFC %sq ne peut pas être traité",
|
||||
"La version IFC %u1.%u2 n'est pas prise en charge",
|
||||
"L'architecture IFC %sq est incompatible avec l'architecture cible actuelle",
|
||||
"le module %sq1 demande l'index %u d'une partition non prise en charge correspondant à %sq2",
|
||||
"le paramètre numéro %d de %n a un type %t qui ne peut pas être complété",
|
||||
"le numéro de paramètre %d de %n a un type incomplet %t",
|
||||
"le numéro de paramètre %d de %n a un type abstrait %t",
|
||||
"les liaisons structurées sont une fonctionnalité C++17",
|
||||
"la capture de liaisons structurées est une fonctionnalité C++20"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"l'operando di '*' deve essere un puntatore",
|
||||
"l'operando di '*' deve essere un puntatore ma il tipo è %t",
|
||||
"l'argomento della macro è vuoto",
|
||||
"questa dichiarazione non include classe di archiviazione o identificatore di tipo",
|
||||
"una dichiarazione di parametro non può includere un inizializzatore",
|
||||
@@ -130,8 +130,8 @@
|
||||
"ciclo non raggiungibile",
|
||||
"una funzione con ambito blocco può includere solo la classe di archiviazione extern",
|
||||
"previsto '{'",
|
||||
"l'espressione deve avere il tipo puntatore a classe",
|
||||
"l'espressione deve avere il tipo puntatore a struttura o unione",
|
||||
"l'espressione deve essere di tipo puntatore a classe ma il tipo è %t",
|
||||
"l'espressione deve essere di tipo puntatore a struct o unione ma il tipo è %t",
|
||||
"previsto un nome di membro",
|
||||
"previsto un nome di campo",
|
||||
"%n non include alcun membro %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"impossibile accettare l'indirizzo di un campo di bit",
|
||||
"troppi argomenti nella chiamata di funzione",
|
||||
"impossibile utilizzare parametri con prototipo senza nome quando è presente il corpo",
|
||||
"l'espressione deve avere il tipo puntatore a oggetto",
|
||||
"l'espressione deve essere di tipo puntatore a oggetto ma il tipo è %t",
|
||||
"programma troppo grande o complesso per essere compilato",
|
||||
"impossibile utilizzare un valore di tipo %t1 per inizializzare un'entità di tipo %t2",
|
||||
"impossibile inizializzare %n",
|
||||
@@ -152,8 +152,8 @@
|
||||
"impossibile dichiarare nuovamente un nome di tipo come parametro",
|
||||
"impossibile dichiarare nuovamente un nome di typedef come parametro",
|
||||
"conversione di un numero intero diverso da zero in un puntatore",
|
||||
"l'espressione deve avere il tipo classe",
|
||||
"l'espressione deve avere il tipo struttura o unione",
|
||||
"l'espressione deve essere di tipo classe ma il tipo è %t",
|
||||
"l'espressione deve essere di tipo struct o unione ma il tipo è %t",
|
||||
"operatore di assegnazione obsoleto",
|
||||
"inizializzatore obsoleto",
|
||||
"l'espressione deve essere un'espressione di costante integrale",
|
||||
@@ -180,7 +180,7 @@
|
||||
"l'applicazione di '&' a una matrice non ha alcun effetto",
|
||||
"l'operando destro di '%%' è zero",
|
||||
"argomento incompatibile con il parametro formale",
|
||||
"argomento incompatibile con la conversione della stringa di formato corrispondente",
|
||||
"argomento non compatibile con la conversione della stringa di formato corrispondente (tipo previsto %t1 ma argomento di tipo %t2)",
|
||||
"non è stato possibile aprire il file di origine %sq. Non è presente alcuna directory nell'elenco di ricerca",
|
||||
"il cast deve essere di tipo integrale",
|
||||
"il cast deve essere di tipo aritmetico o puntatore",
|
||||
@@ -392,7 +392,7 @@
|
||||
"non è possibile chiamare la funzione 'main' o accettarne l'indirizzo",
|
||||
"impossibile specificare l'inizializzatore new per una matrice",
|
||||
"impossibile dichiarare nuovamente una funzione membro %no all'esterno della relativa classe",
|
||||
"puntatore a tipo classe incompleto non consentito",
|
||||
"il puntatore al tipo classe incompleto %t non è consentito",
|
||||
"riferimento a variabile locale della funzione contenitore non consentito",
|
||||
"utilizzata una funzione ad argomento singolo per aggiungere la forma suffissa a %sq (anacronismo)",
|
||||
null,
|
||||
@@ -682,9 +682,9 @@
|
||||
"directory PCH non valida: %s",
|
||||
"previsto __except o __finally",
|
||||
"un'istruzione __leave può essere utilizzata solo in un blocco __try",
|
||||
"rilevato durante la creazione di un'istanza del contesto %p1 del modello %nt1",
|
||||
"rilevato durante la creazione di un'istanza del contesto %p del modello %nt",
|
||||
"rilevato durante la generazione implicita del contesto %p1 del modello %nt1",
|
||||
"rilevato durante la creazione di un'istanza del contesto %p1 della classe %na2",
|
||||
"rilevato durante la creazione di un'istanza del contesto %p della classe %na",
|
||||
"rilevato durante l'elaborazione dell'elenco degli argomenti di modello per %na %p",
|
||||
"rilevato durante la definizione implicita del contesto %p1 del modello %nt1",
|
||||
"%sq non trovato nello stack di allineamento compressione",
|
||||
@@ -838,7 +838,7 @@
|
||||
"verrà restituito il riferimento alla variabile locale",
|
||||
"omissione del tipo esplicito non conforme allo standard. Verrà utilizzato 'int'",
|
||||
"più specializzazioni parziali corrispondenti all'elenco degli argomenti di modello di %n",
|
||||
"%no",
|
||||
"%nod",
|
||||
"elenco degli argomenti di modello non consentito in una dichiarazione di un modello principale",
|
||||
"le specializzazioni parziali non possono includere argomenti di modello predefiniti",
|
||||
"%n1 non viene usato o non può essere dedotto dall'elenco degli argomenti di modello di %n2",
|
||||
@@ -952,7 +952,7 @@
|
||||
"è possibile utilizzare l'opzione 'nonstd_using_decl' solo quando si esegue la compilazione nel linguaggio C++",
|
||||
"il tipo restituito della funzione 'main' deve essere 'int'",
|
||||
"il tipo di un parametro di modello non di tipo non può essere di classe",
|
||||
"impossibile specificare un argomento di modello predefinito nella dichiarazione di un membro di un modello di classe esterno alla relativa classe",
|
||||
"impossibile specificare un argomento di modello predefinito nella definizione di un membro di un modello di classe all'esterno del modello",
|
||||
"istruzione return non consentita in un gestore di un blocco try di funzione di un costruttore",
|
||||
"non è possibile combinare indicatori ordinari ed estesi in una designazione di inizializzatori",
|
||||
"il secondo indice deve essere minore del primo",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"impossibile utilizzare questa direttiva pragma in un operatore _Pragma. È necessario utilizzare una direttiva #pragma",
|
||||
"nel campo viene utilizzato il riempimento finale di una classe base",
|
||||
"nei compilatori GNU C++ è possibile utilizzare il riempimento dei campi di bit",
|
||||
"%nd è stato dichiarato deprecato",
|
||||
"%n è stato dichiarato deprecato",
|
||||
"nome asm non consentito in una dichiarazione di membro non statica",
|
||||
"il tipo di funzione formato non riconosciuto %sq è stato ignorato",
|
||||
"nella classe base %no1 viene utilizzato il riempimento finale della classe base %no2",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"dllexport e dllimport ignorati nei modelli di classe",
|
||||
"la specifica di dllexport/dllimport della classe base è diversa da quella della classe derivata",
|
||||
"impossibile aggiungere dllexport/dllimport a %nod nella ridichiarazione",
|
||||
"conflitto tra dllexport/dllimport e %nod. Verrà utilizzato dllexport",
|
||||
"conflitto tra dllexport/dllimport e %nod;. Verrà utilizzato dllexport",
|
||||
"impossibile definire l'entità di dllimport",
|
||||
"con dllexport/dllimport è richiesto il collegamento esterno",
|
||||
"impossibile dichiarare da solo con un tale identificatore un membro di una classe dichiarata con dllexport/dllimport",
|
||||
"campo del tipo classe senza interfaccia DLL utilizzato in una classe con interfaccia DLL",
|
||||
"dichiarazione di membro tra parentesi non conforme allo standard",
|
||||
"spazio vuoto tra barra rovesciata e carattere di nuova riga ignorato nella giunzione di riga",
|
||||
"conflitto tra dllexport/dllimport e %nod. dllimport/dllexport verrà eliminato",
|
||||
"conflitto tra dllexport/dllimport e %nod; dllimport/dllexport verrà eliminato",
|
||||
"membro non valido per la classe di membro anonima. La classe %t include una funzione membro non consentita",
|
||||
"reinterpret_cast non conforme allo standard",
|
||||
"l'identificatore di formato posizionale non può essere zero",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"tipi integrali generici non supportati",
|
||||
"__real e __imag possono essere applicati solo a valori complessi",
|
||||
"__real/__imag applicato al valore reale",
|
||||
"%nd è stato dichiarato deprecato (%sq)'",
|
||||
"%n è stato dichiarato deprecato (%sq)",
|
||||
"ridefinizione non valida di %nd",
|
||||
"dllimport/dllexport applicato a un membro di uno spazio dei nomi senza nome",
|
||||
"__thiscall può essere utilizzato solo in dichiarazioni di funzione membro non statiche",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"macro",
|
||||
"etichetta",
|
||||
"parametro di modello",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"tipo",
|
||||
"unione",
|
||||
"classe",
|
||||
"struct",
|
||||
"parametro di modello template",
|
||||
"modello",
|
||||
"modello di classe",
|
||||
null,
|
||||
"enumerazione",
|
||||
"parametro",
|
||||
"parametro del gestore",
|
||||
"variabile",
|
||||
"non di tipo",
|
||||
null,
|
||||
"costante",
|
||||
"funzione",
|
||||
"funzione in overload",
|
||||
"membro",
|
||||
"campo",
|
||||
null,
|
||||
"spazio dei nomi",
|
||||
"registro denominato",
|
||||
"spazio degli indirizzi denominato",
|
||||
"modello di funzione",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"la conversione widening del puntatore da %t1 a %t2 implica l'estensione del bit di segno",
|
||||
"__sptr e __uptr non sono validi per i tipi di puntatore a membro",
|
||||
"la dichiarazione dell'operatore di assegnazione di copia per %t è stata eliminata perché %n è costante",
|
||||
null,
|
||||
"la dichiarazione dell'operatore di assegnazione di copia per %t è stata eliminata perché %n include il tipo riferimento",
|
||||
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è stata eliminata",
|
||||
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è ambigua",
|
||||
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è inaccessibile",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"qualificatore di tipo non consentito in un costruttore o distruttore",
|
||||
"qualificatore di tipo non consentito in operator new o operator delete",
|
||||
"qualificatore di tipo non consentito in una funzione non membro",
|
||||
"espressione __assume con effetti collaterali eliminata",
|
||||
"l'argomento di %s ha effetti collaterali ma non è valutato",
|
||||
"tipo di origine Unicode non riconosciuto. Deve essere uno tra UTF-8, UTF-16, UTF-16LE, UTF-16BE: %s",
|
||||
"carattere Unicode con valore esadecimale %s non rappresentabile nell'output di pre-elaborazione",
|
||||
"la priorità del costruttore/distruttore richiesta è riservata per uso interno",
|
||||
@@ -1916,13 +1916,13 @@
|
||||
"un pacchetto parametri non può avere un valore predefinito",
|
||||
"C++/CLI può essere abilitato solo in modalità Microsoft C++",
|
||||
"non è possibile usare 'value__' come nome di una costante di enumerazione (è un nome riservato in questo contesto)",
|
||||
"è richiesto un valore di enumerazione esplicito in un tipo di enumerazione con tipo sottostante booleano",
|
||||
"è richiesto un valore di enumerazione esplicito in un tipo enumerazione con tipo sottostante booleano",
|
||||
null,
|
||||
"è stato fatto riferimento al pacchetto parametri %sq che però non è espanso",
|
||||
"l'espansione del pacchetto non usa pacchetti di argomenti",
|
||||
"il pacchetto %sq non ha lo stesso numero di elementi di %sq2",
|
||||
null,
|
||||
"l'attributo vector_size non è consentito con un tipo di enumeratore",
|
||||
"l'attributo vector_size non è consentito con un tipo enumerazione",
|
||||
"una proprietà non può essere contemporaneamente statica e virtuale",
|
||||
"una proprietà indicizzata non può essere semplice",
|
||||
"questa dichiarazione non può apparire in una definizione di proprietà",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"un identificatore di visibilità di primo livello richiede una definizione di tipo",
|
||||
"una proprietà trivial non può disporre di un tipo di riferimento",
|
||||
"una proprietà trivial non può disporre di un tipo const o volatile",
|
||||
"%nd è stato dichiarato in precedenza come un tipo diverso di tipo di enumeratore",
|
||||
"%nd è stato dichiarato in precedenza come tipo di enumerazione diverso",
|
||||
"in una variabile acquisita da un lambda non può essere presente un tipo classe %[managed]",
|
||||
"l'override della funzione virtuale con un tipo restituito con variante non è consentito in una classe %[managed]",
|
||||
"matrice di handle non consentita",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"un indicatore di override denominato è consentito solo in una classe %[managed]",
|
||||
"nessun membro designato dall'indicatore di override denominato corrisponde al tipo di membro",
|
||||
"una dichiarazione di costruttore statico non può includere un indicatore di override denominato",
|
||||
"il tipo di enumerazione con ambito deve avere un nome",
|
||||
"il tipo enumerazione con ambito deve avere un nome",
|
||||
"trasferimento del controllo in un blocco finally non consentito",
|
||||
"istruzione return all'interno di un blocco finally non consentita",
|
||||
"con il blocco try è richiesto almeno un gestore o una clausola finally",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"un campo initonly può essere modificato solo dal costruttore istanza della relativa classe che lo contiene",
|
||||
"un campo initonly statico può essere modificato solo dal costruttore statico della relativa classe che lo contiene",
|
||||
"la funzione membro verrà richiamata in una copia del campo initonly",
|
||||
"l'espressione deve avere il tipo puntatore o handle",
|
||||
"l'espressione deve essere di tipo puntatore o handle ma il tipo è %t",
|
||||
"un costruttore di spostamento o un operatore di assegnazione spostamento è utilizzato per copiare un lvalue in questo punto; l'operazione potrebbe eliminare in modo permanente l'oggetto di origine",
|
||||
"la selezione del membro in un'entità generica %[C++/CLI] deve utilizzare la sintassi '->' e non '.'",
|
||||
"un tipo classe di riferimento non può derivare da %t",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"reinterpret_cast di handle non sicuro",
|
||||
"un argomento del modello non può fare riferimento a un parametro di tipo generico",
|
||||
"un elenco di espressioni non è consentito in questa operazione di pedice (racchiudere tra parentesi l'operatore virgola di primo livello)",
|
||||
"l'espressione deve avere il tipo puntatore a oggetto o handle a matrice %[C++/CLI]",
|
||||
"l'espressione deve essere di tipo puntatore a oggetto o handle a matrice %[C++/CLI] ma il tipo è %t",
|
||||
"attributo non riconosciuto",
|
||||
"il membro di una classe %[managed] non può essere di un tipo di classe non-%[managed]",
|
||||
"il membro di una classe non-%[managed] non può avere un tipo di classe di riferimento o un tipo di classe di interfaccia",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"%nd dichiarato in precedenza con un tipo base diverso",
|
||||
"in questo punto non è possibile usare 'enum class' ed 'enum struct' (usare semplicemente 'enum')",
|
||||
"è consentito un solo livello di parentesi in un inizializzatore per un oggetto di tipo %t",
|
||||
"non è possibile usare %nd come nome del tipo di enumerazione",
|
||||
"non è possibile usare %nd come nome del tipo enumerazione",
|
||||
null,
|
||||
"impossibile utilizzare un inizializzatore tra parentesi con 'new auto'",
|
||||
"la definizione di std::initializer_list non contiene il costruttore previsto",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"un inizializzatore tra parentesi per un'entità non classe deve essere un'espressione, non un elenco tra parentesi graffe",
|
||||
"un elenco tra parentesi graffe non fornisce un tipo restituito per questa espressione lambda",
|
||||
"la specifica dell'eccezione dichiarata non è compatibile con quella generata",
|
||||
"i tipi di enumerazione con ambito sono una funzionalità C++11",
|
||||
"i tipi enumerazione con ambito sono una funzionalità C++11",
|
||||
"un tipo di funzione non può essere inizializzato dal valore",
|
||||
"l'inizializzazione di elenco di un tipo di oggetto %t non è consentita perché il tipo non è completo",
|
||||
"std::initializer_list contiene un distruttore non previsto. La libreria non è configurata correttamente",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"è prevista un'etichetta",
|
||||
"è previsto un numero operando dopo '%%l'",
|
||||
"il numero operando per '%%l' non fa riferimento a un argomento di etichetta valido",
|
||||
"il numero operando per '%%l' non fa riferimento a un argomento etichetta valido",
|
||||
"una stringa \"wide\" non è valida in un'istruzione 'asm'",
|
||||
"l'attributo non è standard",
|
||||
"non è una classe di base della classe %t",
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"non è possibile dedurre il tipo 'decltype(auto)'",
|
||||
"una dichiarazione thread-local con ambito blocco deve includere static o extern",
|
||||
"il tipo restituito dedotto %t1 è in conflitto con il tipo dedotto in precedenza %t2",
|
||||
"non è possibile dedurre il tipo restituito di %nd perché non è stato definito",
|
||||
"non è possibile dedurre il tipo restituito di %nd; perché non è stato definito",
|
||||
"il tipo restituito da una funzione virtuale non può essere dedotto",
|
||||
"a partire da questo punto %n verrà considerato come una parola chiave sensibile al contesto",
|
||||
"lo spazio dei nomi globale non include membri effettivi %sq",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"la variabile nella funzione constexpr non è inizializzata",
|
||||
"per l'inizializzazione tra parentesi graffe di una variabile dichiarata con un tipo di segnaposto, ma senza `=`, è necessario specificare un solo elemento all'interno delle parentesi",
|
||||
"non esistono configurazioni '%s' --target",
|
||||
"l'attributo non è supportato in configurazioni x86 a 64 bit",
|
||||
"l'attributo è supportato soltanto in configurazioni x86 a 32 bit",
|
||||
"con '%s' è richiesto un argomento",
|
||||
"un costruttore o un distruttore non può essere una coroutine",
|
||||
"%n non può essere una coroutine",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"un'espressione co_await non è consentita in una clausola catch",
|
||||
"una coroutine non può contenere un parametro con puntini di sospensione",
|
||||
"per abilitare constexpr di tipo C++ 14, è richiesto il supporto per 'bool'",
|
||||
"la funzione constexpr %nd non è definita",
|
||||
"la constexpr %nd non è definita",
|
||||
"non è possibile valutare questa chiamata perché la funzione di destinazione %nd non è constexpr oppure non è stata ancora completamente definita",
|
||||
"nota",
|
||||
"Nota",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"non è possibile applicare l'identificatore _Atomic(...) al tipo qualificato %t",
|
||||
"accesso al membro dell'oggetto _Atomic",
|
||||
"un campo di bit non può contenere un tipo _Atomic",
|
||||
"i tipi di classe _Atomic sono disabilitati",
|
||||
null,
|
||||
"il costruttore constexpr chiama il costruttore non constexpr per l'inizializzazione del sotto-oggetto",
|
||||
"è prevista una virgola (la versione a un solo argomento di static_assert non è abilitata in questa modalità)",
|
||||
"l'asserzione statica non è riuscita",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"non è possibile valutare il valore dell'oggetto incompleto %t",
|
||||
"il valore restituito dalla routine dichiarata con l'attributo 'nodiscard' verrà ignorato",
|
||||
"il tipo del valore restituito con l'attributo 'nodiscard' verrà ignorato",
|
||||
"l'attributo 'nodiscard' non può essere applicato a distruttori o routine con tipo restituito void",
|
||||
"l'attributo 'nodiscard' non si applica a distruttori o routine con tipo restituito void",
|
||||
"l'attributo 'fallthrough' si applica solo a istruzioni Null",
|
||||
"l'attributo 'fallthrough' può essere usato solo in un'istruzione switch in cui è incluso",
|
||||
"l'attributo fallthrough deve precedere un'etichetta switch case o default",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"l'inizializzazione elenco copie non può usare %n 'explicit'",
|
||||
"guida per la deduzione",
|
||||
"Valore non valido per l'operatore di valore letterale definito dall'utente",
|
||||
"__has_cpp_attribute può essere specificato all'esterno di #if o #elif",
|
||||
"%s non può essere visualizzato all'esterno delle direttive del preprocessore",
|
||||
"la guida per la deduzione deve essere dichiarata con la stessa accessibilità di %n",
|
||||
"in questo contesto non sono consentite espressioni lambda",
|
||||
"l'allineamento specificato non equivale alla dichiarazione precedente",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"il tipo %t nel puntatore this per la funzione membro con limitazioni amp %nfd non è valido",
|
||||
"il tipo restituito %t per la funzione con restrizioni AMP %nfd non è valido",
|
||||
"il tipo di parametro %t per la funzione con restrizioni AMP %nfd non è valido",
|
||||
null,
|
||||
"il costrutto nella funzione con restrizioni AMP %nfd non è valido",
|
||||
"la classe di archiviazione %s nella funzione con restrizioni AMP %nfd non è valida",
|
||||
"%s non è consentito nella funzione con restrizioni AMP %nfd",
|
||||
"il cast nella funzione con restrizioni AMP non è valido",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"è previsto '>>>'",
|
||||
"non è possibile trovare la dichiarazione di __cudaPushCallConfiguration. L'installazione del toolkit CUDA potrebbe essere danneggiata.",
|
||||
"l'inizializzatore di tipo C++17 non è standard in questa modalità",
|
||||
"l'acquisizione di *this non è standard in questa modalità",
|
||||
"il prefisso dell'attributo di 'using' di tipo C++17 non è standard in questa modalità",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"un tipo volatile %t impedisce la valutazione constexpr di __builtin_bit_cast",
|
||||
"un tipo unione, puntatore o puntatore a membro %t impedisce la valutazione constexpr di __builtin_bit_cast",
|
||||
"%npTd, ereditato tramite l'uso della dichiarazione %p",
|
||||
"non è possibile costruire oggetti secondari di %t per ereditare costruttori. Il costruttore predefinito implicito è stato eliminato",
|
||||
"non è possibile costruire oggetti secondari di %t per ereditare costruttori. Il costruttore associato è stato eliminato",
|
||||
"%n deve restituire void",
|
||||
"l'inizio della dichiarazione di membro non è valido",
|
||||
"è previsto 'auto'",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"una dichiarazione di esportazione non può contenere una dichiarazione di importazione del modulo",
|
||||
"una dichiarazione di esportazione può essere presente solo in un'unità di interfaccia del modulo",
|
||||
"una dichiarazione di esportazione non può esportare un nome con collegamento interno",
|
||||
"la dichiarazione using include %nfd",
|
||||
"la funzione predefinita non è disponibile perché i tipi a virgola mobile __fp16 non sono supportati",
|
||||
null,
|
||||
null,
|
||||
"un'espressione requires deve specificare almeno un requisito",
|
||||
"'constinit' non è valida in questo punto",
|
||||
"'constinit' è valida solo per dichiarazioni con durata di archiviazione del thread o statica",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"il mapping del file del modulo per '%s' è stato specificato più di una volta",
|
||||
"il mapping dell'unità intestazione per '%s' è stato specificato più di una volta",
|
||||
"non è stato specificato alcun mapping per '%s'",
|
||||
"Il mapping del file del modulo per '%s' non è valido",
|
||||
null,
|
||||
"non è possibile trovare l'intestazione '%s' da importare",
|
||||
"più di un file nell'elenco file di modulo corrisponde a '%s'",
|
||||
"il file di modulo trovato per '%s' è riferito a un modulo diverso",
|
||||
"qualsiasi tipo di modulo",
|
||||
"non è possibile leggere il file del modulo",
|
||||
"la funzione predefinita non è disponibile perché il tipo char8_t non è supportato con le opzioni correnti",
|
||||
"non è possibile specificare l'opzione della riga di comando --ms_await se le coroutine di C++20 sono abilitate",
|
||||
null,
|
||||
"uso non standard del costruttore esplicito %nod per l'inizializzazione dell'elemento di aggregazione predefinito",
|
||||
"l'origine o la destinazione dell'intrinseco simile a memcpy non punta a un oggetto",
|
||||
"l'intrinseco simile a memcpy prova a copiare i tipi distinti dal punto di vista della rappresentazione %t1 e %t2",
|
||||
"l'intrinseco simile a memcpy prova a copiare il tipo non facilmente copiabile %t",
|
||||
"l'intrinseco simile a memcpy prova a copiare l'oggetto parziale",
|
||||
"l'intrinseco simile a memcpy prova a copiare oltre il limite della matrice",
|
||||
"l'intrinseco simile a memcpy prova a copiare intervalli di byte sovrapposti (usando invece l'operazione memmove corrispondente)"
|
||||
"l'intrinseco simile a memcpy prova a copiare intervalli di byte sovrapposti (usando invece l'operazione memmove corrispondente)",
|
||||
"una dichiarazione friend con una clausola requires finale deve essere una definizione",
|
||||
"l'espressione deve essere di tipo puntatore o aritmetico ma il tipo è %t",
|
||||
"l'espressione deve essere di tipo aritmetico, enumerazione o puntatore ma il tipo è %t",
|
||||
"l'espressione deve essere di tipo aritmetico, enumerazione senza ambito o puntatore ma il tipo è %t",
|
||||
"l'espressione deve essere di tipo puntatore ma il tipo è %t",
|
||||
"a %t è stato applicato l'operatore -> o ->* invece di un tipo puntatore",
|
||||
"il tipo classe incompleto %t non è consentito",
|
||||
"non è possibile interpretare il layout di bit per questa destinazione di compilazione",
|
||||
"non esiste alcun operatore corrispondente per l'operatore IFC %sq",
|
||||
"non esiste alcuna convenzione di chiamata corrispondente per la convenzione di chiamata IFC %sq",
|
||||
"il modulo %sq contiene costrutti non supportati",
|
||||
"costrutto IFC non supportato: %sq",
|
||||
"__is_signed non è più una parola chiave a partire da questo punto",
|
||||
"una dimensione di matrice deve avere un valore intero senza segno costante",
|
||||
"il file IFC %sq ha una versione %d1.%d2 non supportata",
|
||||
"i moduli non sono abilitati in questa modalità",
|
||||
"Il nome di un modulo non può contenere 'import'",
|
||||
"Il nome di un modulo non può contenere 'module'",
|
||||
null,
|
||||
null,
|
||||
"%n non è un tipo enumerazione.",
|
||||
"l'enumeratore %no2 è in conflitto con %n1",
|
||||
"l'enumeratore %no è già stato dichiarato in questo ambito %p",
|
||||
"la specifica 'throw()' non fa parte di C++20 e versioni successive",
|
||||
"più di una voce nel mapping dell'unità intestazione corrisponde a '%s'",
|
||||
"la diagnostica #pragma deve avere l'argomento 'push' o 'pop'",
|
||||
"nessun '#pragma diagnostic push' trovato che corrisponda a questo 'diagnostic pop'",
|
||||
"%sq non può essere una macro se usata in una direttiva import o modulo",
|
||||
"questa direttiva può essere visualizzata solo nell'ambito dello spazio dei nomi globale",
|
||||
"una dichiarazione 'export' può essere visualizzata solo nell'ambito globale o dello spazio dei nomi",
|
||||
"%sq viene analizzato come identificatore anziché come parola chiave perché i token che seguono non corrispondono a quelli di una direttiva preprocessore",
|
||||
"sembra essere l'inizio di una direttiva preprocessore, ma la mancanza di ';' seguita immediatamente da una nuova riga lo impedisce",
|
||||
"sembra essere una direttiva pre-elaborazione dei moduli, ma tali direttive non possono essere visualizzate all'interno di un'espansione delle macro",
|
||||
"una direttiva 'module' non può comparire nell'ambito dell'inclusione condizionale (ad esempio, #if, #else, #elseif e così via)",
|
||||
"l'importazione di %sq è stata ignorata",
|
||||
"il tipo di promessa %t deve dichiarare get_return_object_on_allocation_failure come funzione membro statica che non richiede argomenti",
|
||||
"un modello di alias non può essere specializzato in modo esplicito",
|
||||
"per corrispondere a questo '{'",
|
||||
"in questa chiamata macro",
|
||||
"la chiamata richiede una conversione di argomento ambigua",
|
||||
"la dichiarazione di proprietà del modulo %s è in conflitto con %nd",
|
||||
"la dichiarazione di proprietà di un modulo globale è in conflitto con %nd di proprietà di un modulo denominato",
|
||||
"il primo argomento di un attributo 'malloc' deve essere una funzione",
|
||||
"non è possibile acquisire %nod",
|
||||
"non è possibile acquisire 'this'",
|
||||
"già nel contesto consteval",
|
||||
"'if consteval' e 'if not consteval' richiedono istruzioni dipendenti con parentesi graffe",
|
||||
"'if consteval' e 'if not consteval' non sono significativi in una funzione non constexpr",
|
||||
"il trasferimento del controllo in un'istruzione 'if consteval' o 'if not consteval' non è consentito",
|
||||
"la valutazione costante non può passare attraverso la dichiarazione di una variabile con durata di archiviazione statica o thread",
|
||||
"qualificatore modificabile non consentito in un'espressione lambda con un parametro 'this' esplicito",
|
||||
"una funzione membro dichiarata con 'static' non può avere un parametro 'this' esplicito",
|
||||
"un parametro 'this' esplicito deve essere il primo parametro dichiarato",
|
||||
"'this' non è consentito qui",
|
||||
"una funzione di confronto con 'this' esplicito non può essere predefinita",
|
||||
"una funzione 'this' esplicita richiede un operando selettore",
|
||||
"'if consteval' e 'if not consteval' non sono standard in questa modalità",
|
||||
"l'omissione di '()' in un dichiaratore lambda non è standard in questa modalità",
|
||||
"una clausola requires finale non è consentita quando l'elenco di parametri lambda viene omesso",
|
||||
"modulo %sq partizione non valida richiesta",
|
||||
"richiesta partizione non definita del modulo %sq1 (che si ritiene sia %sq2)",
|
||||
null,
|
||||
null,
|
||||
"modulo %sq1 posizione file %u1 (posizione relativa %u2) richiesto per la partizione %sq2, che causa l'overflow della fine della partizione",
|
||||
"modulo %sq1 posizione file %u1 (posizione relativa %u2) richiesto per la partizione %sq2, che non è allineata agli elementi delle partizioni",
|
||||
"dal sottocampo %sq (posizione relativa al nodo %d)",
|
||||
"dalla partizione %sq elemento %u1 (posizione file %u2, posizione relativa %u3)",
|
||||
"attributi lambda non conformi allo standard",
|
||||
"l'identificatore %sq potrebbe essere confuso con un identificatore visivamente simile visualizzato %p",
|
||||
"questo commento contiene caratteri di controllo di formattazione Unicode sospetti",
|
||||
"questa stringa contiene caratteri di controllo di formattazione Unicode che potrebbero causare un comportamento di runtime imprevisto",
|
||||
"%d1 avviso eliminato durante l'elaborazione del modulo %sq1",
|
||||
"%d1 avvisi eliminati rilevati durante l'elaborazione del modulo %sq1",
|
||||
"Errore %d1 eliminato durante l'elaborazione del modulo %sq1",
|
||||
"%d1 errori eliminati rilevati durante l'elaborazione del modulo %sq1",
|
||||
"compreso",
|
||||
"eliminato",
|
||||
"una funzione membro virtuale non può avere un parametro 'this' esplicito",
|
||||
"l'acquisizione dell'indirizzo di una funzione esplicita 'this' richiede un nome qualificato",
|
||||
"per formare l'indirizzo di una funzione esplicita 'this' è necessario l'operatore '&'",
|
||||
"impossibile utilizzare un valore letterale stringa per inizializzare un membro di matrice flessibile",
|
||||
"La rappresentazione IFC della definizione della funzione %sq non è valida",
|
||||
null,
|
||||
"un grafico IFC UniLevel non è stato usato per specificare i parametri",
|
||||
"%d1 parametri specificati dal grafico di definizione dei parametri IFC mentre %d2 parametri sono stati specificati dalla dichiarazione IFC",
|
||||
"%d1 parametro è stato specificato dal grafico di definizione del parametro IFC mentre %d2 parametri sono stati specificati dalla dichiarazione IFC",
|
||||
"%d1 parametri sono stati specificati dal grafico di definizione del parametro IFC mentre %d2 parametro è stato specificato dalla dichiarazione IFC",
|
||||
"Manca la rappresentazione IFC della definizione della funzione %sq",
|
||||
"il modificatore di funzione non si applica alla dichiarazione del modello di membro",
|
||||
"la selezione dei membri implica troppi tipi anonimi annidati",
|
||||
"non esiste alcun tipo comune tra gli operandi",
|
||||
"è previsto un puntatore a membro",
|
||||
"un membro di matrice flessibile non può essere dichiarato in un tipo altrimenti vuoto",
|
||||
"previsto 'std::source_location::__impl' da definire in una classe con solo i membri dati '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
|
||||
"il numero di colonna specificato è troppo grande per l'implementazione di 'std::source_location'",
|
||||
"il numero di riga specificato è troppo grande per l'implementazione di 'std::source_location'",
|
||||
"una costante di caratteri UTF-16 non può occupare più di un'unità di codice; valore troncato",
|
||||
"entrambi gli argomenti devono avere lo stesso tipo",
|
||||
"il tipo %t non è valido come argomento per questa compilazione",
|
||||
"chiamato da %nd:",
|
||||
"un tipo qualificato non è conforme allo standard per i campi di bit anonimi",
|
||||
"il tipo di elemento della condizione vettoriale (%t1) deve avere le stesse dimensioni del tipo di elemento del risultato (%t2)",
|
||||
"il tipo di operando di vettore a virgola mobile (%t) non ha un tipo di vettore intero corrispondente",
|
||||
"il mangling per le espressioni 'requires' non è ancora implementato",
|
||||
"a causa di un attributo 'non disponibile'",
|
||||
"qualificatore 'asm' duplicato",
|
||||
"o un campo di bit con un tipo di enumerazione incompleto o un'enumerazione opaca con un tipo di base non valido",
|
||||
"ha tentato di costruire un elemento dalla partizione IFC %sq utilizzando un indice nella partizione IFC %sq2",
|
||||
"la partizione %sq ha specificato la dimensione della voce come %d1 mentre era previsto %d2",
|
||||
"Durante l'elaborazione del modulo %sq1 è stato riscontrato un requisito IFC imprevisto.",
|
||||
"condizione fallita alla riga %d in %s1: %sq2",
|
||||
"il vincolo atomico dipende da se stesso",
|
||||
"La funzione 'noreturn' ha un tipo restituito non void",
|
||||
"è stata apportata una correzione eliminando il parametro %sq (in corrispondenza dell'indice relativo %d)",
|
||||
"non è possibile specificare un argomento di modello predefinito nella definizione di un modello di membro all'esterno della relativa classe",
|
||||
"nome identificatore IFC %sq non valido rilevato durante la ricostruzione dell'entità",
|
||||
null,
|
||||
"il modulo %sq valore di ordinamento non valido",
|
||||
"un modello di funzione caricato da un modulo IFC è stato analizzato erroneamente come %nd",
|
||||
"non è stato possibile caricare un riferimento all'entità IFC nel modulo %sq",
|
||||
"dalla partizione %sq elemento %u1 (posizione file %u2, posizione relativa %u3)",
|
||||
"gli indicatori concatenati non sono consentiti per un tipo di classe con un distruttore non banale",
|
||||
"una dichiarazione di specializzazione esplicita non può essere una dichiarazione Friend",
|
||||
"il tipo std::float128_t non è supportato; verrà invece usato std::float64_t",
|
||||
"il tipo std::bfloat16_t non è supportato; verrà utilizzato std::float32_t",
|
||||
"non è possibile dichiarare una guida alla deduzione per il modello di alias %no",
|
||||
"%n dichiarato non disponibile",
|
||||
"%n dichiarato non disponibile (%sq)",
|
||||
"a causa di un attributo 'deprecato'",
|
||||
"i parametri espliciti del modello lambda sono una funzionalità di C++20",
|
||||
"l'uso di '_Noreturn' è obsoleto in C23; usare '[[noreturn]]'",
|
||||
"l'uso di '_Alignof' è obsoleto in C23; usare 'alignof'",
|
||||
"l'uso di '_Alignas' è obsoleto in C23; usare 'alignas'",
|
||||
"l'uso di '_Bool' è obsoleto in C23; usare 'bool'",
|
||||
"l'uso di '_Static_assert' è obsoleto in C23; usare 'static_assert'",
|
||||
"l'uso di '_Thread_local' è obsoleto in C23; usare 'thread_local'",
|
||||
"È necessario abilitare la modalità Microsoft per usare il file del modulo %sq (un modulo IFC Microsoft Visual Studio)",
|
||||
"non è stato possibile aprire il file del modulo %sq",
|
||||
"trovato nella mappa dei moduli per il modulo %sq",
|
||||
"trovato nella mappa delle unità intestazione per %sq",
|
||||
"Modalità di output non riconosciuta (deve essere una modalità di testo, sarif): %s",
|
||||
"È possibile usare l'opzione 'c23_typeof' solo durante la compilazione in C",
|
||||
"numero di versione clang non valido: %s",
|
||||
"la stringa IFC contiene un carattere Null (zero) imprevisto nel modulo %sq",
|
||||
"%d1 di %d2 byte usati",
|
||||
"dalle informazioni della stringa nella partizione %sq elemento %u1 (posizione file %u2, posizione relativa %u3)",
|
||||
"non è possibile valutare un inizializzatore per un membro di matrice flessibile",
|
||||
"un inizializzatore di campo di bit predefinito è una funzionalità di C++20",
|
||||
"troppi argomenti nell'elenco degli argomenti del modello nel modulo %sq",
|
||||
"rilevato per l'argomento del modello rappresentato dall’elemento %sq %u1 (posizione file %u2, posizione relativa %u3)",
|
||||
"argomenti insufficienti nell'elenco degli argomenti del modello nel modulo %sq",
|
||||
"rilevato durante l'elaborazione dell'elenco di argomenti del modello rappresentato dall’elemento %sq %u1 (posizione file %u2, posizione relativa %u3)",
|
||||
"la conversione dal tipo di enumerazione con ambito %t non è conforme allo standard",
|
||||
"la deallocazione non corrisponde al tipo di allocazione (una è per una matrice e l'altra no)",
|
||||
"il confronto include un indirizzo sconosciuto (ad esempio, l'indirizzo di una variabile debole)",
|
||||
"__make_signed è compatibile solo con i tipi di numero intero ed enumerazione non booleani",
|
||||
"__make_unsigned è compatibile solo con i tipi di numero intero ed enumerazione non booleani",
|
||||
"il nome intrinseco %sq verrà trattato come un identificatore ordinario a partire da qui",
|
||||
"accesso a un sotto-oggetto non inizializzato all'indice %d",
|
||||
"numero di riga IFC (%u1) che causa l’overflow del valore massimo consentito (%u2) del modulo %sq",
|
||||
"il modulo %sq1 ha richiesto l'elemento %u della partizione %sq2. Questa posizione del file supera il valore massimo rappresentabile",
|
||||
"numero errato di argomenti",
|
||||
"vincolo sul candidato %n non soddisfatto",
|
||||
"il numero di parametri di %n non corrisponde alla chiamata",
|
||||
"sostituzione degli argomenti di modello espliciti %T per %n non riuscita",
|
||||
"%n è una funzione di spostamento '= delete' implicita e quindi verrà ignorata durante la risoluzione dell'overload",
|
||||
"%n non corrisponde perché è stato specificato l'argomento #%d per un pacchetto di parametri vuoto",
|
||||
"%n non corrisponde perché l'argomento #%d non corrisponde al parametro",
|
||||
"deduzione del candidato %n non riuscita",
|
||||
"l'operatore predefinito%s non corrisponde perché l'argomento #%d non corrisponde al parametro",
|
||||
"<integral>",
|
||||
"<promoted integral>",
|
||||
"<ptrdiff_t>",
|
||||
"<enum>",
|
||||
"<scoped enum>",
|
||||
"<arithmetic>",
|
||||
"<promoted arithmetic>",
|
||||
"<non-bool arithmetic>",
|
||||
"<pointer>",
|
||||
"<nullptr>",
|
||||
"<handle>",
|
||||
"<handle to CLI array>",
|
||||
"<pointer to object>",
|
||||
"<pointer to function>",
|
||||
"<pointer-to-member>",
|
||||
"<bool>",
|
||||
"<bool-like>",
|
||||
"<class>",
|
||||
"auto(<expr>) e auto{<expr>} sono funzionalità di C++23",
|
||||
"unione anonima non valida: la dichiarazione using non è consentita",
|
||||
"Non è possibile elaborare il file IFC %sq",
|
||||
"la versione IFC %u1.%u2 non è supportata",
|
||||
"l'architettura IFC %sq non è compatibile con l'architettura di destinazione corrente",
|
||||
"il modulo %sq1 richiede l'indice %u di una partizione non supportata corrispondente a %sq2",
|
||||
"il numero di parametro %d di %n ha il tipo %t che non può essere completato",
|
||||
"il numero di parametro %d di %n ha il tipo incompleto %t",
|
||||
"il numero di parametro %d di %n ha il tipo astratto %t",
|
||||
"i binding strutturati sono una funzionalità di C++17",
|
||||
"l'acquisizione di binding strutturati è una funzionalità di C++20"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'*' のオペランドはポインターである必要があります",
|
||||
"オペランド '*' はポインターである必要がありますが、型 %t が指定されています",
|
||||
"マクロの引数が空です",
|
||||
"この宣言にはストレージ クラスまたは型指定子がありません",
|
||||
"パラメーター宣言に初期化子があってはなりません",
|
||||
@@ -130,8 +130,8 @@
|
||||
"ループが到達不能です",
|
||||
"block-scope 関数では extern ストレージ クラスのみを使用できます",
|
||||
"'{' が必要です",
|
||||
"式には pointer-to-class 型が必要です",
|
||||
"式には pointer-to-struct-or-union 型が必要です",
|
||||
"式には pointer-to-class 型を使用する必要がありますが、型 %t が使用されています",
|
||||
"式には pointer-to-struct-or-union 型を使用する必要がありますが、型 %t が使用されています",
|
||||
"メンバー名が必要です",
|
||||
"フィールド名が必要です",
|
||||
"%n にメンバー %sq がありません",
|
||||
@@ -141,7 +141,7 @@
|
||||
"ビット フィールドのアドレスの取得は許可されていません",
|
||||
"関数呼び出しの引数が多すぎます",
|
||||
"名前のないプロトタイプ パラメーターは、本体が存在する場合には使用できません",
|
||||
"式には pointer-to-object 型が必要です",
|
||||
"式には pointer-to-object 型を使用する必要がありますが、型 %t が使用されています",
|
||||
"プログラムが大きすぎるか、複雑すぎてコンパイルできません",
|
||||
"型 %t1 の値を使用して型 %t2 のエンティティを初期化することはできません",
|
||||
"%n は初期化できません",
|
||||
@@ -152,8 +152,8 @@
|
||||
"型名はパラメーターとして再宣言できません",
|
||||
"typedef 名はパラメーターとして再宣言できません",
|
||||
"0 以外の整数からポインターへの変換",
|
||||
"式にはクラス型が必要です",
|
||||
"式には構造体または共用体型が必要です",
|
||||
"式にはクラス型を使用する必要がありますが、型 %t が使用されています",
|
||||
"式には構造体または共用体型を使用する必要がありますが、型 %t が使用されています",
|
||||
"古い形式の代入演算子",
|
||||
"古い形式の初期化子",
|
||||
"式は整数定数式である必要があります",
|
||||
@@ -180,7 +180,7 @@
|
||||
"配列に適用された '&' は無効です",
|
||||
"'%%' の右オペランドが 0 です",
|
||||
"引数と仮パラメーターの間に互換性がありません",
|
||||
"引数と、対応する書式指定文字列変換の間に互換性がありません",
|
||||
"引数は対応する書式指定文字列変換と互換性がありません (想定されていた型は %t1 ですが引数の型は %t2 でした)",
|
||||
"ソース ファイル %sq を開けませんでした (検索リストにディレクトリがありません)",
|
||||
"キャストは整数型である必要があります",
|
||||
"キャストは演算型またはポインター型である必要があります",
|
||||
@@ -392,7 +392,7 @@
|
||||
"関数 'main' を呼び出すこと、またはそのアドレスを取得することはできません",
|
||||
"配列に対して新しい初期化子を指定することはできません",
|
||||
"メンバー関数 %no をそのクラスの外側で再宣言することはできません",
|
||||
"不完全クラス型へのポインターは使用できません",
|
||||
"不完全クラス型 %t へのポインターは使用できません",
|
||||
"外側の関数のローカル変数への参照は許可されていません",
|
||||
"単一引数関数が後置 %sq に使用されています (旧形式)",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"ローカル変数への参照を返しています",
|
||||
"明示的な型の省略は非標準です ('int' が想定されます)",
|
||||
"複数の部分的特殊化が %n のテンプレート引数リストと一致します",
|
||||
"%no",
|
||||
"%nod",
|
||||
"テンプレート引数リストはプライマリ テンプレートの宣言では使用できません",
|
||||
"部分的特殊化に既定のテンプレート引数があってはなりません",
|
||||
"%n1 は、%n2 のテンプレート引数リストで使用されていないか、またはリストから推測できません",
|
||||
@@ -952,7 +952,7 @@
|
||||
"オプション 'nonstd_using_decl' は C++ をコンパイルするときにのみ使用できます",
|
||||
"関数 'main' の戻り値の型は 'int' である必要があります",
|
||||
"非型テンプレート パラメーターにクラス型を使用することはできません",
|
||||
"既定のテンプレート引数はクラスの外部でのクラス テンプレートのメンバーの宣言では指定できません",
|
||||
"既定のテンプレート引数は、そのテンプレートの外部でのクラス テンプレートのメンバーの定義では指定できません",
|
||||
"コンストラクターの関数 try ブロックのハンドラーでは return ステートメントを使用できません",
|
||||
"指定子 ordinary と extended を初期化子の指定で組み合わせることはできません",
|
||||
"2 番目の添字を 1 番目より小さくすることはできません",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"このプラグマは _Pragma 演算子内では使用できません (#pragma ディレクティブを使用する必要があります)",
|
||||
"フィールドは基底クラスの後部埋め込みを使用しています",
|
||||
"GNU C++ コンパイラはビット フィールドの埋め込みを使用できます",
|
||||
"%nd は deprecated と宣言されました",
|
||||
"%nが古い形式として宣言されました",
|
||||
"asm 名は静的でないメンバー宣言では使用できません",
|
||||
"認識されない形式の関数型 %sq は無視されました",
|
||||
"基底クラス %no1 は基底クラス %no2 の後部埋め込みを使用します",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"dllexport および dllimport はクラス テンプレートでは無視されます",
|
||||
"基底クラスの dllexport/dllimport の指定が派生クラスのものと異なります",
|
||||
"再宣言で dllexport/dllimport を %nod に追加することはできません",
|
||||
"dllexport/dllimport が %nod と競合しています (dllexport が想定されます)",
|
||||
"dllexport/dllimport が %nod; と競合しています (dllexport が想定されます)",
|
||||
"dllimport エンティティを定義できません",
|
||||
"dllexport/dllimport には外部リンケージが必要です",
|
||||
"dllexport/dllimport で宣言されたクラスのメンバー自体をこれらの指定子で宣言することはできません",
|
||||
"DLL インターフェイスを含まないクラス型のフィールドが DLL インターフェイスを含むクラスで使用されています",
|
||||
"かっこで囲まれたメンバー宣言は非標準です",
|
||||
"行スプライスでの円記号 (\\) と改行の間の空白は無視されました",
|
||||
"dllexport/dllimport が %nod と競合しているためドロップされました",
|
||||
"dllexport/dllimport が %nod; と競合しているためドロップされました",
|
||||
"匿名メンバー クラスに対する無効なメンバーです -- クラス %t には許可されないメンバー関数があります",
|
||||
"非標準の reinterpret_cast です",
|
||||
"位置指定の形式指定子は 0 にできません",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"複合整数型はサポートされていません",
|
||||
"__real および __imag は複合値に対してのみ適用できます",
|
||||
"__real/__imag が実数値に適用されています",
|
||||
"%nd が deprecated (%sq) と宣言されました",
|
||||
"%n が deprecated (%sq) として宣言されました",
|
||||
"%nd の再定義が無効です",
|
||||
"dllimport/dllexport が名前なし名前空間のメンバーに適用されています",
|
||||
"____thiscall は非静的メンバー関数宣言でのみ使用できます",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"マクロ",
|
||||
"ラベル",
|
||||
"テンプレート パラメーター",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"型",
|
||||
"和集合",
|
||||
"クラス",
|
||||
"構造体",
|
||||
"テンプレート template パラメーター",
|
||||
"テンプレート",
|
||||
"クラス テンプレート",
|
||||
null,
|
||||
"列挙型",
|
||||
"パラメーター",
|
||||
"ハンドラー パラメーター",
|
||||
"変数",
|
||||
"非型",
|
||||
null,
|
||||
"定数",
|
||||
"関数",
|
||||
"オーバーロードされた関数",
|
||||
"メンバー",
|
||||
"フィールド",
|
||||
null,
|
||||
"名前空間",
|
||||
"名前付きレジスタ",
|
||||
"名前付きアドレス空間",
|
||||
"関数テンプレート",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"%t1 から %t2 へのポインター変換の拡張により符号ビットが拡張されます",
|
||||
"__sptr と __uptr は pointer-to-member 型に適用されません",
|
||||
"%n が定数であるため、%t のコピー代入演算子の宣言は抑制されています",
|
||||
null,
|
||||
"%n に参照型があるため、%t のコピー代入演算子の宣言は抑制されています",
|
||||
"%t2 のコピー代入演算子が抑制されたため、%t1 のコピー代入演算子の宣言は抑制されています",
|
||||
"%t2 のコピー代入演算子があいまいであるため、%t1 のコピー代入演算子の宣言は抑制されています",
|
||||
"%t2 のコピー代入演算子にアクセスできないため、%t1 のコピー代入演算子の宣言は抑制されています",
|
||||
@@ -1644,7 +1644,7 @@
|
||||
"%t2 のコピー コンストラクターにアクセスできないため、%t1 のコピー コンストラクターの宣言は抑制されています",
|
||||
"%t1 のデストラクターは、アクセスできず、また %t2 のデストラクターが抑制されたため、呼び出されません",
|
||||
"ファイル末尾の定義の終わりにセミコロンまたは宣言子がありません",
|
||||
"最初の引数は整数または列挙型へのポインターでなければなりません",
|
||||
"最初の引数は整数または列挙型へのポインターである必要があります",
|
||||
"同期された操作はサイズが 1、2、4、または 8 のオブジェクトでのみ有効です",
|
||||
"余分な引数は無視されました",
|
||||
"コマンド ライン定義でマクロ名 %sq の後に '=' があることが想定されます",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"コンストラクターまたはデストラクターでは型修飾子は使用できません",
|
||||
"演算子 new または演算子 delete では型修飾子は使用できません",
|
||||
"メンバー以外の関数では型修飾子は使用できません",
|
||||
"副作用のある __assume 式は破棄されます",
|
||||
"%s への引数には副作用がありますが未評価です",
|
||||
"認識されない Unicode ソースの種類です (UTF-8、UTF-16、UTF-16LE、または UTF-16BE のいずれかである必要があります): %s",
|
||||
"16 進数値 %s の Unicode 文字が出力の前処理において表示されません",
|
||||
"要求されたコンストラクター/デストラクターの優先順位は内部使用のために予約済みです",
|
||||
@@ -1916,7 +1916,7 @@
|
||||
"パラメーター パックには既定値を設定できません",
|
||||
"C++/CLI は Microsoft C++ モードでのみ有効にできます",
|
||||
"'value__' は列挙定数の名前として使用できません (このコンテキストではこの名前は予約されています)",
|
||||
"基になる型がブールの列挙型には、明示的な列挙子の値が必要です",
|
||||
"基になる型がブールである列挙型には明示的な列挙子の値が必要です",
|
||||
null,
|
||||
"パラメーター パック %sq が参照されましたが展開されていません",
|
||||
"パックの展開で引数パックが使用されません",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"トップレベルの可視性指定子には型定義が必要です",
|
||||
"trivial プロパティに参照型を指定することはできません",
|
||||
"trivial プロパティに const 型または volatile 型を指定することはできません",
|
||||
"%nd は以前に異なる種類の列挙型として宣言されました",
|
||||
"%nd は以前に異なる種類の列挙型として宣言されています",
|
||||
"ラムダでキャプチャされる変数には %[managed] クラス型を使用できません",
|
||||
"共変の戻り値の型をオーバーライドする仮想関数は、%[managed] クラスでは使用できません",
|
||||
"ハンドルの配列は使用できません",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"名前付きオーバーライド指定子は %[managed] クラスでのみ使用できます",
|
||||
"名前付きオーバーライド指定子で指定されたメンバーは、このメンバーの型と一致しません",
|
||||
"静的コンストラクター宣言には名前付きオーバーライド指定子を含めることができません",
|
||||
"スコープを持つ列挙型型には名前を指定する必要があります",
|
||||
"スコープ付き列挙型には名前を指定する必要があります",
|
||||
"finally ブロックへの制御の転送は許可されていません",
|
||||
"finally ブロック内では return ステートメントは使用できません",
|
||||
"try ブロックには 1 つ以上のハンドラーまたは finally 句が必要です",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"initonly フィールドは、フィールドに含まれているクラスのインスタンス コンストラクターでのみ変更できます",
|
||||
"静的な initonly フィールドは、フィールドに含まれているクラスの静的コンストラクターでのみ変更できます",
|
||||
"initonly フィールドのコピー上でメンバー関数が呼び出されます",
|
||||
"式にはポインター型またはハンドル型を使用する必要があります",
|
||||
"式にはポインターまたはハンドル型を使用する必要がありますが、型 %t が使用されています",
|
||||
"ムーブ コンストラクターまたはムーブ代入演算子により左辺値がここにコピーされるため、ソース オブジェクトが破棄される可能性があります",
|
||||
"%[C++/CLI] ジェネリック エンティティでのメンバー選択には、'.' 構文ではなく '->' 構文を使用する必要があります",
|
||||
"ref クラス型は %t から派生することはできません",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"ハンドルの安全でない reinterpret_cast",
|
||||
"テンプレート引数はジェネリック型パラメーターを参照できません",
|
||||
"式のリストはこの添字操作で使用できません (トップレベルのコンマ演算子をかっこで囲んでください)",
|
||||
"式には pointer-to-object 型または handle-to-%[C++/CLI]-array 型が必要です",
|
||||
"式には pointer-to-object または handle-to-%[C++/CLI]-array 型を使用する必要がありますが、型 %t が使用されています",
|
||||
"識別できない属性です",
|
||||
"%[managed] クラスのメンバーを非 %[managed] クラス型にすることはできません",
|
||||
"非 %[managed] クラスのメンバーは ref クラス型またはインターフェイス クラス型を持つことができません",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"非クラス エンティティのかっこで囲まれた初期化子は、式である必要があり、中かっこで囲まれたリストであってはなりません",
|
||||
"中かっこで囲まれたリストは、このラムダの戻り値の型を提供しません",
|
||||
"宣言された例外指定は生成された例外指定と互換性がありません",
|
||||
"スコープを持つ列挙型型は C++11 の機能です",
|
||||
"スコープ付き列挙型は C++11 の機能です",
|
||||
"関数型を値で初期化できません",
|
||||
"オブジェクト型 %t のリスト初期化は、型が不完全であるため許可されません",
|
||||
"std::initializer_list にはデストラクターが含まれていて、ライブラリは正しく構成されている必要があります",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"関数呼び出しでは、定数式に定数値が必要です",
|
||||
"関数 'main' は constexpr として宣言できません",
|
||||
null,
|
||||
"クラス型または列挙型の定義は、constexpr 関数またはコンストラクターの本体には指定できません",
|
||||
"クラスまたは列挙型の定義は、constexpr 関数またはコンストラクターの本体では指定できません",
|
||||
"ここでは GNU 形式の属性のみを使用できます",
|
||||
"初期化子から型を推測すること、および後続の戻り値の型を知らせることを目的とした、'auto' の非標準の使用です",
|
||||
"修飾された void 型を使用した void パラメーター リストの宣言は非標準です",
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"'decltype(auto)' 型を推測できません",
|
||||
"ブロック スコープでスレッド ローカルな宣言には static または extern を含める必要があります",
|
||||
"推測される戻り値の型 %t1 は以前に推測された型 %t2 と競合します",
|
||||
"戻り値の型 %nd を推測できません。定義されていません",
|
||||
"%nd; の戻り値の型を推測できません。定義されていません",
|
||||
"仮想関数は推測される戻り値の型を持つことができません",
|
||||
"%n はこのポイントから状況依存キーワードとして扱われます",
|
||||
"グローバル名前空間に実際のメンバー %sq がありません",
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"パブリック C++/CX 型の定義はグローバル スコープでは許可されていません",
|
||||
"パブリックの 'get' または 'set' アクセサーを使用するインデックス付きプロパティは使用できません",
|
||||
"パブリックな入れ子にされたデリゲート型は使用できません",
|
||||
"デリゲート初期化子が無効です -- '(<関数アドレスまたはファンクター オブジェクト> [, Platform::CallbackContext])' または '(<オブジェクト ハンドル>, <メンバー アドレス> [, Platform::CallbackContext [, bool]])' が必要です",
|
||||
"デリゲート初期化子が無効です -- '(<function-address or functor-object> [, Platform::CallbackContext])' または '(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])' が必要です",
|
||||
"デリゲート初期化子が無効です -- オブジェクトは %[managed] クラスのハンドルである必要があります",
|
||||
"C++/CX は 'in/out' 配列をサポートしていません -- パブリック API では 'in' に対して 'const Platform::Array<T>^' を、 'out' に対して 'Platform::WriteOnlyArray<T>^' または 'Platform::Array<T>^*' を使用してください ",
|
||||
"%nd の 'ターゲット' 属性がありません",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"constexpr 関数の変数が初期化されていません",
|
||||
"中かっこで囲まれた変数の初期化がプレースホルダー型で宣言されましたが、`=` がないため、中かっこ内の要素と正確に一致しなければなりません",
|
||||
"'%s' --target の構成が存在しません",
|
||||
"64 ビット x86 構成では、属性がサポートされていません",
|
||||
"属性は 32 ビット x86 構成でのみサポートされています",
|
||||
"'%s' は引数が必要です",
|
||||
"コンストラクターまたはデストラクターをコルーチンにすることはできません",
|
||||
"%n をコルーチンにすることはできません",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"co_await 式は catch 句内では使用できません",
|
||||
"コルーチンには省略記号のパラメーターを使用できません",
|
||||
"C++14 スタイルの constexpr を有効にするには、'bool' へのサポートが必要です",
|
||||
"constexpr 関数 %nd が定義されていません",
|
||||
"constexpr %nd が定義されていません",
|
||||
"ターゲット関数 %nd が constexpr でない、またはまだ完全に定義されていないため、この呼び出しを評価できません",
|
||||
"メモ",
|
||||
"メモ",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"_Atomic(...) 指定子は、修飾型 %t には適用できません",
|
||||
"_Atomic オブジェクトのメンバーへのアクセス",
|
||||
"ビット フィールドを _Atomic 型にすることはできません",
|
||||
"_Atomic クラス型は無効です",
|
||||
null,
|
||||
"constexpr コンストラクターは、サブオブジェクトを初期化するために constexpr ではないコンストラクターを呼び出します",
|
||||
"コンマが必要です (static_assert の 1 引数バージョンはこのモードでは無効です)",
|
||||
"静的なアサーションが失敗しました",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"copy-list-initialization で 'explicit' %n を使用することはできません",
|
||||
"演繹ガイド",
|
||||
"ユーザー定義のリテラル演算子の値が無効です",
|
||||
"__has_cpp_attribute は、#if または #elif の外側に置くことはできません",
|
||||
"%s はプリプロセッサ ディレクティブ外部で使用できません",
|
||||
"演繹ガイドは、%n と同じアクセシビリティで宣言する必要があります",
|
||||
"ラムダはこのコンテキストで許可されていません",
|
||||
"指定された配置は前の宣言と同等ではありません",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"amp 制限メンバー関数 %nfd の this-pointer に無効な型 %t",
|
||||
"amp 制限関数 %nfd に無効な戻り値の型 %t",
|
||||
"amp 制限関数 %nfd に無効なパラメーター型 %t",
|
||||
null,
|
||||
"amp 制限関数 %nfd に無効なコンストラクト",
|
||||
"無効なストレージ クラス %s (amp 制限関数 %nfd)",
|
||||
"%s は amp 制限関数 %nfd では許可されていません",
|
||||
"amp 制限関数に無効なキャスト",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'>>>' が必要です",
|
||||
"__cudaPushCallConfiguration 宣言が見つかりません。CUDA Toolkit のインストールが破損しているおそれがあります。",
|
||||
"C++17 スタイルの初期化子はこのモードでは非標準です",
|
||||
"*this のキャプチャはこのモードでは非標準です",
|
||||
"C++17 スタイルの 'using' 属性プレフィックスはこのモードでは非標準です",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"volatile 型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"UNION、ポインター、またはメンバーへのポインター型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"%npTd (宣言 %p を使用して継承されています)",
|
||||
"コンストラクターを継承するための %t のサブオブジェクト構築は実行できません。暗黙の既定のコンストラクターは削除されます",
|
||||
"コンストラクターを継承するための %t のサブオブジェクト構築は実行できません。関連するコンストラクターは削除されます",
|
||||
"%n は void を返す必要があります",
|
||||
"メンバー宣言の先頭が無効です",
|
||||
"'auto' が必要です",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"エクスポート宣言にモジュール インポート宣言を含めることはできません",
|
||||
"エクスポート宣言はモジュール インターフェイス ユニットでのみ使用できます",
|
||||
"エクスポート宣言では、内部リンケージを含む名前をエクスポートできません",
|
||||
"using 宣言には %nfd が含まれます",
|
||||
"fp16 の浮動小数点型がサポートされていないので、ビルトイン関数を使用できません(__F)",
|
||||
null,
|
||||
null,
|
||||
"requires 式には少なくとも 1 つの要件を指定する必要があります",
|
||||
"ここでは 'constinit' は無効です",
|
||||
"'constinit' は、静的またはスレッド ストレージ存続期間を持つ変数の宣言にのみ有効です",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"'%s' のモジュール ファイル マッピングが 2 回以上指定されました",
|
||||
"'%s' のヘッダー単位のマッピングが 2 回以上指定されました",
|
||||
"'%s' にマッピングが指定されていません",
|
||||
"'%s' のモジュール ファイル マッピングが無効です",
|
||||
null,
|
||||
"インポートするヘッダー '%s' が見つかりません",
|
||||
"モジュール ファイル リスト内の複数のファイルが '%s' と一致しています",
|
||||
"'%s' に対して見つかったモジュール ファイルは別のモジュール用です",
|
||||
"あらゆる種類のモジュール ファイル",
|
||||
"モジュール ファイルを読み取れません",
|
||||
"現在のオプションで char8_t 型がサポートされていないので、ビルトイン関数を使用できません",
|
||||
"--ms_await コマンド ライン オプションは、C++20 コルーチンが有効になっている場合は指定できません",
|
||||
null,
|
||||
"既定の集約要素の初期化における明示的なコンストラクター %nod の非標準的な使用",
|
||||
"memcpy に似た組み込み関数のソースやターゲットでオブジェクトが指定されていません",
|
||||
"memcpy に似た組み込み関数により、表現上個別の型である %t1 と %t2 のコピーが試行されます",
|
||||
"memcpy に似た組み込み関数により、普通にコピーすることができない型 %t のコピーが試行されます",
|
||||
"memcpy に似た組み込み関数により、部分的なオブジェクトのコピーが試行されます",
|
||||
"memcpy に似た組み込み関数により、配列の境界を越えたコピーが試行されます",
|
||||
"memcpy に似た組み込み関数により、重複しているバイト範囲のコピーが (対応する memmove 操作を代わりに使用して) 試行されます"
|
||||
"memcpy に似た組み込み関数により、重複しているバイト範囲のコピーが (対応する memmove 操作を代わりに使用して) 試行されます",
|
||||
"後続の Requires 句を含む friend 宣言は定義である必要があります",
|
||||
"式には算術またはポインター型を使用する必要がありますが、型 %t が使用されています",
|
||||
"式には演算、列挙、またはポインター型を使用する必要がありますが、型 %t が使用されています",
|
||||
"式には演算、対象範囲外の列挙、またはポインター型を使用する必要がありますが、型 %t が使用されています",
|
||||
"式にはポインター型を使用する必要がありますが、型 %t が使用されています",
|
||||
"演算子 -> または ->* は、ポインター型にではなく %t に適用されます",
|
||||
"不完全なクラス型 %t は使用できません",
|
||||
"このコンパイル ターゲットのビット レイアウトを解釈できません。",
|
||||
"IFC 演算子 %sq に対応する演算子がありません",
|
||||
"IFC 呼び出し規則 %sq に対応する呼び出し規則がありません",
|
||||
"モジュール %sq にはサポートされていないコンストラクトが含まれています",
|
||||
"サポートされていない IFC コンストラクト: %sq",
|
||||
"__is_signed はこのポイントからキーワードではなくなりました",
|
||||
"配列の次元には定数の符号なし整数値を指定する必要があります",
|
||||
"IFC ファイル %sq は、サポートされていないバージョン %d1.%d2 です",
|
||||
"このモードではモジュールは無効です",
|
||||
"'import' は、モジュール名には使用できません",
|
||||
"'module' は、モジュール名には使用できません",
|
||||
null,
|
||||
null,
|
||||
"%n は列挙型ではありません",
|
||||
"列挙子 %no2 が %n1 と競合しています",
|
||||
"列挙子 %no はこのスコープ %p で既に宣言されています",
|
||||
"'throw()' 仕様は C++20 以降に含まれていません",
|
||||
"ヘッダー ユニット マップのエントリより多くが '%s' に一致しています",
|
||||
"#pragma 診断には、' push ' または ' pop ' のいずれかの引数が必要です",
|
||||
"' #pragma 診断プッシュ ' が見つからなかったため、この ' 診断 pop ' と一致しません",
|
||||
"インポートまたはモジュール ディレクティブで使用する場合、%sq がマクロにならないようにすることはできません",
|
||||
"このディレクティブは、グローバル名前空間スコープでのみ表示されます",
|
||||
"' export ' 宣言はグローバルまたは名前空間スコープでのみ表示されます",
|
||||
"%sq は、その後のトークンがプリプロセッサ ディレクティブのトークンと一致しないため、キーワードではなく識別子として解析されます",
|
||||
"これはプリプロセッサ ディレクティブの先頭であるようですが、'; ' がなくなり、その直後に改行があるために",
|
||||
"これはモジュールの前処理ディレクティブですが、このようなディレクティブはマクロの展開の中では使用できません",
|
||||
"' module ' ディレクティブは、条件付き包含のスコープ内では使用できません (例: #if、#else、#elseif など)",
|
||||
"%sq のインポートはスキップされました",
|
||||
"promise 型 %t は、引数を必要としない静的メンバー関数として get_return_object_on_allocation_failure を宣言する必要があります",
|
||||
"エイリアス テンプレートを明示的に特殊化することはできません",
|
||||
"この '{' と一致する",
|
||||
"このマクロ呼び出しで",
|
||||
"呼び出しにはあいまいな引数変換が必要です",
|
||||
"モジュール %s が所有する宣言は %nd と競合しています",
|
||||
"グローバル モジュールが所有する宣言が、名前付きモジュールが所有する %nd と競合しています",
|
||||
"'malloc' 属性の最初の引数は関数である必要があります",
|
||||
"%nod をキャプチャできません",
|
||||
"'this' をキャプチャできません",
|
||||
"既に consteval コンテキストにあります",
|
||||
"'if consteval' および 'if not consteval' には、中かっこ依存ステートメントが必要です",
|
||||
"constexpr 以外の関数では'if consteval' と 'if not consteval' は意味がありません",
|
||||
"コントロールを 'if consteval' または 'if not consteval' ステートメントに転送することは許可されていません",
|
||||
"定数評価は、静的またはスレッド ストレージ期間を持つ変数の宣言を経由できません",
|
||||
"可変修飾子は、明示的な 'this' パラメーターを持つラムダでは許可されていません",
|
||||
"'static' と宣言されたメンバー関数に明示的な 'this' パラメーターを指定することはできません",
|
||||
"明示的な 'this' パラメーターは最初に宣言されたパラメーターでなければなりません",
|
||||
"'this' はここでは許可されていません",
|
||||
"明示的な 'this' を持つ比較関数は既定値にできません",
|
||||
"明示的な 'this' 関数にはセレクター オペランドが必要です",
|
||||
"このモードでは、'if consteval' と 'if not consteval' は標準ではありません",
|
||||
"ラムダ宣言子での '()' の省略は、このモードでは非標準です",
|
||||
"ラムダ パラメーター リストが省略されている場合、末尾の Requires 句は許可されません",
|
||||
"モジュール %sq 無効なパーティションが要求されました",
|
||||
"モジュール %sq1 個の未定義のパーティション (%sq2 と推定) が要求されました",
|
||||
null,
|
||||
null,
|
||||
"モジュール %sq1 ファイル位置 %u1 (相対位置 %u2) がパーティション %sq2 に対して要求されました - これはそのパーティションの終点をオーバーフローしています",
|
||||
"モジュール %sq1 ファイル位置 %u1 (相対位置 %u2) がパーティション %sq2 に対して要求されました - これはそのパーティション要素の整列誤りです",
|
||||
"サブフィールド %sq から (ノード %d への相対位置)",
|
||||
"パーティション元 %sq 要素 %u1 (ファイル位置 %u2、相対位置 %u3)",
|
||||
"ラムダ属性はここでは非標準です",
|
||||
"識別子 %sq は、%p に表示される視覚的に類似したものと混同される可能性があります",
|
||||
"このコメントには、不審な Unicode 書式設定制御文字が含まれています",
|
||||
"この文字列には、予期しない実行時の動作を引き起こす可能性のある Unicode 形式の制御文字が含まれています",
|
||||
"%d1 個の抑制された警告が、モジュール %sq1 の処理中に発生しました",
|
||||
"%d1 個の抑制された警告が、モジュール %sq1 の処理中に発生しました",
|
||||
"%d1 個の抑制されたエラーが、モジュール %sq1 の処理中に発生しました",
|
||||
"%d1 個の抑制されたエラーが、モジュール %sq1 の処理中に発生しました",
|
||||
"含む",
|
||||
"抑制",
|
||||
"仮想メンバー関数は、明示的な 'this' パラメーターを持つことはできません",
|
||||
"明示的な 'this' 関数のアドレスの取得には修飾名が必要です",
|
||||
"明示的な 'this' 関数のアドレスの形成には '&' 演算子が必要です",
|
||||
"文字列リテラルを柔軟な配列メンバーを初期化するのに使用することはできません",
|
||||
"関数 %sq の定義の IFC 表現が無効です",
|
||||
null,
|
||||
"パラメーターの指定に UniLevel IFC グラフが使用されませんでした",
|
||||
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
|
||||
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
|
||||
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
|
||||
"関数 %sq の定義の IFC 表現が見つかりません",
|
||||
"関数修飾子はメンバー テンプレート宣言には適用されません",
|
||||
"メンバーの選択に含まれる、入れ子になった匿名のタイプが多すぎます",
|
||||
"オペランド間に共通型がありません",
|
||||
"メンバーへのポインターが必要です",
|
||||
"フレキシブル配列メンバーは、otherwise-empty 型で宣言できません",
|
||||
"'std::source_location::__impl' が、データ メンバー '_M_function_name'、'_M_file_name'、'_M_column'、'_M_line' のみを持つクラスに定義される必要があります",
|
||||
"指定された列番号は 'std::source_location' 実装には大きすぎます",
|
||||
"指定された行番号は 'std::source_location' 実装には大きすぎます",
|
||||
"UTF-16 文字定数は複数のコード単位を占有できません。値が切り捨てられました",
|
||||
"両方の引数は同じ型である必要があります",
|
||||
"型 %t は、このビルトインの引数として無効です",
|
||||
"%nd からの呼び出し:",
|
||||
"修飾された型は匿名ビット フィールドでは非標準です",
|
||||
"ベクトル条件 (%t1) の要素型は、結果の要素型 (%t2) と同じサイズである必要があります",
|
||||
"浮動小数点ベクトル オペランド型 (%t) に一致する整数ベクトル型がありません",
|
||||
"'requires' 式のためのマングリングは、まだ実装されていません",
|
||||
"'unavailable' 属性が原因です",
|
||||
"'asm' 修飾子の複製",
|
||||
"不完全な列挙型を持つビット フィールド、または無効な基本型を持つ不透明な列挙のいずれかです",
|
||||
"IFC パーティション %sq2 へのインデックスを使用して、IFC パーティション %sq から要素を構築しようとしました",
|
||||
"パーティション %sq は、%d2 が予期されたときにエントリ サイズを %d1 として指定しました",
|
||||
"モジュール %sq1 の処理中に予期しない IFC 要件が発生しました",
|
||||
"条件が行 %d で失敗しました (%s1: %sq2)",
|
||||
"アトミック制約は、それ自体に依存します",
|
||||
"'noreturn' 関数に void 以外の戻り値の型があります",
|
||||
"パラメーター %sq (相対インデックス %d) を削除することで修正が行われています",
|
||||
"クラス外のメンバー テンプレートの定義では、既定のテンプレート引数を指定できません",
|
||||
"エンティティの再構築中に無効な IFC 識別子名 %sq が見つかりました",
|
||||
null,
|
||||
"モジュール %sq は無効な並べ替え値です",
|
||||
"IFC モジュールから読み込まれた関数テンプレートが誤って %nd として解析されました",
|
||||
"モジュール %sq で IFC エンティティ参照を読み込めませんでした",
|
||||
"パーティション元 %sq 要素 %u1 (ファイル位置 %u2、相対位置 %u3)",
|
||||
"非単純デストラクターを持つクラス型では、チェーンされた指定子は許可されていません",
|
||||
"明示的特殊化宣言はフレンド宣言にできない場合があります",
|
||||
"std::float128_t 型はサポートされていません。代わりに std::float64_t が使用されます",
|
||||
"std::bfloat16_t 型はサポートされていません。代わりに std::float32_t が使用されます",
|
||||
"エイリアス テンプレート %no に対して演繹ガイドを宣言することはできません",
|
||||
"%n は使用できないと宣言されました",
|
||||
"%n は使用できないと宣言されました (%sq)",
|
||||
"'deprecated' 属性が原因です",
|
||||
"明示的なラムダ テンプレート パラメーターは C++20 機能です",
|
||||
"'_Noreturn' の使用は C23 で廃止されました。代わりに '[[noreturn]]' を使用してください",
|
||||
"'_Alignof' の使用は C23 で廃止されました。代わりに 'alignof' を使用してください",
|
||||
"'_Alignas' の使用は C23 で廃止されました。代わりに 'alignas' を使用してください",
|
||||
"'_Bool' の使用は C23 で廃止されました。代わりに 'bool' を使用してください",
|
||||
"'_Static_assert' の使用は C23 で廃止されました。代わりに 'static_assert' を使用してください",
|
||||
"'_Thread_local' の使用は C23 で廃止されました。代わりに 'thread_local' を使用してください",
|
||||
"モジュール ファイル %sq (Microsoft Visual Studio IFC モジュール) を使用するには、Microsoft モードを有効にする必要があります",
|
||||
"モジュール ファイル %sq を開くことができませんでした",
|
||||
"モジュール %sq のモジュール マップで見つかりました",
|
||||
"%sq のヘッダー ユニット マップで見つかりました",
|
||||
"認識できない出力モード (テキスト、sarif のいずれかである必要があります): %s",
|
||||
"オプション 'c23_typeof' は C をコンパイルするときにのみ使用できます",
|
||||
"無効な Clang バージョン番号: %s",
|
||||
"IFC 文字列に、モジュール %sq 内の予期しない null (ゼロ) 文字が含まれています",
|
||||
"%d2 バイト中 %d1 が使用されました",
|
||||
"パーティション元 %sq 要素 %u1 (ファイル位置 %u2、相対位置 %u3) 内の文字列情報から",
|
||||
"柔軟な配列メンバーの初期化子を評価できません",
|
||||
"既定のビット フィールド初期化子は C++20 機能です",
|
||||
"モジュール %sq 内のテンプレート引数リストの引数が多すぎます",
|
||||
"%sq 要素 %u1 (ファイル位置 %u2、相対位置 %u3) で表されるテンプレート引数に対して検出されました",
|
||||
"モジュール %sq 内のテンプレート引数リストの引数が少なすぎます",
|
||||
"%sq 要素 %u1 (ファイル位置 %u2,、相対位置 %u3) で表されるテンプレート引数リストの処理中に検出されました",
|
||||
"スコープを持つ列挙型 %t からの変換は非標準です",
|
||||
"割り当て解除の種類が一致割り当ての種類と一致しません (一方が配列用で、もう一方が配列用ではありません)",
|
||||
"比較に不明なアドレス (弱い変数のアドレスなど) が含まれています",
|
||||
"__make_signed はブール型以外の整数型および列挙型とのみ互換性があります",
|
||||
"__make_unsigned はブール型以外の整数型および列挙型とのみ互換性があります",
|
||||
"組み込み名前 %sq は、ここから通常の識別子として扱われます",
|
||||
"インデックス %d にある初期化されていないサブオブジェクトへのアクセス",
|
||||
"IFC 行番号 (%u1) が許可された最大値 (%u2) モジュール %sq をオーバーフローしています",
|
||||
"モジュール %sq1 が要素 %u (パーティション %sq2) を要求しました。このファイルの位置は、表現可能な最大値を超えています",
|
||||
"引数の数が正しくありません",
|
||||
"候補に対する制約 %n が満たされていません",
|
||||
"%n のパラメーター数が呼び出しと一致しません",
|
||||
"明示的なテンプレート引数 %T を %n に置き換えることができませんでした",
|
||||
"%n は暗黙的に '= delete' 移動関数であるため、オーバーロードの解決中は無視されます",
|
||||
"%n が一致しません。空のパラメーター パックに引数 #%d が指定されているためです",
|
||||
"%n が一致しません。引数 #%d がパラメーターと一致しないためです",
|
||||
"候補の %n が失敗した演繹",
|
||||
"組み込み演算子 %s が一致しません。引数 #%d がパラメーターと一致しないからです",
|
||||
"<integral>",
|
||||
"<promoted integral>",
|
||||
"<ptrdiff_t>",
|
||||
"<enum>",
|
||||
"<scoped enum>",
|
||||
"<arithmetic>",
|
||||
"<promoted arithmetic>",
|
||||
"<non-bool arithmetic>",
|
||||
"<pointer>",
|
||||
"<nullptr>",
|
||||
"<handle>",
|
||||
"<handle to CLI array>",
|
||||
"<pointer to object>",
|
||||
"<pointer to function>",
|
||||
"<pointer-to-member>",
|
||||
"<bool>",
|
||||
"<bool-like>",
|
||||
"<class>",
|
||||
"auto(<expr>) と auto{<expr>} は C++23 機能です",
|
||||
"匿名共用体が無効です -- using 宣言は許可されていません",
|
||||
"IFC ファイル %sq を処理できません",
|
||||
"IFC バージョン %u1.%u2 はサポートされていません",
|
||||
"IFC アーキテクチャ %sq は現在のターゲット アーキテクチャと互換性がありません",
|
||||
"モジュール %sq1 は、インデックス %u (%sq2 に対応するサポートされていないパーティションのインデックス) を要求します。",
|
||||
"%n のパラメーター番号 %d に、完了できない型 %t があります",
|
||||
"%n のパラメーター番号 %d に不完全な型 %t があります",
|
||||
"%n のパラメーター番号 %d は抽象型 %t",
|
||||
"構造化バインディングは C++17 機能です",
|
||||
"構造化バインディングのキャプチャは C++20 の機能です"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'*'의 피연산자는 포인터여야 합니다.",
|
||||
"'*'의 피연산자는 포인터여야 하는데 %t 형식이 있음",
|
||||
"매크로에 대한 인수가 비어 있습니다.",
|
||||
"이 선언에는 스토리지 클래스 또는 형식 지정자가 없습니다.",
|
||||
"매개 변수 선언은 이니셜라이저를 가질 수 없습니다.",
|
||||
@@ -130,8 +130,8 @@
|
||||
"루프에 접근할 수 없습니다.",
|
||||
"블록 범위 함수에는 외부 스토리지 클래스를 하나만 사용할 수 있습니다.",
|
||||
"'{'가 필요합니다.",
|
||||
"식에 클래스 포인터 형식이 있어야 합니다.",
|
||||
"식에 구조체 포인터 또는 공용 구조체 포인터 형식이 있어야 합니다.",
|
||||
"식에 클래스 포인터 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"식에 구조체 포인터 또는 공용 구조체 포인터 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"멤버 이름이 필요합니다.",
|
||||
"필드 이름이 필요합니다.",
|
||||
"%n에 %sq 멤버가 없습니다.",
|
||||
@@ -141,7 +141,7 @@
|
||||
"비트 필드의 주소를 가져올 수 없습니다.",
|
||||
"함수 호출에 인수가 너무 많습니다.",
|
||||
"본문이 있는 경우 명명되지 않은 프로토타입 매개 변수를 사용할 수 없습니다.",
|
||||
"식에 개체 포인터 형식이 있어야 합니다.",
|
||||
"식에 개체 포인터 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"프로그램이 너무 크거나 복잡하여 컴파일할 수 없습니다.",
|
||||
"%t1 형식의 값을 사용하여 %t2 형식의 엔터티를 초기화할 수 없습니다.",
|
||||
"%n을(를) 초기화할 수 없습니다.",
|
||||
@@ -152,8 +152,8 @@
|
||||
"형식 이름을 매개 변수로 다시 선언할 수 없습니다.",
|
||||
"typedef 이름을 매개 변수로 다시 선언할 수 없습니다.",
|
||||
"0이 아닌 정수를 포인터로 변환",
|
||||
"식에 클래스 형식이 있어야 합니다.",
|
||||
"식에 구조체 또는 공용 구조체 형식이 있어야 합니다.",
|
||||
"식에 클래스 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"식에 구조체 또는 공용 구조체 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"더 이상 사용되지 않는 대입 연산자",
|
||||
"더 이상 사용되지 않는 이니셜라이저",
|
||||
"식은 정수 계열 상수 식이어야 합니다.",
|
||||
@@ -180,7 +180,7 @@
|
||||
"배열에 적용된 '&'는 효과가 없습니다.",
|
||||
"'%%'의 오른쪽 피연산자는 0입니다.",
|
||||
"인수가 정식 매개 변수와 호환되지 않습니다.",
|
||||
"인수가 대응하는 서식 문자열 변환과 호환되지 않습니다.",
|
||||
"인수가 해당 형식 문자열 변환과 호환되지 않습니다(형식 %t1이(가) 예상되지만 인수 형식이 %t2임).",
|
||||
"소스 파일 %sq을(를) 열 수 없습니다(검색 목록에 디렉터리 없음).",
|
||||
"캐스트 형식은 정수 계열이어야 합니다.",
|
||||
"캐스트 형식은 산술 또는 포인터여야 합니다.",
|
||||
@@ -392,7 +392,7 @@
|
||||
"함수 'main'을 호출할 수 없거나 해당 주소를 가져올 수 없습니다.",
|
||||
"배열에 대해 새 이니셜라이저를 지정할 수 없습니다.",
|
||||
"멤버 함수 %no을(를) 해당 클래스 외부에서 다시 선언할 수 없습니다.",
|
||||
"불완전한 클래스 형식에 대한 포인터는 사용할 수 없습니다.",
|
||||
"불완전한 클래스 형식 %t에 대한 포인터는 사용할 수 없음",
|
||||
"바깥쪽 함수의 지역 변수에 대한 참조를 사용할 수 없습니다.",
|
||||
"후위 %sq에 단일 인수 함수가 사용되었습니다(오래된 구문).",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"지역 변수에 대한 참조를 반환합니다.",
|
||||
"명시적 형식의 생략은 표준이 아닙니다('int'로 간주됨).",
|
||||
"두 개 이상의 부분 특수화가 %n의 템플릿 인수 목록과 일치합니다.",
|
||||
"%no",
|
||||
"%nod",
|
||||
"기본 템플릿의 선언에서 템플릿 인수 목록을 사용할 수 없습니다.",
|
||||
"부분 특수화에 기본 템플릿 인수를 사용할 수 없습니다.",
|
||||
"%n1이(가) 사용되지 않았거나 %n2의 템플릿 인수 목록에서 추론할 수 없습니다.",
|
||||
@@ -952,7 +952,7 @@
|
||||
"'nonstd_using_decl' 옵션은 C++를 컴파일할 경우에만 사용할 수 있습니다.",
|
||||
"'main' 함수의 반환 형식은 'int'여야 합니다.",
|
||||
"비형식 템플릿 매개 변수에는 클래스 형식을 사용할 수 없습니다.",
|
||||
"클래스 외부의 클래스 템플릿의 선언에서 기본 템플릿 인수를 지정할 수 없습니다.",
|
||||
"기본 템플릿 인수는 템플릿 외부의 클래스 템플릿 멤버 정의에 지정할 수 없습니다.",
|
||||
"생성자의 함수 try 블록 처리기에는 return 문을 사용할 수 없습니다.",
|
||||
"일반 지정자와 확장 지정자를 이니셜라이저 지정에서 결합할 수 없습니다.",
|
||||
"두 번째 첨자는 첫 번째 첨자보다 작아서는 안 됩니다.",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"_Pragma 연산자에서 이 pragma를 사용할 수 없습니다(#pragma 지시문을 사용해야 함).",
|
||||
"필드에서 기본 클래스의 끝 채우기를 사용합니다.",
|
||||
"GNU C++ 컴파일러는 비트 필드 채우기를 사용할 수 있습니다.",
|
||||
"%nd이(가) deprecated로 선언되었습니다.",
|
||||
"%n이(가) 사용되지 않음으로 선언되었습니다.",
|
||||
"비정적 멤버 선언에서 asm 이름을 사용할 수 없습니다.",
|
||||
"인식할 수 없는 형식의 함수 형식 %sq이(가) 무시되었습니다.",
|
||||
"기본 클래스 %no1이(가) 기본 클래스 %no2의 끝 채우기를 사용합니다.",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"클래스 템플릿에서 dllexport 및 dllimport가 무시됩니다.",
|
||||
"기본 클래스 dllexport/dllimport 사양이 파생된 클래스의 사양과 다릅니다.",
|
||||
"재선언에서 dllexport/dllimport를 %nod에 추가할 수 없습니다.",
|
||||
"dllexport/dllimport가 %nod과(와) 충돌합니다. dllexport로 간주됩니다.",
|
||||
"dllexport/dllimport가 %nod;과(와) 충돌합니다. dllexport로 간주됩니다.",
|
||||
"dllimport 엔터티를 정의할 수 없습니다.",
|
||||
"dllexport/dllimport에는 외부 연결이 필요합니다.",
|
||||
"dllexport/dllimport로 선언된 클래스의 멤버가 같은 지정자를 사용하여 자신을 선언할 수 없습니다.",
|
||||
"DLL 인터페이스가 없는 클래스 형식의 필드가 DLL 인터페이스가 있는 클래스에 사용되었습니다.",
|
||||
"괄호로 묶인 멤버 선언은 표준이 아닙니다.",
|
||||
"줄 연결에서 백슬래시와 줄 바꿈 사이의 공백은 무시됩니다.",
|
||||
"dllexport/dllimport가 %nod과(와) 충돌합니다. dllimport/dllexport가 삭제되었습니다.",
|
||||
"dllexport/dllimport가 %nod;과(와) 충돌합니다. dllimport/dllexport가 삭제되었습니다.",
|
||||
"익명 멤버 클래스의 잘못된 멤버 -- %t 클래스에 허용되지 않는 멤버 함수가 있습니다.",
|
||||
"비표준 reinterpret_cast",
|
||||
"위치 서식 지정자는 0이 될 수 없습니다.",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"복소수 정수 계열 형식은 지원되지 않습니다.",
|
||||
"__real 및 __imag는 복소수 값에만 적용할 수 있습니다.",
|
||||
"__real/__imag가 실수 값에 적용되었습니다.",
|
||||
"%nd이(가) deprecated (%sq)(으)로 선언되었습니다.",
|
||||
"%n이(가) 사용되지 않음으로 선언되었습니다(%sq).",
|
||||
"%nd의 재정의가 잘못되었습니다.",
|
||||
"dllimport/dllexport가 명명되지 않은 네임스페이스의 멤버에 적용되었습니다.",
|
||||
"__thiscall은 비정적 멤버 함수 선언에만 표시될 수 있습니다.",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"매크로",
|
||||
"레이블",
|
||||
"템플릿 매개 변수",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"형식",
|
||||
"합집합",
|
||||
"클래스",
|
||||
"구조체",
|
||||
"template 템플릿 매개 변수",
|
||||
"템플릿",
|
||||
"클래스 템플릿",
|
||||
null,
|
||||
"열거형",
|
||||
"매개 변수",
|
||||
"처리기 매개 변수",
|
||||
"변수",
|
||||
"비형식",
|
||||
null,
|
||||
"상수",
|
||||
"함수",
|
||||
"오버로드된 함수",
|
||||
"멤버",
|
||||
"필드",
|
||||
null,
|
||||
"네임스페이스",
|
||||
"명명된 레지스터",
|
||||
"명명된 주소 공간",
|
||||
"함수 템플릿",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"%t1에서 %t2(으)로의 확대 포인터 변환은 부호 비트를 확장합니다.",
|
||||
"__sptr 및 __uptr은 멤버 포인터 형식에 적용되지 않습니다.",
|
||||
"%n이(가) const이기 때문에 %t에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
|
||||
null,
|
||||
"%n에 참조 형식이 있기 때문에 %t에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
|
||||
"%t2의 선언이 표시되지 않았기 때문에 %t1에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
|
||||
"%t2의 선언이 모호하기 때문에 %t1에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
|
||||
"%t2의 선언에 액세스할 수 없기 때문에 %t1에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
|
||||
@@ -1644,7 +1644,7 @@
|
||||
"%t2의 선언에 액세스할 수 없기 때문에 %t1에 대한 복사 생성자 선언이 표시되지 않았습니다.",
|
||||
"%t1의 소멸자는 액세스가 불가능하며 %t2의 소멸자가 표시되지 않았기 때문에 호출되지 않습니다.",
|
||||
"파일 끝에 있는 정의 다음에 세미콜론이나 선언자가 오지 않았습니다.",
|
||||
"첫 번째 인수는 정수 포인터이거나 열거형 형식이어야 합니다.",
|
||||
"첫 번째 인수는 정수 또는 열거형 형식에 대한 포인터여야 합니다.",
|
||||
"동기화된 작업은 크기가 1, 2, 4 또는 8인 개체에만 유효합니다.",
|
||||
"불필요한 인수가 무시되었습니다.",
|
||||
"명령줄 정의에서 매크로 이름 %sq 다음에는 '='로 간주됩니다.",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"생성자 또는 소멸자에서 형식 한정자를 사용할 수 없습니다.",
|
||||
"operator new 또는 operator delete에서 형식 한정자를 사용할 수 없습니다.",
|
||||
"비멤버 함수에서 형식 한정자를 사용할 수 없습니다.",
|
||||
"파생 효과가 있는 __assume 식이 무시되었습니다.",
|
||||
"%s에 대한 인수는 파생 작업이 있지만 계산되지 않음",
|
||||
"인식할 수 없는 유니코드 소스 종류(UTF-8, UTF-16, UTF-16LE, UTF-16BE 중 하나여야 함): %s",
|
||||
"16진수 값 %s의 유니코드 문자를 전처리 출력에서 표현할 수 없습니다.",
|
||||
"요청된 생성자/소멸자 우선 순위는 내부용으로 예약되어 있습니다.",
|
||||
@@ -1916,13 +1916,13 @@
|
||||
"매개 변수 팩에는 기본값을 사용할 수 없습니다.",
|
||||
"C++/CLI는 Microsoft C++ 모드에서만 사용할 수 있습니다.",
|
||||
"'value__'는 열거자 상수의 이름으로 사용할 수 없습니다(이 컨텍스트에서 예약된 이름임).",
|
||||
"부울 내부 형식을 사용하는 열거형 형식에는 명시적 열거자 값이 필요합니다.",
|
||||
"부울 기본 형식이 있는 열거형 형식에는 명시적 열거자 값이 필요합니다.",
|
||||
null,
|
||||
"매개 변수 팩 %sq이(가) 참조되었지만 확장되지 않았습니다.",
|
||||
"팩 확장에는 인수 팩이 사용되지 않습니다.",
|
||||
"%sq 팩의 요소 수가 %sq2과(와) 같지 않습니다.",
|
||||
null,
|
||||
"열거형 형식에서 vector_size 특성을 사용할 수 없습니다.",
|
||||
"vector_size 속성은 열거형 형식에 허용되지 않습니다.",
|
||||
"속성은 static이면서 virtual일 수 없습니다.",
|
||||
"인덱싱된 속성은 trivial일 수 없습니다.",
|
||||
"속성 정의에는 이 선언이 표시될 수 없습니다.",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"최상위 표시 유형 지정자에는 형식 정의가 필요합니다.",
|
||||
"trivial 속성에는 참조 형식을 사용할 수 없습니다.",
|
||||
"trivial 속성에는 const 또는 volatile 형식을 사용할 수 없습니다.",
|
||||
"%nd은(는) 이전에 다른 종류의 열거형 형식으로 선언되었습니다.",
|
||||
"%nd는 이전에 다른 종류의 열거형 형식으로 선언되었습니다.",
|
||||
"람다로 캡처된 변수에는 %[managed] 클래스 형식을 사용할 수 없습니다.",
|
||||
"%[managed] 클래스에는 공변(covariant) 반환 형식을 사용한 가상 함수 재정의를 사용할 수 없습니다.",
|
||||
"핸들의 배열을 사용할 수 없습니다.",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"initonly 필드는 포함하는 해당 클래스의 인스턴스 생성자에 의해서만 수정될 수 있습니다.",
|
||||
"정적 initonly 필드는 포함하는 해당 클래스의 정적 생성자에 의해서만 수정될 수 있습니다.",
|
||||
"멤버 함수는 initonly 필드의 복사본에서 호출됩니다.",
|
||||
"식에 포인터 또는 핸들 형식이 있어야 합니다.",
|
||||
"식에 포인터 또는 핸들 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"이동 생성자 또는 이동 대입 연산자를 사용하여 여기에서 lvalue를 복사할 수 있습니다. 이렇게 하면 소스 개체가 제거될 수 있습니다.",
|
||||
"%[C++/CLI] 제네릭 엔터티의 멤버 선택에는 '.'가 아니라 '->' 구문을 사용해야 합니다.",
|
||||
"ref 클래스 형식은 %t에서 파생될 수 없습니다.",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"핸들의 안전하지 않은 reinterpret_cast",
|
||||
"템플릿 인수는 제네릭 형식 매개 변수를 참조할 수 없습니다.",
|
||||
"이 구독 작업에서는 식 목록을 사용할 수 없습니다(최상위 쉼표 연산자를 괄호로 묶기).",
|
||||
"식은 개체 포인터 또는 %[C++/CLI] 배열 형식에 대한 핸들이어야 합니다.",
|
||||
"식에 개체 포인터 또는 %[C++/CLI] 배열 핸들 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"인식할 수 없는 특성",
|
||||
"%[managed] 클래스의 멤버는 비 %[managed] 클래스 형식일 수 없습니다.",
|
||||
"비 %[managed] 클래스의 멤버는 ref 클래스 형식 또는 인터페이스 클래스 형식일 수 없습니다.",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"%nd이(가) 이전에 다른 기본 형식을 사용하여 선언되었습니다.",
|
||||
"여기에서는 'enum class' 및 'enum struct'를 사용할 수 없습니다. 대신 일반 'enum'을 사용하세요.",
|
||||
"형식이 %t인 개체의 경우 이니셜라이저에 중괄호가 한 수준만 허용됩니다.",
|
||||
"%nd을(를) 열거형 형식 이름으로 사용할 수 없습니다.",
|
||||
"%nd는 열거형 이름으로 사용할 수 없습니다.",
|
||||
null,
|
||||
"중괄호로 묶인 이니셜라이저는 'new auto'와 함께 사용할 수 없습니다.",
|
||||
"std::initializer_list의 정의에 필요한 생성자가 포함되어 있지 않습니다.",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"비클래스 엔터티의 괄호로 묶인 이니셜라이저는 중괄호로 묶인 목록이 아니라 식이어야 합니다.",
|
||||
"중괄호로 묶인 목록은 이 람다에 대한 반환 형식을 제공하지 않습니다.",
|
||||
"선언된 예외 사양이 생성된 예외 사양과 호환되지 않습니다.",
|
||||
"범위가 지정된 열거형 형식이 C++11 기능입니다.",
|
||||
"범위가 지정된 열거형 형식은 C++11 기능입니다.",
|
||||
"함수 형식의 값은 초기화할 수 있습니다.",
|
||||
"%t 개체 형식의 list-initialization은 형식이 불완전하므로 허용되지 않습니다.",
|
||||
"std::initializer_list에 소멸자가 없어야 하는데 있습니다. 라이브러리가 잘못 구성되었습니다.",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"함수를 호출하려면 상수 식에 상수 값이 있어야 합니다.",
|
||||
"'main' 함수는 constexpr로 선언할 수 없습니다.",
|
||||
null,
|
||||
"클래스 또는 열거형 형식 정의는 constexpr 함수 또는 생성자 본문에 사용할 수 없습니다.",
|
||||
"클래스 또는 열거형 형식 정의는 constexpr 함수 또는 생성자 본문에 나타날 수 없습니다.",
|
||||
"여기에는 GNU 스타일의 특성만 허용됩니다.",
|
||||
"이니셜라이저에서 형식을 추론하고 후행 반환 형식을 알리는 'auto'의 비표준 사용입니다.",
|
||||
"정규화된 void 형식의 void 매개 변수 목록 선언은 표준이 아닙니다.",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"레이블이 필요합니다.",
|
||||
"'%%l' 다음에는 피연산자 숫자가 필요합니다.",
|
||||
"'%%l'의 피연산자 숫자가 올바른 레이블 인수를 참조하지 않습니다.",
|
||||
"'%%l'의 피연산자 번호가 유효한 레이블 인수를 참조하지 않습니다.",
|
||||
"와이드 문자열은 'asm' 문에서 유효하지 않습니다.",
|
||||
"특성이 비표준입니다.",
|
||||
"%t 클래스의 기본 클래스가 아닙니다.",
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"'decltype(auto)' 형식을 추론할 수 없습니다.",
|
||||
"블록 범위 스레드 로컬 선언에는 staic 또는 extern이 포함되어야 합니다.",
|
||||
"추론된 반환 형식 %t1이(가) 이전에 추론된 형식 %t2과(와) 충돌합니다.",
|
||||
"반환 형식 %nd을(를) 추론할 수 없습니다. 정의되지 않았습니다.",
|
||||
"반환 형식 %nd;을(를) 추론할 수 없습니다. 정의되지 않았습니다.",
|
||||
"가상 함수에는 추론된 반환 형식을 사용할 수 없습니다.",
|
||||
"%n은(는) 이 시점부터 대/소문자 구분 키워드로 취급됩니다.",
|
||||
"전역 네임스페이스에 실제 멤버 %sq이(가) 없습니다.",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"constexpr 함수에 있는 변수의 초기화가 취소되었습니다.",
|
||||
"자리 표시자 형식은 있으나 `=`는 없이 선언된 변수의 중괄호 초기화에서는 중괄호 안에 정확히 하나의 요소가 있어야 합니다.",
|
||||
"'%s' 없음 --대상 구성이 존재함",
|
||||
"64비트 x86 구성에서 지원되지 않는 특성",
|
||||
"속성은 32비트 x86 구성에서만 지원됩니다.",
|
||||
"'%s'에 인수 필요",
|
||||
"생성자 또는 소멸자는 코루틴일 수 없습니다.",
|
||||
"%n은(는) 코루틴일 수 없습니다.",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"co_await 식은 catch 절 내부에 허용되지 않습니다.",
|
||||
"코루틴에는 가변 매개 변수(...)가 있을 수 없습니다.",
|
||||
"C++14-style constexpr을 사용하려면 'bool'을 지원해야 합니다.",
|
||||
"constexpr 함수 %nd이(가) 정의되지 않았습니다.",
|
||||
"constexpr %nd이(가) 정의되지 않음",
|
||||
"대상 함수 %nd이(가) constexpr이 아니거나 아직 완전히 정의되지 않아 이 호출을 확인할 수 없습니다.",
|
||||
"참고",
|
||||
"참고",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"정규화된 형식 %t에는 _Atomic(...) 지정자를 적용할 수 없습니다.",
|
||||
"_Atomic 개체의 멤버에 액세스",
|
||||
"비트 필드에는 _Atomic 형식을 사용할 수 없습니다.",
|
||||
"_Atomic 클래스 형식을 사용할 수 없습니다.",
|
||||
null,
|
||||
"constexpr 생성자는 하위 개체 초기화를 위해 constexpr이 아닌 생성자를 호출합니다.",
|
||||
"쉼표가 필요합니다(static_assert의 1개 인수 버전은 이 모드에서 사용할 수 없도록 설정됨).",
|
||||
"정적 어설션이 실패했습니다.",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"불완전한 %t의 값을 평가할 수 없습니다.",
|
||||
"'nodiscard' 특성으로 선언된 루틴의 반환 값을 무시합니다.",
|
||||
"'nodiscard' 특성이 있는 반환 값 형식을 무시합니다.",
|
||||
"'nodiscard' 특성은 void 반환 형식을 사용하는 소멸자 또는 루틴에 적용되지 않습니다.",
|
||||
"'nodiscard' 특성은 소멸자 또는 void 반환 유형이 있는 루틴에 적용되지 않습니다.",
|
||||
"'fallthrough' 특성은 null 문에만 적용됩니다.",
|
||||
"'fallthrough' 특성은 바깥쪽 switch 문에만 사용할 수 있습니다.",
|
||||
"fallthrough 문은 switch case label 또는 default 앞에 와야 합니다.",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"copy-list-initialization은 'explicit' %n을(를) 사용할 수 없습니다.",
|
||||
"추론 가이드",
|
||||
"사용자 정의 리터럴 연산자에 대한 잘못된 값",
|
||||
"__has_cpp_attribute는 #if 또는 #elif 외부에 표시될 수 없습니다.",
|
||||
"%s은(는) 전처리기 지시문 외부에 나타날 수 없습니다.",
|
||||
"추론 가이드를 %n과(와) 같은 접근성으로 선언해야 합니다.",
|
||||
"이 컨텍스트에서는 람다가 허용되지 않습니다.",
|
||||
"지정한 맞춤이 이전 선언과 일치하지 않습니다.",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"amp 제한 멤버 함수 %nfd에 대한 this 포인터의 %t 형식이 잘못되었습니다.",
|
||||
"amp 제한 함수 %nfd의 반환 형식 %t이(가) 잘못되었습니다.",
|
||||
"amp 제한 함수 %nfd의 매개 변수 형식 %t이(가) 잘못되었습니다.",
|
||||
null,
|
||||
"amp 제한 함수 %nfd의 구문이 잘못되었습니다.",
|
||||
"잘못된 스토리지 클래스 %s(amp 제한 함수 %nfd 내)",
|
||||
"%s은(는) amp 제한 함수 %nfd에서 사용할 수 없습니다.",
|
||||
"amp 제한 함수의 캐스트가 잘못되었습니다.",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'>>>'가 필요함",
|
||||
"__cudaPushCallConfiguration 선언을 찾을 수 없습니다. CUDA 도구 키트 설치가 손상되어 있을 수 있습니다.",
|
||||
"C++17 스타일 이니셜라이저는 이 모드에서 표준이 아닙니다.",
|
||||
"*this 캡처는 이 모드에서 표준이 아닙니다.",
|
||||
"C++17 스타일 'using' 특성 접두사는 이 모드에서 표준이 아닙니다.",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"volatile 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"공용 구조체, 포인터 또는 멤버 포인터 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"%npTd, decl %p 사용을 통해 상속됨",
|
||||
"생성자를 상속하기 위해 %t의 하위 개체를 생성할 수 없습니다. 암시적 기본 생성자가 삭제됩니다.",
|
||||
"생성자를 상속하기 위한 %t의 하위 개체 생성을 수행할 수 없습니다. 연결된 생성자가 삭제됩니다.",
|
||||
"%n은(는) void를 반환해야 합니다.",
|
||||
"잘못된 멤버 선언 시작",
|
||||
"'auto'가 필요합니다.",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"내보내기 선언은 모듈 가져오기 선언을 포함할 수 없습니다.",
|
||||
"내보내기 선언은 모듈 인터페이스 단위에만 나타날 수 있습니다.",
|
||||
"내보내기 선언은 내부 링크가 있는 이름을 내보낼 수 없습니다.",
|
||||
"using 선언에 %nfd가 포함되어 있습니다.",
|
||||
"__fp16 부동 소수점 형식이 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
|
||||
null,
|
||||
null,
|
||||
"requires 식은 하나 이상의 요구 사항을 지정해야 합니다.",
|
||||
"'constinit'는 여기에 유효하지 않습니다.",
|
||||
"'constinit'는 정적 또는 스레드 저장 기간을 사용하는 변수 선언에만 유효합니다.",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"'%s'에 대한 모듈 파일 매핑이 두 번 이상 지정되었습니다.",
|
||||
"'%s'에 대한 헤더 단위 매핑이 두 번 이상 지정되었습니다.",
|
||||
"'%s'에 대한 매핑이 지정되지 않았습니다.",
|
||||
"'%s'에 대한 모듈 파일 매핑이 잘못되었습니다.",
|
||||
null,
|
||||
"가져올 '%s' 헤더를 찾을 수 없습니다.",
|
||||
"모듈 파일 목록에 있는 두 개 이상의 파일이 '%s'과(와) 일치합니다.",
|
||||
"'%s'에 대해 찾은 모듈 파일이 다른 모듈에 대한 것입니다.",
|
||||
"모든 종류의 모듈 파일",
|
||||
"모듈 파일을 읽을 수 없음",
|
||||
"char8_t 형식이 현재 옵션에서 지원되지 않기 때문에 기본 제공 함수를 사용할 수 없습니다.",
|
||||
"C++20 코루틴을 사용하도록 설정한 경우 --ms_await 명령줄 옵션을 지정할 수 없습니다.",
|
||||
null,
|
||||
"기본 집계 요소 초기화에 명시적 생성자 %nod의 비표준 사용",
|
||||
"memcpy 유사 내장의 소스 또는 대상이 개체를 가리키지 않음",
|
||||
"memcpy 유사 내장이 대표적으로 차별화된 형식 %t1 및 %t2을(를) 복사하려고 시도함",
|
||||
"memcpy 유사 내장이 중요하게 복사 가능한 형식 %t을(를) 복사하려고 시도함",
|
||||
"memcpy 유사 내장이 부분 개체를 복사하려고 시도함",
|
||||
"memcpy 유사 내장이 과거 배열 경계를 복사하려고 시도함",
|
||||
"memcpy 유사 내장이 겹치는 바이트 범위를 복사하려고 시도함(대신 해당 memmove 작업 사용)"
|
||||
"memcpy 유사 내장이 겹치는 바이트 범위를 복사하려고 시도함(대신 해당 memmove 작업 사용)",
|
||||
"trailing-requires 절이 있는 friend 선언이 정의여야 함",
|
||||
"식에 산술 또는 포인터 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"식에 산술, 열거형 또는 포인터 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"식에 산술, 범위가 지정되지 않은 열거형 또는 포인터 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"식에 포인터 형식이 있어야 하는데 %t 형식이 있음",
|
||||
"연산자 -> 또는 ->*가 포인터 형식 대신 %t에 적용됨",
|
||||
"불완전한 클래스 형식 %t을(를) 사용할 수 없음",
|
||||
"이 컴파일 대상의 비트 레이아웃을 해석할 수 없음",
|
||||
"IFC 연산자 %sq에 해당하는 연산자가 없음",
|
||||
"IFC 호출 규칙 %sq에 해당하는 호출 규칙이 없음",
|
||||
"모듈 %sq에 지원되지 않는 구문이 포함되어 있음",
|
||||
"지원되지 않는 IFC 구문: %sq",
|
||||
"__is_signed는 이 시점부터 더 이상 키워드가 아님",
|
||||
"배열 차원에는 상수인 부호 없는 정수 값이 있어야 함",
|
||||
"IFC 파일 %sq에 지원되지 않는 버전 %d1.%d2이(가) 있음",
|
||||
"이 모드에서 모듈을 사용할 수 없음",
|
||||
"'import'는 모듈 이름에 사용할 수 없습니다.",
|
||||
"'module'은 모듈 이름에 사용할 수 없습니다.",
|
||||
null,
|
||||
null,
|
||||
"%n은(는) 열거형 형식이 아닙니다.",
|
||||
"열거자 %no2이(가) %n1과(와) 충돌합니다.",
|
||||
"열거자 %no은(는) 이미 이 범위 %p에 선언되었습니다.",
|
||||
"'throw()' 사양은 C++20 이상에 포함되지 않습니다.",
|
||||
"헤더 단위 맵의 입력보다 많은 항목이 '%s'과(와) 일치합니다.",
|
||||
"#pragma 진단에 'push' 또는 'pop' 인수가 있어야 합니다.",
|
||||
"이 '진단 팝업'과 일치하는 '#pragma 진단 푸시'가 없음",
|
||||
"가져오기 또는 모듈 지시문에 사용된 경우 %sq은(는) 매크로일 수 없습니다.",
|
||||
"이 지시문은 전역 네임스페이스 범위에만 표시될 수 있습니다.",
|
||||
"'내보내기' 선언은 전역 또는 네임스페이스 범위에만 나타날 수 있습니다.",
|
||||
"%sq는 뒤에 오는 토큰이 전처리기 지시문의 토큰과 일치하지 않으므로 키워드가 아닌 식별자로 구문 분석됩니다.",
|
||||
"이것은 전처리기 지시문의 시작인 것처럼 보이지만 ';'가 없습니다. 바로 뒤에 줄 바꿈이 있으면",
|
||||
"이는 모듈 전처리기 지시문으로 보이지만 이러한 지시문은 매크로 확장 내에 나타날 수 없습니다.",
|
||||
"'모듈' 지침은 조건부 포함 범위 내에 나타날 수 없습니다(예: #if, #else, #elseif 등).",
|
||||
"%sq 가져오기를 건너뜀",
|
||||
"promise 형식 %t은(는) 인수가 필요하지 않은 정적 멤버 함수로 get_return_object_on_allocation_failure를 선언해야 합니다.",
|
||||
"별칭 템플릿은 명시적으로 특수화할 수 없습니다.",
|
||||
"다음에 일치하려면 '{'",
|
||||
"이 매크로 호출에서",
|
||||
"호출에는 애매한 인수 변환이 필요합니다.",
|
||||
"%s 모듈이 소유한 선언이 %nd과(와) 충돌합니다.",
|
||||
"전역 모듈이 소유한 선언이 명명된 모듈이 소유한 %nd과(와) 충돌합니다.",
|
||||
"'malloc' 특성에 대한 첫 번째 인수는 함수여야 합니다.",
|
||||
"%nod을(를) 캡처할 수 없습니다.",
|
||||
"'this'를 캡처할 수 없습니다.",
|
||||
"이미 consteval 컨텍스트에 있습니다.",
|
||||
"'if consteval' 및 'if not consteval'에는 중괄호가 있는 종속 문이 필요합니다.",
|
||||
"비 constexpr 함수에서는 'if consteval' 및 'if not consteval'이 의미가 없습니다.",
|
||||
"컨트롤을 'if consteval' 또는 'if not consteval' 문으로 전송할 수 없습니다.",
|
||||
"상수 평가는 정적 또는 스레드 스토리지 기간이 있는 변수 선언을 통과할 수 없습니다.",
|
||||
"명시적 'this' 매개 변수가 있는 람다에서는 변경 가능한 한정자를 사용할 수 없습니다.",
|
||||
"'static'으로 선언된 멤버 함수에는 명시적 'this' 매개 변수를 사용할 수 없습니다.",
|
||||
"명시적 'this' 매개 변수는 첫 번째 선언된 매개 변수여야 합니다.",
|
||||
"여기서는 'this'를 사용할 수 없습니다.",
|
||||
"명시적 'this'를 사용하는 비교 함수는 기본값으로 사용할 수 없습니다.",
|
||||
"명시적 'this' 함수에는 선택기 피연산자가 필요합니다.",
|
||||
"'if consteval' 및 'if not consteval'은 이 모드에서 표준이 아닙니다.",
|
||||
"람다 선언자에서 '()'를 생략하는 것은 이 모드에서 표준이 아닙니다.",
|
||||
"람다 매개 변수 목록을 생략하면 후행-requires 절이 허용되지 않습니다.",
|
||||
"모듈 %sq 잘못된 파티션이 요청됨",
|
||||
"모듈 %sq1 정의되지 않은 파티션(%sq2로 추정됨) 요청됨",
|
||||
null,
|
||||
null,
|
||||
"모듈 %sq1 파일 위치 %u1(상대 위치 %u2)이 파티션 %sq2에 대해 요청됨 - 해당 파티션의 끝을 오버플로함",
|
||||
"모듈 %sq1 파일 위치 %u1(상대 위치 %u2)이(가) 파티션 요소가 잘못 정렬된 파티션 %sq2에 대해 요청되었습니다.",
|
||||
"하위 필드 %sq(노드 %d에 대한 상대 위치)에서",
|
||||
"파티션 %sq 요소 %u1에서(파일 위치 %u2, 상대 위치 %u3)",
|
||||
"여기서 람다 특성은 표준이 아닙니다.",
|
||||
"식별자 %sq은(는) 시각적으로 유사한 식별자와 혼동될 수 있습니다. %p",
|
||||
"이 주석에는 의심스러운 유니코드 서식 지정 제어 문자가 포함되어 있습니다.",
|
||||
"이 문자열에는 예기치 않은 런타임 동작이 발생할 수 있는 유니코드 서식 지정 컨트롤 문자가 포함되어 있습니다.",
|
||||
"%d1 모듈 %sq1을(를) 처리하는 동안 표시되지 않는 경고가 발생했습니다.",
|
||||
"%d1 모듈 %sq1을(를) 처리하는 동안 표시되지 않는 경고가 발생했습니다.",
|
||||
"%d1 모듈 %sq1을(를) 처리하는 동안 오류가 표시되지 않았습니다.",
|
||||
"%d1 모듈 %sq1을(를) 처리하는 동안 오류가 표시되지 않았습니다.",
|
||||
"포함",
|
||||
"표시 안 함",
|
||||
"가상 멤버 함수에는 명시적 'this' 매개 변수를 사용할 수 없습니다.",
|
||||
"명시적 'this' 함수의 주소를 사용하려면 정규화된 이름이 필요합니다.",
|
||||
"명시적 'this' 함수의 주소를 구성하려면 '&' 연산자가 필요합니다.",
|
||||
"가변 배열 멤버를 초기화하는 데 문자열 리터럴을 사용할 수 없습니다.",
|
||||
"함수 %sq의 정의에 대한 IFC 표현이 잘못되었습니다.",
|
||||
null,
|
||||
"매개 변수를 지정하는 데 UniLevel IFC 차트가 사용되지 않았습니다.",
|
||||
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
|
||||
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
|
||||
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
|
||||
"%sq 함수 정의의 IFC 표현이 없습니다.",
|
||||
"함수 한정자는 멤버 템플릿 선언에 적용되지 않습니다.",
|
||||
"멤버 선택에 너무 많은 중첩된 익명 형식이 포함됩니다.",
|
||||
"피연산자 사이에 공통 형식이 없습니다.",
|
||||
"멤버 포인터가 필요합니다.",
|
||||
"유연한 배열 멤버는 비어 있는 형식으로 선언할 수 없습니다.",
|
||||
"예상되는 'std::source_location::__impl'이 '_M_function_name', '_M_file_name', '_M_column', '_M_line'의 데이터 멤버만을 포함하는 클래스에 정의되어야 함",
|
||||
"주어진 열 번호가 'std::source_location' 구현에 너무 큽니다.",
|
||||
"주어진 줄 번호가 'std::source_location' 구현에 너무 큽니다.",
|
||||
"UTF-16 문자 상수는 코드 단위를 두 개 이상 사용할 수 없음; 값 잘림",
|
||||
"두 인수의 형식이 같아야 함",
|
||||
"%t 형식은 이 기본 제공의 인수로 사용할 수 없음",
|
||||
"%nd에서 호출",
|
||||
"정규화된 형식이 익명 비트 필드에 대해 표준이 아닙니다.",
|
||||
"벡터 조건의 요소 유형(%t1)은 결과의 요소 유형(%t2)과 크기가 같아야 합니다.",
|
||||
"부동 소수점 벡터 피연산자 유형(%t)에 일치하는 정수 벡터 유형이 없습니다.",
|
||||
"'requires' 식에 대한 mangling이 아직 구현되지 않았습니다.",
|
||||
"'unavailable' 특성 때문에",
|
||||
"중복된 'asm' 한정자",
|
||||
"불완전한 열거형 형식이 있는 비트 필드 또는 잘못된 기본 형식이 있는 불투명 열거형",
|
||||
"IFC 파티션 %sq2에 대한 인덱스를 사용하여 IFC 파티션 %sq에서 요소를 구성하려고 했습니다.",
|
||||
"파티션 %sq는 %d2가 예상될 때 항목 크기를 %d1로 지정했습니다.",
|
||||
"모듈 %sq1을(를) 처리하는 동안 예기치 않은 IFC 요구 사항이 발생했습니다.",
|
||||
"%d행(%s1)에서 조건 실패: %sq2",
|
||||
"원자성 제약 조건은 자체에 따라 달라집니다.",
|
||||
"'noreturn' 함수에 void가 아닌 반환 형식이 있습니다.",
|
||||
"매개 변수 %sq(상대 인덱스 %d)를 삭제하여 수정했습니다.",
|
||||
"클래스 외부의 멤버 템플릿 정의에 기본 템플릿 인수를 지정할 수 없습니다.",
|
||||
"엔터티를 재구성하는 동안 %sq라는 잘못된 IFC 식별자를 발견했습니다.",
|
||||
null,
|
||||
"모듈 %sq 잘못된 정렬 값",
|
||||
"IFC 모듈에서 로드된 함수 템플릿이 %nd(으)로 잘못 구문 분석되었습니다.",
|
||||
"모듈 %sq에서 IFC 엔터티 참조를 로드하지 못했습니다.",
|
||||
"파티션 %sq 요소 %u1에서(파일 위치 %u2, 상대 위치 %u3)",
|
||||
"비자명 소멸자가 있는 클래스 형식에는 연결된 지정자를 사용할 수 없습니다.",
|
||||
"명시적 전문화 선언은 friend 선언이 아닐 수 있습니다.",
|
||||
"std::float128_t 형식은 지원되지 않습니다. std::float64_t이(가) 대신 사용됩니다.",
|
||||
"std::bfloat16_t 형식은 지원되지 않습니다. std::float32_t이(가) 대신 사용됩니다.",
|
||||
"별칭 템플릿 %no에 대해 추론 가이드를 선언할 수 없습니다.",
|
||||
"%n이(가) 사용할 수 없음으로 선언되었습니다.",
|
||||
"%n이(가) 사용할 수 없음으로 선언되었습니다 (%sq).",
|
||||
"'deprecated' 특성 때문에",
|
||||
"명시적 람다 템플릿 매개 변수는 C++20 기능입니다.",
|
||||
"'_Noreturn'은 C23에서 더 이상 사용되지 않습니다. 대신 '[[noreturn]]'을 사용하세요.",
|
||||
"'_Alignof'는 C23에서 더 이상 사용되지 않습니다. 대신 'alignof'를 사용하세요.",
|
||||
"'_Alignas'는 C23에서 더 이상 사용되지 않습니다. 대신 'alignas'를 사용하세요.",
|
||||
"'_Bool'은 C23에서 더 이상 사용되지 않습니다. 대신 'bool'을 사용하세요.",
|
||||
"'_Static_assert'는 C23에서 더 이상 사용되지 않습니다. 대신 'static_assert'을 사용하세요.",
|
||||
"'_Thread_local'은 C23에서 더 이상 사용되지 않습니다. 대신 'thread_local'을 사용하세요.",
|
||||
"모듈 파일 %sq(Microsoft Visual Studio IFC 모듈)을 사용하려면 Microsoft 모드를 활성화해야 합니다.",
|
||||
"모듈 파일 %sq을(를) 열 수 없습니다.",
|
||||
"모듈 %sq에 대한 모듈 맵에서 찾았습니다.",
|
||||
"%sq의 헤더 단위 맵에서 찾았습니다.",
|
||||
"인식할 수 없는 출력 모드(텍스트, Sarif 중 하나여야 함): %s",
|
||||
"'c23_typeof' 옵션은 C를 컴파일할 때만 사용할 수 있습니다.",
|
||||
"잘못된 clang 버전 번호: %s",
|
||||
"IFC 문자열에 모듈 %sq에 예기치 않은 null(0) 문자가 포함되어 있습니다.",
|
||||
"%d2바이트 중 %d1바이트를 사용했습니다.",
|
||||
"파티션 %sq 요소 %u1의 문자열 정보에서(파일 위치 %u2, 상대 위치 %u3)",
|
||||
"유연한 배열 멤버에 대한 이니셜라이저를 평가할 수 없습니다.",
|
||||
"기본 비트 필드 이니셜라이저는 C++20 기능입니다.",
|
||||
"%sq 모듈의 템플릿 인수 목록에 인수가 너무 많습니다.",
|
||||
"%sq 요소 %u1(파일 위치 %u2, 상대 위치 %u3)이 나타내는 템플릿 인수에 대해 감지됨",
|
||||
"%sq 모듈의 템플릿 인수 목록에 인수가 너무 적습니다.",
|
||||
"%sq 요소 %u1(파일 위치 %u2, 상대 위치 %u3)이 나타내는 템플릿 인수 목록을 처리하는 동안 감지되었습니다.",
|
||||
"범위가 지정된 열거형 형식 %t에서의 변환이 표준이 아닙니다.",
|
||||
"할당 취소가 할당 종류와 일치하지 않습니다(하나는 배열용이고 다른 할당 종류는 일치하지 않음).",
|
||||
"비교에는 알 수 없는 주소(예: 약한 변수의 주소)가 포함됩니다.",
|
||||
"__make_signed 부울이 아닌 정수 및 열거형 형식과만 호환됩니다.",
|
||||
"__make_unsigned 부울이 아닌 정수 및 열거형 형식과만 호환됩니다.",
|
||||
"내장 이름 %sq은(는) 여기에서 일반 식별자로 처리됩니다.",
|
||||
"인덱스 %d에서 초기화되지 않은 하위 개체에 대한 액세스",
|
||||
"IFC 라인 번호(%u1)가 최대 허용 값(%u2) 모듈 %sq를 초과했습니다.",
|
||||
"%sq1 모듈이 %u 요소(파티션 %sq2)를 요청했습니다. 이 파일 위치는 최대 표현 가능 값을 초과합니다.",
|
||||
"잘못된 인수 수",
|
||||
"후보 %n에 대한 제약 조건이 충족되지 않음",
|
||||
"%n의 매개 변수 수가 호출과 일치하지 않습니다.",
|
||||
"명시적 템플릿 인수 %T을(를) %n(으)로 대체하지 못했습니다.",
|
||||
"%n(은)는 암시적으로 'delete' 이동 함수이므로 과부하 해결 중에 무시됩니다.",
|
||||
"%n이(가) 일치하지 않습니다. 빈 매개 변수 팩에 인수 #%d이(가) 제공되었기 때문입니다.",
|
||||
"%n이(가) 일치하지 않습니다. #%d 인수가 매개 변수와 일치하지 않기 때문입니다.",
|
||||
"후보 %n 추론 실패",
|
||||
"기본 제공 연산자 %s이(가) 일치하지 않습니다. #%d 인수가 매개 변수와 일치하지 않기 때문입니다.",
|
||||
"<적분>",
|
||||
"<승격 적분>",
|
||||
"<ptrdiff_t>",
|
||||
"<열거형입니다>",
|
||||
"<범위가 지정된 열거형>",
|
||||
"<산술>",
|
||||
"<승격 산술>",
|
||||
"<부울이 아닌 산술>",
|
||||
"<포인터>",
|
||||
"<nullptr>",
|
||||
"<핸들>",
|
||||
"<CLI 배열에 대한 핸들>",
|
||||
"<개체에 대한 포인터>",
|
||||
"<함수에 대한 포인터>",
|
||||
"<멤버 포인터>",
|
||||
"<부울>",
|
||||
"<부울 같은>",
|
||||
"<클래스>",
|
||||
"auto(<expr>) 및 auto{<expr>}은(는) C++23 기능입니다.",
|
||||
"잘못된 익명 공용 구조체입니다. 선언을 사용할 수 없습니다.",
|
||||
"IFC 파일 %sq을(를) 처리할 수 없습니다.",
|
||||
"IFC 버전 %u1.%u2은(는) 지원되지 않습니다.",
|
||||
"IFC 아키텍처 %sq이(가) 현재 대상 아키텍처와 호환되지 않습니다.",
|
||||
"모듈 %sq1이(가) 지원되지 않는 파티션의 인덱스 %u을(를) 요청합니다. 이 파티션은 %sq2에 해당합니다.",
|
||||
"%n의 매개 변수 번호 %d에는 완료할 수 없는 형식 %t이 있습니다.",
|
||||
"매개 변수 번호 %d(%n 중)이 불완전한 형식 %t입니다.",
|
||||
"매개 변수 번호 %d(%n 중)에는 추상 형식 %t이(가) 있습니다.",
|
||||
"구조적 바인딩은 C++17 기능입니다.",
|
||||
"구조화된 바인딩 캡처는 C++20 기능입니다."
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"argument operacji „*” musi być wskaźnikiem",
|
||||
"argument „*” musi być wskaźnikiem, ale ma typ %t",
|
||||
"argument makra jest pusty",
|
||||
"ta deklaracja nie zawiera klasy magazynu lub specyfikatora typu",
|
||||
"deklaracja parametru nie może mieć inicjatora",
|
||||
@@ -130,8 +130,8 @@
|
||||
"pętla jest nieosiągalna",
|
||||
"funkcja o zakresie bloku może mieć tylko klasę magazynu extern",
|
||||
"oczekiwano znaku „{”",
|
||||
"wyrażenie musi mieć typ wskaźnika do klasy",
|
||||
"wyrażenie musi mieć typ wskaźnika do struktury lub związku",
|
||||
"wyrażenie musi mieć typ wskaźnika do klasy, ale ma typ %t",
|
||||
"wyrażenie musi mieć typ wskaźnika do struktury lub unii, ale ma typ %t",
|
||||
"oczekiwano nazwy składowej",
|
||||
"oczekiwano nazwy pola",
|
||||
"element %n nie ma składowej %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"pobieranie adresu pola bitowego jest niedozwolone",
|
||||
"za dużo argumentów w wywołaniu funkcji",
|
||||
"nienazwane parametry prototypowane są niedozwolone, jeśli występuje zawartość",
|
||||
"wyrażenie musi mieć typ wskaźnika do obiektu",
|
||||
"wyrażenie musi mieć typ wskaźnika do obiektu, ale ma typ %t",
|
||||
"program jest za duży lub zbyt skomplikowany, aby go skompilować",
|
||||
"nie można użyć wartości typu %t1 do zainicjowania jednostki typu %t2",
|
||||
"nie można zainicjować elementu %n",
|
||||
@@ -152,8 +152,8 @@
|
||||
"nazwa typu nie może zostać ponownie zadeklarowana jako parametr",
|
||||
"nazwa typu typedef nie może zostać ponownie zadeklarowana jako parametr",
|
||||
"konwersja niezerowej liczby całkowitej na wskaźnik",
|
||||
"wyrażenie musi mieć typ klasy",
|
||||
"wyrażenie musi mieć typ struktury lub związku",
|
||||
"wyrażenie musi mieć typ klasy, ale ma typ %t",
|
||||
"wyrażenie musi mieć typ struktury lub unii, ale ma typ %t",
|
||||
"starszy operator przypisania",
|
||||
"przestarzały inicjator",
|
||||
"wyrażenie musi być wyrażeniem stałej całkowitej",
|
||||
@@ -180,7 +180,7 @@
|
||||
"zastosowanie operatora „&” do tablicy nie ma żadnego efektu",
|
||||
"prawy argument operacji „%%” wynosi zero",
|
||||
"argument jest niezgodny z parametrem formalnym",
|
||||
"argument jest niezgodny z odpowiadającą konwersją ciągu formatu",
|
||||
"argument jest niezgodny z odpowiednią konwersją ciągu formatu (oczekiwano typu %t1, ale argument ma typ %t2)",
|
||||
"nie można otworzyć pliku źródłowego %sq (brak katalogów na liście wyszukiwania)",
|
||||
"typ rzutowania musi być wartością całkowitą",
|
||||
"typ rzutowania musi być wartością arytmetyczną lub wskaźnikiem",
|
||||
@@ -392,7 +392,7 @@
|
||||
"nie można wywołać funkcji „main” ani pobrać jej adresu",
|
||||
"nie można określić inicjatora new dla tablicy",
|
||||
"nie można ponownie zadeklarować funkcji składowej %no poza jej klasą",
|
||||
"wskaźnik do niekompletnego typu klasy jest niedozwolony",
|
||||
"wskaźnik do niekompletnego typu klasy %t jest niedozwolony",
|
||||
"odwołanie do zmiennej lokalnej w otaczającej funkcji jest niedozwolone",
|
||||
"użyto funkcji z jednym argumentem dla przyrostka %sq (anachronizm)",
|
||||
null,
|
||||
@@ -686,7 +686,7 @@
|
||||
"wykryto podczas niejawnego generowania elementu %nt %p",
|
||||
"wykryto podczas tworzenia wystąpienia elementu %na %p",
|
||||
"wykryto podczas przetwarzania listy argumentów szablonu dla elementu %na %p",
|
||||
"wykryto podczas niejawnego definiowania elementu %na %p",
|
||||
"wykryto podczas niejawnego definiowania elementu %nt %p",
|
||||
"elementu %sq nie znaleziono na stosie wyrównania pakowania",
|
||||
"pusty stos wyrównania pakowania",
|
||||
"opcji RTTI można użyć tylko w przypadku kompilowania kodu C++",
|
||||
@@ -838,7 +838,7 @@
|
||||
"zwracanie odwołania do zmiennej lokalnej",
|
||||
"pominięcie jawnego typu jest niestandardowe (przyjęto typ „int”)",
|
||||
"więcej niż jedna specjalizacja częściowa jest zgodna z listą argumentów szablonu %n",
|
||||
"%no",
|
||||
"%nod",
|
||||
"lista argumentów szablonu jest niedozwolona w deklaracji szablonu podstawowego",
|
||||
"częściowe specjalizacje nie mogą mieć domyślnych argumentów szablonu",
|
||||
"element %n1 nie jest używany lub nie można go określić na podstawie listy argumentów szablonu elementu %n2",
|
||||
@@ -876,11 +876,11 @@
|
||||
"opcji „embedded_c++” można użyć tylko w przypadku kompilowania kodu C++",
|
||||
"dialekt Embedded C++ nie obsługuje szablonów",
|
||||
"dialekt Embedded C++ nie ma obsługi wyjątków",
|
||||
"dialekt Embedded C++ nie obsługuje przestrzeni nazw",
|
||||
"Język Embedded C++ nie obsługuje przestrzeni nazw",
|
||||
"dialekt Embedded C++ nie obsługuje informacji o typie w czasie wykonywania",
|
||||
"dialekt Embedded C++ nie obsługuje nowej składni operatora cast",
|
||||
"dialekt Embedded C++ nie obsługuje deklaracji using",
|
||||
"dialekt Embedded C++ nie obsługuje słowa kluczowego „mutable”",
|
||||
"Język Embedded C++ nie obsługuje słowa kluczowego \"mutable\"",
|
||||
"dialekt Embedded C++ nie obsługuje dziedziczenia wielokrotnego ani wirtualnego",
|
||||
"nieprawidłowy numer wersji Microsoft: %s",
|
||||
"reprezentacja wskaźnika do składowej %sq została już ustawiona dla elementu %n",
|
||||
@@ -952,7 +952,7 @@
|
||||
"opcji „nonstd_using_decl” można użyć tylko w przypadku kompilowania kodu C++",
|
||||
"zwracanym typem funkcji „main” musi być typ „int”",
|
||||
"parametr stałej parametryzującej szablon nie może być typu klasy",
|
||||
"nie można określić domyślnego argumentu szablonu w deklaracji składowej szablonu klasy poza jego klasą",
|
||||
"nie można określić domyślnego argumentu szablonu w definicji elementu członkowskiego szablonu klasy poza szablonem",
|
||||
"instrukcja return jest niedozwolona w procedurze obsługi bloku try konstruktora",
|
||||
"desygnatory zwykłe i rozszerzone nie mogą być łączone w wyznaczeniu inicjatora",
|
||||
"drugi indeks nie może być mniejszy niż pierwszy",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"tej pragmy nie można użyć w operatorze _Pragma (należy użyć dyrektywy #pragma)",
|
||||
"pole używa dopełniania na końcu takiego jak w klasie bazowej",
|
||||
"kompilatory GNU C++ mogą używać dopełniania pól bitowych",
|
||||
"element %nd został zadeklarowany jako przestarzały",
|
||||
"%n został zadeklarowany jako przestarzały",
|
||||
"nazwa funkcji asm jest niedozwolona w deklaracji niestatycznej składowej",
|
||||
"nierozpoznany typ funkcji formatu %sq został zignorowany",
|
||||
"klasa bazowa %no1 używa dopełniania na końcu takiego jak w klasie bazowej %no2",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"atrybuty dllexport i dllimport są ignorowane w szablonach klas",
|
||||
"specyfikacja atrybutu dllexport/dllimport klasy bazowej różni się od specyfikacji klasy pochodnej",
|
||||
"ponowna deklaracja nie może dodać atrybutu dllexport/dllimport do elementu %nod",
|
||||
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod. Przyjęto atrybut dllexport.",
|
||||
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod; Przyjęto atrybut dllexport.",
|
||||
"nie można zdefiniować jednostki atrybutu dllimport",
|
||||
"atrybut dllexport/dllimport wymaga zewnętrznego wiązania",
|
||||
"składowa klasy zadeklarowana przy użyciu atrybutu dllexport/dllimport nie może sama zostać zadeklarowana z takim specyfikatorem",
|
||||
"pole typu klasy bez interfejsu biblioteki DLL używane w klasie z interfejsem biblioteki DLL",
|
||||
"deklaracja składowej w nawiasach jest niestandardowa",
|
||||
"zignorowano biały znak między ukośnikiem odwrotnym i znakiem nowego wiersza w operacji łączenia wierszy",
|
||||
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod. Pominięto atrybut dllexport/dllimport.",
|
||||
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod; Pominięto atrybut dllexport/dllimport.",
|
||||
"nieprawidłowa składowa dla anonimowej klasy składowej — klasa %t ma niedozwoloną funkcję składową",
|
||||
"niestandardowa instrukcja reinterpret_cast",
|
||||
"pozycyjny specyfikator formatu nie może być zerem",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"makro",
|
||||
"etykieta",
|
||||
"parametr szablonu",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"typ",
|
||||
"suma zbiorów",
|
||||
"klasa",
|
||||
"struktura",
|
||||
"szablon parametryzujący szablon",
|
||||
"szablon",
|
||||
"szablon klasy",
|
||||
null,
|
||||
"wyliczenie",
|
||||
"parametr",
|
||||
"parametr procedury obsługi",
|
||||
"zmienna",
|
||||
"bez typu",
|
||||
null,
|
||||
"stała",
|
||||
"funkcja",
|
||||
"funkcja przeciążona",
|
||||
"składowa",
|
||||
"pole",
|
||||
null,
|
||||
"przestrzeń nazw",
|
||||
"nazwany rejestr",
|
||||
"nazwana przestrzeń adresowa",
|
||||
"szablon funkcji",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"poszerzanie konwersji wskaźnika z %t1 na %t2 powoduje rozszerzenie bitu znaku",
|
||||
"modyfikatory __sptr i __uptr nie dotyczą typów wskaźnika do składowej",
|
||||
"deklaracja kopiującego operatora przypisania dla elementu %t została pominięta, ponieważ element %n to stała",
|
||||
null,
|
||||
"deklaracja kopiującego operatora przypisania dla elementu %t została pominięta, ponieważ element %n ma typ referencyjny",
|
||||
"deklaracja kopiującego operatora przypisania dla elementu %t1 została pominięta, ponieważ pominięto deklarację elementu %t2",
|
||||
"deklaracja kopiującego operatora przypisania dla elementu %t1 została pominięta, ponieważ deklaracja elementu %t2 jest niejednoznaczna",
|
||||
"deklaracja kopiującego operatora przypisania dla elementu %t1 została pominięta, ponieważ deklaracja elementu %t2 jest niedostępna",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"kwalifikator typu jest niedozwolony w konstruktorze lub destruktorze",
|
||||
"kwalifikator typu jest niedozwolony w operatorze new lub delete",
|
||||
"kwalifikator typu jest niedozwolony w funkcji innej niż członkowska",
|
||||
"odrzucono wyrażenie słowa kluczowego __assume z efektami ubocznymi",
|
||||
"argument dla %s ma skutki uboczne, ale nie jest oceniony",
|
||||
"nierozpoznany rodzaj źródła Unicode (jedna z następujących opcji: UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s",
|
||||
"znaku Unicode o wartości szesnastkowej %s nie można przedstawić w danych wyjściowych przetwarzania wstępnego",
|
||||
"żądany priorytet konstruktora/destruktora jest zarezerwowany do użytku wewnętrznego",
|
||||
@@ -1916,13 +1916,13 @@
|
||||
"pakiet parametrów nie może mieć wartości domyślnej",
|
||||
"kod C++/CLI może zostać włączony tylko w trybie Microsoft C++",
|
||||
"wyrażenie „value__” nie może być używane jako nazwa wartości stałej modułu wyliczającego (w tym kontekście jest to nazwa zastrzeżona)",
|
||||
"w typie wyliczenia z typem bazowym Boolean jest wymagana jawna wartość modułu wyliczającego",
|
||||
"jawna wartość modułu wyliczającego jest wymagana w typie wyliczenia z typem bazowym wartości logicznej",
|
||||
null,
|
||||
"utworzono odwołanie do pakietu parametrów %sq, ale nie został on rozwinięty",
|
||||
"rozwinięcie pakietu nie korzysta z żadnych pakietów argumentów",
|
||||
"pakiet %sq nie zawiera takiej samej liczby elementów jak %sq2",
|
||||
null,
|
||||
"atrybut vector_size nie jest dozwolony dla typu wyliczenia",
|
||||
"Atrybut vector_size nie jest dozwolony dla typu wyliczenia",
|
||||
"właściwość nie może być jednocześnie statyczna i wirtualna",
|
||||
"właściwość indeksowania nie może być prosta",
|
||||
"ta deklaracja nie może występować w definicji właściwości",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"specyfikator widoczności najwyższego poziomu wymaga definicji typu",
|
||||
"właściwość prosta nie może mieć typu referencyjnego",
|
||||
"właściwość prosta nie może być typu const ani volatile",
|
||||
"element %nd został wcześniej zadeklarowany jako inny rodzaj typu wyliczenia",
|
||||
"Element %nd został wcześniej zadeklarowany jako inny rodzaj typu wyliczenia",
|
||||
"zmienna przechwycona przez element lambda nie może mieć klasy typu %[managed]",
|
||||
"przesłanianie funkcji wirtualnej za pomocą kowariantnego typu zwracanego jest niedozwolone w klasie typu %[managed]",
|
||||
"tablica dojść jest niedozwolona",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"pole initonly może być modyfikowane tylko przez konstruktora wystąpień klasy, w której występuje",
|
||||
"statyczne pole initonly może być modyfikowane tylko przez konstruktora statycznego klasy, w której występuje",
|
||||
"funkcja składowa zostanie wywołana podczas kopiowania pola initonly",
|
||||
"wyrażenie musi mieć typ wskaźnika lub typ dojścia",
|
||||
"wyrażenie musi mieć typ wskaźnika lub dojścia, ale ma typ %t",
|
||||
"konstruktor przenoszący lub przenoszący operator przypisania jest używany do skopiowania tutaj wartościowania lewostronnego, co może spowodować zniszczenie obiektu źródłowego",
|
||||
"dla wyboru składowej na jednostce ogólnej %[C++/CLI] należy użyć składni „->”, a nie „.”",
|
||||
"typ klasy referencyjnej nie może pochodzić od typu %t",
|
||||
@@ -2216,7 +2216,7 @@
|
||||
"typ w operacji dynamic_cast nie może być typem ogólnym, który może być typem wartości",
|
||||
"nazwa zawierająca znaki uniwersalne musi wyznaczać prawidłowy punkt kodu",
|
||||
"ograniczenia ogólne nie są zgodne z ograniczeniami elementu %nd",
|
||||
"słowo kluczowe __underlying_type ma zastosowanie tylko do typów wyliczenia",
|
||||
"__underlying_type dotyczy tylko typów wyliczenia",
|
||||
"oczekiwano tylko jednego wyrażenia argumentu operacji dla tego rzutowania",
|
||||
"nie można przedstawić znaku Unicode o wartości szesnastkowej %s w domyślnej systemowej stronie kodowej",
|
||||
"niestandardowa konwersja powiązania wskaźnika do składowej ze wskaźnikiem funkcji",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"niebezpieczna instrukcja reinterpret_cast dojścia",
|
||||
"argument szablonu nie może odwoływać się do parametru typu ogólnego",
|
||||
"lista wyrażeń nie jest dozwolona w tej operacji indeksów dolnych (użyj nawiasów wokół operatora przecinka najwyższego poziomu)",
|
||||
"wyrażenie musi być typu wskaźnik-do-obiektu lub dojście-do-tablicy-%[C++/CLI]",
|
||||
"wyrażenie musi mieć typ wskaźnika do obiektu lub dojścia do tablicy %[C++/CLI], ale ma typ %t",
|
||||
"nierozpoznany atrybut",
|
||||
"składowa klasy typu %[managed] nie może mieć klasy typu innego niż %[managed]",
|
||||
"składowa klasy typu innego niż %[managed] nie może mieć typu klasy referencyjnej lub typu klasy interfejsu",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"element %nd został wcześniej zadeklarowany z innym typem bazowym",
|
||||
"nie można tutaj użyć deklaracji „enum class” ani „enum struct” (zamiast tego użyj zwykłej deklaracji „enum”)",
|
||||
"tylko jeden poziom nawiasów klamrowych jest dozwolony w przypadku inicjatora dla obiektu typu %t",
|
||||
"nie można używać elementu %nd jako nazwy typu wyliczenia",
|
||||
"Nie można użyć elementu %nd jako nazwy typu wyliczenia",
|
||||
null,
|
||||
"inicjator w nawiasach klamrowych nie może być używany z obiektem „new auto”",
|
||||
"definicja obiektu std::initializer_list nie zawiera oczekiwanego konstruktora",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"inicjator w nawiasach dla jednostki bez klasy musi być wyrażeniem, a nie listą w nawiasach klamrowych",
|
||||
"lista w nawiasach klamrowych nie dostarcza zwracanego typu dla tego elementu lambda",
|
||||
"zadeklarowana specyfikacja wyjątku jest niezgodna z wygenerowaną",
|
||||
"typy wyliczeń z zakresem są funkcją języka C++11",
|
||||
"typy wyliczenia w zakresie są funkcją języka C++11",
|
||||
"typ funkcji nie może być inicjowany przez wartość",
|
||||
"inicjalizacja typu obiektu %t za pomocą listy jest niedozwolona, ponieważ typ jest niekompletny",
|
||||
"obiekt std::initializer_list ma destruktora, a nie powinien — biblioteka jest błędnie skonfigurowana",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"wywołanie funkcji musi mieć wartość stałą w wyrażeniu stałej",
|
||||
"słowo kluczowe „main” funkcji nie może być deklarowane jako constexpr",
|
||||
null,
|
||||
"definicja typu wyliczenia ani klasy nie może występować w treści funkcji ani konstruktora constexpr",
|
||||
"definicja typu wyliczenia ani klasy nie może występować w funkcji constexpr ani treści konstruktora",
|
||||
"tylko atrybuty w stylu GNU są tutaj dozwolone",
|
||||
"niestandardowe użycie słowa kluczowego „auto” w celu zarówno ustalenia typu z inicjatora, jak i zaanonsowania końcowego typu zwracanego",
|
||||
"deklarowanie listy parametrów void za pomocą kwalifikowanego typu void jest niestandardowe",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"oczekiwano etykiety",
|
||||
"oczekiwano numeru argumentu operacji za „%%l”",
|
||||
"liczba argumentu operacji dla elementu „%%l” nie odwołuje się do prawidłowego argumentu etykiety",
|
||||
"numer argumentu operacji dla „%%l” nie odwołuje się do prawidłowego argumentu etykiety",
|
||||
"ciąg typu wide jest nieprawidłowy w instrukcji „asm”",
|
||||
"atrybut jest niestandardowy",
|
||||
"nie jest klasą bazową klasy %t",
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"definicja publicznego typu języka C++/CX jest niedozwolona w zasięgu globalnym",
|
||||
"właściwość indeksowana z publiczną metodą dostępu „get” lub „set” nie jest dozwolona",
|
||||
"publiczny zagnieżdżony typ delegata jest niedozwolony",
|
||||
"nieprawidłowy inicjator delegata — oczekiwano elementu „(<adres-funkcji lub obiekt-funkcji> [, Platform::CallbackContext])” lub „(<dojście-do-obiektu>, <adres-składowej> [, Platform::CallbackContext [, bool]])”",
|
||||
"nieprawidłowy inicjator delegata — oczekiwano elementu „(<adres-funkcji lub obiekt-funkcji> [, Platform::CallbackContext])” lub „(<object handle>, <adres-elementu-członkowskiego> [, Platform::CallbackContext [, bool]])”",
|
||||
"nieprawidłowy inicjator delegata — obiekt musi być dojściem do klasy typu %[managed]",
|
||||
"język C++/CX nie obsługuje tablic „in/out” — użyj deklaracji „const Platform::Array<T>^” dla tablicy „in” oraz „Platform::WriteOnlyArray<T>^” lub „Platform::Array<T>^*” dla tablicy „out” w publicznych interfejsach API",
|
||||
"brak atrybutu „target” dla elementu %nd",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"nie zainicjowano zmiennej w funkcji constexpr",
|
||||
"Inicjowanie w nawiasach klamrowych zmiennej zadeklarowanej przy użyciu typu symbolu zastępczego bez znaku „=” wymaga dokładnie jednego elementu w nawiasach klamrowych",
|
||||
"konfiguracja opcji --target elementu „%s” nie istnieje",
|
||||
"atrybut nie jest obsługiwany w 64-bitowych konfiguracjach x86",
|
||||
"atrybut jest obsługiwany tylko w 32-bitowych konfiguracjach x86",
|
||||
"element „%s” wymaga argumentu",
|
||||
"konstruktor lub destruktor nie może być koprocedurą",
|
||||
"element %n nie może być koprocedurą",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"nie można zastosować specyfikatora _Atomic(...) do kwalifikowanego typu %t",
|
||||
"dostęp do elementu członkowskiego w obiekcie _Atomic",
|
||||
"pole bitowe nie może mieć typu _Atomic",
|
||||
"typy klasy _Atomic zostały wyłączone",
|
||||
null,
|
||||
"konstruktor elementów constexpr wywołuje konstruktora elementów innych niż constexpr na potrzeby inicjowania podobiektów",
|
||||
"oczekiwano przecinka (jednoargumentowa wersja elementu static_assert nie została włączona w tym trybie)",
|
||||
"błąd potwierdzenia statycznego",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"nie można obliczyć wartości niekompletnego elementu %t",
|
||||
"ignorowanie wartości zwracanej z zadeklarowanej procedury z atrybutem „nodiscard”",
|
||||
"ignorowanie typu wartości zwracanej z atrybutem „nodiscard”",
|
||||
"atrybut „nodiscard” nie ma zastosowania do destruktorów ani procedur ze zwracanym typem void",
|
||||
"atrybut „nodiscard” nie ma zastosowania do destruktorów ani procedur ze zwracanym typem „nieważny”",
|
||||
"atrybut „fallthrough” ma zastosowanie tylko do instrukcji o wartości null",
|
||||
"atrybut „fallthrough” może występować tylko w instrukcji zawierającej switch",
|
||||
"instrukcja fallthrough musi znajdować się przed etykietą przypadku switch lub wartością domyślną",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"element copy-list-initialization nie może używać elementu „explicit” %n",
|
||||
"wytyczne wnioskowania",
|
||||
"Nieprawidłowa wartość dla operatora literału zdefiniowanego przez użytkownika",
|
||||
"atrybut __has_cpp_attribute nie może występować poza wyrażeniem #if ani #elif",
|
||||
"Element %s nie może występować poza dyrektywami preprocesora",
|
||||
"wytyczne wnioskowania należy zadeklarować z taką samą dostępnością co %n",
|
||||
"lambda nie jest dozwolona w tym kontekście",
|
||||
"określone wyrównanie nie jest odpowiednikiem poprzedniej deklaracji",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"niedozwolony typ %t we wskaźniku this dla funkcji składowej ograniczonej przez amp %nfd",
|
||||
"niedozwolony zwracany typ %t dla funkcji z ograniczeniem amp %nfd",
|
||||
"niedozwolony typ parametru %t dla funkcji z ograniczeniem amp %nfd",
|
||||
null,
|
||||
"niedozwolona konstrukcja w funkcji z ograniczeniami amp %nfd",
|
||||
"niedozwolona klasa magazynu %s w funkcji z ograniczeniem amp %nfd",
|
||||
"element %s nie jest dozwolony w funkcji z ograniczeniem amp %nfd",
|
||||
"niedozwolone rzutowanie w funkcji z ograniczeniem amp",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"oczekiwano elementu „>>>”",
|
||||
"nie można odnaleźć deklaracji __cudaPushCallConfiguration. Instalacja zestawu narzędzi CUDA może być uszkodzona.",
|
||||
"inicjator zgodny ze specyfikacją C++17 jest niestandardowy w tym trybie",
|
||||
"przechwycenie wyrażenia *this jest niestandardowe w tym trybie",
|
||||
"prefiks atrybutu „using” zgodny ze specyfikacją C++17 jest niestandardowy w tym trybie",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"deklaracja eksportu nie może zawierać deklaracji importu modułu",
|
||||
"deklaracja eksportu może występować tylko w jednostce interfejsu modułu",
|
||||
"deklaracja eksportu nie może eksportować nazwy z powiązaniem wewnętrznym",
|
||||
"deklaracja using zawiera %nfd",
|
||||
"funkcja wbudowana jest niedostępna, ponieważ typy liczb zmiennoprzecinkowych __fp16 nie są obsługiwane",
|
||||
null,
|
||||
null,
|
||||
"wyrażenie requires musi określać co najmniej jedno wymaganie",
|
||||
"słowo kluczowe „constinit” nie jest tutaj prawidłowe",
|
||||
"element „constinit” jest prawidłowy tylko w deklaracjach zmiennych z czasem trwania magazynowania statycznym lub wątku",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"mapowanie pliku modułu dla elementu „%s” zostało określone więcej niż raz",
|
||||
"mapowanie jednostki nagłówka dla elementu „%s” zostało określone więcej niż raz",
|
||||
"nie określono mapowania dla elementu „%s”",
|
||||
"mapowanie pliku modułu dla elementu „%s” jest nieprawidłowe",
|
||||
null,
|
||||
"nie można odnaleźć nagłówka „%s” do zaimportowania",
|
||||
"więcej niż jeden plik na liście plików modułu pasuje do elementu „%s”",
|
||||
"plik modułu znaleziony dla elementu „%s” jest dla innego modułu",
|
||||
"dowolny rodzaj pliku modułu",
|
||||
"nie można odczytać pliku modułu",
|
||||
"wbudowana funkcja jest niedostępna, ponieważ typ char8_t nie jest obsługiwany z bieżącymi opcjami",
|
||||
"nie można określić opcji wiersza polecenia --ms_await, jeśli włączono koprocedury języka C++20",
|
||||
null,
|
||||
"niestandardowe użycie konstruktora jawnego %nod dla domyślnej inicjalizacji elementu agregacji",
|
||||
"element źródłowy lub docelowy funkcji wewnętrznej podobnej do memcpy nie wskazuje obiektu",
|
||||
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować reprezentacyjnie odrębne typy %t1 i %t2",
|
||||
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować typ %t, którego nie można skopiować w sposób trywialny",
|
||||
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować częściowy obiekt",
|
||||
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować dane spoza granicy tablicy",
|
||||
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować nakładające się na siebie zakresy bajtów (zamiast tego zostanie użyta odpowiednia operacja memmove)"
|
||||
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować nakładające się na siebie zakresy bajtów (zamiast tego zostanie użyta odpowiednia operacja memmove)",
|
||||
"deklaracja elementu zaprzyjaźnionego z klauzulą trailing-requires-clause musi być definicją",
|
||||
"wyrażenie musi mieć typ arytmetyczny lub typ wskaźnika, ale ma typ %t",
|
||||
"wyrażenie musi mieć typ arytmetyczny, typ wyliczeniowy lub typ wskaźnika, ale ma typ %t",
|
||||
"wyrażenie musi mieć typ arytmetyczny, typ wyliczenia niewystępującego w zakresie lub typ wskaźnika, ale ma typ %t",
|
||||
"wyrażenie musi mieć typ wskaźnika, ale ma typ %t",
|
||||
"operator -> lub ->* zastosowane do typu %t zamiast do typu wskaźnika",
|
||||
"niekompletny typ klasy %t jest niedozwolony",
|
||||
"nie można zinterpretować układu bitowego dla tego elementu docelowego kompilacji",
|
||||
"brak odpowiedniego operatora dla operatora IFC %sq",
|
||||
"brak odpowiedniej konwencji wywoływania dla konwencji wywoływania IFC %sq",
|
||||
"moduł %sq zawiera nieobsługiwane konstrukcje",
|
||||
"nieobsługiwana konstrukcja IFC: %sq",
|
||||
"Od tego punktu __is_signed nie jest już słowem kluczowym",
|
||||
"wymiar tablicy musi mieć stałą wartość całkowitą bez znaku",
|
||||
"Plik IFC %sq ma nieobsługiwaną wersję %d1.%d2",
|
||||
"moduły nie są włączone w tym trybie",
|
||||
"Ciąg „import” nie jest dozwolony w nazwie modułu",
|
||||
"Ciąg „module” nie jest dozwolony w nazwie modułu",
|
||||
null,
|
||||
null,
|
||||
"%n nie jest typem wyliczenia",
|
||||
"moduł wyliczający %no2 powoduje konflikt z elementem %n1",
|
||||
"moduł wyliczający %no został już zadeklarowany w tym zakresie %p",
|
||||
"Specyfikacja „throw()” nie jest częścią języka C++20 i nowszych",
|
||||
"więcej niż wpis na mapie jednostek nagłówka pasuje do „%s”",
|
||||
"Diagnostyka #pragma musi mieć argument \"push\" lub \"pop\"",
|
||||
"nie znaleziono instrukcji \"#pragma diagnostic push\" pasującej do tego argumentu \"diagnostic pop\"",
|
||||
"Element %sq nie może być makrem, gdy jest używany w dyrektywie importu lub modułu",
|
||||
"ta dyrektywa może występować tylko w zakresie globalnej przestrzeni nazw",
|
||||
"Deklaracja \"export\" może występować tylko w zakresie globalnym lub przestrzeni nazw",
|
||||
"Element %sq jest analizowany jako identyfikator, a nie słowo kluczowe, ponieważ tokeny po nim występujące nie pasują do tych, które obowiązują w dyrektywie preprocesora",
|
||||
"wydaje się, że jest to początek dyrektywy preprocesora, ale brak elementu \";\", po którym niezwłocznie występuje nowy wiersz to uniemożliwia",
|
||||
"wydaje się, że jest to dyrektywa przetwarzania wstępnego modułów, ale takie dyrektywy nie mogą występować w rozszerzeniu makra",
|
||||
"Dyrektywa \"module\" nie może pojawiać się w zakresie dołączania warunkowego (np. #if, #else, #elseif itp.)",
|
||||
"import elementu %sq został pominięty",
|
||||
"typ obietnicy %t musi deklarować funkcję get_return_object_on_allocation_failure jako statyczną funkcję składową, która nie wymaga żadnych argumentów",
|
||||
"nie można jawnie specjalizować szablonu aliasu",
|
||||
"aby pasować do tego elementu „{”",
|
||||
"w tym wywołaniu makra",
|
||||
"wywołanie wymaga niejednoznacznej konwersji argumentów",
|
||||
"deklaracja należąca do modułu %s powoduje konflikt z %nd",
|
||||
"deklaracja należąca do modułu globalnego powoduje konflikt z elementem %nd należącymi do nazwanego modułu",
|
||||
"pierwszy argument atrybutu „malloc” musi być funkcją",
|
||||
"nie można przechwycić elementu %nod",
|
||||
"nie można przechwycić „tego”",
|
||||
"już w kontekście consteval",
|
||||
"Instrukcje „if consteval” i „if not consteval” wymagają zwartych instrukcji zależnych",
|
||||
"Instrukcje „if consteval” i „if not consteval” są bez znaczenia w funkcji non-constexpr",
|
||||
"przeniesienie kontrolki do instrukcji „if consteval” lub „if not consteval” jest niedozwolone",
|
||||
"obliczanie stałej nie może przejść przez deklarację zmiennej ze statycznym lub wątkiem czasu przechowywania",
|
||||
"modyfikowalny kwalifikator jest niedozwolony w wyrażeń lambda z jawnym parametrem „this”",
|
||||
"funkcja składowa zadeklarowana za pomocą elementu „static” nie może mieć jawnego parametru „this”",
|
||||
"jawny parametr „this” musi być pierwszym zadeklarowanym parametrem",
|
||||
"Element „this” jest niedozwolony w tym miejscu",
|
||||
"nie można domyślnie określić funkcji porównania z jawnym elementem „this”",
|
||||
"jawna funkcja „this” wymaga operandu selektora",
|
||||
"Instrukcje „if consteval” i „if not consteval” nie są standardowe w tym trybie",
|
||||
"pominięcie elementu „()” w deklaratorze lambda jest niestandardowe w tym trybie",
|
||||
"klauzula trailing-requires-clause jest niedozwolona, gdy lista parametrów lambda zostanie pominięta",
|
||||
"zażądano nieprawidłowej partycji modułu %sq",
|
||||
"zażądano niezdefiniowanej partycji modułu %sq1 (prawdopodobnie %sq2)",
|
||||
null,
|
||||
null,
|
||||
"zażądano modułu %sq1 pozycji pliku %u1 (pozycja względna %u2) dla partycji %sq2, która powoduje przepełnienie końca partycji",
|
||||
"zażądano modułu %sq1 pozycji pliku %u1 (pozycja względna %u2) dla partycji %sq2, która jest nieprawidłowo wyrównana do jej elementów partycji",
|
||||
"z podpola %sq (względne położenie w stosunku do węzła %d)",
|
||||
"z partycji %sq elementu %u1 (pozycja pliku %u2, względna pozycja %u3)",
|
||||
"atrybuty lambda są niestandardowe w tym miejscu",
|
||||
"identyfikator %sq można pomylić z widocznym wizualnie identyfikatorem %p",
|
||||
"ten komentarz zawiera podejrzane znaki kontrolne formatowania Unicode",
|
||||
"ten ciąg zawiera znaki kontrolne formatowania Unicode, które mogą spowodować nieoczekiwane zachowanie środowiska uruchomieniowego",
|
||||
"Znaleziono pominięte ostrzeżenie %d1 podczas przetwarzania modułu %sq1",
|
||||
"Znaleziono ostrzeżenia pominięte przez %d1 podczas przetwarzania modułu %sq1",
|
||||
"Znaleziono pominięty błąd %d1 podczas przetwarzania modułu %sq1",
|
||||
"Znaleziono %d1 pominiętych błędów podczas przetwarzania modułu %sq1",
|
||||
"uwzględniając",
|
||||
"Pominięte",
|
||||
"wirtualna funkcja składowa nie może mieć jawnego parametru „this”",
|
||||
"pobieranie adresu jawnej funkcji „this” wymaga kwalifikowanej nazwy",
|
||||
"utworzenie adresu jawnej funkcji „this” wymaga operatora \"&\"",
|
||||
"literału ciągu nie można użyć do zainicjowania elastycznej składowej tablicy",
|
||||
"Reprezentacja IFC definicji funkcji %sq jest nieprawidłowa",
|
||||
null,
|
||||
"wykres IFC UniLevel nie został użyty do określenia parametrów",
|
||||
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
|
||||
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
|
||||
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
|
||||
"Brak reprezentacji IFC definicji funkcji %sq",
|
||||
"modyfikator funkcji nie ma zastosowania do deklaracji szablonu elementu członkowskiego",
|
||||
"wybór elementu członkowskiego obejmuje zbyt wiele zagnieżdżonych typów anonimowych",
|
||||
"nie ma wspólnego typu między argumentami operacji",
|
||||
"oczekiwano wskaźnika do składowej",
|
||||
"elastyczna składowa tablicy nie może być zadeklarowana w typie pustym w inny sposób",
|
||||
"oczekiwano zdefiniowania elementu „std::source_location::__impl” w klasie z tylko składowymi danych „_M_function_name”, „_M_file_name”, „_M_column”, „_M_line”",
|
||||
"podany numer kolumny jest zbyt duży dla implementacji „std::source_location”",
|
||||
"podany numer wiersza jest zbyt duży dla implementacji „std::source_location”",
|
||||
"stała znaków UTF-16 nie może zajmować więcej niż jednej jednostki kodu; obcięta wartość",
|
||||
"oba argumenty muszą mieć ten sam typ",
|
||||
"typ %t jest nieprawidłowy jako argument dla tej wbudowanej",
|
||||
"wywołano z %nd:",
|
||||
"kwalifikowany typ jest niestandardowy dla anonimowych pól bitowych",
|
||||
"typ elementu warunku wektora (%t1) musi mieć taki sam rozmiar jak typ elementu wyniku (%t2)",
|
||||
"typ operandu wektora zmiennoprzecinkowego (%t) nie ma zgodnego typu wektora liczb całkowitych",
|
||||
"nie jest jeszcze zaimplementowane dekorowanie wyrażeń typu „requires”.",
|
||||
"z powodu atrybutu „unavailable”",
|
||||
"zduplikowany kwalifikator „asm”",
|
||||
"pole bitowe z niekompletnym typem wyliczeniowym lub nieprzezroczyste wyliczenie z nieprawidłowym typem podstawowym",
|
||||
"próbowano skonstruować element z partycji IFC %sq przy użyciu indeksu do partycji IFC %sq",
|
||||
"partycja %sq określiła swój rozmiar wpisu jako %d1, gdy oczekiwano wartości %d2",
|
||||
"napotkano nieoczekiwane wymaganie IFC podczas przetwarzania modułu %sq1",
|
||||
"warunek nie powiódł się w wierszu %d w %s1: %sq2",
|
||||
"niepodzielne ograniczenie zależy od samego siebie",
|
||||
"Funkcja \"noreturn\" ma zwracany typ inny niż void",
|
||||
"wprowadzono poprawkę przez usunięcie parametru %sq (względny indeks %d)",
|
||||
"nie można określić domyślnego argumentu szablonu w deklaracji szablonu składowej klasy poza jej klasą",
|
||||
"napotkano nieprawidłową nazwę identyfikatora IFC %sq podczas odbudowy jednostki",
|
||||
null,
|
||||
"nieprawidłowa wartość sortowania modułu %sq",
|
||||
"szablon funkcji załadowany z modułu IFC został niepoprawnie przeanalizowany jako %nd",
|
||||
"nie można załadować odwołania do jednostki IFC w module %sq",
|
||||
"z partycji %sq elementu %u1 (pozycja pliku %u2, względna pozycja %u3)",
|
||||
"desygnator łańcuchowy nie jest dozwolony dla typu klasy z destruktorem nietrywialnym",
|
||||
"jawna deklaracja specjalizacji nie może być deklaracją zaprzyjaźnioną",
|
||||
"typ std::float128_t nie jest obsługiwany; zamiast tego zostanie użyty std::float64_t",
|
||||
"Typ std::bfloat16_t nie jest obsługiwany; zamiast tego zostanie użyty std::float32_t",
|
||||
"nie można zadeklarować przewodnika wnioskowania dla szablonu aliasu %no",
|
||||
"Element %n został zadeklarowany jako niedostępny",
|
||||
"Element %n został zadeklarowany jako niedostępny (%sq)",
|
||||
"z powodu atrybutu „deprecated”",
|
||||
"jawne parametry szablonu lambda są funkcją języka C++20",
|
||||
"użycie elementu „_Noreturn” jest przestarzałe w języku C23; użyj zamiast tego „[[noreturn]]”",
|
||||
"użycie elementu „_Alignof” jest przestarzałe w C23; użyj zamiast tego elementu „alignof”",
|
||||
"użycie elementu „_Alignas” zostało uznane za przestarzałe w C23; użyj zamiast tego elementu „alignas”",
|
||||
"użycie elementu „_Bool” jest przestarzałe w języku C23; użyj zamiast tego opcji „bool”",
|
||||
"użycie elementu „_Static_assert” jest przestarzałe w języku C23; użyj zamiast tego elementu \"static_assert\"",
|
||||
"użycie elementu „_Thread_local” jest przestarzałe w języku C23; użyj zamiast tego elementu \"thread_local\"",
|
||||
"Aby można było używać pliku modułu %sq (modułu MICROSOFT Visual Studio IFC) musi być włączony tryb firmy Microsoft.",
|
||||
"nie można otworzyć pliku modułu %sq",
|
||||
"znaleziono w mapie modułu dla modułu %sq",
|
||||
"znaleziono na mapie jednostki nagłówka dla %sq",
|
||||
"nierozpoznany tryb wyjścia (musi być jednym z następujących: text, sarif): %s",
|
||||
"opcji „c23_typeof” można użyć tylko podczas kompilowania elementu C",
|
||||
"nieprawidłowy numer wersji clang: %s",
|
||||
"Ciąg IFC zawiera nieoczekiwany znak null (zero) w module %sq",
|
||||
"Użyto %d1 z %d2 bajtów",
|
||||
"z informacji o ciągu w partycji %sq element %u1 (pozycja pliku %u2, względna pozycja %u3)",
|
||||
"nie może ocenić inicjatora dla elastycznego elementu członkowskiego tablicy",
|
||||
"domyślny inicjator pola bitowego jest funkcją C++20",
|
||||
"zbyt wiele argumentów na liście argumentów szablonu w module %sq",
|
||||
"wykryto dla argumentu szablonu reprezentowanego przez %sq element %u1 (pozycja pliku %u2, pozycja względna %u3)",
|
||||
"zbyt mało argumentów na liście argumentów szablonu w module %sq",
|
||||
"wykryty podczas przetwarzania listy argumentów szablonu reprezentowanej przez %sq elementu %u1 (pozycja pliku %u2, pozycja względna %u3)",
|
||||
"konwersja z typu wyliczenia z zakresem %t jest niestandardowa",
|
||||
"cofnięcie alokacji nie pasuje do rodzaju alokacji (jedna dotyczy tablicy, a druga nie)",
|
||||
"porównanie obejmuje nieznany adres (np. adres słabej zmiennej)",
|
||||
"__make_signed jest zgodna tylko z niepustymi typami liczb całkowitych i wyliczeniami",
|
||||
"__make_unsigned jest zgodna tylko z nieliczbową liczbą całkowitą i typami wyliczenia",
|
||||
"nazwa wewnętrzna %sq będzie traktowana jako zwykły identyfikator z tego miejsca",
|
||||
"dostęp do odinicjowanego podobiektu w indeksie %d",
|
||||
"Numer wiersza IFC (%u1) przepełnia maksymalną dozwoloną wartość (%u2) modułu %sq",
|
||||
"moduł %sq1 zażądał elementu %u partycji %sq2. Ta pozycja pliku przekracza maksymalną wartość możliwą do reprezentowania",
|
||||
"nieprawidłowa liczba argumentów",
|
||||
"ograniczenie dotyczące kandydata %n nie jest spełnione",
|
||||
"liczba parametrów elementu %n jest niezgodna z wywołaniem",
|
||||
"zastępowanie jawnych argumentów szablonu %T dla %n nie powiodło się",
|
||||
"%n jest niejawnie funkcją przenoszenia „= delete”, dlatego jest ignorowana podczas rozpoznawania przeciążenia",
|
||||
"Element %n jest niezgodny, ponieważ podano argument #%d dla pustego pakietu parametrów",
|
||||
"Element %n jest niezgodny, ponieważ argument #%d nie jest zgodny z parametrem",
|
||||
"wnioskowanie kandydatów %n nie powiodło się",
|
||||
"wbudowany operator %s jest niezgodny, ponieważ argument #%d nie jest zgodny z parametrem",
|
||||
"<całka>",
|
||||
"<podwyższona całka>",
|
||||
"<ptrdiff_t>",
|
||||
"<wyliczenie>",
|
||||
"<wyliczenie z zakresu>",
|
||||
"<arytmetyczne>",
|
||||
"<podwyższona arytmetyka>",
|
||||
"<arytmetyczne inne niż wartość logiczna>",
|
||||
"<wskaźnik>",
|
||||
"<nullptr>",
|
||||
"<dojście>",
|
||||
"<dojście do tablicy interfejsu wiersza polecenia>",
|
||||
"<wskaźnik do obiektu>",
|
||||
"<wskaźnik do funkcji>",
|
||||
"<wskaźnik do składowej>",
|
||||
"<wartość logiczna>",
|
||||
"<podobne do wartości logicznej>",
|
||||
"<klasa>",
|
||||
"auto(<wyrażenie>) i automatyczne{<wyrażenie>} są funkcją języka C++23",
|
||||
"nieprawidłowa suma anonimowa — deklaracja using jest niedozwolona",
|
||||
"Nie można przetworzyć pliku IFC %sq",
|
||||
"Wersja IFC %u1.%u2 nie jest obsługiwana",
|
||||
"Architektura IFC %sq jest niezgodna z bieżącą architekturą docelową",
|
||||
"moduł %sq1 żąda indeksu %u nieobsługiwanych partycji odpowiadającej %sq2",
|
||||
"numer parametru %d z %n ma typ %t, którego nie można ukończyć",
|
||||
"numer parametru %d z %n ma niekompletny typ %t",
|
||||
"numer parametru %d z %n ma typ abstrakcyjny %t",
|
||||
"powiązania strukturalne są funkcją języka C++17",
|
||||
"przechwytywanie powiązań strukturalnych jest funkcją języka C++20"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"o operando de '*' deve ser um ponteiro",
|
||||
"o operando de '*' precisa ser um ponteiro, mas tem o tipo %t",
|
||||
"o argumento da macro está vazio",
|
||||
"essa declaração não possui classe de armazenamento ou especificador de tipo",
|
||||
"uma declaração de parâmetro pode não possuir um inicializador",
|
||||
@@ -130,8 +130,8 @@
|
||||
"laço é inalcançável",
|
||||
"uma função de escopo de bloco pode possuir apenas a classe de armazenamento extern",
|
||||
"esperado um '{'",
|
||||
"expressão deve possuir tipo ponteiro-para-classe",
|
||||
"expressão deve possuir tipo ponteiro-para-struct-ou-union",
|
||||
"a expressão precisa ter um tipo de ponteiro-para-classe, mas tem o tipo %t",
|
||||
"a expressão precisa ter o tipo de ponteiro-para-struct-ou-união, mas tem o tipo %t",
|
||||
"esperado um nome de membro",
|
||||
"esperado um nome de campo",
|
||||
"%n não possui membro %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"não é permitido capturar o endereço de um campo de bit",
|
||||
"muitos argumentos na chamada da função",
|
||||
"parâmetros prototipados sem nome não são permitidos quando o corpo está presente",
|
||||
"a expressão deve possuir tipo ponteiro-para-objeto",
|
||||
"a expressão precisa ter o tipo de ponteiro-para-objeto, mas tem o tipo %t",
|
||||
"programa muito grande ou complicado para compilar",
|
||||
"um valor de tipo %t1 não pode ser utilizado para inicializar uma entidade do tipo %t2",
|
||||
"%n pode não ser inicializado",
|
||||
@@ -152,8 +152,8 @@
|
||||
"um nome de tipo pode não ser declarado novamente como um parâmetro",
|
||||
"um nome de typedef pode não ser declarado novamente como um parâmetro",
|
||||
"conversão de inteiro não zero para ponteiro",
|
||||
"a expressão deve possuir tipo de classe",
|
||||
"a expressão deve possuir tipo de struct ou union",
|
||||
"a expressão precisa ter tipo de classe, mas tem o tipo %t",
|
||||
"a expressão precisa ter tipo struct ou de união, mas tem o tipo %t",
|
||||
"operador de atribuição antigo",
|
||||
"inicializador antigo",
|
||||
"a expressão deve ser uma expressão constante integral",
|
||||
@@ -180,7 +180,7 @@
|
||||
"'&' não possui efeito quando aplicado a uma matriz",
|
||||
"o operador da direta de '%%' é zero",
|
||||
"argumento é incompatível com parâmetro formal",
|
||||
"argumento é incompatível com conversão de formato de cadeia de caracteres correspondente",
|
||||
"o argumento é incompatível com a conversão de cadeia de caracteres de formato correspondente (tipo esperado %t1, mas o argumento tem o tipo %t2)",
|
||||
"não pôde abrir o arquivo fonte %sq (nenhum diretório na lista de busca)",
|
||||
"tipo de conversão deve ser integral",
|
||||
"tipo de conversão deve ser aritmético ou ponteiro",
|
||||
@@ -392,7 +392,7 @@
|
||||
"a função 'main' pode não ser chamada ou ter seu endereço capturado",
|
||||
"um inicializador new pode não ser especificado para uma matriz",
|
||||
"a função membro %no pode não ser declarada novamente fora da sua classe",
|
||||
"ponteiro para tipo de classe incompleta não é permitido",
|
||||
"o ponteiro para o tipo de classe incompleta %t não é permitido",
|
||||
"referência para variável local de função não é permitido",
|
||||
"função com um único argumento utilizada como sufixo %sq (anacronismo)",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"referência de retorno para variável local",
|
||||
"a omissão do tipo explícito não é padrão ('int' assumed)",
|
||||
"mais de uma especialização parcial corresponde à lista de argumentos do modelo de %n",
|
||||
"%no",
|
||||
"%nod",
|
||||
"uma lista de argumentos do modelo não é permitida em uma declaração de um modelo primário",
|
||||
"as especializações parciais podem não ter argumentos de modelo padrão",
|
||||
"%n1 não é usado ou não pode ser deduzido a partir da lista de argumentos do modelo de %n2",
|
||||
@@ -952,7 +952,7 @@
|
||||
"a opção 'nonstd_using_decl' pode ser utilizada somente quando se estiver compilando C++",
|
||||
"o tipo de retorno da função 'main' deve ser 'int'",
|
||||
"um parâmetro de modelo sem tipo pode não ter tipo de classe",
|
||||
"um argumento de modelo padrão não pode ser especificado na declaração de um membro de um modelo de classe fora de sua classe",
|
||||
"um argumento de modelo padrão não pode ser especificado na definição de um membro de um modelo de classe fora do modelo",
|
||||
"uma instrução return não é permitida em um manipulador de um bloco try de função de um construtor",
|
||||
"os designadores estendidos e comuns não podem ser combinados em uma designação de inicializador",
|
||||
"a segunda subscrição não deve ser menor que a primeira",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"esse pragma não pode ser usado em um operador _Pragma (uma diretiva #pragma deve ser usada)",
|
||||
"o campo usa proteção de origem para uma classe de base",
|
||||
"compiladores GNU C++ podem usar proteção de campo de bit",
|
||||
"%nd foi declarado 'obsoleto'",
|
||||
"%n foi declarado preterido",
|
||||
"um nome asm não é permitido em uma declaração de membro não estática",
|
||||
"tipo de função de formato não conhecido %sq ignorado",
|
||||
"a classe de base %no1 usa proteção de origem da classe de base %no2",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"os tipos integrais complexos não são suportados",
|
||||
"__real e __imag somente podem ser aplicáveis a valores complexos",
|
||||
"__real/__imag aplicado ao valor real",
|
||||
"%nd foi declarado obsoleto (%sq)",
|
||||
"%n foi declarado preterido (%sq)",
|
||||
"redefinição inválida de %nd",
|
||||
"dllimport/dllexport aplicado a um membro de um namespace não nomeado",
|
||||
"__thiscall somente pode ser exibido em declarações de função de membro não estático",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"macro",
|
||||
"rótulo",
|
||||
"parâmetro de template",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"tipo",
|
||||
"união",
|
||||
"classe",
|
||||
"struct",
|
||||
"parâmetro de modelo",
|
||||
"modelo",
|
||||
"modelo de classe",
|
||||
null,
|
||||
"enumeração",
|
||||
"parâmetro",
|
||||
"parâmetro de manipulador",
|
||||
"variável",
|
||||
"sem tipo",
|
||||
null,
|
||||
"constante",
|
||||
"função",
|
||||
"função sobrecarregada",
|
||||
"membro",
|
||||
"campo",
|
||||
null,
|
||||
"namespace",
|
||||
"registro nomeado",
|
||||
"espaço de endereçamento nomeado",
|
||||
"modelo de função",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"a conversão do apontador de alargamento de %t1 para %t2 aumenta o bit de sinal",
|
||||
"__sptr e __uptr não se aplicam a tipos ponteiro para membro",
|
||||
"a declaração do operador de atribuição de cópia para %t foi suprimida porque %n é const",
|
||||
null,
|
||||
"a declaração do operador de atribuição de cópia para %t foi suprimida porque %n tem um tipo de referência",
|
||||
"a declaração do operador de atribuição de cópia para %t1 foi suprimida porque a de %t2 foi suprimida",
|
||||
"a declaração do operador de atribuição de cópia para %t1 foi suprimida porque a de %t2 é ambígua",
|
||||
"a declaração do operador de atribuição de cópia para %t1 foi suprimida porque a de %t2 está inacessível",
|
||||
@@ -1644,7 +1644,7 @@
|
||||
"a declaração do construtor de cópia para %t1 foi suprimida porque a de %t2 está inacessível",
|
||||
"o destruidor para %t1 não será chamado porque está inacessível e o destruidor para %t2 foi suprimido",
|
||||
"definição no fim do arquivo não seguida por ponto e vírgula ou um declarador",
|
||||
"o primeiro argumento deve ser do tipo ponteiro para número inteiro ou enumeração",
|
||||
"o primeiro argumento deve der do tipo ponteiro para número inteiro ou enumerado",
|
||||
"as operações sincronizadas são válidas somente em objetos de tamanho 1, 2, 4 ou 8",
|
||||
"argumentos extras ignorados",
|
||||
"'=' presumido seguindo um nome de macro %sq na definição da linha de comando",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"um qualificador de tipo não é permitido em um construtor ou destruidor",
|
||||
"um qualificador de tipo não é permitido em operador new ou operador delete",
|
||||
"um qualificador de tipo não é permitido em uma função não membro",
|
||||
"expressão __assume com efeitos colaterais descartada",
|
||||
"o argumento para %s tem efeitos colaterais, mas não é avaliado",
|
||||
"tipo de origem de Unicode não reconhecido (deve ser UTF-8, UTF-16, UTF-16LE ou UTF-16BE): %s",
|
||||
"Caractere Unicode com valor hex %s não representável na saída de pré-processamento",
|
||||
"a prioridade solicitada do construtor/destruidor é reservada para uso interno",
|
||||
@@ -1916,13 +1916,13 @@
|
||||
"pacotes de parâmetros não podem ter um default",
|
||||
"C++/ CLI podem ser ativados apenas no modo do Microsoft C++",
|
||||
"'value__' não pode ser usado como nome para uma constante de enumerador (é um nome reservado neste contexto)",
|
||||
"é necessário um valor explícito de enumerador em um tipo de enumerador com tipo subjacente booleano",
|
||||
"é necessário um valor explícito de enumerador em um tipo enumerado com tipo subjacente booliano",
|
||||
null,
|
||||
"o pacote de parâmetros %sq foi citado, mas não expandido",
|
||||
"o pacote de expansão não utiliza nenhum dos pacotes de argumentos",
|
||||
"o pacote %sq não tem o mesmo número de elementos de %sq2",
|
||||
null,
|
||||
"o atributo vector_size não é permitido com um tipo de enumeração",
|
||||
"o atributo vector_size não é permitido com um tipo enumerado",
|
||||
"uma propriedade não pode ser ao mesmo tempo estática e virtual",
|
||||
"uma propriedade indexada não pode ser trivial",
|
||||
"esta declaração não pode aparecer em uma definição de propriedade",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"um especificador de visibilidade de nível superior requer uma definição de tipo",
|
||||
"uma propriedade trivial não pode possuir um tipo de referência",
|
||||
"uma propriedade trivial não pode ter um tipo const ou volátil",
|
||||
"%nd foi declarado anteriormente como um tipo diferente do tipo de enumeração",
|
||||
"%nd foi declarado anteriormente como um tipo diferente do tipo enumerado",
|
||||
"uma variável capturada por um lambda não pode ter um tipo de classe %[managed]",
|
||||
"substituição de funções com tipos de saída covariantes não são permitidos em classes %[managed]",
|
||||
"matrizes de controladores não são permitidas",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"especificadores de substituição nomeados só são permitidos em classes %[managed]",
|
||||
"nenhum membro designado pelo especificador de substituição nomeado corresponde ao tipo deste membro",
|
||||
"uma declaração de construtor estático não pode incluir um especificador de substituição nomeado",
|
||||
"tipos de enumeração com escopo deve ter um nome",
|
||||
"um tipo enumerado com escopo deve ter um nome",
|
||||
"não permitida a transferência de controle para um bloco finally",
|
||||
"instrução return dentro de blocos finally não permitida",
|
||||
"o bloqueio de tentativa exige pelo menos um manipulador ou cláusula finalmente",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"um campo initonly só pode ser modificado pelo construtor de instância da classe que o contém",
|
||||
"um campo estático initonly só pode ser modificado pelo construtor estático da classe que o contém",
|
||||
" a função de membros será invocada em uma cópia do campo initonly",
|
||||
"a expressão deve ter um tipo de apontador ou identificador",
|
||||
"a expressão precisa ter um tipo de ponteiro ou de identificador, mas tem o tipo %t",
|
||||
"um construtor move ou um operador de atribuição de movimento é usado para copiar um lvalue aqui, o que pode destruir o objeto fonte",
|
||||
"a seleção de membros em uma entidade %[C++/CLI] genérica deve usar a sintaxe '->', e não '.'",
|
||||
"um tipo de classe ref não pode derivar de %t",
|
||||
@@ -2216,7 +2216,7 @@
|
||||
"o tipo em um dynamic_cast não pode ser um tipo genérico que possa ser um tipo value",
|
||||
"um nome de caractere universal deve designar um ponto de código válido",
|
||||
"restrições genéricas não correspondem às de %nd",
|
||||
"__underlying_type só se aplica a tipos de enumeração",
|
||||
"__underlying_type só se aplica a tipos enumerados",
|
||||
"espera-se apenas uma expressão de operando para essa conversão",
|
||||
"caractere Unicode com valor hexadecimal %s não representável na página de código padrão do sistema",
|
||||
"conversão não padrão de ponteiro para membro acoplado um ponteiro de função",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"reinterpret_cast do identificador não seguro",
|
||||
"modelos de argumentos não podem fazer referência a parâmetros de tipo genéricos",
|
||||
"listas de expressões não são permitidas nesta operação subscrita (use parênteses ao redor de um operador de vírgula de nível superior)",
|
||||
"a expressão deve ter tipo pointer-to-object ou handle-to-%[C++/CLI]-array",
|
||||
"a expressão precisa ter tipo de matriz ponteiro-para-objeto ou identificador-para-%[C++/CLI], mas tem tipo o %t",
|
||||
"atributo não reconhecido",
|
||||
"membros de classes %[managed] não podem ser de um tipo de classe não %[managed]",
|
||||
"membros de classes não %[managed] não podem ter tipo de classe de referência ou de interface",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"%nd foi declarado anteriormente com um tipo base diferente",
|
||||
"'enum class' e 'enum struct' não podem ser usados aqui (use 'enum' simples)",
|
||||
"somente um nível de chave é permitido em um inicializador para um objeto do tipo %t",
|
||||
"%nd não pode ser usado como um nome de tipo de enumeração",
|
||||
"%nd não pode ser usado como um nome de tipo enumerado",
|
||||
null,
|
||||
"um inicializador entre chaves não pode ser usado com 'new auto'",
|
||||
"a definição de std::initializer_list não contém o construtor esperado",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"um inicializador entre parênteses para uma entidade não classe deve ser uma expressão, e não uma lista delimitada por chaves",
|
||||
"uma lista delimitada por chaves não fornece um tipo de retorno para este lambda",
|
||||
"a especificação da exceção declarada é incompatível com a gerada",
|
||||
"os tipos de enumeração com escopo são um recurso do C++11",
|
||||
"os tipos enumerados com escopo são um recurso do C++11",
|
||||
"um tipo de função não pode ser inicializado por valor",
|
||||
"a inicialização de lista de um tipo de objeto %t não é permitida porque o tipo está incompleto",
|
||||
"std::initializer_list possui um destruidor, mas não deveria -- a biblioteca está configurada incorretamente",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"a chamada de função deve ter um valor constante em uma expressão constante",
|
||||
"a função 'main' não pode ser declarada como constexpr",
|
||||
null,
|
||||
"uma definição de tipo de enumeração ou classe não pode aparecer em um corpo de construtor ou função constexpr",
|
||||
"uma definição de tipo enumerado ou classe não pode aparecer em um corpo de construtor ou função constexpr",
|
||||
"somente atributos GNU-style são permitidos aqui",
|
||||
"uso não padrão de 'auto' para deduzir o tipo a partir de um inicializador e para anunciar um tipo de retorno à direita",
|
||||
"a declaração de uma lista de parâmetros void com um tipo void qualificado não é padrão",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"espera-se um rótulo",
|
||||
"espera-se um número de operando depois de '%%l'",
|
||||
"o número de operando para '%%l' não se refere a um argumento de rótulo válido",
|
||||
"o número operand para \"%%l\" não se refere a um argumento de rótulo válido",
|
||||
"uma cadeia ampla é inválida em uma instrução 'asm'",
|
||||
"o atributo não é padrão",
|
||||
"não é uma classe base da classe %t",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"a variável na função constexpr não foi inicializada",
|
||||
"inicialização entre chaves de uma variável declarada com um tipo de espaço reservado, mas sem '=', requer exatamente um elemento entre chaves",
|
||||
"nenhuma --configuração de destino '%s' existente",
|
||||
"o atributo não tem suporte em configurações x86 de 64 bits",
|
||||
"o atributo tem suporte apenas em configurações x86 de 32 bits",
|
||||
"'%s' exige um argumento",
|
||||
"um construtor ou destruidor não pode ser uma corrotina",
|
||||
"%n não pode ser um corrotina",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"uma expressão co_await não é permitida dentro de uma cláusula catch",
|
||||
"uma corrotina não pode conter um parâmetro de reticências",
|
||||
"habilitar o constexpr estilo C++14 exige suporte para 'bool'",
|
||||
"a função constexpr %nd não está definida",
|
||||
"o constexpr %nd não está definido",
|
||||
"esta chamada não pode ser avaliada porque a função de destino %nd não é constexpr ou ainda não está completamente definida",
|
||||
"observação",
|
||||
"Observação",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"o especificador _Atomic(...) não pode ser aplicado ao tipo qualificado %t",
|
||||
"acesso ao membro do objeto _Atomic",
|
||||
"um campo de bit não pode ter um tipo _Atomic",
|
||||
"Os tipos de classe _Atomic estão desabilitados",
|
||||
null,
|
||||
"o construtor constexpr chama o construtor não constexpr para inicialização do subobjeto",
|
||||
"esperada uma vírgula (a versão de um argumento de static_assert não está habilitada nesse modo)",
|
||||
"falha na asserção estática",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"não é possível avaliar o valor de %t incompleto",
|
||||
"ignorando o valor retornado da rotina declarada com o atributo 'nodiscard'",
|
||||
"ignorando o tipo de valor retornado com o atributo 'nodiscard'",
|
||||
"o atributo 'nodiscard' não se aplica aos destruidores ou rotinas com o tipo de retorno nulo",
|
||||
"o atributo \"nodiscard\" não se aplica a destruidores ou rotinas com tipo de retorno void",
|
||||
"o atributo 'fallthrough' se aplica somente a instruções nulas",
|
||||
"o atributo 'fallthrough' pode aparecer somente em uma instrução switch da delimitação",
|
||||
"a instrução fallthrough deve preceder o rótulo de caso ou padrão de switch",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"copy-list-initialization não pode usar %n 'explicit'",
|
||||
"guia de dedução",
|
||||
"Valor inválido para o operador literal definido pelo usuário",
|
||||
"__has_cpp_attribute não pode aparecer fora de #if ou #elif",
|
||||
"%s não pode aparecer fora das diretivas do pré-processador",
|
||||
"a guia de dedução deve ser declarada com a mesma acessibilidade que %n",
|
||||
"um lambda não é permitido neste contexto",
|
||||
"o alinhamento especificado não é equivalente à declaração anterior",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"tipo ilegal %t neste ponteiro para a função membro restrita por amp %nfd",
|
||||
"tipo de retorno %t ilícito para a função restrita por amp %nfd",
|
||||
"tipo de parâmetro %t ilícito para a função restrita por amp %nfd",
|
||||
null,
|
||||
"constructo ilícito na função restrita por amp %nfd",
|
||||
"classe de armazenamento %s ilícito na função restrita por amp %nfd",
|
||||
"%s não é permitido na função restrita por amp %nfd",
|
||||
"conversão ilícita na função restrita por amp",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"esperado um '>>>'",
|
||||
"não é possível localizar a declaração de __cudaPushCallConfiguration. A instalação do kit de ferramentas CUDA pode estar corrompida.",
|
||||
"O inicializador de estilo C++17 está fora do padrão neste modo",
|
||||
"a captura de *this está fora do padrão neste modo",
|
||||
"O atributo 'using' de estilo C++17 está fora do padrão neste modo",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"um tipo volátil %t impede a avaliação constexpr de __builtin_bit_cast",
|
||||
"um tipo de união, ponteiro ou ponteiro para membro %t impede a avaliação constexpr de __builtin_bit_cast",
|
||||
"%npTd, herdado por meio do uso de decl %p",
|
||||
"a construção de subobjeto de %t para construtores herdados não pode ser executada. O construtor padrão implícito foi excluído",
|
||||
"a construção de subobjeto de %t para construtores herdados não pode ser executada. O construtor associado foi excluído",
|
||||
"%n precisa retornar nulo",
|
||||
"declaração de início de membro inválida",
|
||||
"'auto' era esperado",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"uma declaração de exportação não pode conter uma declaração de importação de módulo",
|
||||
"uma declaração export só pode aparecer em uma unidade de interface de módulo",
|
||||
"uma declaração export não pode exportar um nome com vínculo interno",
|
||||
"a declaração using inclui %nfd",
|
||||
"a função interna não está disponível porque não há suporte para tipos de ponto flutuante __fp16",
|
||||
null,
|
||||
null,
|
||||
"uma expressão requires precisa especificar pelo menos um requisito",
|
||||
"'constinit' não é válido aqui",
|
||||
"'constinit' só é válido para declarações de variáveis com duração de armazenamento estática ou de thread",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"o mapeamento de arquivo de módulo de '%s' foi especificado mais de uma vez",
|
||||
"o mapeamento de unidade de cabeçalho de '%s' foi especificado mais de uma vez",
|
||||
"não foi especificado nenhum mapeamento para '%s'",
|
||||
"o mapeamento de arquivo de módulo de '%s' é inválido",
|
||||
null,
|
||||
"não é possível localizar o cabeçalho '%s' a ser importado",
|
||||
"mais de um arquivo na lista de arquivos de módulo corresponde a '%s'",
|
||||
"o arquivo de módulo encontrado para '%s' é de um módulo diferente",
|
||||
"qualquer tipo de arquivo de módulo",
|
||||
"não é possível ler o arquivo de módulo",
|
||||
"a função interna não está disponível porque não há suporte para o tipo char8_t com as opções atuais",
|
||||
"a opção da linha de comando --ms_await não poderá ser especificada se as corrotinas do C++20 estiverem habilitadas",
|
||||
null,
|
||||
"o uso não padrão do construtor explícito %nod para inicialização do elemento de agregação padrão",
|
||||
"a origem ou o destino do intrínseco similar a memcpy não aponta para um objeto",
|
||||
"tentativas intrínsecas similares a memcpy de copiar tipos representacionalmente distintos %t1 e %t2",
|
||||
"tentativas intrínsecas similares a memcpy de copiar o tipo não trivialmente copiável %t",
|
||||
"tentativas intrínsecas similares a memcpy de copiar objetos parciais",
|
||||
"tentativas intrínsecas similares a memcpy de copiar o limite de matriz passado",
|
||||
"tentativas intrínsecas similares a memcpy de copiar intervalos de bytes sobrepostos (usando a operação de memmove correspondente, em vez disso)"
|
||||
"tentativas intrínsecas similares a memcpy de copiar intervalos de bytes sobrepostos (usando a operação de memmove correspondente, em vez disso)",
|
||||
"uma declaração de friend com uma cláusula requires à direita precisa ser uma definição",
|
||||
"a expressão precisa ter tipo aritmético ou de ponteiro, mas tem o tipo %t",
|
||||
"a expressão precisa ter tipo aritmético, de enumeração ou de ponteiro, mas tem o tipo %t",
|
||||
"expressão precisa ter o tipo aritmético, de enumeração sem escopo ou de ponteiro, mas tem o tipo %t",
|
||||
"a expressão precisa ter um tipo de ponteiro, mas tem o tipo %t",
|
||||
"operador -> ou ->* aplicado a %t em vez de a um tipo de ponteiro",
|
||||
"o tipo de classe incompleta %t não é permitido",
|
||||
"não é possível interpretar o layout de bit para este destino de compilação",
|
||||
"nenhum operador correspondente para o operador IFC %sq",
|
||||
"não há convenção de chamada correspondente para a convenção de chamada IFC %sq",
|
||||
"o módulo %sq contém constructos sem suporte",
|
||||
"constructo IFC sem suporte: %sq",
|
||||
"__is_signed não é mais uma palavra-chave deste ponto",
|
||||
"uma dimensão de matriz precisa ter um valor inteiro sem sinal constante",
|
||||
"O arquivo IFC %sq tem uma versão sem suporte %d1.%d2",
|
||||
"os módulos não estão habilitados neste modo",
|
||||
"'import' não é permitido em um nome de módulo",
|
||||
"'module' não é permitido em um nome de módulo",
|
||||
null,
|
||||
null,
|
||||
"%n não é um tipo enumerado",
|
||||
"o enumerador %no2 entra em conflito com %n1",
|
||||
"o enumerador %no já foi declarado neste escopo %p",
|
||||
"a especificação 'throw()' não faz parte de C++ 20 e posteriores",
|
||||
"mais de uma entrada no mapa de unidades de cabeçalho corresponde a '%s'",
|
||||
"diagnóstico #pragma deve ter argumento 'push' ou 'pop'",
|
||||
"nenhum 'diagnóstico push #pragma' foi encontrado para corresponder a esae 'pop de diagnóstico'",
|
||||
"o %sq não pode ser uma macro quando for usado em uma diretiva de importação ou módulo",
|
||||
"essa diretiva só pode aparecer no escopo de namespace global",
|
||||
"uma declaração 'exportar' só pode aparecer no escopo global ou de namespace",
|
||||
"%sq é analisado como um identificador em vez de uma palavra-chave porque os tokens que o seguem não correspondem aos de uma diretiva de pré-processador",
|
||||
"parece que esse é o início de uma diretiva de pré-processador, mas a falta de um '; ' seguido imediatamente por uma nova linha evita que",
|
||||
"parece ser uma diretiva de pré-processamento de módulos, mas essas diretivas não podem aparecer dentro de uma expansão de macro",
|
||||
"uma diretriz 'módulo' não pode aparecer dentro do escopo de inclusão condicional (por exemplo, #se, #outro, #outrose, etc.)",
|
||||
"a importação de %sq foi ignorada",
|
||||
"tipo promise %t deve declarar get_return_object_on_allocation_failure como uma função membro estática que não requer argumentos",
|
||||
"um modelo de alias não pode ser explicitamente especializado",
|
||||
"para corresponder a este '{'",
|
||||
"nesta invocação de macro",
|
||||
"a chamada requer uma conversão de argumento ambígua",
|
||||
"declaração pertencente ao módulo %s está em conflito com %nd",
|
||||
"a declaração de propriedade do módulo global está em conflito %nd pertencente a um módulo nomeado",
|
||||
"o primeiro argumento para um atributo 'malloc' deve ser uma função",
|
||||
"não é possível capturar %nod",
|
||||
"não é possível capturar 'this'",
|
||||
"já no contexto consteval",
|
||||
"'if consteval' e 'if not consteval' exigem instruções dependentes entre chaves",
|
||||
"'if consteval' e 'if not consteval' são sem sentido em uma função não constexpr",
|
||||
"a transferência de controle para uma instrução 'if consteval' ou 'if not consteval' não é permitida",
|
||||
"a avaliação constante não pode passar pela declaração de uma variável com duração estática ou de armazenamento de thread",
|
||||
"o qualificador mutável não é permitido em um lambda com um parâmetro 'this' explícito",
|
||||
"uma função membro declarada com 'static' não pode ter um parâmetro 'this' explícito",
|
||||
"um parâmetro 'this' explícito deve ser o primeiro parâmetro declarado",
|
||||
"'this' não é permitido aqui",
|
||||
"uma função de comparação com 'this' explícito não pode ser padrão",
|
||||
"uma função 'this' explícita requer um operando de seletor",
|
||||
"'if consteval' e 'if not consteval' não são padrão neste modo",
|
||||
"omitir '()' em um declarador lambda não é padrão neste modo",
|
||||
"uma cláusula-requer à direita não é permitida quando a lista de parâmetros lambda é omitida",
|
||||
"módulo %sq partição inválida solicitada",
|
||||
"módulo %sq1 partição indefinida (acredita-se que seja %sq2) solicitada",
|
||||
null,
|
||||
null,
|
||||
"módulo %sq1, posição do arquivo %u1 (posição relativa %u2) solicitado para a partição %sq2 — que transborda o final de sua partição",
|
||||
"módulo %sq1, posição do arquivo %u1 (posição relativa %u2) solicitado para a partição %sq2 — que está desalinhada com seus elementos de partições",
|
||||
"do subcampo %sq (posição relativa ao nó %d)",
|
||||
"da partição %sq, elemento %u1 (posição do arquivo %u2, posição relativa %u3)",
|
||||
"os atributos lambda não são padrão aqui",
|
||||
"O identificador %sq pode ser confundido com um visualmente semelhante ao que aparece %p",
|
||||
"este comentário contém caracteres de controle de formatação Unicode suspeitos",
|
||||
"essa cadeia de caracteres contém caracteres de controle de formatação Unicode que podem resultar em comportamento de runtime inesperado",
|
||||
"%d1 aviso suprimido encontrado durante o processamento do módulo %sq1",
|
||||
"%d1 avisos suprimidos foram encontrados durante o processamento do módulo %sq1",
|
||||
"%d1 erro suprimido encontrado ao processar o módulo %sq1",
|
||||
"%d1 erros suprimidos foram encontrados durante o processamento do módulo %sq1",
|
||||
"incluindo",
|
||||
"suprimida",
|
||||
"uma função membro virtual não pode ter um parâmetro 'this' explícito",
|
||||
"usar o endereço de uma função explícita 'this' requer um nome qualificado",
|
||||
"formar o endereço de uma função 'this' explícita requer o operador '&'",
|
||||
"um literal de cadeia de caracteres não pode ser usado para inicializar um membro de matriz flexível",
|
||||
"A representação IFC da definição da função %sq é inválida",
|
||||
null,
|
||||
"um gráfico UNILevel IFC não foi usado para especificar parâmetros",
|
||||
"%d1 parâmetros foram especificados pelo gráfico de definição de parâmetro IFC, enquanto %d2 parâmetros foram especificados pela declaração IFC",
|
||||
"O parâmetro %d1 foi especificado pelo gráfico de definição de parâmetro IFC, enquanto %d2 parâmetros foram especificados pela declaração IFC",
|
||||
"%d1 parâmetros foram especificados pelo gráfico de definição de parâmetro IFC, enquanto o parâmetro %d2 foi especificado pela declaração IFC",
|
||||
"A representação IFC da definição da função %sq está ausente",
|
||||
"o modificador de função não se aplica à declaração de modelo do membro",
|
||||
"a seleção de membro envolve muitos tipos anônimos aninhados",
|
||||
"não há nenhum tipo comum entre os operandos",
|
||||
"esperava-se um ponteiro para membro",
|
||||
"um membro da matriz flexível não pode ser declarado em um tipo de outro modo vazio",
|
||||
"esperado que 'std::source_location::__impl' seja definido para uma classe com apenas os membros de dados '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
|
||||
"o número de coluna fornecido é muito grande para a implementação 'std::source_location'",
|
||||
"o número de linha fornecido é muito grande para a implementação 'std::source_location'",
|
||||
"uma constante de caractere UTF-16 não pode ocupar mais de uma unidade de código; valor truncado",
|
||||
"ambos os argumentos devem ter o mesmo tipo",
|
||||
"o tipo %téinválido como argumento para este builtin",
|
||||
"chamado de %nd:",
|
||||
"um tipo qualificado não é padrão para campos de bits anônimos",
|
||||
"o tipo de elemento da condição de vetor (%t1) deve ter o mesmo tamanho que o tipo de elemento do resultado (%t2)",
|
||||
"o tipo de operando vetorial de ponto flutuante (%t) não tem nenhum tipo de vetor inteiro correspondente",
|
||||
"a estruturação para expressões 'requires' ainda não foi implementada",
|
||||
"devido a um atributo 'indisponível'",
|
||||
"qualificador 'asm' duplicado",
|
||||
"um campo de bits com um tipo de enumeração incompleto ou uma enumeração opaca com um tipo base inválido",
|
||||
"tentou construir um elemento da partição IFC %sq usando um índice na partição IFC %sq2",
|
||||
"a partição %sq especificou seu tamanho de entrada como %d1 quando %d2 era esperado",
|
||||
"um requisito IFC inesperado foi encontrado durante o processamento do módulo %sq1",
|
||||
"condição falhou na linha %d em %s1: %sq2",
|
||||
"restrição atômica depende de si mesma",
|
||||
"A função 'noreturn' tem um tipo de retorno não nulo",
|
||||
"foi feita uma correção eliminando o parâmetro %sq (no índice relativo %d)",
|
||||
"não é possível especificar um argumento de modelo padrão na definição do modelo de um membro fora de sua classe",
|
||||
"nome de identificador IFC inválido %sq encontrado durante a reconstrução da entidade",
|
||||
null,
|
||||
"valor de classificação inválido do módulo %sq",
|
||||
"um modelo de função carregado de um módulo IFC foi analisado incorretamente como %nd",
|
||||
"falha ao carregar uma referência de entidade IFC no módulo %sq",
|
||||
"da partição %sq, elemento %u1 (posição do arquivo %u2, posição relativa %u3)",
|
||||
"designadores encadeados não são permitidos para um tipo de classe com um destruidor não trivial",
|
||||
"uma declaração de especialização explícita não pode ser uma declaração de friend",
|
||||
"o tipo std::float128_t não tem suporte; em vez disso, std::float64_t será usado",
|
||||
"o tipo std::bfloat16_t não tem suporte; em vez disso, std::float32_t será usado",
|
||||
"um guia de dedução não pode ser declarado para o modelo de alias %no",
|
||||
"%n foi declarado indisponível",
|
||||
"%n foi declarado indisponível (%sq)",
|
||||
"por causa de um atributo 'obsoleto'",
|
||||
"parâmetros de modelo lambda explícitos são um recurso do C++20",
|
||||
"o uso de '_Noreturn' foi obsoleto em C23; use '[[noreturn]]' em vez disso",
|
||||
"o uso de '_Alignof' foi obsoleto em C23; use 'alignof' em vez disso",
|
||||
"o uso de '_Alignas' foi obsoleto em C23; use 'alignas' em vez disso",
|
||||
"o uso de '_Bool' foi obsoleto em C23; use 'bool' em vez disso",
|
||||
"o uso de '_Static_assert' foi obsoleto em C23; use 'static_assert' em vez disso",
|
||||
"o uso de '_Thread_local' foi obsoleto em C23; use 'thread_local' em vez disso",
|
||||
"O modo Microsoft deve estar ativado para usar o arquivo de módulo %sq (um módulo IFC do Microsoft Visual Studio)",
|
||||
"não foi possível abrir o arquivo de módulo %sq",
|
||||
"encontrado no mapa de módulo para o módulo %sq",
|
||||
"encontrado no mapa de unidade de cabeçalho para %sq",
|
||||
"modo de saída não reconhecido (deve ser um texto, sarif): %s",
|
||||
"a opção 'c23_typeof' pode ser usada somente ao compilar C",
|
||||
"número de versão clang inválido: %s",
|
||||
"A cadeia de caracteres IFC contém um caractere nulo (zero) inesperado no módulo %sq",
|
||||
"%d1 de %d2 bytes foram usados",
|
||||
"de informações de string na partição %sq, elemento %u1 (posição do arquivo %u2, posição relativa %u3)",
|
||||
"não é possível avaliar um inicializador para um membro de matriz flexível",
|
||||
"um inicializador de campo de bit padrão é um recurso C++20",
|
||||
"muitos argumentos na lista de argumentos do modelo no módulo %sq",
|
||||
"detectado para o argumento de modelo representado pelo elemento %sq %u1 (posição do arquivo %u2, posição relativa %u3)",
|
||||
"poucos argumentos na lista de argumentos do modelo no módulo %sq",
|
||||
"detectado durante o processamento da lista de argumentos do modelo representada pelo elemento %sq %u1 (posição do arquivo %u2, posição relativa %u3)",
|
||||
"a conversão do tipo de enumeração com escopo %t não é padrão",
|
||||
"a desalocação não corresponde ao tipo de alocação (uma é para uma matriz e a outra não)",
|
||||
"comparação envolve endereço desconhecido (por exemplo, o endereço de uma variável fraca)",
|
||||
"__make_signed é compatível apenas com tipos inteiros e enum não bool",
|
||||
"__make_unsigned só é compatível com inteiros não bool e tipos enum",
|
||||
"o nome intrínseco %sq será tratado como um identificador comum a partir daqui",
|
||||
"acesso ao subobjeto não inicializado no índice %d",
|
||||
"o número de linha IFC (%u1) estoura o valor máximo permitido (%u2), módulo %sq",
|
||||
"o módulo %sq1 solicitou o elemento %u da partição %sq2, essa posição do arquivo excede o valor máximo representável",
|
||||
"número de argumentos errado",
|
||||
"restrição sobre o candidato %n não satisfeita",
|
||||
"o número de parâmetros de %n não corresponde à chamada",
|
||||
"a substituição de argumentos de modelo explícitos %T por %n falhou",
|
||||
"%n é uma função de movimento implicitamente \"= delete\" e, portanto, ignorada durante a resolução de sobrecarga",
|
||||
"%n não corresponde porque o argumento #%d é fornecido para um pacote de parâmetros vazio",
|
||||
"%n não corresponde porque o argumento #%d não corresponde ao parâmetro",
|
||||
"o candidato %n falhou na dedução",
|
||||
"o operador integrado %s não corresponde porque o argumento #%d não corresponde ao parâmetro",
|
||||
"<integral>",
|
||||
"<promoted integral>",
|
||||
"<ptrdiff_t>",
|
||||
"<enum>",
|
||||
"<scoped enum>",
|
||||
"<arithmetic>",
|
||||
"<promoted arithmetic>",
|
||||
"<non-bool arithmetic>",
|
||||
"<pointer>",
|
||||
"<nullptr>",
|
||||
"<handle>",
|
||||
"<handle to CLI array>",
|
||||
"<pointer to object>",
|
||||
"<pointer to function>",
|
||||
"<pointer-to-member>",
|
||||
"<bool>",
|
||||
"<bool-like>",
|
||||
"<class>",
|
||||
"auto(<expr>) e auto{<expr>} são um recurso do C++23",
|
||||
"união anônima inválida — a declaração using não é permitida",
|
||||
"O arquivo IFC %sq não pode ser processado",
|
||||
"A versão IFC %u1.%u2 não tem suporte",
|
||||
"A arquitetura IFC %sq é incompatível com a arquitetura de destino atual",
|
||||
"o módulo %sq1 índice de solicitações %u de uma partição sem suporte correspondente %sq2",
|
||||
"o número de parâmetro %d de %n tem tipo %t que não pode ser concluído",
|
||||
"o número de parâmetro %d de %n tem o tipo incompleto %t",
|
||||
"o número de parâmetro %d de %n tem tipo o abstrato %t",
|
||||
"associações estruturadas são um recurso do C++17",
|
||||
"capturar associações estruturadas é um recurso do C++20"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"операнд * должен быть указателем",
|
||||
"операнд \"*\" должен быть указателем, но имеет тип %t",
|
||||
"пустой аргумент макроса",
|
||||
"это объявление не содержит класс хранения или спецификатор типа",
|
||||
"объявление параметра не может содержать инициализатор",
|
||||
@@ -130,8 +130,8 @@
|
||||
"недостижимый цикл",
|
||||
"функция с областью видимости в пределах блока может содержать только внешний класс хранения",
|
||||
"требуется фигурная скобка \"{\"",
|
||||
"выражение должно иметь тип указателя на класс",
|
||||
"выражение должно иметь тип указателя на структуру или объединение",
|
||||
"выражение должно иметь тип указателя на класс, но имеет тип %t",
|
||||
"выражение должно иметь тип указателя на структуру или объединение, но имеет тип %t",
|
||||
"требуется имя члена",
|
||||
"требуется имя поля",
|
||||
"%n не содержит члена %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"получение адреса битового поля не допускается",
|
||||
"слишком много аргументов в вызове функции",
|
||||
"при наличии тела не допускается использование неименованных параметров с прототипом",
|
||||
"выражение должно иметь тип указателя на объект",
|
||||
"выражение должно иметь тип указателя на объект, но имеет тип %t",
|
||||
"слишком большая или сложная для компиляции программа",
|
||||
"значение типа %t1 нельзя использовать для инициализации сущности типа %t2",
|
||||
"%n не может быть инициализировано",
|
||||
@@ -152,8 +152,8 @@
|
||||
"имя типа не может быть повторно объявлено как параметр",
|
||||
"определение типа не может быть повторно объявлено как параметр",
|
||||
"преобразование ненулевого целочисленного значения в указатель",
|
||||
"выражение должно иметь тип класса",
|
||||
"выражение должно иметь тип структуры или объединения",
|
||||
"выражение должно иметь тип класса, но имеет тип %t",
|
||||
"выражение должно иметь тип структуры или объединения, но имеет тип %t",
|
||||
"устаревший оператор назначения",
|
||||
"устаревший инициализатор",
|
||||
"необходимо использовать целое константное выражение",
|
||||
@@ -180,7 +180,7 @@
|
||||
"применение \"&\" к массиву не дало результата",
|
||||
"правый оператор %% равен нулю",
|
||||
"аргумент несовместим с формальным параметром",
|
||||
"аргумент несовместим с соответствующим преобразованием строки формата",
|
||||
"аргумент несовместим с соответствующим преобразованием строки формата (ожидаемый тип %t1, но аргумент имеет тип %t2)",
|
||||
"не удалось открыть исходный файл %sq (отсутствуют каталоги в списке поиска)",
|
||||
"тип приведения должен быть целочисленным",
|
||||
"тип приведения должен быть арифметическим или указателем",
|
||||
@@ -392,7 +392,7 @@
|
||||
"не удается вызвать функцию \"main\" или получить ее адрес",
|
||||
"невозможно указать новый инициализатор для массива",
|
||||
"функция-член %no не может быть повторно объявлена вне соответствующего класса",
|
||||
"использование указателя на тип неполного класса не допускается",
|
||||
"использование указателя на неполный тип класса %t не допускается",
|
||||
"использование ссылок на локальные переменные включающей функции не допускается",
|
||||
"используется постфиксная форма функции с одним аргументом %sq (устаревший элемент)",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"возвращение ссылки на локальную переменную",
|
||||
"нестандартное упущение явного типа (требуется \"int\")",
|
||||
"списку аргументов шаблона %n соответствует более одной частичной специализации",
|
||||
"%no",
|
||||
"%nod",
|
||||
"использование списка аргументов шаблона в объявлении основного шаблона не допускается",
|
||||
"частичные специализации не могут содержать аргументы шаблона по умолчанию",
|
||||
"%n1 не используется или не может быть выведено из списка аргументов шаблона %n2",
|
||||
@@ -952,7 +952,7 @@
|
||||
"параметр nonstd_using_decl можно использовать только при компиляции C++",
|
||||
"тип возвращаемого значения функции \"main\" должен быть \"int\"",
|
||||
"нетипизированный параметр шаблона не может иметь тип класса",
|
||||
"не удается определить аргумент шаблона по умолчанию в объявлении члена шаблона класса вне соответствующего класса",
|
||||
"аргумент шаблона по умолчанию не может быть указан в определении члена шаблона класса вне шаблона",
|
||||
"Использование оператора return в обработчике блока function try конструктора недопустимо.",
|
||||
"Недопустимо сочетать обычные и расширенные указатели в указании инициализатора.",
|
||||
"второй нижний индекс не может быть меньше первого",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"эту директиву pragma нельзя использовать в операторе _Pragma (следует использовать директиву #pragma)",
|
||||
"в поле используется выравнивание хвостового элемента базового класса",
|
||||
"компиляторы GNU C++ могут использовать выравнивание битового поля",
|
||||
"%nd объявлено как deprecated",
|
||||
"%n объявлено как deprecated",
|
||||
"использование имени ассемблерного кода в объявлении нестатического члена не допускается",
|
||||
"нераспознанный тип функции формата %sq пропущен",
|
||||
"в базовом классе %no1 используется выравнивание хвостового элемента базового класса %no2",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"сложные целые типы не поддерживаются",
|
||||
"__real и __imag могут применяться только к комплексным значениям",
|
||||
"__real или __imag применяется к действительному значению",
|
||||
"%nd объявлено как deprecated (%sq)",
|
||||
"%n объявлено как deprecated (%sq)",
|
||||
"недопустимое повторное объявление %nd",
|
||||
"dllimport или dllexport применяется к члену неименованного пространства имен",
|
||||
"__thiscall может использоваться только в объявлениях статических функций-членов",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"макроопределение",
|
||||
"метка",
|
||||
"параметр шаблона",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"тип",
|
||||
"объединение",
|
||||
"класс",
|
||||
"структура",
|
||||
"параметр шаблона template",
|
||||
"шаблон",
|
||||
"шаблон класса",
|
||||
null,
|
||||
"перечисление",
|
||||
"параметр",
|
||||
"параметр обработчика",
|
||||
"переменная",
|
||||
"нетипизированный",
|
||||
null,
|
||||
"константа",
|
||||
"функцию",
|
||||
"перегруженная функция",
|
||||
"член",
|
||||
"поле",
|
||||
null,
|
||||
"пространство имен",
|
||||
"именованный регистр",
|
||||
"именованное пространство имен",
|
||||
"шаблон функции",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"расширяющее преобразование указателя из %t1 в %t2 расширяет бит знака",
|
||||
"__sptr и __uptr не применимы к типам указателя на элемент.",
|
||||
"Объявление оператора назначения копированием для %t было подавлено, так как %n является константой.",
|
||||
null,
|
||||
"Объявление оператора назначения копированием для %t было подавлено, так как %n имеет ссылочный тип.",
|
||||
"Объявление оператора назначения копированием для %t1 было подавлено, так как подавляется %t2.",
|
||||
"Объявление оператора назначения копированием для %t1 было подавлено, так как %t2 является неоднозначным.",
|
||||
"Объявление оператора назначения копированием для %t1 было подавлено, так как %t2 является недоступным.",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"квалификатор типа не разрешен на конструкторе или деструкторе",
|
||||
"квалификатор типа не разрешается на операторах new или delete",
|
||||
"квалификатор типа не разрешен на функции не элементам",
|
||||
"выражение __assume с отмененными побочными эффектами",
|
||||
"аргумент для %s имеет побочные эффекты, но не вычислен",
|
||||
"нераспознанный вид источника Юникода (должен быть одним из следующих: UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s",
|
||||
"символ Unicode с шестнадцатеричным значением %s не может быть представлен в выводных данных до обработки",
|
||||
"запрошенный приоритет конструктора/деструктора зарезервирован для внутреннего использования",
|
||||
@@ -1916,7 +1916,7 @@
|
||||
"у пакета параметров не может быть значения по умолчанию",
|
||||
"C++/CLI можно включить только в режиме Microsoft C++",
|
||||
"нельзя использовать \"value__\" в качестве имени константы перечислителя (в данном контексте это зарезервированное имя)",
|
||||
"в типе перечисления, базовым типом которого является логический, требуется явное значение перечислителя",
|
||||
"в типе перечисления, в основе которого лежит логический тип данных, требуется явное значение перечислителя",
|
||||
null,
|
||||
"ссылка на пакет параметров %sq присутствует, однако пакет не раскрыт",
|
||||
"при раскрытии пакетов никакие пакеты аргументов не используются",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"для спецификатора видимости верхнего уровня требуется определение типа",
|
||||
"тривиальное свойство не может относиться к ссылочному типу",
|
||||
"тривиальное свойство не может относиться к типу const или volatile",
|
||||
"переменная %nd была ранее объявлена как относящаяся к другому типу перечисления",
|
||||
"переменная %nd была ранее объявлена как другой тип перечисления",
|
||||
"полученная лямбда-выражением переменная не может относиться к типу класса %[managed]",
|
||||
"в классах %[managed] не допускается переопределение виртуальных функций с ковариантным типом возвращаемых значений",
|
||||
"использование массивов дескрипторов не допускается",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"именованный спецификатор переопределения может применяться только в классах %[managed]",
|
||||
"ни один из членов, помеченных именованным спецификатором переопределения, не соответствует типу данного члена",
|
||||
"объявление статического конструктора не может включать именованный спецификатор переопределения",
|
||||
"Тип ограниченного перечисления должен иметь имя.",
|
||||
"тип ограниченного перечисления должен иметь имя",
|
||||
"не допускается передача управления в блок finally",
|
||||
"Оператор return внутри блока finally недопустим.",
|
||||
"для блока try требуется как минимум один обработчик или одно предложение finally",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"поле initonly может изменяться только конструктором экземпляра или содержащим его классом",
|
||||
"статическое поле initonly может изменяться только статическим конструктором или содержащим его классом",
|
||||
"функция-член будет вызываться для копии поля initonly",
|
||||
"выражение должно иметь тип указателя или дескриптора",
|
||||
"выражение должно иметь тип указателя или дескриптора, но имеет тип %t",
|
||||
"конструктор перемещения или оператор назначения перемещения используется для копирования сюда значения lvalue, что может привести к потере исходного объекта",
|
||||
"для выбора члена в универсальной сущности %[C++/CLI] должен использоваться синтаксис \"->\", а не \".\"",
|
||||
"тип ссылочного класса не может быть производным от %t",
|
||||
@@ -2216,7 +2216,7 @@
|
||||
"тип в операторе dynamic_cast не может быть универсальным типом, который может быть типом значения",
|
||||
"универсальное имя символа должно обозначать допустимую точку кода",
|
||||
"универсальные ограничения не соответствуют ограничениям %nd",
|
||||
"__underlying_type применяется только к типам перечислений",
|
||||
"__базовый_тип применяется только к типам перечисления",
|
||||
"для этого приведения ожидалось только одно выражение операнда",
|
||||
"Символ Юникода с шестнадцатеричным значением %s не может быть представлен с помощью системной кодовой страницы по умолчанию",
|
||||
"Нестандартное преобразование связанного указателя на элемент в указатель на функцию",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"небезопасный оператор reinterpret_cast дескриптора",
|
||||
"аргумент шаблона не может ссылаться на параметр универсального типа",
|
||||
"в этом операторе подстрочного знака не разрешен список выражений (заключите в скобки оператор запятой верхнего уровня)",
|
||||
"выражение должно содержать тип указателя на объект или дескриптора массива %[C++/CLI]",
|
||||
"выражение должно иметь тип указателя на объект или дескриптора массива %[C++/CLI], но имеет тип %t",
|
||||
"нераспознанный атрибут",
|
||||
"член класса %[managed] не может относиться к типу класса не %[managed]",
|
||||
"член класса не %[managed] не может содержать тип ссылочного класса или класса интерфейса",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"%nd ранее объявлено с другим базовым типом",
|
||||
"здесь нельзя использовать \"enum class\" и \"enum struct\" (используйте простое перечисление \"enum\")",
|
||||
"в инициализаторе объекта типа %t допускается использовать только один уровень фигурных скобок",
|
||||
"%nd нельзя использовать в качестве имени типа перечисления",
|
||||
"%nd не может использоваться в качестве имени типа перечисления",
|
||||
null,
|
||||
"невозможно использовать заключенный в фигурные скобки инициализатор с оператором \"new auto\"",
|
||||
"определение std::initializer_list не содержит ожидаемого конструктора",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"Инициализатор неклассовой сущности в круглых скобках должен быть выражением, а не списком в фигурных скобках.",
|
||||
"Список в фигурных скобках не предоставляет тип возвращаемого значения для этой лямбды.",
|
||||
"объявленная спецификация исключения несовместима с созданной",
|
||||
"Типы ограниченного перечисления являются возможностью С++11.",
|
||||
"типы ограниченного перечисления являются возможностью С++11",
|
||||
"тип функции не может инициализироваться значением",
|
||||
"инициализация объекта типа %t в списке не разрешена, потому что тип не завершен",
|
||||
"std::initializer_list имеет деструктор, хотя не должен — библиотека настроена неверно",
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"Определение открытого типа C++/CX не может находиться в глобальной области.",
|
||||
"не допускается использовать индексируемое свойство с открытым методом доступа \"get\" или \"set\"",
|
||||
"открытые вложенные типы делегата запрещены",
|
||||
"недопустимый инициализатор делегата — ожидалось \"(<адрес_или_объект_функции> [, Platform::CallbackContext])\" или \"(<дескриптор_объекта>, <адрес_члена> [, Platform::CallbackContext [, bool]])\"",
|
||||
"недопустимый инициализатор делегата — ожидалось \"(<function-address or functor-object> [, Platform::CallbackContext])\" или \"(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])\"",
|
||||
"недопустимый инициализатор делегата — объект должен быть дескриптором класса %[managed]",
|
||||
"C++/CX не поддерживает массивы \"in/out\" — используйте \"const Platform::Array<T>^\" для \"in\" и \"Platform::WriteOnlyArray<T>^\" или \"Platform::Array<T>^*\" для массивов \"out\" в открытых API.",
|
||||
"отсутствует атрибут target для %nd",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"переменная в функции constexpr не инициализирована",
|
||||
"заключенная в фигурные скобки инициализация переменной, объявленная с типом заполнителя, но без \"=\", должна содержать строго один элемент внутри фигурных скобок",
|
||||
"конфигурация \"%s\" --target не существует",
|
||||
"атрибут не поддерживается в 64-разрядных конфигурациях x86",
|
||||
"атрибут поддерживается только в 32-разрядных (x86) конфигурациях",
|
||||
"для \"%s\" требуется аргумент",
|
||||
"Конструктор или деструктор не может быть сопрограммой.",
|
||||
"%n не может быть сопрограммой.",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"выражение co_await запрещено использовать внутри предложения catch",
|
||||
"Сопрограмма не может иметь параметр-многоточие.",
|
||||
"для включения constexpr в стиле C++ 14 требуется поддержка bool",
|
||||
"функция constexpr %nd не определена",
|
||||
"constexpr %nd не определено",
|
||||
"невозможно вычислить этот вызов, так как целевая функция %nd не является функцией constexpr или пока еще не определена полностью",
|
||||
"примечание",
|
||||
"Примечание",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"не допускается применять описатель _Atomic(...) к квалифицированному типу %t",
|
||||
"доступ к элементу объекта _Atomic",
|
||||
"битовое поле не может иметь тип _Atomic",
|
||||
"типы классов _Atomic отключены",
|
||||
null,
|
||||
"Конструктор constexpr вызывает конструктор, не относящийся к constexpr, для инициализации подобъекта.",
|
||||
"ожидается запятая (версия static_assert с одним аргументом в этом режиме не включена)",
|
||||
"сбой статического утверждения",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"copy-list-initialization не может использовать explicit %n",
|
||||
"правила дедукции",
|
||||
"Недопустимое значение для определенного пользователем литерального оператора",
|
||||
"__has_cpp_attribute не может находиться вне #if или #elif",
|
||||
"%s не может находиться вне директив препроцессора",
|
||||
"Правила дедукции должны быть объявлены с тем же доступом, что и %n.",
|
||||
"лямбда-выражение недопустимо в этом контексте",
|
||||
"указанное выравнивание не соответствует предыдущему объявлению",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"недопустимый тип %t в указателе this для функции-члена %nfd с описателем ограничения amp",
|
||||
"Недопустимый тип возвращаемого значения %t для функции %nfd со спецификатором ограничения amp.",
|
||||
"Недопустимый тип параметра %t для функции %nfd со спецификатором ограничения amp.",
|
||||
null,
|
||||
"Недопустимая метка в функции %nfd со спецификатором ограничения amp.",
|
||||
"Недопустимый класс хранения %s в функции %nfd со спецификатором ограничения amp.",
|
||||
"Недопустимо использовать %s в функции %nfd со спецификатором ограничения amp.",
|
||||
"Недопустимое приведение в функции со спецификатором ограничения amp.",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"требуется \">>>\"",
|
||||
"не удается найти объявление __cudaPushCallConfiguration. Установка набора инструментов CUDA может быть повреждена.",
|
||||
"Инициализатор в стиле C++17 является нестандартным в этом режиме",
|
||||
"захват значения *this является нестандартным в этом режиме",
|
||||
"Префикс атрибута using в стиле C++17 является нестандартным в этом режиме",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"непостоянный тип %t не позволяет выполнять вычисление constexpr для __builtin_bit_cast",
|
||||
"тип %t объединения, указателя или указателя на элемент не позволяет выполнять вычисление constexpr для __builtin_bit_cast.",
|
||||
"%npTd, унаследованный с помощью decl %p",
|
||||
"невозможно выполнить конструирование подобъекта %t для наследования конструкторов — неявный конструктор по умолчанию удален.",
|
||||
"невозможно выполнить конструирование подобъекта %t для наследования конструкторов — связанный конструктор удален",
|
||||
"%n требует возврата void.",
|
||||
"недопустимое начало объявления элемента",
|
||||
"ожидается \"auto\"",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"объявление экспорта не может содержать объявление импорта модуля",
|
||||
"объявление экспорта может находиться только в блоке интерфейса модуля",
|
||||
"объявление экспорта не может экспортировать имя с внутренней компоновкой",
|
||||
"объявление using включает %nfd",
|
||||
"встроенная функция недоступна, так как типы с плавающей запятой __fp16 не поддерживаются",
|
||||
null,
|
||||
null,
|
||||
"в выражении requires должно быть указано по крайней мере одно требование",
|
||||
"\"constinit\" не может использоваться здесь",
|
||||
"\"constinit\" может использоваться только для объявлений переменных со сроком хранения в статическом или потоковом хранилище",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"сопоставление файла модуля для \"%s\" указано несколько раз",
|
||||
"сопоставление блока заголовка для \"%s\" указано несколько раз",
|
||||
"сопоставление для \"%s\" не указано",
|
||||
"сопоставление файла модуля для \"%s\" является недопустимым",
|
||||
null,
|
||||
"не удается найти заголовок \"%s\" для импорта",
|
||||
"несколько файлов в списке файлов модулей соответствуют \"%s\"",
|
||||
"файл модуля, обнаруженный для \"%s\", относится к другому модулю",
|
||||
"любой тип файла модуля",
|
||||
"не удалось прочитать файл модуля",
|
||||
"встроенная функция недоступна, так как тип char8_t не поддерживается с текущими параметрами.",
|
||||
"невозможно указать параметр командной строки --ms_await, если включены сопрограммы C++20.",
|
||||
null,
|
||||
"нестандартное использование явного конструктора %nod для агрегатной инициализации элементов по умолчанию.",
|
||||
"источник или назначение встроенной функции, похожей на memcpy, не указывает на объект",
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать различные с точки зрения представления типы %t1 и %t2",
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать нетривиально копируемый тип %t",
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать частичный объект",
|
||||
"Встроенная функция, похожая на memcpy, пытается выполнить копирование за границей массива",
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать перекрывающиеся диапазоны байтов (вместо использования соответствующей операции memmove)"
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать перекрывающиеся диапазоны байтов (вместо использования соответствующей операции memmove)",
|
||||
"дружественное объявление с завершающим предложением requires должно быть определением",
|
||||
"выражение должно иметь арифметический тип или тип указателя, но имеет тип %t",
|
||||
"выражение должно иметь арифметический тип, тип перечисления или тип указателя, но имеет тип %t",
|
||||
"выражение должно иметь арифметический тип, тип перечисления без области или тип указателя, но имеет тип %t",
|
||||
"выражение должно иметь тип указателя, но имеет тип %t",
|
||||
"оператор -> или ->* применяется к %t, а не к типу указателя",
|
||||
"недопустимый неполный тип класса %t",
|
||||
"не удается интерпретировать битовый макет для этого целевого объекта компиляции",
|
||||
"отсутствует соответствующий оператор для оператора IFC %sq",
|
||||
"отсутствует соответствующее соглашение о вызовах для соглашения о вызовах IFC %sq",
|
||||
"модуль %sq содержит неподдерживаемые конструкции",
|
||||
"неподдерживаемая конструкция IFC: %sq",
|
||||
"__is_signed больше не является ключевым словом из этой точки",
|
||||
"измерение массива должно иметь постоянное целочисленное значение без знака",
|
||||
"файл IFC %sq имеет неподдерживаемую версию %d1.%d2",
|
||||
"модули не включены в этом режиме",
|
||||
"слово \"import\" не допускается в имени модуля",
|
||||
"слово \"module\" не допускается в имени модуля",
|
||||
null,
|
||||
null,
|
||||
"%n не является типом перечисления",
|
||||
"перечислитель %no2 конфликтует с %n1",
|
||||
"перечислитель %no уже объявлен в этой области %p",
|
||||
"спецификация \"throw()\" не входит в C++20 и более поздние версии",
|
||||
"несколько записей в карте блока заголовка соответствуют \"%s\"",
|
||||
"диагностика #pragma должна иметь аргумент \"push\" или \"pop\"",
|
||||
"не найден параметр \"#pragma diagnostic push\", соответствующий этому \"diagnostic pop\"",
|
||||
"%sq не может быть макросом при использовании в директиве \"import\" или \"module\"",
|
||||
"эта директива может использоваться только в области глобального пространства имен",
|
||||
"объявление \"export\" может использоваться только в глобальной области или области пространства имен",
|
||||
"%sq анализируется как идентификатор, а не как ключевое слово, поскольку следующие токены не соответствуют токенам директивы препроцессора",
|
||||
"это выглядит как начало директивы препроцессора, однако должен присутствовать знак \";\", за которым идет переход на новую строку",
|
||||
"по-видимому, это директива препроцессора модулей, но такие директивы не могут присутствовать в расширении макроса",
|
||||
"директива \"module\" не может находиться в области условного включения (например, #if, #else, #elseif и т. д.)",
|
||||
"импорт %sq был пропущен",
|
||||
"тип обещания %t должен объявить get_return_object_on_allocation_failure как элемент статической функции, не требующий аргументов",
|
||||
"шаблон псевдонима не может быть явно специализированным",
|
||||
"в соответствие с этим \"{\"",
|
||||
"в этом вызове макроса",
|
||||
"для вызова требуется неоднозначное преобразование аргумента",
|
||||
"объявление, которым владеет модуль %s, конфликтует с %nd",
|
||||
"объявление, которым владеет глобальный модуль, конфликтует с %nd, которым владеет именованный модуль",
|
||||
"первый аргумент атрибута \"malloc\" должен быть функцией",
|
||||
"не удается захватить %nod",
|
||||
"не удается захватить \"this\"",
|
||||
"уже в контексте consteval",
|
||||
"Для \"if consteval\" и \"if not consteval\" требуются зависимые операторы в фигурных скобках",
|
||||
"\"if consteval\" и \"if not consteval\" не имеют смысла в функции, отличной от constexpr",
|
||||
"передача управления оператору \"if consteval\" или \"if not consteval\" не допускается",
|
||||
"вычисление константы не может проходить через объявление переменной со статической длительностью или длительностью хранилища потока",
|
||||
"изменяемый квалификатор недопустим для лямбды с явным параметром \"this\"",
|
||||
"функция-член, объявленная со значением \"static\", не может иметь явный параметр \"this\"",
|
||||
"явный параметр \"this\" должен быть первым объявленным параметром",
|
||||
"\"this\" здесь не разрешено",
|
||||
"функция сравнения с явным параметром \"this\" не может быть задана по умолчанию",
|
||||
"для явной функции \"this\" требуется операнд селектора",
|
||||
"\"if consteval\" и \"if not consteval\" не являются стандартными в этом режиме",
|
||||
"опущение \"()\" в лямбда-операторе объявления является нестандартным в этом режиме",
|
||||
"конечное предложение requires не допускается, если список лямбда-параметров опущен",
|
||||
"запрошен недопустимый раздел модуля %sq",
|
||||
"запрошен неопределенный раздел модуля %sq1 (предполагается — %sq2)",
|
||||
null,
|
||||
null,
|
||||
"модуль %sq1, позиция файла %u1 (относительная позиция %u2) запрошена для раздела %sq2, который переполняет окончание этого раздела",
|
||||
"модуль %sq1, позиция файла %u1 (относительная позиция %u2) запрошена для раздела %sq2, который не выровнен по элементам разделов",
|
||||
"из подполя %sq (относительное положение к узлу %d)",
|
||||
"из раздела %sq, элемент %u1 (позиция файла %u2, относительная позиция %u3)",
|
||||
"здесь нестандартные лямбда-атрибуты",
|
||||
"идентификатор %sq можно перепутать с визуально похожим %p",
|
||||
"этот комментарий содержит подозрительные управляющие символы форматирования Юникода",
|
||||
"эта строка содержит управляющие символы форматирования Юникода, которые могут привести к непредвиденной работе среды выполнения",
|
||||
"обнаружено %d1 подавленное предупреждение при обработке модуля %sq1",
|
||||
"обнаружено несколько (%d1) подавленных предупреждений при обработке модуля %sq1",
|
||||
"Обнаружена %d1 подавленная ошибка при обработке модуля %sq1",
|
||||
"Обнаружено несколько (%d1) подавленных ошибок при обработке модуля %sq1",
|
||||
"включая",
|
||||
"подавлено",
|
||||
"виртуальная функция-член не может иметь явный параметр \"this\"",
|
||||
"для получения адреса явной функции \"this\" требуется полное имя",
|
||||
"для формирования адреса явной функции \"this\" требуется оператор \"&\"",
|
||||
"строковый литерал нельзя использовать для инициализации элемента гибкого массива",
|
||||
"Представление IFC определения функции %sq недопустимо",
|
||||
null,
|
||||
"диаграмма IFC UniLevel не использовалось для указания параметров",
|
||||
"несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC",
|
||||
"%d1 параметр указан в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC",
|
||||
"несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как %d2 параметр указан в объявлении IFC",
|
||||
"Представление IFC определения функции %sq отсутствует",
|
||||
"модификатор функции не применяется к объявлению шаблона элемента",
|
||||
"выбор элемента включает слишком много вложенных анонимных типов",
|
||||
"между операндами нет общего типа",
|
||||
"необходим указатель на элемент",
|
||||
"гибкий элемент массива не может быть объявлен в пустом типе",
|
||||
"ожидается, что ''std::source_location::__impl'' будет определен для класса только с элементами данных ''_M_function_name'', ''_M_file_name'', ''_M_column'', ''_M_line''",
|
||||
"заданный номер столбца слишком велик для реализации \"std::source_location\"",
|
||||
"заданный номер строки слишком велик для реализации \"std::source_location\"",
|
||||
"символьная константа UTF-16 не может занимать более одной кодовой единицы; значение усечено",
|
||||
"оба аргумента должны быть одного типа",
|
||||
"тип %t недопустим в качестве аргумента для этой встроенной функции.",
|
||||
"вызвано из %nd:",
|
||||
"нестандартный тип с квалификатором для анонимных битовых полей",
|
||||
"тип элемента векторного условия (%t1) должен иметь тот же размер, что и тип элемента результата (%t2)",
|
||||
"тип векторного операнда с плавающей запятой (%t) не имеет соответствующего целочисленного векторного типа",
|
||||
"искажение для выражений \"requires\" еще не реализовано",
|
||||
"из-за атрибута \"unavailable\"",
|
||||
"дубликат квалификатора \"asm\"",
|
||||
"битовые поля с неполным типом или непрозрачное перечисление с недопустимым базовым типом",
|
||||
"попытка создать элемент из раздела IFC %sq с использованием индекса в разделе IFC %sq2",
|
||||
"раздел %sq указал размер своей записи как %d1, в то время как ожидалось %d2",
|
||||
"При обработке модуля %sq1 было обнаружено неожиданное требование IFC",
|
||||
"сбой условия в строке %d в %s1: %sq2",
|
||||
"атомарное ограничение зависит от самого себя",
|
||||
"Функция \"noreturn\" имеет не недействительный тип возврата",
|
||||
"исправление внесено путем удаления параметра %sq (по относительному индексу %d)",
|
||||
"аргумент шаблона по умолчанию не может быть указан в определении шаблона элемента вне его класса",
|
||||
"обнаружено недопустимое имя идентификатора IFC %sq во время реконструкции сущности",
|
||||
null,
|
||||
"недопустимое значение сортировки модуля %sq",
|
||||
"шаблон функции, загруженный из модуля IFC, был неправильно проанализирован как %nd",
|
||||
"не удалось загрузить ссылку на объект IFC в модуль %sq",
|
||||
"из раздела %sq, элемент %u1 (позиция файла %u2, относительная позиция %u3)",
|
||||
"цепные обозначения не разрешены для типа класса с нетривиальным деструктором",
|
||||
"явное объявление специализации не может быть объявлением дружественной функции",
|
||||
"тип std::float128_t не поддерживается; вместо этого будет использоваться std::float64_t",
|
||||
"тип std::bfloat16_t не поддерживается; вместо этого будет использоваться std::float32_t",
|
||||
"руководство по дедукции не может быть объявлено для шаблона псевдонима %no",
|
||||
"%n объявлено недоступным",
|
||||
"%n объявлено недоступным (%sq)",
|
||||
"из-за атрибута \"deprecated\"",
|
||||
"явные параметры шаблона лямбда-выражения — это функция C++20",
|
||||
"использование \"_Noreturn\" устарело в C23; используйте вместо этого \"[[noreturn]]\"",
|
||||
"использование \"_Alignof\" устарело в C23; используйте вместо этого \"alignof\"",
|
||||
"использование \"_Alignas\" устарело в C23; используйте вместо этого \"alignas\"",
|
||||
"использование \"_Bool\" устарело в C23; используйте вместо этого \"bool\"",
|
||||
"использование \"_Static_assert\" устарело в C23; используйте вместо этого \"static_assert\"",
|
||||
"использование \"_Thread_local\" устарело в C23; используйте вместо этого \"thread_local\"",
|
||||
"Для использования файла модуля %sq должен быть включен режим Майкрософт (модуль IFC Microsoft Visual Studio)",
|
||||
"не удалось открыть файл модуля %sq",
|
||||
"найдено в сопоставлении модулей для модуля %sq",
|
||||
"найдено в сопоставлении единиц заголовка для %sq",
|
||||
"нераспознанный режим вывода (должен быть одним из текстовых, sarif): %s",
|
||||
"параметр 'c23_typeof' можно использовать только при компиляции С",
|
||||
"недопустимый номер версии Clang: %s",
|
||||
"Строка IFC содержит непредвиденный символ NULL (ноль) в модуле %sq",
|
||||
"Использовано байт: %d1 из %d2",
|
||||
"из сведений строки раздела %sq, элемент %u1 (позиция файла %u2, относительная позиция %u3)",
|
||||
"не удается оценить инициализатор для элемента гибкого массива",
|
||||
"стандартный инициализатор битового поля является функцией C++20",
|
||||
"слишком много аргументов в списке аргументов шаблона в модуле %sq",
|
||||
"обнаружено для аргумента шаблона, представленного элементом %sq %u1 (позиция файла %u2, относительная позиция %u3)",
|
||||
"слишком мало аргументов в списке аргументов шаблона в модуле %sq",
|
||||
"обнаружено при обработке для списка аргументов шаблона, представленного элементом %sq %u1 (позиция файла %u2, относительная позиция %u3)",
|
||||
"преобразование из типа ограниченного перечисления %t является нестандартным",
|
||||
"освобождение не соответствует типу выделения (одно из них для массива, а другое нет)",
|
||||
"сравнение включает неизвестный адрес (например, адрес слабой переменной)",
|
||||
"__make_signed совместимо только с нелогическими целыми числами и типами перечислений",
|
||||
"__make_unsigned совместимо только с нелогическими целыми числами и типами перечислений",
|
||||
"внутреннее имя %sq будет рассматриваться с этого момента как обычный идентификатор",
|
||||
"доступ к неинициализированному подобъекту в индексе %d",
|
||||
"Номер строки IFC (%u1) переполняет максимально допустимое значение (%u2) модуля %sq",
|
||||
"модуль %sq1 запросил элемент %u раздела %sq2, эта позиция файла превышает максимальное отображаемое значение",
|
||||
"неправильное количество аргументов",
|
||||
"ограничение по соискателю %n не выполнено",
|
||||
"количество параметров %n не соответствует вызову",
|
||||
"не удалось подставить явные аргументы шаблона %T для %n",
|
||||
"%n является неявной функцией перемещения \"= delete\" и поэтому игнорируется при разрешении перегрузки",
|
||||
"%n не совпадает, так как аргумент #%d указан для пустого пакета параметров",
|
||||
"%n не совпадает, так как аргумент #%d не соответствует параметру",
|
||||
"сбой дедукции соискателя %n",
|
||||
"встроенный оператор %s не совпадает, так как аргумент #%d не соответствует параметру",
|
||||
"<целочисленное значение>",
|
||||
"<повышенное целочисленное значение>",
|
||||
"<ptrdiff_t>",
|
||||
"<перечисление>",
|
||||
"<перечисление с областью>",
|
||||
"<арифметическое>",
|
||||
"<повышенное арифметическое значение>",
|
||||
"<нелогическое арифметическое>",
|
||||
"<указатель>",
|
||||
"<nullptr>",
|
||||
"<дескриптор>",
|
||||
"<дескриптор массива CLI>",
|
||||
"<указатель на объект>",
|
||||
"<указатель на функцию>",
|
||||
"<указатель на элемент>",
|
||||
"<логическое>",
|
||||
"<bool-like>",
|
||||
"<класс>",
|
||||
"auto(<expr>) и auto{<expr>} — это функции C++23",
|
||||
"недопустимое анонимное объединение -- объявление using не допускается",
|
||||
"Не удается обработать файл IFC %sq",
|
||||
"Версия IFC %u1.%u2 не поддерживается",
|
||||
"Архитектура IFC %sq несовместима с текущей целевой архитектурой",
|
||||
"модуль %sq1 запрашивает индекс %u неподдерживаемой секции, соответствующей %sq2",
|
||||
"номер параметра %d из %n имеет тип %t, который не может быть завершен",
|
||||
"номер параметра %d из %n имеет неполный тип %t",
|
||||
"номер параметра %d из %n имеет абстрактный тип %t",
|
||||
"структурированные привязки — это функция C++17",
|
||||
"запись структурированных привязок — это функция C++20"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'*' işleneni bir işaretçi olmalı",
|
||||
"'*' işleneni bir işaretçi olmalıdır ancak %t türüne sahip",
|
||||
"makroya ait bağımsız değişken boş",
|
||||
"bu bildirimin depolama sınıfı veya tür tanımlayıcısı yok",
|
||||
"bir parametre bildiriminde başlatıcı bulunamaz",
|
||||
@@ -130,8 +130,8 @@
|
||||
"döngüye erişilemiyor",
|
||||
"bir blok-kapsam işlevi, yalnızca dış depolama sınıfına sahip olabilir",
|
||||
"'{' bekleniyor",
|
||||
"ifade, class'a işaretçi türünde olmalıdır",
|
||||
"ifade, struct veya union'a işaretçi türünde olmalı",
|
||||
"ifade sınıf işaretçisi türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"ifade yapı veya birleşim işaretçisi türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"üye adı bekleniyor",
|
||||
"alan adı bekleniyor",
|
||||
"%n, %sq üyesine sahip değil",
|
||||
@@ -141,7 +141,7 @@
|
||||
"bir bit alanının adresini almaya izin verilmiyor",
|
||||
"işlev çağrısında fazla sayıda bağımsız değişken var",
|
||||
"gövde mevcutken adlandırılmamış prototip parametrelerine izin verilmiyor",
|
||||
"ifade, nesneye işaretçi türünde olmalı",
|
||||
"ifade nesne işaretçisi türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"program, derlemek için çok büyük veya çok karmaşık",
|
||||
"%t2 türünde bir varlığı başlatmak için %t1 türünde bir değer kullanılamaz",
|
||||
"%n başlatılamaz",
|
||||
@@ -152,8 +152,8 @@
|
||||
"bir tür adı, parametre olarak yeniden tanımlanamaz",
|
||||
"bir typedef adı, parametre olarak yeniden tanımlanamaz",
|
||||
"sıfır olmayan tamsayı - işaretçi dönüşümü",
|
||||
"ifade, class türünden olmalı",
|
||||
"ifade, struct veya union türünden olmalı",
|
||||
"ifade sınıf türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"ifade yapı veya birleşim türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"eski tip atama işleci",
|
||||
"eski tip başlatıcı",
|
||||
"ifade, bir sabit tam sayı ifadesi olmalı",
|
||||
@@ -180,7 +180,7 @@
|
||||
"bir diziye uygulanan '&' işaretinin bir etkisi yok",
|
||||
"'%%' öğesinin sağ işleneni sıfır",
|
||||
"bağımsız değişken, biçimsel parametre ile uyumlu değil",
|
||||
"bağımsız değişken, ilgili dize biçim dönüştürmesine uyumlu değil",
|
||||
"bağımsız değişken karşılık gelen biçim dizesi dönüştürmesi ile uyumsuz (beklenen tür %t1 ancak bağımsız değişkenin türü %t2)",
|
||||
"kaynak dosya %sq açılamıyor (arama listesinde dizin yok)",
|
||||
"dönüştürme türü, tamsayı türünde olmalı",
|
||||
"dönüştürme türü, aritmetik veya işaretçi türünde olmalı",
|
||||
@@ -392,7 +392,7 @@
|
||||
"'main' işlevinin adresi alınamaz veya işleve çağrı yapılamaz",
|
||||
"bir dizi için 'new' başlatıcısı belirtilemez",
|
||||
"%no üye işlevi, kendi sınıfının dışında tekrar bildirilemez",
|
||||
"tamamlanmamış sınıf türüne işaretçiye izin verilmiyor",
|
||||
"tamamlanmamış %t sınıf türüne yönelik işaretçiye izin verilmiyor",
|
||||
"kapsayan işlevin yerel değişkenine başvuru yapılmasına izin verilmiyor",
|
||||
"sonek %sq için tek bağımsız değişkenli işlev kullanılmış (anakronizm)",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"yerel değişkene başvuru döndürülüyor",
|
||||
"belirtik türün atlanması standart dışı ('int' varsayılıyor)",
|
||||
"birden fazla kısmi özelleşme, %n öğesinin şablon bağımsız değişken listesi ile eşleşiyor",
|
||||
"%no",
|
||||
"%nod",
|
||||
"bir birincil şablon bildiriminde, şablon bağımsız değişken listesine izin verilmiyor",
|
||||
"kısmi özelleşmeler varsayılan şablon bağımsız değişkenlerine sahip olamaz",
|
||||
"%n1, %n2 öğesinin şablon bağımsız değişken listesinde kullanılamaz veya bu listeden çıkarsanamaz",
|
||||
@@ -952,7 +952,7 @@
|
||||
"'nonstd_using_decl' seçeneği yalnızca C++ derlerken kullanılabilir",
|
||||
"'main' işlevinin dönüş türü 'int' olmalı",
|
||||
"tür olmayan bir şablon parametresi, sınıf türünden olamaz",
|
||||
"varsayılan bir şablon bağımsız değişkeni, sınıfının dışındaki bir sınıf şablonu üyesinin bildiriminde belirtilemez",
|
||||
"varsayılan bir şablon bağımsız değişkeni, şablonun dışındaki bir sınıf şablonu üyesinin tanımında belirtilemez",
|
||||
"bir oluşturucunun işlev try bloğunun işleyicisinde, bir return deyimine izin verilmiyor",
|
||||
"sıradan ve genişletilmiş belirleyiciler, bir başlatıcı gösteriminde birleştirilemiyor",
|
||||
"ikinci alt indis ilkinden küçük olmamalıdır",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"bu pragma bir _Pragma işleci içinde kullanılamaz (bir #pragma yönergesi kullanılmalı)",
|
||||
"alan, bir temel sınıfın kuyruk dolgusunu kullanıyor",
|
||||
"GNU C++ derleyicileri bit alanı dolgusu kullanabilir",
|
||||
"%nd kullanım dışı olarak bildirildi",
|
||||
"%n kullanımdan kaldırıldığı bildirildi",
|
||||
"statik olmayan bir üye bildiriminde bir asm adına izin verilmiyor",
|
||||
"tanınmayan biçim işlevi türü %sq yoksayılıyor",
|
||||
"temel %no1 sınıfı, temel %no2 sınıfının kuyruk dolgusunu kullanıyor",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"sınıf şablonlarında, dllexport ve dllimport yoksayılıyor",
|
||||
"temel sınıftaki dllexport/dllimport özelleştirmesi, türetilmiş sınıftaki ile aynı değil",
|
||||
"yeniden bildirim, %nod öğesine dllexport/dllimport ekleyemez",
|
||||
"dllexport/dllimport %nod ile çakışıyor; dllexport varsayıldı",
|
||||
"dllexport/dllimport %nod; ile çakışıyor; dllexport varsayıldı",
|
||||
"dllimport varlığı tanımlanamıyor",
|
||||
"dllexport/dllimport dış bağlantı gerektiriyor",
|
||||
"dllexport/dllimport ile bildirilen bir sınıfın üyesi, böyle bir belirtici ile bildirilemez",
|
||||
"DLL arabirimi olmayan sınıf türü alanı, DLL arabirimi olan bir sınıf ile kullanılıyor",
|
||||
"parantez içine alınmış üye bildirimi standart dışı",
|
||||
"satır ek yerindeki ters eğik çizgi ve yeni satır arasındaki boşluk yoksayılıyor",
|
||||
"dllexport/dllimport %nod ile çakışıyor; dllimport/dllexport bırakıldı",
|
||||
"dllexport/dllimport %nod; ile çakışıyor; dllimport/dllexport bırakıldı",
|
||||
"anonim üye sınıfı için geçersiz üye -- %t sınıfının izin verilmeyen bir üye işlevi var",
|
||||
"standart dışı reinterpret_cast",
|
||||
"konumsal biçim tanımlayıcı sıfır olamaz",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"karmaşık tam sayı türleri desteklenmiyor",
|
||||
"__real ve __imag yalnızca karmaşık değerlere uygulanabilir",
|
||||
"__real/__imag gerçek değere uygulandı",
|
||||
"%nd kullanım dışı olarak bildirildi (%sq)",
|
||||
"%n kullanımdan kaldırıldı (%sq) olarak bildirildi",
|
||||
"%nd öğesinin yeniden tanımlanması geçersiz",
|
||||
"dll/dllexport adlandırılmamış bir ad uzayının bir üyesine uygulanıyor",
|
||||
"__thiscall, yalnızca statik olmayan üye işlev bildirimlerinde bulunabilir",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"makro",
|
||||
"etiket",
|
||||
"şablon parametresi",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"tür",
|
||||
"birleşim",
|
||||
"sınıf",
|
||||
"yapı",
|
||||
"şablon parametresi şablonu",
|
||||
"şablon",
|
||||
"sınıf şablonu",
|
||||
null,
|
||||
"sabit listesi",
|
||||
"parametre",
|
||||
"işleyici parametresi",
|
||||
"değişken",
|
||||
"tür olmayan",
|
||||
null,
|
||||
"sabit",
|
||||
"işlev",
|
||||
"aşırı yüklenmiş işlev",
|
||||
"üye",
|
||||
"alan",
|
||||
null,
|
||||
"ad alanı",
|
||||
"adlandırılmış yazmaç",
|
||||
"adlandırılmış adres alanı",
|
||||
"işlev şablonu",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"%t1 ile %t2 işaretçileri arasındaki genişleyen işaretçi dönüşümü, işaret bitini genişletiyor",
|
||||
"__sptr ve __uptr üye işaretçisi türleri için geçerli değil",
|
||||
"%t için kopya atama işlecinin bildirimi, %n const olduğundan dolayı gizlendi",
|
||||
null,
|
||||
"%t için kopya atama işlecinin bildirimi, %n içinde başvuru türü olduğundan kullandırılmadı",
|
||||
"%t1 için kopya atama işlecinin bildirimi, %t2 gizlendiğinden dolayı gizlendi",
|
||||
"%t1 için kopya atama işlecinin bildirimi, %t2 belirsiz olduğundan dolayı gizlendi",
|
||||
"%t1 için kopya atama işlecinin bildirimi, %t2 öğesine erişilemediğinden dolayı gizlendi",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"bir tür niteleyicisine, bir oluşturucu veya yıkıcı üzerinde izin verilmiyor",
|
||||
"bir tür niteleyicisine new veya delete işleçlerinde izin verilmiyor",
|
||||
"üye olmayan bir işlev üzerinde tür niteleyicisine izin verilmiyor",
|
||||
"yan etkileri atılan __assume ifadesi",
|
||||
"%s bağımsız değişkeni yan etkilere sahip ancak değerlendirilmedi",
|
||||
"tanınmayan Unicode kaynak türü (UTF-8, UTF-16, UTF-16LE, UTF-16BE türlerinden biri olmalıdır): %s",
|
||||
"ön işleme çıkışında, onaltılık %s değerine sahip Unicode karakter gösterilebilir değil",
|
||||
"talep edilen oluşturucu/yıkıcı önceliği, iç kullanım için ayrılmış durumda",
|
||||
@@ -1955,7 +1955,7 @@
|
||||
"Üst düzey görünürlük tanımlayıcısı bir tür tanımı gerektirir",
|
||||
"Önemsiz özellik bir başvuru türüne sahip olamaz",
|
||||
"Önemsiz özellik sabit veya geçici bir türe sahip olamaz",
|
||||
"%nd, daha önceden farklı bir sabit listesi türü olarak bildirildi",
|
||||
"%nd, daha önceden farklı sabit listesi türü olarak bildirildi",
|
||||
"Lambda tarafından yakalanan bir değişken %[managed] sınıf türüne sahip olamaz",
|
||||
"%[managed] sınıfında, kovaryant dönüş türü ile geçersiz kılan sanal işleve izin verilmez",
|
||||
"Tanıtıcı dizisine izin verilmez",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"initonly alanı yalnızca kendi içerilen sınıfının örnek oluşturucusu tarafından değiştirilebilir",
|
||||
"Statik initonly alanı yalnızca kendi içerilen sınıfının statik oluşturucusu tarafından değiştirilebilir",
|
||||
"initonly alanının kopyasında üye işlevi çağrılacak",
|
||||
"ifade, işaretçi veya işleyici türünde olmalıdır",
|
||||
"ifade işaretçi veya tanıtıcı türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"Taşıma oluşturucusu veya taşıma ataması operatörü buraya bir lvalue kopyalamak için kullanılır ve bu işlem kaynak nesneyi yok edebilir",
|
||||
"%[C++/CLI] genel varlığındaki üye seçimi '.' yerine '->' söz dizimini kullanmalıdır",
|
||||
"Başvuru sınıfı türü %t üzerinden türetilemez",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"tanıtıcıya ait güvenli olmayan reinterpret_cast",
|
||||
"Şablon bağımsız değişkeni bir genel tür parametresine başvuramaz",
|
||||
"Bu alt simge işleminde ifade listesine izin verilmez (üst düzey virgül operatörü etrafında parantez kullanın)",
|
||||
"İfade nesne işaretçisi veya %[C++/CLI] dizisi tanıtıcısı türüne sahip olmalıdır",
|
||||
"ifade nesne işaretçisi veya %[C++/CLI] dizisi tanıtıcısı türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"Öznitelik tanınmadı",
|
||||
"%[managed] sınıfının üyesi %[managed] olmayan sınıf türünde olamaz",
|
||||
"%[managed] olmayan sınıfın üyesi, başvuru sınıfı türü veya arabirim sınıfı türüne sahip olamaz",
|
||||
@@ -2477,7 +2477,7 @@
|
||||
null,
|
||||
"etiket bekleniyordu",
|
||||
"'%%l' sonrasında bir işlenen numarası bekleniyordu",
|
||||
"'%%l' işlenen numarası geçerli bir etiket bağımsız değişkenine başvurmaz",
|
||||
"'%%l' için işlenen numarası geçerli bir etiket argümanına işaret etmiyor",
|
||||
"bir 'asm' deyiminde geniş dizeler geçersizdir",
|
||||
"öznitelik standart değildir",
|
||||
"%t sınıfının temel sınıfı değil",
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"'decltype(auto)' türü çıkarılamıyor",
|
||||
"block-scope thread-local bildirimi static veya extern içermelidir",
|
||||
"çıkarılan dönüş türü %t1 daha önce çıkarılmış %t2 türüyle çakışıyor",
|
||||
"%nd dönüş türü çıkarılamıyor; tanımlanmamış",
|
||||
"%nd; dönüş türü çıkarılamıyor tanımlanmamış",
|
||||
"sanal bir işlevin çıkarılan dönüş türü olamaz",
|
||||
"bu noktadan sonra %n, içeriğe duyarlı anahtar sözcük işlemi görecek",
|
||||
"genel ad alanının gerçek bir %sq üyesi yok",
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"ortak C++/CX türünün tanımına genel kapsamda izin verilmez",
|
||||
"ortak bir 'get' veya 'set' erişimcisi içeren dizini oluşturulmuş özelliğe izin verilmez",
|
||||
"ortak iç içe temsilci türüne izin verilmez",
|
||||
"temsilci başlatıcısı geçersiz; '(<işlev-adres veya fonktör-nesne> [, Platform::CallbackContext])' veya '(<nesne tanıtıcısı>, <üye-adres> [, Platform::CallbackContext [, bool]])' bekleniyordu",
|
||||
"temsilci başlatıcısı geçersiz; '(<function-address or functor-object> [, Platform::CallbackContext])' veya '(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])' bekleniyordu",
|
||||
"temsilci başlatıcısı geçersiz; nesne %[managed] sınıfına yönelik bir tanıtıcı olmalıdır",
|
||||
"C++/CX, 'in/out' dizilerini desteklemez; ortak API'lerde 'in' için 'const Platform::Array<T>^' ve 'out' için 'Platform::WriteOnlyArray<T>^' veya 'Platform::Array<T>^*' kullanın",
|
||||
"%nd için eksik 'target' özniteliği",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"constexpr işlevindeki değişken başlatılmadı",
|
||||
"`=` olmadan bir yer tutucu ile bildirilen değişkenin küme ayraçlarıyla başlatılması için küme ayraçlarının içinde tam bir öğe olması gerekir",
|
||||
"'%s' --target yapılandırması yok",
|
||||
"öznitelik 64 bit x86 yapılandırmalarında desteklenmez",
|
||||
"öznitelik yalnızca 32 bit x86 yapılandırmalarında desteklenir",
|
||||
"'%s' bir bağımsız değişken gerektiriyor",
|
||||
"bir oluşturucu veya yıkıcı, eş yordam olamaz",
|
||||
"%n bir eş yordam olamaz",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"catch yan tümcesinin içinde co_await ifadesine izin verilmez",
|
||||
"bir eş yordamın üç nokta parametresi olamaz",
|
||||
"C++14 stili constexpr öğesinin etkinleştirilmesi için 'bool' desteği gereklidir",
|
||||
"%nd constexpr işlevi tanımlı değil",
|
||||
"constexpr %nd tanımlanmamış",
|
||||
"%nd hedef işlevi constexpr olmadığı veya henüz tamamen tanımlanmadığı için bu çağrı değerlendirilemiyor",
|
||||
"not",
|
||||
"Not",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"_Atomic(...) tanımlayıcısı %t nitelenmiş türüne uygulanamaz",
|
||||
"_Atomic nesnesinin üyelerine erişim",
|
||||
"bir bit alanı _Atomic türüne sahip olamaz",
|
||||
"_Atomic sınıf türleri devre dışı bırakıldı",
|
||||
null,
|
||||
"constexpr oluşturucusu alt nesneyi başlatmak için constexpr olmayan oluşturucuyu çağırıyor",
|
||||
"bir virgül bekleniyordu (tek bağımsız değişkenli static_assert sürümü bu modda etkin değil)",
|
||||
"statik onaylama başarısız oldu",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"eksik %t değeri değerlendirilemiyor",
|
||||
"'nodiscard' özniteliği ile bildirilen yordamdan gelen dönüş değeri yoksayılıyor",
|
||||
"'nodiscard' özniteliğine sahip dönüş değeri yoksayılıyor",
|
||||
"'nodiscard' özniteliği yıkıcılar veya void dönüş türüne sahip yordamlar için geçerli değildir",
|
||||
"'nodiscard' özniteliği, geçersiz dönüş türüne sahip yıkıcılar veya yordamlar için geçerli değildir",
|
||||
"'fallthrough' özniteliği yalnızca null ifadeler için geçerlidir",
|
||||
"'fallthrough' özniteliği yalnızca kapsayan bir switch ifadesinde görünebilir",
|
||||
"fallthrough ifadesi switch case etiketinden veya default ifadesinden önce gelmelidir",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"copy-list-initialization, %n adlı 'explicit' oluşturucusunu kullanamaz",
|
||||
"çıkarsama kılavuzu",
|
||||
"Kullanıcı tanımlı sabit değer operatörü için geçersiz değer",
|
||||
"__has_cpp_attribute, #if veya #elif dışında yer alamaz",
|
||||
"%s, önişlemci yönergelerinin dışında görünemez",
|
||||
"çıkarsama kılavuzu, %n ile aynı erişilebilirlikle bildirilmelidir",
|
||||
"bu bağlamda bir lambda'ya izin verilmez",
|
||||
"belirtilen hizalama, önceki bildirime eşdeğer değil",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"this işaretçisinde amp kısıtlamalı %nfd üye işlevi için %t türü geçersiz",
|
||||
"AMP ile sınırlı %nfd işlevi için %t dönüş türü geçersiz",
|
||||
"AMP ile sınırlı %nfd işlevi için %t parametre türü geçersiz",
|
||||
null,
|
||||
"AMP ile sınırlı %nfd işlevinde geçersiz yapı",
|
||||
"%s depolama sınıfı AMP ile sınırlı %nfd işlevi için geçersiz",
|
||||
"%s kullanımına AMP ile sınırlı %nfd işlevinde izin verilmiyor",
|
||||
"AMP ile sınırlı işlevde geçersiz tür dönüştürme",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'>>>' bekleniyor",
|
||||
"__cudaPushCallConfiguration bildirimi bulunamıyor. CUDA araç seti yüklemesi bozuk olabilir.",
|
||||
"C++17 stili başlatıcı bu modda standart dışı",
|
||||
"* yakalama bu modda standart dışı",
|
||||
"C++17 stili 'using' öznitelik ön eki bu modda standart dışı",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"geçici tür %t __builtin_bit_cast constexpr değerlendirmesi yapılmasını engelliyor",
|
||||
"bir %t türü birleşim, işaretçi veya üye işaretçisi __builtin_bit_cast constexpr değerlendirmesine engel oluyor",
|
||||
"%npTd, %p bildirimi kullanılarak devralındı",
|
||||
"devralma oluşturucuları için %t alt nesne oluşturma gerçekleştirilemiyor; örtük varsayılan Oluşturucu silindi",
|
||||
"devralma oluşturucuları için %t alt nesne oluşturma gerçekleştirilemiyor; ilişkili oluşturucu silindi",
|
||||
"%n void döndürmesi gerekir",
|
||||
"üye bildiriminin başlangıcı geçersiz",
|
||||
"'auto' bekleniyordu",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"dışarı aktarma bildirimi, modül içeri aktarma bildirimi içeremez",
|
||||
"dışarı aktarma bildirimi yalnızca modül arabirim ünitesinde görünebilir",
|
||||
"dışarı aktarma bildirimi, iç bağlantıya sahip bir adı dışarı aktaramaz",
|
||||
"Kullanılan bildirim %nfd içeriyor",
|
||||
"__fp16 kayan nokta türleri desteklenmediği için yerleşik işlev kullanılamıyor",
|
||||
null,
|
||||
null,
|
||||
"requires ifadesi en az bir gereksinim belirtmelidir",
|
||||
"'constinit' burada geçerli değil",
|
||||
"'constinit' yalnızca statik veya iş parçacığı depolama süresine sahip değişkenlerin bildirimleri için geçerlidir",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"'%s' için modül dosyası eşlemesi birden çok kez belirtildi",
|
||||
"'%s' için üst bilgi birimi eşlemesi birden çok kez belirtildi",
|
||||
"'%s' için eşleme belirtilmedi",
|
||||
"'%s' için modül dosyası eşlemesi geçersiz",
|
||||
null,
|
||||
"içeri aktarılacak '%s' üst bilgisi bulunamıyor",
|
||||
"modül dosyası listesinde birden fazla dosya '%s' ile eşleşiyor",
|
||||
"'%s' için bulunan modül dosyası farklı bir modüle yönelik",
|
||||
"herhangi bir türde modül dosyası",
|
||||
"modül dosyası okunamıyor",
|
||||
"char8_t türü geçerli seçeneklerle desteklenmediği için yerleşik işlev kullanılamıyor",
|
||||
"C++20 eş yordamları etkinleştirilirse --ms_await komut satırı seçeneği belirtilemez",
|
||||
null,
|
||||
"varsayılan toplama öğesi başlatma için açık oluşturucu %nod için standart olmayan kullanım",
|
||||
"memcpy benzeri iç öğenin kaynağı veya hedefi bir nesneye işaret etmiyor",
|
||||
"memcpy benzeri iç öğe, temsili olarak farklı %t1 ve %t2 türlerini kopyalamaya çalışıyor",
|
||||
"memcpy benzeri iç öğe, önemsiz olarak kopyalanabilir %t türünü kopyalamaya çalışıyor",
|
||||
"memcpy benzeri iç öğe, kısmi nesneyi kopyalamaya çalışıyor",
|
||||
"memcpy benzeri iç öğe, geçmiş dizi sınırını kopyalamaya çalışıyor",
|
||||
"memcpy benzeri iç öğe, çakışan bayt aralıklarını kopyalamaya çalışıyor (bunun yerine karşılık gelen memmove işlemini kullanarak)"
|
||||
"memcpy benzeri iç öğe, çakışan bayt aralıklarını kopyalamaya çalışıyor (bunun yerine karşılık gelen memmove işlemini kullanarak)",
|
||||
"sonunda requires yan tümcesi içeren arkadaş bildirimi bir tanım olmalıdır",
|
||||
"ifade aritmetik veya işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"ifade aritmetik, sabit listesi veya işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"ifade aritmetik, kapsamlı olmayan sabit listesi veya işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"ifade işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
|
||||
"-> veya ->* operatörü işaretçi türü yerine %t türüne uygulandı",
|
||||
"tamamlanmamış %t sınıf türüne izin verilmiyor",
|
||||
"bu derleme hedefi için bit düzeni yorumlanamıyor",
|
||||
"%sq IFC operatörüne karşılık gelen operatör yok",
|
||||
"%sq IFC çağırma kuralına karşılık gelen çağırma kuralı yok",
|
||||
"%sq modülü desteklenmeyen yapılar içeriyor",
|
||||
"desteklenmeyen IFC yapısı: %sq",
|
||||
"__is_signed şu andan itibaren bir anahtar sözcük değil",
|
||||
"dizi boyutu sabit bir işaretsiz tamsayı değerine sahip olmalıdır",
|
||||
"%sq IFC dosyasının sürümü desteklenmiyor: %d1.%d2",
|
||||
"modüller bu modda etkin değil",
|
||||
"'import', modül adında kullanılamaz.",
|
||||
"Modül adında 'module' kullanılmasına izin verilmez",
|
||||
null,
|
||||
null,
|
||||
"%n bir sabit listesi türü değil",
|
||||
"%no2 numaralandırıcısı %n1 ile çakışıyor",
|
||||
"%no numaralandırıcısı bu %p kapsamında zaten bildirildi",
|
||||
"'throw ()' belirtimi C++ 20 ve üzeri sürümlerin bir parçası değil",
|
||||
"üst bilgi birimi eşlemesindeki giriş sayısı '%s' ile eşleşiyor:",
|
||||
"#pragma tanılamasının 'push' ya da 'pop' bağımsız değişkeni olmalıdır",
|
||||
"bu 'tanılama pop' ile eşleşen '#pragma tanı push' bulunamadı",
|
||||
"%sq, içeri aktarma veya modül yönergesinde kullanıldığında makro olamaz",
|
||||
"bu yönerge yalnızca genel ad alanı kapsamında yer görünebilir",
|
||||
"'Export' bildirimi yalnızca genel veya ad alanı kapsamında görünebilir",
|
||||
"%sq, bir anahtar sözcük yerine tanımlayıcı olarak ayrıştırıldı çünkü kendisini izleyen belirteçler bir önişlemci yönergesiyle eşleşmiyor",
|
||||
"bu bir önişlemci yönergesinin başlangıcı gibi görünüyor, ancak yeni bir satırın hemen ardından gelen '; ' bulunmaması bunu engelliyor",
|
||||
"bu bir modül ön işleme yönergesi gibi görünüyor, ancak bu yönergeler makro genişlemesi içinde görünemez",
|
||||
"koşullu ekleme kapsamında bir 'modül' yönergesi görünemez (örneğin #if, #else, #elseif vb.)",
|
||||
"%sq içeri aktarma işlemi atlandı",
|
||||
"%t promise türü, bağımsız değişken gerektirmeyen statik üye işlevi olarak get_return_object_on_allocation_failure bildirmelidir",
|
||||
"diğer ad şablonu açıkça özelleştirilemiyor",
|
||||
"bu '{' ile eşleştirmek için",
|
||||
"bu makro çağrısında",
|
||||
"çağrı, belirsiz bir bağımsız değişken dönüştürme gerektiriyor",
|
||||
"%s modülüne ait bildirim, %nd ile çakışıyor",
|
||||
"genel modüle ait bildirim, adlandırılmış bir modülün sahip olduğu %nd ile çakışıyor",
|
||||
"'malloc' özniteliğine yönelik ilk bağımsız değişken bir işlev olmalıdır",
|
||||
"%nod yakalanamıyor",
|
||||
"'this' yakalanamıyor",
|
||||
"consteval bağlamında zaten var",
|
||||
"'if consteval' ve 'if not consteval' ayraçlı bağımlı deyimler gerektiriyor",
|
||||
"'if consteval' ve 'if not consteval' constexpr olmayan bir işlevde anlamsız durumda",
|
||||
"denetimin 'if consteval' veya 'if not consteval' deyimine aktarılmasına izin verilmiyor",
|
||||
"sabit değerlendirme, statik veya iş parçacığı depolama süresine sahip bir değişkenin bildiriminde bulunamıyor",
|
||||
"açık 'this' parametresine sahip bir lambda üzerinde değiştirilebilir niteleyiciye izin verilmez",
|
||||
"'static' ile bildirilen üye işlevi açık bir 'this' parametresine sahip olamaz",
|
||||
"açık 'this' parametresi, bildirilen ilk parametre olmalıdır",
|
||||
"burada 'this' kullanımına izin verilmiyor",
|
||||
"açık 'this' içeren karşılaştırma işlevi varsayılan olarak ayarlanamaz",
|
||||
"açık 'this' işlevi bir seçici işleneni gerektirir",
|
||||
"'if consteval' ve 'if not consteval' bu modda standart değil",
|
||||
"lambda bildirimcisinde '()' atlanması bu modda standart değil",
|
||||
"lambda parametre listesi atlandığında trailing-requires-clause’a izin verilmez",
|
||||
"%sq modülünün geçersiz bölümü istendi",
|
||||
"%sq1 modülünün tanımsız bölümü (%sq2 olduğu düşünülüyor) istendi",
|
||||
null,
|
||||
null,
|
||||
"modül %sq1 dosya konumu %u1 (%u2 göreli konum) %sq2 bölümü için istendi - bu, bölümünün sonundan taşar",
|
||||
"%sq1 modülünün %u1 dosya konumu (%u2 göreli konumu) bölüm öğeleriyle yanlış hizalanan %sq2 bölümü için istekte bulundu",
|
||||
"%sq alt alanından (%d düğümüne göreli olan konum)",
|
||||
"%sq bölümündeki %u1 öğesinden (%u2 dosya konumu, %u3 göreli konumu)",
|
||||
"lambda öznitelikleri burada standart dışı",
|
||||
"%sq tanımlayıcısı görsel olarak %p gibi görünen tanımlayıcıyla karıştırılabilir",
|
||||
"bu açıklama, şüpheli Unicode biçimlendirme denetim karakterleri içeriyor",
|
||||
"bu dize beklenmeyen çalışma zamanı davranışına neden olabilecek Unicode biçimlendirme denetim karakterleri içeriyor",
|
||||
"%d1 modülü işlenirken %sq1 gizlenen uyarıyla karşılaşıldı",
|
||||
"%d1 modülü işlenirken %sq1 gizlenen uyarıyla karşılaşıldı",
|
||||
"%d1 modülü işlenirken %sq1 gizlenen hatayla karşılaşıldı",
|
||||
"%d1 modülü işlenirken %sq1 gizlenen hatayla karşılaşıldı",
|
||||
"dahil",
|
||||
"gizlendi",
|
||||
"sanal üye işlevi açık bir 'this' parametresine sahip olamaz",
|
||||
"açık 'this' işlevine ait adresin alınabilmesi için tam ad gerekir",
|
||||
"açık 'this' işlevine ait adresin oluşturulabilmesi için '&' operatörü gerekir",
|
||||
"sabit değerli dize, esnek bir dizi üyesini başlatmak için kullanılamaz",
|
||||
"%sq işlevine ait tanımın IFC gösterimi geçersiz",
|
||||
null,
|
||||
"parametreleri belirtmek için UniLevel IFC grafiği kullanılmadı",
|
||||
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
|
||||
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
|
||||
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
|
||||
"%sq işlevine ait tanımın IFC gösterimi eksik",
|
||||
"işlev değiştirici, üye şablonu bildirimi için geçerli değil",
|
||||
"üye seçimi çok fazla iç içe anonim tür içeriyor",
|
||||
"işlenenler arasında ortak tür yok",
|
||||
"üye işaretçisi bekleniyordu",
|
||||
"esnek bir dizi üyesi diğer türlü boş olan bir türde bildirilemez",
|
||||
"'std::source_location::__impl', yalnızca '_M_function_name', '_M_file_name', '_M_column', '_M_line' veri üyelerine sahip bir sınıfa tanımlanmalıdır",
|
||||
"verilen sütun numarası 'std::source_location' uygulaması için çok büyük",
|
||||
"verilen satır numarası 'std::source_location' uygulaması için çok büyük",
|
||||
"UTF-16 karakter sabit değeri, bir kod biriminden fazla yer kaplayamaz; kesilmiş değer",
|
||||
"her iki bağımsız değişken de aynı türe sahip olmalıdır",
|
||||
"%t türü bu yerleşik için bağımsız değişken olarak geçersiz",
|
||||
"%nd kaynağından çağrı:",
|
||||
"nitelenmiş bir tür adı anonim bit alanları için standart dışı",
|
||||
"vektör koşulunun öğe türü (%t1), sonucun öğe türü (%t2) ile aynı boyuta sahip olmalıdır",
|
||||
"kayan nokta vektörü işlenen türü (%t) eşleşen bir tamsayı vektörü türü içermiyor",
|
||||
"'requires' ifadeleri için değiştirme henüz uygulanmadı",
|
||||
"'kullanılamayan' bir öznitelik nedeniyle",
|
||||
"yinelenen 'asm' niteleyicisi",
|
||||
"tamamlanmamış sabit listesi türüne sahip bir bit alanı veya geçersiz temel türe sahip opak bir sabit listesi",
|
||||
"%sq2 IFC bölümü içinde bir dizin kullanılarak %sq IFC bölümündeki bir öğe oluşturulmaya çalışıldı",
|
||||
"%sq bölümü, %d2 beklenirken girdi boyutunu %d1 olarak belirtti",
|
||||
"%sq1 modülü işlenirken beklenmeyen bir IFC gereksinimiyle karşılaşıldı",
|
||||
"koşul, %d numaralı satırda (%s1 içinde) başarısız oldu: %sq2",
|
||||
"atomik kısıtlama kendisine bağımlı",
|
||||
"'noreturn' işlevi geçersiz olmayan bir dönüş türüne sahiptir",
|
||||
"%sq parametresi kaldırılarak bir düzeltme yapıldı (%d göreli dizininde)",
|
||||
"varsayılan bir şablon bağımsız değişkeni, sınıfının dışındaki bir şablon üyesinin tanımında belirtilemez",
|
||||
"varlık yeniden oluşturma işlemi sırasında geçersiz %sq IFC tanımlayıcı adı ile karşılaşıldı",
|
||||
null,
|
||||
"%sq modülü geçersiz sıralama değeri",
|
||||
"bir IFC modülünden yüklenen bir fonksiyon şablonu hatalı bir şekilde %nd olarak ayrıştırıldı",
|
||||
"%sq modülünde bir IFC varlık referansı yüklenemedi",
|
||||
"%sq bölümündeki %u1 öğesinden (%u2 dosya konumu, %u3 göreli konumu)",
|
||||
"zincirli belirleyicilere, önemsiz yıkıcıya sahip bir sınıf türü için izin verilmez",
|
||||
"açık bir özelleştirme bildirimi, arkadaş bildirimi olamaz",
|
||||
"std::float128_t türü desteklenmiyor; bunun yerine std::float64_t kullanılacak",
|
||||
"std::bfloat16_t türü desteklenmiyor; bunun yerine std::float32_t kullanılacak",
|
||||
"%no diğer ad şablonu için çıkarsama kılavuzu bildirilmemiş olabilir",
|
||||
"%n, kullanılamaz olarak bildirildi",
|
||||
"%n, kullanılamaz olarak bildirildi (%sq)",
|
||||
"'deprecated' özniteliği nedeniyle",
|
||||
"açık lambda şablon parametreleri bir C++20 özelliğidir",
|
||||
"'_Noreturn' kullanımı C23'te kullanımdan kaldırıldı. Bunun yerine '[[noreturn]]' kullanın",
|
||||
"'_Alignof' kullanımı C23'te kullanımdan kaldırıldı. Bunun yerine 'alignof' kullanın",
|
||||
"'_Alignas' kullanımı C23'te kullanımdan kaldırıldı. Bunun yerine 'alignas' kullanın",
|
||||
"'_Bool' kullanımı C23'te kullanımdan kaldırıldı. Bunun yerine 'bool' kullanın",
|
||||
"'_Static_assert' kullanımı C23'te kullanımdan kaldırıldı. Bunun yerine 'static_assert' kullanın",
|
||||
"'_Thread_local' kullanımı C23'te kullanımdan kaldırıldı. Bunun yerine 'thread_local' kullanın",
|
||||
"Microsoft modu, %sq modül dosyasını (Microsoft Visual Studio IFC modülü) kullanmak için etkinleştirilmelidir",
|
||||
"%sq modül dosyası açılamadı",
|
||||
"%sq modülü için modül eşlemesinde bulundu",
|
||||
"%sq için üst bilgi birimi eşlemesinde bulundu",
|
||||
"tanınmayan çıkış modu (metin, sarif olmalıdır): %s",
|
||||
"'c23_typeof' seçeneği yalnızca C derlerken kullanılabilir",
|
||||
"geçersiz clang sürüm numarası: %s",
|
||||
"IFC dizesi, %sq modülünde beklenmeyen boş (sıfır) karakter içeriyor",
|
||||
"%d2 bayttan %d1'i kullanıldı",
|
||||
"%sq bölümündeki dize bilgisinden %u1 öğesi (dosya konumu %u2, göreli konum %u3)",
|
||||
"esnek bir dizi üyesi için bir başlatıcıyı değerlendiremez",
|
||||
"varsayılan bir bit alanı başlatıcı, bir C++20 özelliğidir",
|
||||
"%sq modülündeki şablon argüman listesinde çok fazla argüman var",
|
||||
"%sq öğesi %u1 tarafından temsil edilen şablon bağımsız değişkeni için algılandı (dosya konumu %u2, göreli konum %u3)",
|
||||
"%sq modülündeki şablon argüman listesinde çok az argüman var",
|
||||
"%sq öğesi %u1 tarafından temsil edilen şablon bağımsız değişken listesi işlenirken algılandı (dosya konumu %u2, göreli konum %u3)",
|
||||
"%t kapsamlı sabit listesi türünden dönüştürme standart değil",
|
||||
"serbest bırakma, tahsis türüyle eşleşmiyor (biri bir dizi için, diğeri değil)",
|
||||
"karşılaştırma, bilinmeyen adresi içerir (örneğin, zayıf bir değişkenin adresi)",
|
||||
"__make_signed yalnızca bool olmayan tamsayı ve sabit listesi türleri ile uyumludur",
|
||||
"__make_unsigned yalnızca bool olmayan tamsayı ve sabit listesi türleriyle uyumludur",
|
||||
"%sq gerçek adı buradan sıradan bir tanımlayıcı olarak ele alınacaktır.",
|
||||
"%d dizinindeki başlatılmamış alt nesneye erişim",
|
||||
"IFC satır numarası (%u1), izin verilen maksimum değeri (%u2) modül %sq'den taşar",
|
||||
"modül %sq1 istenen %u bölüm %sq2 ise, bu dosya konumu temsil edilebilir en büyük değeri aşıyor",
|
||||
"yanlış bağımsız değişken sayısı",
|
||||
"%n adayı üzerindeki kısıtlama karşılanamadı",
|
||||
"%n parametresinin sayısı çağrıyla eşleşmiyor",
|
||||
"%n yerine açık şablon bağımsız değişkenleri %T değiştirilemedi",
|
||||
"%n örtülü olarak bir '= silme' taşıma işlevidir ve bu nedenle aşırı yükleme çözümü sırasında yoksayılır",
|
||||
"%n, boş bir parametre paketi için #%d bağımsız değişkeni sağlandığından eşleşmiyor",
|
||||
"%n, #%d bağımsız değişkeninin parametreyle eşleşmemesi nedeniyle eşleşmiyor",
|
||||
"aday %n başarısız kesinti",
|
||||
"yerleşik operatör %s eşleşmiyor çünkü #%d bağımsız değişkeni parametreyle eşleşmiyor",
|
||||
"<integral>",
|
||||
"<yükseltilen integraller>",
|
||||
"<ptrdiff_t>",
|
||||
"<sabit listesi>",
|
||||
"<kapsamlı sabit listesi>",
|
||||
"<aritmetik>",
|
||||
"<yükseltilen aritmetik>",
|
||||
"<bool olmayan aritmetik>",
|
||||
"<işaretçi>",
|
||||
"<nullptr>",
|
||||
"<tanıtıcı>",
|
||||
"<CLI dizisine işle>",
|
||||
"<nesne işaretçisi>",
|
||||
"<işlev işaretçisi>",
|
||||
"<üye işaretçisi>",
|
||||
"<bool>",
|
||||
"<bool benzeri>",
|
||||
"<sınıf>",
|
||||
"auto(<expr>) ve auto{<expr>} bir C++23 özelliğidir",
|
||||
"adsız birleşim geçersiz -- using bildirimine izin verilmiyor",
|
||||
"%sq IFC dosyası işlenemiyor",
|
||||
"%u1.%u2 IFC sürümü desteklenmiyor",
|
||||
"%sq IFC mimarisi geçerli hedef mimariyle uyumsuz",
|
||||
"%sq1 modülü, desteklenmeyen bir bölümün %u dizinini istiyor (%sq2 modülüne karşılık gelir)",
|
||||
"%n üzerindeki %d numaralı parametre %t türünde ve tamamlanamıyor",
|
||||
"%n üzerindeki %d numaralı parametre %t türünde ve tür tamamlanmamış",
|
||||
"%n üzerindeki %d numaralı parametre %t türünde ve bu bir soyut tür",
|
||||
"yapılandırılmış bağlamalar bir C++17 özelliğidir",
|
||||
"yapılandırılmış bağlamaların yakalanması bir C++20 özelliğidir"
|
||||
]
|
||||
@@ -74,7 +74,7 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"“*”的操作数必须是指针",
|
||||
"\"*\" 的操作数必须是指针,但它具有类型 %t",
|
||||
"宏参数为空",
|
||||
"此声明没有存储类或类型说明符",
|
||||
"参数声明不能包含初始值设定项",
|
||||
@@ -130,8 +130,8 @@
|
||||
"循环无法访问",
|
||||
"block-scope 函数只能包含外部存储类",
|
||||
"应输入“{”",
|
||||
"表达式必须包含指向类的指针类型",
|
||||
"表达式必须包含指向结构或联合的指针类型",
|
||||
"表达式必须包含指向类的指针类型,但它具有类型 %t",
|
||||
"表达式必须包含指向结构或联合的指针类型,但它具有类型 %t",
|
||||
"应输入成员名",
|
||||
"应输入字段名",
|
||||
"%n 没有成员 %sq",
|
||||
@@ -141,7 +141,7 @@
|
||||
"不允许采用位域的地址",
|
||||
"函数调用中的参数太多",
|
||||
"存在正文时不允许未命名的原型参数",
|
||||
"表达式必须包含指向对象的指针类型",
|
||||
"表达式必须包含指向对象的指针类型,但它具有类型 %t",
|
||||
"程序过大或过于复杂,无法编译",
|
||||
"%t1 类型的值不能用于初始化 %t2 类型的实体",
|
||||
"未能初始化 %n",
|
||||
@@ -152,8 +152,8 @@
|
||||
"类型名称不能重新声明为参数",
|
||||
"typedef 名称不能重新声明为参数",
|
||||
"非零整数到指针的转换",
|
||||
"表达式必须包含类类型",
|
||||
"表达式必须包含结构或联合类型",
|
||||
"表达式必须具有类类型,但它具有类型 %t",
|
||||
"表达式必须具有结构或联合类型,但它具有类型 %t",
|
||||
"旧式的赋值运算符",
|
||||
"旧式的初始值设定项",
|
||||
"表达式必须为整型常量表达式",
|
||||
@@ -180,7 +180,7 @@
|
||||
"应用于数组的“&”不起任何作用",
|
||||
"“%%”的右操作数为零",
|
||||
"实参与形参不兼容",
|
||||
"参数与对应的格式字符串转换不兼容",
|
||||
"参数与相应的格式字符串转换不兼容(应为类型 %t1,但参数的类型为 %t2)",
|
||||
"未能打开源文件 %sq (搜索列表中没有目录)",
|
||||
"强制转换的类型必须为整型",
|
||||
"强制转换的类型必须为算术或指针",
|
||||
@@ -392,7 +392,7 @@
|
||||
"不能调用函数“main”或提取其地址",
|
||||
"不能为数组指定新的初始值设定项",
|
||||
"不能在成员函数 %no 的类外部重新声明该函数",
|
||||
"不允许指针指向不完整的类类型",
|
||||
"不允许指针指向不完整的类类型 %t",
|
||||
"不允许引用封闭函数的局部变量",
|
||||
"对后缀 %sq 使用了单参数函数(计时错误)",
|
||||
null,
|
||||
@@ -838,7 +838,7 @@
|
||||
"正在返回对局部变量的引用",
|
||||
"显式类型的省略是非标准的(假定“int”)",
|
||||
"有多个部分专用化与 %n 的模板参数列表匹配",
|
||||
"%no",
|
||||
"%nod",
|
||||
"主模板的声明中不允许使用模板参数列表",
|
||||
"部分专用化不能带有默认模板参数",
|
||||
"%n1 未在 %n2 的模板参数列表中使用或无法从中推导",
|
||||
@@ -952,7 +952,7 @@
|
||||
"选项“nonstd_using_decl”只能在编译 C++ 时使用",
|
||||
"函数“main”的返回类型必须是“int”",
|
||||
"非类型模板参数不能为类类型",
|
||||
"不能在类外部的类模板成员声明上指定默认模板参数",
|
||||
"不能在模板外部的类模板成员的定义上指定默认模板参数",
|
||||
"构造函数的函数 try 块的处理程序中不允许使用 return 语句",
|
||||
"初始值设定项指定中不能组合一般或扩展指示符",
|
||||
"第二个下标一定不能比第一个下标小",
|
||||
@@ -1214,7 +1214,7 @@
|
||||
"此 pragma 不能在 _Pragma 运算符中使用(必须使用 #pragma 指令)",
|
||||
"字段使用基类的末尾填充",
|
||||
"GNU C++ 编译器可以使用位域填充",
|
||||
"%nd 声明为已否决",
|
||||
"%n 已声明为弃用",
|
||||
"非静态成员声明中不允许使用 asm 名称",
|
||||
"已忽略无法识别格式的函数类型 %sq",
|
||||
"基类 %no1 使用基类 %no2 的尾部填充",
|
||||
@@ -1389,14 +1389,14 @@
|
||||
"已忽略类模板上的 dllexport 和 dllimport",
|
||||
"基类 dllexport/dllimport 规范与派生类的此规范不同",
|
||||
"重新声明无法将 dllexport/dllimport 添加到 %nod",
|
||||
"dllexport/dllimport 与 %nod 冲突;假定 dllexport",
|
||||
"dllexport/dllimport 与 %nod; 冲突;假定 dllexport",
|
||||
"无法定义 dllimport 实体",
|
||||
"dllexport/dllimport 需要外部链接",
|
||||
"使用 dllexport/dllimport 声明的类成员无法使用此类说明符对其自身进行声明",
|
||||
"在具有 DLL 接口的类中使用了没有 DLL 接口的类类型的字段",
|
||||
"带圆括号的成员声明是非标准的",
|
||||
"已忽略行接合中反斜杠和新行之间的空白",
|
||||
"dllexport/dllimport 与 %nod 冲突;已丢弃 dllimport/dllexport",
|
||||
"dllexport/dllimport 与 %nod; 冲突;已丢弃 dllimport/dllexport",
|
||||
"匿名成员类的无效成员 -- 类 %t 包含禁用的成员函数",
|
||||
"非标准的 reinterpret_cast",
|
||||
"位置格式说明符不能为零",
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"不支持复杂整型",
|
||||
"__real 和 __imag 只能应用于复数值",
|
||||
"__real/__imag 适用于实数值",
|
||||
"%nd 声明为已否决(%sq)",
|
||||
"%n 已声明为弃用(%sq)",
|
||||
"%nd 重新定义无效",
|
||||
"dllimport/dllexport 适用于未命名命名空间的成员",
|
||||
"__thiscall 只能出现在非静态成员函数声明中",
|
||||
@@ -1464,24 +1464,24 @@
|
||||
"宏",
|
||||
"标签",
|
||||
"模板参数",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"类型",
|
||||
"联合",
|
||||
"类",
|
||||
"结构",
|
||||
"模板 template 参数",
|
||||
"模板",
|
||||
"类模板",
|
||||
null,
|
||||
"枚举",
|
||||
"参数",
|
||||
"处理程序参数",
|
||||
"变量",
|
||||
"非类型",
|
||||
null,
|
||||
"常数",
|
||||
"函数",
|
||||
"重载函数",
|
||||
"成员",
|
||||
"字段",
|
||||
null,
|
||||
"命名空间",
|
||||
"已命名的寄存器",
|
||||
"命名地址空间",
|
||||
"函数模板",
|
||||
@@ -1635,7 +1635,7 @@
|
||||
"将指针转换从 %t1 扩大到 %t2 会扩展符号位",
|
||||
"__sptr 和 __uptr 不适用于指向成员的指针类型",
|
||||
"%t 的复制赋值运算符的声明已取消,因为 %n 是常量",
|
||||
null,
|
||||
"%t 的复制赋值运算符的声明已被抑制,因为 %n 包含引用类型",
|
||||
"%t1 的复制赋值运算符的声明已取消,因为 %t2 的该声明已取消",
|
||||
"%t1 的复制赋值运算符的声明已取消,因为 %t2 的该声明不明确",
|
||||
"%t1 的复制赋值运算符的声明已取消,因为 %t2 的该声明无法访问",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"构造函数或析构函数上不允许使用类型限定符",
|
||||
"运算符 new 或运算符 delete 上不允许使用类型限定符",
|
||||
"非成员函数上不允许使用类型限定符",
|
||||
"有副作用的 __assume 表达式已丢弃",
|
||||
"%s 的参数具有负面影响,但它未进行计算",
|
||||
"无法识别的 Unicode 源种类 (必须为 UTF-8、UTF-16、UTF-16LE、UTF-16BE 中的一个): %s",
|
||||
"带有十六进制值 %s 的 Unicode 字符不能在预处理输出中表示",
|
||||
"已将请求的构造函数/析构函数优先级保留为供内部使用",
|
||||
@@ -2175,7 +2175,7 @@
|
||||
"仅允许在 %[managed] 类中使用命名的重写说明符",
|
||||
"命名重写说明符指定的任何成员都不与此成员的类型相匹配",
|
||||
"静态构造函数声明不能包含命名重写说明符",
|
||||
"区分范围的枚举类型必须具有名称",
|
||||
"作用域内枚举类型必须具有名称",
|
||||
"不允许将控制传输到 finally 块",
|
||||
"不允许 finally 块内存在 return 语句",
|
||||
"try 块至少需要一个 handler 或 finally 子句",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"initonly 字段只能由其包含类的实例构造函数进行修改",
|
||||
"静态 initonly 字段只能由其包含类的静态构造函数进行修改",
|
||||
"将对 initonly 字段的副本调用成员函数",
|
||||
"表达式必须包含指针或句柄类型",
|
||||
"表达式必须具有指针或句柄类型,但它具有类型 %t",
|
||||
"移动构造函数或移动赋值运算符用于在此处复制左值,这可能会破坏源对象",
|
||||
"%[C++/CLI] 泛型实体上的成员选择必须使用“->”语法,而不是使用“.”",
|
||||
"ref 类类型不能从 %t 派生",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"句柄的 reinterpret_cast 不安全",
|
||||
"模板参数不能引用泛型类型参数",
|
||||
"此下标操作中不允许使用表达式列表(用括号括起顶级逗号操作符)",
|
||||
"表达式必须具有指针到对象或句柄到 %[C++/CLI] 数组类型",
|
||||
"表达式必须包含指向对象的指针类型或指向 %[C++/CLI] 数组的句柄类型,但它具有类型 %t",
|
||||
"无法识别的特性",
|
||||
"%[managed] 类的成员不能是非 %[managed] 类类型",
|
||||
"非 %[managed] 类的成员不能有 ref 类类型或接口类类型",
|
||||
@@ -2344,7 +2344,7 @@
|
||||
"%nd 之前是用不同的基类型声明的",
|
||||
"此处不能使用“enum class”和“enum struct”(改用普通“enum”)",
|
||||
"在类型为 %t 的对象的初始值设定项中只允许使用一级括号",
|
||||
"%nd 不能在具有隐式返回类型",
|
||||
"%nd 不能用作枚举类型名称",
|
||||
null,
|
||||
"用大括号括起来的初始值设定项无法与“new auto”配合使用",
|
||||
"std::initializer_list 的定义未包含预期的构造函数",
|
||||
@@ -2367,7 +2367,7 @@
|
||||
"非类实体的带圆括号的初始值设定项必须为表达式,而不能是用大括号括起的列表",
|
||||
"用大括号括起的列表无法为此 lambda 提供返回类型",
|
||||
"所声明的异常规范与所生成的异常规范不兼容",
|
||||
"区分范围的枚举类型是 C++11 的一项功能",
|
||||
"范围枚举类型是 C++11 功能",
|
||||
"函数类型不能进行值初始化",
|
||||
"不允许对象类型 %t 的列表初始化,因为该类型不完整",
|
||||
"std::initializer_list 有析构函数,但实际不应有 -- 库配置有误",
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"无法推导出 \"decltype(auto)\" 类型",
|
||||
"块范围线程本地声明必须包含 static 或 extern",
|
||||
"推导出的返回类型 %t1 与之前推导出的类型 %t2 冲突",
|
||||
"无法推导出 %nd 的返回类型;尚未定义",
|
||||
"无法推导出 %nd; 的返回类型;尚未定义",
|
||||
"虚函数不能具有推导出的返回类型",
|
||||
"从这个时间点起,%n 将被视为上下文相关的关键字",
|
||||
"全局命名空间不具有任何实际成员 %sq",
|
||||
@@ -2664,7 +2664,7 @@
|
||||
"constexpr 函数中的变量未初始化",
|
||||
"使用占位符类型(但未使用 \"=\")声明的变量的大括号初始化只需要大括号里有一个元素",
|
||||
"无 \"%s\" --存在目标配置",
|
||||
"64 位 x86 配置中不支持属性",
|
||||
"属性仅在 32 位 x86 配置中受支持",
|
||||
"“%s”需要一个参数",
|
||||
"构造函数或析构函数不能是协同例程",
|
||||
"%n 不能是协同例程",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"catch 子句中不允许 co_await 表达式",
|
||||
"协同例程不能具有省略号参数",
|
||||
"要具备对 \"bool\" 的支持才能启用 C++14 样式的 constexpr",
|
||||
"未定义 constexpr 函数 %nd",
|
||||
"未定义 constexpr %nd",
|
||||
"无法计算此调用,因为目标函数 %nd 不为 constexpr 或尚未完全定义",
|
||||
"注释",
|
||||
"注释",
|
||||
@@ -2780,7 +2780,7 @@
|
||||
"_Atomic(...) 说明符不能应用于限定类型 %t",
|
||||
"对 _Atomic 对象的成员的访问",
|
||||
"位域不能具有 _Atomic 类型",
|
||||
"已禁用 _Atomic 类类型",
|
||||
null,
|
||||
"constexpr 构造函数调用非 constexpr 构造函数来初始化子对象",
|
||||
"应为逗号(此模式未启用 static_assert 的单参数版本)",
|
||||
"静态断言失败",
|
||||
@@ -2810,7 +2810,7 @@
|
||||
"无法计算不完整 %t 的值",
|
||||
"忽略使用 \"nodiscard\" 属性声明的例程的返回值",
|
||||
"忽略具有 \"nodiscard\" 属性的返回值类型",
|
||||
"\"nodiscard\" 属性不适用于析构函数或返回类型为 void 的例程",
|
||||
"“nodiscard”属性不适用于析构函数或返回类型为 void 的例程",
|
||||
"\"fallthrough\" 属性仅适用于 null 语句",
|
||||
"\"fallthrough\" 属性可能只出现在封闭的 switch 语句中",
|
||||
"fallthrough 语句必须后接 switch case 标签或默认值",
|
||||
@@ -2893,7 +2893,7 @@
|
||||
"复制列表初始化不能使用“显式”%n",
|
||||
"推导指南",
|
||||
"用户定义的文本运算符的值无效",
|
||||
"#if 或 #elif 之外不能出现 __has_cpp_attribute",
|
||||
"%s 不能出现在预处理器指令之外",
|
||||
"必须使用与 %n 相同的辅助功能声明推导指南",
|
||||
"此上下文中不允许使用 lambda",
|
||||
"指定的对齐方式不等同于以前的声明",
|
||||
@@ -2935,7 +2935,7 @@
|
||||
"this-pointer 中的类型 %t 对于 amp 限制的成员函数 %nfd 是非法的",
|
||||
"返回类型 %t 对于受 AMP 限制的函数 %nfd 是非法的",
|
||||
"参数类型 %t 对于受 AMP 限制的函数 %nfd 是非法的",
|
||||
null,
|
||||
"受 AMP 限制的函数 %nfd 中的非法构造",
|
||||
"存储类 %s 在受 AMP 限制的函数 %nfd 中是非法的",
|
||||
"%s 不可在受 AMP 限制的函数 %nfd 中使用",
|
||||
"受 AMP 限制的函数中的强制转换非法",
|
||||
@@ -3116,8 +3116,8 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"应使用 \">>>\"",
|
||||
"找不到 __cudaPushCallConfiguration 声明。CUDA 工具包安装可能已损坏。",
|
||||
"C++17 样式初始值设定项在此模式中是非标准的",
|
||||
"正在捕获 *这在此模式中是非标准的",
|
||||
"C++17 样式 \"using\" 属性前缀在此模式中是非标准的",
|
||||
@@ -3292,7 +3292,7 @@
|
||||
"易失类型 %t 阻止对 __builtin_bit_cast 进行 constexpr 计算",
|
||||
"联合类型、指针类型或指向成员的指针类型 %t 阻止对 __builtin_bit_cast 进行 constexpr 计算",
|
||||
"%npTd,已通过使用 decl %p 继承",
|
||||
"无法为继承构造函数执行 %t 的子对象构造 -- 已删除隐式默认构造函数",
|
||||
"无法为继承构造函数执行 %t 的子对象构造 -- 已删除关联的构造函数",
|
||||
"%n 必须返回 void",
|
||||
"成员声明的开头无效",
|
||||
"应为 \"auto\"",
|
||||
@@ -3309,8 +3309,8 @@
|
||||
"导出声明不能包含模块导入声明",
|
||||
"导出声明只能出现在模块接口单元中",
|
||||
"导出声明无法导出具有内部链接的名称",
|
||||
"using 声明包括 %nfd",
|
||||
"内置函数不可用,因为不支持 __fp16 浮点类型",
|
||||
null,
|
||||
null,
|
||||
"requires 表达式必须指定至少一个要求",
|
||||
"\"constinit\" 在此处无效",
|
||||
"\"constinit\" 仅对具有静态或线程存储持续时间的变量的声明有效",
|
||||
@@ -3343,19 +3343,218 @@
|
||||
"多次为“%s”指定了模块文件映射",
|
||||
"多次为“%s”指定了标头单元映射",
|
||||
"未为“%s”指定映射",
|
||||
"“%s”的模块文件映射无效",
|
||||
null,
|
||||
"找不到要导入的标头“%s”",
|
||||
"模块文件列表中有多个文件与“%s”匹配",
|
||||
"为“%s”找到的模块文件用于其他模块",
|
||||
"任何类型的模块文件",
|
||||
"无法读取模块文件",
|
||||
"内置函数不可用,因为当前选项不支持 char8_t 类型",
|
||||
"如果启用了 C++20 协同程序,则无法指定 --ms_await 命令行选项",
|
||||
null,
|
||||
"对默认聚合元素初始化使用显式构造函数 %nod 不是标准做法",
|
||||
"与 memcpy 类似的固有项的源或目标不指向对象",
|
||||
"与 memcpy 类似的固有项尝试复制在表达上不同的类型 %t1 和 %t2",
|
||||
"与 memcpy 类似的固有项尝试复制非平凡可复制类型 %t",
|
||||
"与 memcpy 类似的固有项尝试复制部分对象",
|
||||
"与 memcpy 类似的固有项尝试复制过去的数组边界",
|
||||
"与 memcpy 类似的固有项尝试复制重叠的字节范围(改为使用相应的 memmove 操作)"
|
||||
"与 memcpy 类似的固有项尝试复制重叠的字节范围(改为使用相应的 memmove 操作)",
|
||||
"带有尾随 requires 子句的 friend 声明必须是一个定义",
|
||||
"表达式必须包含算术或指针类型,但它具有类型 %t",
|
||||
"表达式必须包含算术、枚举或指针类型,但它具有类型 %t",
|
||||
"表达式必须包含算术、未区分范围的枚举或指针类型,但它具有类型 %t",
|
||||
"表达式必须包含指针类型,但它具有类型 %t",
|
||||
"运算符 -> 或 ->* 应用于 %t 而不是指针类型",
|
||||
"不允许使用不完整的类类型 %t",
|
||||
"无法解释此编译目标的位布局",
|
||||
"IFC 运算符 %sq 没有对应的运算符",
|
||||
"IFC 调用约定 %sq 没有相应的调用约定",
|
||||
"模块 %sq 包含不受支持的构造",
|
||||
"不支持的 IFC 构造: %sq",
|
||||
"__is_signed 不再是从此点开始的关键字",
|
||||
"数组维度必须具有常量无符号整数值",
|
||||
"IFC 文件 %sq 具有不受支持的版本 %d1。%d2",
|
||||
"此模式中没有启用模块",
|
||||
"模块名称中不允许使用 \"import\"",
|
||||
"模块名称中不允许使用 \"module\"",
|
||||
null,
|
||||
null,
|
||||
"%n 不是枚举类型",
|
||||
"枚举器 %no2 与 %n1 冲突",
|
||||
"枚举器 %no 已在此范围 %p 中进行声明",
|
||||
"\"throw()\" 规范不是 C++20 及更高版本的一部分",
|
||||
"标头单元映射中的多个条目与“%s”匹配",
|
||||
"#pragma 诊断必须具有 '推送' 或 'pop' 参数",
|
||||
"未找到 '#pragma 诊断推送' 匹配此 '诊断 pop'",
|
||||
"用于导出或模块指令时,%sq 不能是宏",
|
||||
"此指令只能出现在全局命名空间范围内",
|
||||
"'导出' 声明只能出现在全局或命名空间范围内",
|
||||
"将 %sq 分析为标识符而不是关键字,因为其后续标记与预处理器指令的标记不匹配",
|
||||
"这似乎只是预处理器指令的开始,但缺少后面紧跟换行符的 ';' 阻止了该指令",
|
||||
"这看起来是预处理指令的模块,但此类指令出现在宏扩展内。",
|
||||
"'模块' 指令不能出现在条件包含范围内(例如,#if、#else、#elseif 等)",
|
||||
"已跳过 %sq 导入",
|
||||
"承诺类型 %t 必须声明 get_return_object_on_allocation_failure 为不需要参数的静态成员函数",
|
||||
"别名模板不能显式专用化",
|
||||
"以匹配此“{”",
|
||||
"在此宏调用中",
|
||||
"调用需要不明确的参数转换",
|
||||
"模块 %s 拥有的声明与 %nd 冲突",
|
||||
"全局模块拥有的声明与命名模块拥有的 %nd 冲突",
|
||||
"“malloc”属性的第一个参数必须是函数",
|
||||
"无法捕获 %nod",
|
||||
"无法捕获“this”",
|
||||
"已在 consteval 上下文中",
|
||||
"'if consteval' 和 'if not consteval' 需要大括号从属语句",
|
||||
"'if consteval' 和 'if not consteval' 在非 constexpr 函数中无意义",
|
||||
"不允许将控制传输到 'if consteval' 或 'if not consteval' 语句",
|
||||
"常数计算无法通过具有静态或线程存储持续时间的变量的声明",
|
||||
"在具有显式 'this' 参数的 lambda 上,不允许使用可变限定符",
|
||||
"使用 'static' 声明的成员函数不能具有显式 'this' 参数",
|
||||
"显式 'this' 参数必须是第一个声明的参数",
|
||||
"此处不允许使用 'this'",
|
||||
"不能默认使用具有显式 'this' 的比较函数",
|
||||
"显式 'this' 函数需要选择器操作数",
|
||||
"在此模式下,'if consteval' 和 'if not consteval' 不标准",
|
||||
"在此模式下,在 lambda 声明符中省略 '()' 为不标准操作",
|
||||
"当省略 lambda 参数列表时,不允许使用尾随 Requires 子句",
|
||||
"已请求模块 %sq 无效分区",
|
||||
"已请求模块 %sq1 未定义分区(被认为是 %sq2)",
|
||||
null,
|
||||
null,
|
||||
"已请求模块 %sq1 文件位置 %u1 (相对位置 %u2),针对分区 %sq2 请求 - 溢出其分区的末尾",
|
||||
"已请求模块 %sq1 文件位置 %u1 (相对位置 %u2),针对分区 %sq2 - 与其分区元素不一致",
|
||||
"从子域 %sq (相对于节点 %d 的位置)",
|
||||
"来自分区 %sq 元素 %u1(文件位置 %u2,相对位置 %u3)",
|
||||
"lambda 属性在此处为非标准属性",
|
||||
"标识符 %sq 可能与显示 %p 的视觉上相似的标识符混淆",
|
||||
"此注释包含可疑的 Unicode 格式控制字符",
|
||||
"此字符串包含可能导致意外运行时行为的 Unicode 格式控制字符",
|
||||
"遇到 %d1 条已抑制警告(处理模块 %sq1 时)",
|
||||
"遇到 %d1 条已抑制警告(处理模块 %sq1 时)",
|
||||
"遇到 %d1 条已抑制错误(处理模块 %sq1 时)",
|
||||
"遇到 %d1 条已抑制错误(处理模块 %sq1 时)",
|
||||
"包括",
|
||||
"已抑制",
|
||||
"虚拟成员函数不能具有显式 'this' 参数",
|
||||
"获取显式 'this' 函数的地址需要限定名称",
|
||||
"形成显式 'this' 函数的地址需要 '&' 运算符",
|
||||
"字符串文本无法用于初始化灵活数组成员",
|
||||
"函数 %sq 定义的 IFC 表示形式无效",
|
||||
null,
|
||||
"未将 UniLevel IFC 图表用于指定参数",
|
||||
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
|
||||
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
|
||||
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
|
||||
"缺少函数 %sq 定义的 IFC 表示形式",
|
||||
"函数修饰符不适用于成员模板声明",
|
||||
"成员选择涉及太多嵌套的匿名类型",
|
||||
"操作数之间没有通用类型",
|
||||
"需要指向成员的指针",
|
||||
"不能在其他空类型中声明灵活数组成员",
|
||||
"应将“std::source_location::__impl”定义为仅包含数据成员“__M_function_name”、“_M_file_name”、“_M_column”、“_M_line”的类",
|
||||
"给定的列号对于“std::source_location”实现而言太大",
|
||||
"给定的行号对于“std::source_location”实现而言太大",
|
||||
"UTF-16 字符常量不能占用多个代码单元;值已截断",
|
||||
"两个参数的类型必须相同",
|
||||
"类型 %t 无效,不能用作此内置项的参数",
|
||||
"调用自 %nd:",
|
||||
"限定类型对于匿名位字段是非标准的",
|
||||
"向量条件的元素类型(%t1)的大小必须与结果的元素类型相同(%t2)",
|
||||
"浮点向量操作数类型(%t)没有匹配的整数向量类型",
|
||||
"尚未实现 “requires” 表达式的变量名压缩",
|
||||
"因为“不可用”属性",
|
||||
"重复的 \"asm\" 限定符",
|
||||
"具有不完整枚举类型的位字段或具有无效基类型的不透明枚举",
|
||||
"已尝试使用索引将一个元素从 IFC 分区 %sq 构造到 IFC 分区 %sq2",
|
||||
"分区 %sq 将其条目大小指定为 %d1,正确的大小为 %d2",
|
||||
"处理模块 %sq1 时遇到意外的 IFC 要求",
|
||||
"条件失败,行 %d,%s1: %sq2",
|
||||
"原子约束依赖于自身",
|
||||
"“noreturn”函数具有非 void 返回类型",
|
||||
"通过删除参数 %sq (在相对索引 %d 处)进行了更正",
|
||||
"不能在成员模板类之外的成员模板定义上指定默认模板参数",
|
||||
"实体重建期间遇到了无效的 IFC 标识符名称 %sq",
|
||||
null,
|
||||
"模块 %sq 排序值无效",
|
||||
"从 IFC 模块加载的函数模板被错误地分析为 %nd",
|
||||
"未能在模块 %sq 中加载 IFC 实体引用",
|
||||
"来自分区 %sq 元素 %u1(文件位置 %u2,相对位置 %u3)",
|
||||
"对于具有非平凡析构函数的类的类型,不允许使用链式指示符",
|
||||
"显式专用化声明不能是友元声明",
|
||||
"不支持 std::float128_t 类型; 将改用 std::float64_t",
|
||||
"不支持 std::bfloat16_t 类型; 将改用 std::float32_t",
|
||||
"不能为别名模板 %no 声明推导指南",
|
||||
"%n 已声明为不可用",
|
||||
"%n 已声明为不可用 (%sq)",
|
||||
"因为 'deprecated' 属性",
|
||||
"显式 Lambda 模板参数是 C++20 功能",
|
||||
"在 C23 中,已淘汰使用 '_Noreturn';请改用 '[[noreturn]]'",
|
||||
"在 C23 中,已淘汰使用 '_Alignof';请改用 'alignof'",
|
||||
"在 C23 中,已淘汰使用 '_Alignas';请改用 'alignas'",
|
||||
"在 C23 中,已淘汰使用 '_Bool';请改用 'bool'",
|
||||
"在 C23 中,已淘汰使用 '_Static_assert';请改用 'static_assert'",
|
||||
"在 C23 中,已淘汰使用 '_Thread_local';请改用 'thread_local'",
|
||||
"必须启用 Microsoft 模式才能使用模块文件 %sq (Microsoft Visual Studio IFC 模块)",
|
||||
"无法打开模块文件 %sq",
|
||||
"在模块 %sq 的模块映射中找到",
|
||||
"在 %sq 的标头单元映射中找到",
|
||||
"无法识别的输出模式(必须是文本或 sarif 格式中的一种): %s",
|
||||
"\"c23_typeof\" 选项只能在编译 C 时使用",
|
||||
"无效的 clang 版本号: %s",
|
||||
"IFC 字符串在模块 %sq 中包含意外的 null (零) 字符",
|
||||
"使用了 %d1 个字节(共 %d2 个字节)",
|
||||
"来自分区 %sq 元素 %u1 (文件位置 %u2,相对位置 %u3) 中的字符串信息",
|
||||
"无法计算灵活数组成员的初始值设定项",
|
||||
"默认位字段初始化表达式是 C++20 的特性。",
|
||||
"模块 %sq 的模板参数列表中的参数太多",
|
||||
"检测到由 %sq 元素 %u1 表示的模板参数(文件位置 %u2,相对位置 %u3)",
|
||||
"模块 %sq 的模板参数列表中的参数太少",
|
||||
"在处理由 %sq 元素 %u1 表示的模板参数列表时检测到(文件位置 %u2,相对位置 %u3)",
|
||||
"从作用域内枚举类型 %t 转换为非标准",
|
||||
"解除分配与分配类型不匹配(一种用于数组,另一种不匹配)",
|
||||
"比较涉及未知地址(例如弱变量的地址)",
|
||||
"__make_signed 仅与非布尔整数和枚举类型兼容",
|
||||
"__make_unsigned 仅与非布尔整数和枚举类型兼容",
|
||||
"内部名称 %sq 将从此处视为普通标识符",
|
||||
"访问索引为 %d 的未初始化的子对象",
|
||||
"IFC 行号 (%u1) 溢出允许的最大值 (%u2) 模块 %sq",
|
||||
"模块 %sq1 请求了元素 %u (分区 %sq2),此文件位置超出了最大可表示值",
|
||||
"参数数目不正确。",
|
||||
"未满足对候选项 %n 的约束",
|
||||
"%n 的参数数目与调用不匹配",
|
||||
"为 %n 替换显式模板参数 %T 失败",
|
||||
"%n 是隐式“= delete”移动函数,因此在重载解析过程中被忽略",
|
||||
"%n 不匹配,因为为空参数包提供了参数 #%d",
|
||||
"%n 不匹配,因为参数 #%d 与参数不匹配",
|
||||
"候选项 %n 推断失败",
|
||||
"内置运算符%s 不匹配,因为参数 #%d 与参数不匹配",
|
||||
"<integral>",
|
||||
"<promoted integral>",
|
||||
"<ptrdiff_t>",
|
||||
"<enum>",
|
||||
"<scoped enum>",
|
||||
"<arithmetic>",
|
||||
"<promoted arithmetic>",
|
||||
"<non-bool arithmetic>",
|
||||
"<pointer>",
|
||||
"<nullptr>",
|
||||
"<handle>",
|
||||
"<handle to CLI array>",
|
||||
"<pointer to object>",
|
||||
"<pointer to function>",
|
||||
"<pointer-to-member>",
|
||||
"<bool>",
|
||||
"<bool-like>",
|
||||
"<class>",
|
||||
"auto(<expr>) 和 auto{<expr>} 是一项 C++23 功能",
|
||||
"匿名联合无效 -- 不允许使用声明",
|
||||
"无法处理 IFC 文件 %sq",
|
||||
"不支持 IFC 版本 %u1.%u2",
|
||||
"IFC 体系结构 %sq 与当前目标体系结构不兼容",
|
||||
"模块 %sq1 请求索引 %u,它是对应于 %sq2 的不支持分区的索引",
|
||||
"%n 的参数编号 %d 具有无法完成的类型 %t",
|
||||
"%n 的参数编号 %d 具有未完成的类型 %t",
|
||||
"%n 的参数编号 %d 具有抽象类型 %t",
|
||||
"结构化绑定是一项 C++17 功能",
|
||||
"捕获结构化绑定是一项 C++20 功能"
|
||||
]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user